This single width module transfers data (duplex, serial) between two CAMAC interfaced computer systems or between a CAMAC interfaced computer system and a SWIC scanner. In the case of two computer systems, the 032 is used in pairs, one 032 being plugged into a CAMAC crate of each system, with the two modules physically interconnected by four 50 ohm coaxial cables; two data lines and two control lines. For the case of interfacing to the SWIC scanner only one 032 would be needed, it being plugged into a CAMAC crate of the computer system, with the module connected to the scanner by two data lines and two control lines.
Each module contains two 256 words x 16 bits memories, combined with suitable logic to interface inter-module serial data transfers with the parallel formatted CAMAC dataways. In addition, a front panel port interfaces the module to the MDCX channel so that the module can receive block transfers independent of the CAMAC dataway.
A software maskable LAM bit is set, following a time-out at the conclusion of a Receive DATA (RD) serial block-transfer to indicate that data is available to be read via the dataway. Software readable status provided for each memory includes content (binary word count) and "full" and "empty" flags.
There is a self test mode on the 032 which internally connects the R Data to the T Data port on the module. This mode allows field testing of the 032 module through any CAMAC system terminal.
F(0)A(X) | Reads F(0) memory and clears LAM | ||||||||||||||
F(1)A(0) | Reads module status; also inhibit intermodule R/W
transfers for ~10mSec to freeze data prior to dataway MDC reads
| ||||||||||||||
F(4)A(0) | Equal to F(0) | ||||||||||||||
F(6)A(0) | Reads module number | ||||||||||||||
F(8)A(0) | Returns Q if LAM set and enabled | ||||||||||||||
F(9)A(0) | Clears F(16) memory | ||||||||||||||
F(9)A(1) | Clears F(0) memory | ||||||||||||||
F(10)A(0) | Clears LAM | ||||||||||||||
F(12)A(0) | Disables internal memory jumper | ||||||||||||||
F(14)A(0) | Enables internal memory jumper | ||||||||||||||
F(16)A(0) | Writes one word into F(16) memory | ||||||||||||||
F(24)A(0) | Disables LAM | ||||||||||||||
F(26)A(0) | Enables LAM | ||||||||||||||
F(28)A(0) | MDCX off. Inhibits block transfer | ||||||||||||||
F(30)A(0) | MDCX on. Enables block transfer | ||||||||||||||
Z*S2 | Clears memories, LAM, LAM enable |
The purpose of function code F(14)A(0) is to internally "jumper" or "strap" the transmit data line and transmit request line to receive data line and receive ready line respectively within an 032 module.
This function facilitates the remote testing of an 032 module by allowing a write command and a read command to an 032 module without any interconnection physically to another module and without the need of someone to locate the module and physically jumper the internal memories.
F(14)A(0) also disables the front panel ports and I/O ports so that is will isolate itself from any external system that might try to write to or read from the 032 module while an internal self test is being performed. Any data written to an isolated 032 will not be accepted and data read will be all logic false except through the CAMAC dataway.
Because F(14)A(0) isolates the 032 module, it is designed to disable after approximately 200 milliseconds. After initiating an F(14)A(0), every subsequent F code beginning before the 200 millisecond timer has elapsed will restart the timer. This permits a self test of any length to be performed and prevents a test operator from negligently leaving the module disabled.
F(12)A(0) in an F code that will disable the internal jumper if for any reason the 200 millisecond F(14) is too long, such as an automated test procedure.
N LED | On whenever the module is selected by the crate controller |
LAM LED | On whenever the 032 is written with data |
LAM EN LED | On whenever LAM is enabled |
F(0) FULL LED | On when receive memory full |
F(0) 1/2 LED | On when receive memory half full or more |
F(0) EMPTY LED | On when receive memory empty |
F(16) FULL LED | On when transmit memory full |
F(16) 1/2 LED | On when transmit memory half full or more |
F(16) EMPTY LED | On when transmit memory empty |
RRDY LED | On whenever receiver is ready to accept more data |
TREQ LED | On whenever another module wants data |
MDCX LED | On whenever module is receiving block transfers |
MDCR LED | On when module is giving status |
TSYNC TEST POINT | High at beginning of each transmit word |
TDATA TEST POINT | Serial transmit data |
RSYNC TEST POINT | High at beginning of every receive word |
RCLK TEST POINT | Rate at which data is read in |
RDATA TEST POINT | Serial receive data |
MDC ON LEMO | Output - High when module ready for block transfer |
MDCX 4 pin LEMO | Input - Accepts block transfer data |
R DATA LEMO | Input - Receive data |
R RDY LEMO | Output - Receiver Ready |
T DATA LEMO | Output - Transmit data |
T REQ LEMO | Input - Other device ready to receive data |
Each 032 contains two operationally independent static RAM memories [Designated F(16) and F(0)]. Data to be transferred from computer 1 to computer 2 enters the computer 1 F(16) memory via CAMAC dataway write commands [F(16)A(X)] or through the MDCX port.
Transmit block transfer is obsolete, ignore MDCX stuff
Data to be transferred from the experimenters 032 is accessed from the F(0) memory via dataway read commands [F(0)A(X)]. the MDCR (BTR) mode is a special case, wherein a block of data of known length may be set up for access by first requesting the 032 module's status using a F(1)A(0) command. This interrogation puts the word count content of both buffer memories on the dataway read lines. The frontend can then arrange to read the exact number of words from the F(0) memory via its MDCR (BTR) channel, which is under control of the crate controller. The crate controller determines when the F(0) memory id empty by a "no Q" response.
Intermodule transfers utilize a di-phase code, which transfers data at a one MHz bit rate. A transition exists at the beginning of each bit cell. If the bit in that 1 microsecond cell is zero, there is no transition in that cell. If the data is a 1 there is a transition in the cell. Thus when idling (i.e. sending all zeroes) the output signal is an approximately one MHz square wave. When all ones are sent the signal ix an approx. two MHz square wave.
1L |   | 1R |   |
2L |   | 2R |   |
3L | RRDY Return | 3R | RRDY Signal |
4L | RD Return | 4R | RD Signal |
5L | GND | 5R | *F(16) Empty |
6L | GND | 6R | *F(0) Full |
7L | GND | 7R | *F(0) Clear |
8L | GND | 8R | *F(16) Clear |
9L | TD Return | 9R | TD Signal |
10L | TREQ Return | 10R | TREQ Signal |
11L |   | 11R |   |
12L |   | 12R |   |
13L |   | 13R |   |
14L |   | 14R |   |
15L |   | 15R |   |
16L |   | 16R |   |
17L | MDCX Data | 17R | *MDCX Data |
18L | MDCX Clock | 18R | *MDCX Clock |