All about PhotonFinish2 protocols (Rabbit version)
========================================================
Started 2014 Feb 3   Astummer@physics.utoronto.ca
Revised ...


RABBIT TO FPGA COMMANDS
========================================================
AddrRab  Description
=======  ===================
 0-15    Acam registers
 16      Read version from FPGA, ignore HiL
 17      Write BinsPerStart[16:0]
 18      Write local reg Data2A[11: 0], ignore HiLo
 19      Write local reg Data2A[23:12], ignore HiLo
 20      Write local reg Data2A[27:24], ignore HiLo
 21      Read error byte, ignore HiLo
 22-30   Spare, future use
 31      Run, read events from FPGA as they appear

Runtime data transfer from FPGA to Rabbit (NB: a nibble is 12-bits):
  1) To run, Rabbit sets address 0x1F with CsRab high (true). HiLo is set low.
  2) When FPGA reads an event from Acam, sets DataReady high and puts low nibble on Rabbit bus.
  3) Rabbit detects DataReady, reads low nibble then sets HiLo high.
  4) FPGA sees HiLo, puts high nibble on Rabbit bus. If FIFO is empty, it sets DataReady low.
  5) Rabbit reads MS nibble, sets HiLo low and returns to 2) above.



RABBIT MODULE RCM6xxx PORTS
========================================================
Port  Dir  Description
====  ===  ===================
PA0    ?   
PA1    ?   
PA2    ?   
PA3    ?   
PA4    ?   
PA5    ?   
PA6    ?   
PA7    ?   
PB0    ?   
PB1    -   Reserved (ISP)
PB2    ?   
PB3    ?   
PB4    ?   
PB5    ?   
PB6    ?   
PB7    ?   
PC0    ?   
PC1    ?   
PC2    ?   
PC3    ?   
PC4    ?   
PC5    O   Display serial
PC6    -   Reserved (ISP)
PC7    -   Reserved (ISP)
PD0    ?   
PD1    ?   
PD2    ?   
PD3    ?   
PD4    -   Reserved
PD5    -   Reserved
PD6    -   Reserved
PD7    -   Reserved
PE0    ?   
PE1    ?   
PE2    ?   
PE3    ?   
PE4    -   Reserved
PE5    ?   
PE6    ?   
PE7    ?