SU730
SU730 pin table (direction shown for the SU board!)
power in +5V 2 1 +5V in power LVTTL bidir D<1> 4 3 D<0> bidir LVTTL LVTTL bidir D<3> 6 5 D<2> bidir LVTTL LVTTL bidir D<5> 8 7 D<4> bidir LVTTL LVTTL bidir D<7> 10 9 D<6> bidir LVTTL LVTTL bidir D<9> 12 11 D<8> bidir LVTTL LVTTL bidir D<11> 14 13 D<10> bidir LVTTL LVTTL bidir D<13> 16 15 D<12> bidir LVTTL LVTTL bidir D<15> 18 17 D<14> bidir LVTTL LVTTL in REQ 20 19 READ_n in LVTTL LVTTL in Addr<1> 22 21 Addr<0> in LVTTL LVTTL in CMD_n 24 23 Addr<2> in LVTTL LVTTL out READY 26 25 CLK in LVTTL LVTTL in HISTO 28 27 CRE in LVTTL LVTTL in DAC 30 29 RESET in LVTTL NC - - 32 31 - - NC NC - - 34 33 - - NC power in GND 36 35 GND in power
req cmd_n iaddr2..1 iaddr0 read_n hist dac fclr Bits Name Comment x x x x x x x 1 x - clear address counters, used in fifo mode 1 0 N=0..3 0 1 0 0 0 16 AC0..3 write bits 15.. 0 of address counter N, AC[N][15..0]=DI 1 0 N=0..3 1 1 0 0 0 7 AC0..3 write bits 22..16 of address counter N, AC[N][22..16]=DI[6..0] 1 0 N=0..3 0 0 0 0 0 16 AC0..3 read lower part of address counter: DO=AC[N][15..0] 1 0 N=0..3 1 0 0 0 0 7 AC0..3 read upper part of address counter: DO[6..0]=AC[N][22..16] ------------------------------------------------------------- 1 0 N=0..3 0 1 1 0 0 7-16 PG0..3 write page # for histogramming, PG[N]=DI 1 0 N=0..3 1 1 1 0 0 4 HS0..3 write # of bits in the histogram, HS[N]=DI 1 0 N=0..3 0 0 1 0 0 7-16 PG0..3 read page # for histogramming: DO=PG[N] 1 0 N=0..3 1 0 1 0 0 4 HS0..3 read # of bits in the histogram: DO=HS[N] -------------------------------------------------------------Version = Bits 15..8 when reading HS[i] or upper part of AC[i] 1 0 N=0..3 i 1 0 1 0 16 DAC0.1 write to the DAC[N & 1]=DI, if i=1 send to DACs serially 1 0 N=0..3 i 0 0 1 0 16 DAC0.1 read DAC[N & 1], if i=1 send to DACs serially ------------------------------------------------------------- 1 1 N=0..3 0 1 0 0 0 16 memory write: mem[AC[N]]=DI 1 1 N=0..3 1 1 0 0 0 16 memory write with address increment: mem[AC[N]]=DI, AC[N]++ ------------------------------------------------------------- 1 1 N=0..3 0 0 h d 0 16 memory read: DO=mem[AC[N]] 1 1 N=0..3 1 0 h d 0 16 memory read with address increment: DO=mem[AC[N]], AC[N]++ In both cases 1) if h=0 DAC[N & 1]=DO; 2) if d=1 send serially ------------------------------------------------------------- 1 1 N=0..3 x 1 1 0 0 16 read +1 write: mem[PA(N,DI)]++, if 0 mem[PA(N,DI)+1]++ ------------------------------------------------------------- PA(N,DI) = ( (PG[N] << (HS[N]+1) ) + (DI & (Bins[N]-1)) ) << 1 when DI < Bins[N], else = last bin of the page -------------------------------------------------------------------------------------------------------- Possible combinations: | DI are the data coming from the Logic Box HS Bins PG max # pages | DO are the data to the Logic Box 0..4 --------- invalid! ------ | 5 64 0..0xFFFF 65536 | Bit positions 6 128 0..0x7FFF 32768 | DI/DO 0..15 7 256 0..0x3FFF 16384 | read_n 16 8 512 0..0x1FFF 8192 | req 17 9 1024 0..0x0FFF 4096 | iaddr 18..20 10 2048 0..0x07FF 2048 | cmd_n 21 11 4096 0..0x03FF 1024 | clk 22 12 8192 0..0x01FF 512 | cre 24 - not implemented, should be low 13 16384 0..0x00FF 256 | hist 25 14 32768 0..0x007F 128 | fclr 26 15 65536 0..0x003F 64 | dac 27