CAMAC C1032 MODULE FUNCTIONS November 8, 1996
CAMAC READ FUNCTIONS
F0A0 Read Data Memory FIFO
R24 R16 R8 R1
Unused |
MSB |
LSB |
F0A1 Read Last Decoded Tev Event
R24 R16 R8 R1
Unused |
Unused |
Last Decoded TEV EVENT # |
F0A2 Read Tev Start Event Number (see F16A2)
R24 R16 R8 R1
Unused |
Unused |
EVENT # |
F0A3 Read Tev Clear Event Number (see F16 A3)
R24 R16 R8 R1
Unused |
Unused |
EVENT # |
F0A7 Read Last Test Data Written (see F16A7)
R24 R16 R8 R1
MSB |
LSB |
F1A0 Read Module Data FIFO Status
R24 R16 R8 R1
MSB |
F0 Words in FIFO |
F16 Words in FIFO |
BIT_24 (F16 Empty) BIT_18 (F0 Empty) Read Data Available Write Data Not Xmitted Yet
BIT_23 (F16 Full) BIT_17 (F0 Full)
F2A0 Read Downloaded Setup Parameters
R24 R16 R8 R1
Horizontal Gain |
Vertical Gain |
Scanner Mode |
06=Store 05=Display
F2A1 Read Downloaded Setup Parameters
R24 R16 R8 R1
Polarity |
Charge Time |
Hold Time |
0x50=Positive
0x51=Negative
F3A0 Read Downloaded Setup Parameters
R24 R16 R8 R1
Display High |
Display Low |
Number Scans |
BIT_0 (Scan 9) BIT_0 (Scan 1) 0x60==1 scan... 0x69==9 scans
BIT_1 (Scan 10) BIT_7 (Scan 8) 0x6b-0x6f == 10 scans
F6A0 Read Module ID Number (binary data)
R24 R16 R8 R1
Unused |
MSB |
Module Number |
F6A1 Read Firmware Version Number (binary data)
R24 R16 R8 R1
Unused |
Major Version |
Minor Version |
F6A2 Read ARCnet Reconfigure Counter
R24 R16 R8 R1
Unused |
MSB |
LSB |
F6A3 Read FOP Status (not implemented)
R24 R16 R8 R1
Unused |
MSB |
LSB |
F6A4 Read FOP Data (not implemented)
R24 R16 R8 R1
Unused |
MSB |
LSB |
F6A5 Read Module Serial Number
R24 R16 R8 R1
Unused |
MSB |
LSB |
F6A6 Read ARCnet Node Number
R24 R16 R8 R1
Unused |
Unused |
Node Number |
F6A7 Read ARCnet Status
R24 R16 R8 R1
Unused |
XMIT TIME-OUTS |
COM STATUS REGISTER |
F6A13 Read LAM Mask Register
R24 R16 R8 R1
Unused |
MSB |
LSB |
F6A14 Read LAM Source Register
R24 R16 R8 R1
Unused |
MSB |
LSB |
CAMAC WRITE FUNCTIONS
F16A0 Write Data Buffer
R24 R16 R8 R1
Unused |
MSB |
LSB |
0xef(239)=Test Data 0xf1(241d)=Scan Group 1 0xf2(242d)=Scan Group 2 0xf3(243d)=ScannerSetup
Only the above 4 data requests are handled by the 1032 using F16A0.
F16A1 Write Tev Clock Event
R24 R16 R8 R1
Unused |
Enable=0x13 Disable=0x11 |
Tev Event Number |
F16A2 Write Start Pulse Event Number
R24 R16 R8 R1
Unused |
Unused |
Event Number |
F16A3 Write Clear Pulse Event Number
R24 R16 R8 R1
Unused |
Unused |
Event Number |
R24 R16 R8 R1
MSB |
LSB |
F18A0 Write Motor Relay Position (In=NonZero, Out=0)
R24 R16 R8 R1
Unused |
Unused |
In/Out Byte |
F19A2 Write FOP Control (not implemented)
R24 R16 R8 R1
Unused |
MSB |
LSB |
F19A3 Write FOP Data (not implemented)
R24 R16 R8 R1
Unused |
MSB |
LSB |
F19A6 Write ARCnet Node Number
R24 R16 R8 R1
Unused |
Unused |
Node Number |
F19A12 Clear LAM Bits
R24 R16 R8 R1
Unused |
MSB |
LSB |
F19A13 Write LAM Mask Register
R24 R16 R8 R1
Unused |
MSB |
LSB |
F19A14 Write LAM Source Register
R24 R16 R8 R1
Unused |
Unused |
Source |
F20A0 Write ARCnet Data Buffer Data
R24 R16 R8 R1
Control Byte |
High Data Byte |
Low Data Byte |
Upper Control Byte == 0, Add the Low and High Data bytes to ARCnet Data Buffer (low byte first).
Upper Control Byte == 1, ARCnet Buffer pointer is Reset to start of buffer, Data Low & High are used!
F20A1 ARCnet Data Transmit
R24 R16 R8 R1
Unused |
Destination Node |
Destination House |
Data loaded by F20A0 is transmitted by this function. The ARCnet data buffer is not changed. Additional F20A1’s will send the same data packet. Set Destination House equal to Destination Node when not transmitting through an ARCnet Bridge. Data Packet includes 12 byte EADnet Header with data type as Unsigned. Packet size is Short Packet therefore the maximum bytes are ( 253 - 12 = 241 ) or 120 words by CAMAC F20A0.
CAMAC CONTROL FUNCTIONS
F8A0 Test LAM (sets 'Q' )
R24 R16 R8 R1
Unused |
Unused |
Unused |
F9A0 Hardware Reset
R24 R16 R8 R1
Unused |
Unused |
Unused |
F9A1 Clears F16 Data FIFO
R24 R16 R8 R1
Unused |
Unused |
Unused |
F9A2 Clears F0 Data FIFO
R24 R16 R8 R1
Unused |
Unused |
Unused |
F10A1 Trigger Start Pulse (generate one 3 usec pulse on start cable)
R24 R16 R8 R1
Unused |
Unused |
Unused |
F10A2 Trigger Clear Pulse (generate one 3 usec pulse on clear cable)
R24 R16 R8 R1
Unused |
Unused |
Unused |
F10A3 Set Di-Phase Port Test On (see F10A4, test has 60 sec TimeOut)
R24 R16 R8 R1
Unused |
Unused |
Unused |
Used to prevent scanner data requests while doing module-to-module data xfer tests.
F10A4 Set Di-Phase Port Test Off (see F10A3)
R24 R16 R8 R1
Unused |
Unused |
Unused |
F24A15 Disable LAM
R24 R16 R8 R1
Unused |
Unused |
Unused |
F26A15 Enable LAM
R24 R16 R8 R1
Unused |
Unused |
Unused |
C1032 ARCnet Network Task Identifier 'NTI' List
0x00 Returns Module Configuration (Xmit)
0x01 Echo Last Received Packet (Xmit)
(Required for test purposes.)
0x02 Returns Module Status (Xmit)
0x04 Sets 32 Cycle Counter
(On the C1032 scan groups are returned once per cycle)
0x08 Debugger Interface (Xmit)
(ARCnet access to the monitor code in firmware.)
0x09 Flush all Tasks
(Stops Data Pooling)
0x0A Reboot
0x20 Start/Stop Data Pooling (if dprate; nonzero=start dpool else 0=stop dpool)
(The C1032 returns scanner data once per Tev cycle)
0x28 Re-Inits DataPooling (Xmit)
(This takes place after each reboot)
0x2A Returns Scanner Data Group (1=ScanGrp1, 2=ScanGrp2) (3=Scanner Setup Data)
(Packet size depends on number of stored scans.)
(Scanner Setup Data is a short packet with a 12 byte header & 86 bytes of data.)
ARCnet Packet
DATA PACKET REQUEST FOR C1032 SCANNER STORED SETUP DATA
Request Type
NTI CODE 0x2A (with 1st data byte of request packet equal 3)
Returned Packet
12 WORD EADNET HEADER
THEN FOLLOWING DATA (86 bytes)
Byte Name Description
1 Sernum ;module serial number.
2-3 RAMCNT0 ;VALID Serial Number if data=0xA55A
4 Nodval ;Stored Arcnet Node Number
5-6 RAMCNT1 ;VALID ARCnet Node Number if data=0xA55A
7 Clplsrg ;clear pulse event reg.
8-9 RAMCNT2 ;VALID Clear Pulse Event (always=0xA55A)
10 Stplsrg ;start pulse event reg.
11-12 RAMCNT3 ;VALID Start Pulse Event (always=0xA55A)
13-14 RAMCNT4 ;Default SetUp if data!=0xA55A
15 ScMode ;ScanMode=06 or DisplayMode=05
16 Vgain ;Vert Gain
17 Hgain ;Horz Gain
18 Ctime ;Charge Time
19 Htime ;Hold Time
20 Polar ;Polarity
21 Snumb ;Scan number to Draw
22 Barmod ;Bar Graph Mode
23-73 Name_Array ;48 bytes plus (beg mark 01),(end mark 02)
74 Dislow ;Scan Numbers to Display 1-8
75 Dishigh ;Scan Numbers to Display 9-10
76-81 Vert Markers ;1-48 (low byte, low bit = Marker 1)
; (high byte, high bit = Marker 48)
82-87 Horz Markers ;1-48 (low byte, low bit = Marker 1)
; (high byte, high bit = Marker 48)
Camac Return Group
Request Setup Data Group by Camac F16 A0 D=243
Read Data Status F1 A0 (24 bits)
Read Data By Camac F0 A0 (16 bits) (hb=high byte)
Word Name Description
1 ScMode ;ScanMode=0x06 or DisplayMode=0x05
(hb) Vgain ;Vert Gain (0x10-0x1B) [gain 1-2048]
2 Hgain ;Horz Gain (0x20-0x2B) [gain 1-2048]
(hb) Ctime ;Charge Time (0x40-0x4c) [1ms-256/60sec]
3 Htime ;Hold Time (0x30-0x3C) [1ms-256/60sec]
(hb) Polar ;Polarity (0x50 POS; 0x51 NEG)
4 Snumb ;Scan number to Draw (0x61-06A)
(hb) Barmod ;Bar Graph Mode (0xA BarOn; 0xB BarOff)
5-29 Name_Array ;48 bytes plus (beg mark 0x1),(end mark 0x2)
; (Ascii Data for Names)
30 Dislow ;Scan Numbers to Display 1-8
(hb) Dishigh ;Scan Numbers to Display 9-10
31-33 Vert Markers ;1-48 (word 31, low bit = Marker 1 )
; (word 33, high bit = Marker 48)
34-36 Horz Markers ;1-48 (word 34, low bit = Marker 1 )
; (word 36, high bit = Marker 48)
Note: Scan packets are returned over Arcnet, any time after T5, when any of the following occure first ...
1. Swic Scanner has finished integrating all scan groups.
A. Scanner Returns Header, Ready ( Camac status code= 0)
In ARCnet Packet (SourceSequenceNumber= 0)
2. Tev Event T6(+4 Seconds) Occurs, one of the following will occur...
A. Scanner Returns Header, Not Ready ( Camac status code= 0xff)
In ARCnet Packet (SourceSequenceNumber= 0xff)
B. Scanner Not Responsding to Commands ( Camac status code = 0xfe)
In ARCnet Packet (SourceSequenceNumber= 0xfe)