Some support points:
Thus each 453 card sports five sets of devices.
There are presently eleven devices in the per-waveform set:
This device gets a name like I:H100 (no suffix).
0 | 0 |
0 | 42 (hex) |
madc | channel |
0 | 0 |
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 1x (hex) x = channel (0-3) |
The '1' in the 2nd nibble of the 4th word is the code that the special application page can key off of to identify this device.
Readings | MADC channel. |
Settings |
G(i) table as an array
device. There are fifteen tables per 453
channel, each 64 words long. Thus the
maximum length parameter is either 128
bytes (one table) or 1920 (fifteen tables).
The parameter page picks an individual number out of this array for display. PRO SETTNG (2, 1920, 60) ! for 15 tables PDB SETTNG ('VOLT', 'UNIT', 0, 6, 2, 0, 0, 0, 12.5, 1.0) ! -128 to +127 |
Status |
Regulator Power Supply status. 2 words
long. Lower 6 bits: F(4)A(1) word
Bit 0: Tracking error alarm Bit 1: Overcurrent Bit 2: Magnet overpower Bit 3: Amplifier overvoltage Bit 4: Enable / disable Bit 5: Calculation error Bit 15: Stop/continue word (which seems to need only 1 bit). Upper word: Special configuration word. The stop/continue and special configuration words are placed here for convenience. It seems to to me that the PDB scaling includes only ON/OFF and READY/NOT READY. I have assigned all the error bits to "not ready" PDB scaling. I'm not sure of the sense of these, so the PDB may have to change. PRO BASTAT (4, 4, 60) PDB BASTAT (3, 1, 0010, 000F, 0, 0, 4) |
Control |
Basic control codes are two words long. In
general the upper word is zero. The codes can
be placed in the basic control PDB with upper
word zero to achieve normal basic control. The
codes are as follows:
Code Meaning PDB Slot Camac Function ---- ------- -------- -------------- 1 Ramp Disable OFF F24A5 2 Ramp Enable ON F26A5 3 Reg. Reset RESET F26A8 4 Ramp Enable POL + F26A5 5 Ramp Disable POL - F24A5 6 Continue none F18A6 (FFFF) 7 Stop none F18A6 (0000) 8 Special configuration word follows. The Continue and Stop commands are included for completeness. Code 8 in the lower word of the basic control setting value means that the upper word contains the special configuration word to be written with F(18)A(5). PRO BCNTRL (4, 4, 60) PDB BCNTRL (1F, 3, 2, 1, 4, 5) |
Alarms |
We are supporting digital alarms only. There
is presently no way to have meaningful analog
alarms on a ramped device. If it should be
desirable to support an analog alarm on event
(e.g. reset) then it is possible to use the
existing facilities.
The alarm mask, nominal, and reset will follow the lower 6 bits of the basic status, i.e. the Special Power Supply Status word. The other status information (stop/continue stuff) placed in the basic status for programmer convenience is not alarmed. PRO DGALBL (4, 20, 60, 0010, 0010, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0) PRO DGALTX (0, 0, 5, '') |
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 2x (hex)
x = channel (0-3) |
There are 128 words per table, which have 64 pairs of (f(t), t). Thus the data base entry will be either 256 bytes long (for one table) or 3840 bytes long (for all fifteen). The default length is four bytes, a single entry.
PRO (4, 3840, 60) ! No PDB necessary?
Proposed suffix: "T", as in I:H100T
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 3x (hex) <- G(i) 4x (hex) <- H(i) x = channel (0-3) |
There are 64 words per table, which have 64 single G(i) or H(i) ordinate values. There is only one set of abscissa values per 453 card, which is why we are linking the two sets of devices (per channel and per card) via the family device in the database.
If we are supporting only one table these devices are 64 words long in the database. If we are supporting all fifteen tables these devices are 960 words long.
For both devices we have:
PRO (2, 1920, 60) ! No PDB necessary?
Proposed names: I:H100G and I:H100H
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 5x (hex) x = channel (0-3) |
112 words, separated into 3 sections.
PRO SETTNG (2, 448, 60) No PDB necessary.
Proposed name: I:H100M
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 6x (hex) x = channel (0-3) |
15 words of scale factors.
Proposed name: I:H100S
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 7x (hex) x = channel (0-3) |
Reading: 48 words of general status, as follows:
Word 1: F(6)A(1) Version Number 2: F(2)A(2) Current Ramp Tables 3: F(2)A(3) Current Scale Factors 4: F(2)A(4) Current MDAT Selections 5,6: 0 (not used) 7: F(0)A(10) F(t) End of Table Flag 8: F(0)A(11) F(t) Segment Number 9: F(0)A(12) G(i) Segment Number 10: F(0)A(13) H(i) Segment Number 11: F(2)A(5) Special Configuration Word 12: 0 (not used) 13: F(6)A(0) Card Type 14-34: F(3)A(3) Calculation Archive 35: F(4)A(2) Current Interrupt Level 36: F(1)A(14) Last TCLK Event 37-42: F(4)A(4) Copy Table Info 43-48: F(5)A(4) Add Table Info
We are supporting BOTH setting and reading properties for this device. The setting property cannot be set (imagine being able to adjust the version number), but it can be read via the setting property as a convenience to the application page.
Proposed name: I:H100U
madc channel # | madc # |
0 | 36 (hex) |
crate | slot |
0 | 0x (hex) x = channel (0-3) |
Fundamentally this device will read an MADC channel. However we need to set the analog mux on the B board before we can start plotting values, so this device gets a special front end device handler (with a special SSDN).
It will be possible to fast time plot this device.
I do not propose to detect user conflicts over the mux settings. When you first type it in on a page the mux gets set, but subsequent users of the same mux can mess up your plot.
PRO READNG (2, 2, 60) PDB READNG ('VOLT', 'UNIT', 0, 6, 2, 0, 0, 0, 12.5, 1.0) ! -128 to +127
0 | 0 |
0 | 36 (hex) |
crate | slot |
0 | 0x (hex) x = channel (0-3) |
*** NOTE: USE THE 'A' BOARD SLOT
Writing to the setting property of this device will write directly to the DAC with an F(17)A(2) command. Reading-the-setting will return the "reference channel converted values" from the "B" board.
PRO SETTNG the same PDB SETTNG the same
Propsed name: I:H100F
This device supports only a "family" property, which is a version of a subsystems device record. Seven of the devices for the individual channel, as well as the common devices for the whole card, are represented here. Thus there will be some overlap between the four family devices for a single 453 card.
PRO FAMILY (I:H100, I:H100T, I:H100G I:H100H, I:H100M, I:H100S I:H100U, I:14RC5, I:14RC5G, I:14RC5H, I:14RC5C, I:14RC5M)
Proposed name: I:H100Z
This device returns and accepts scaled data. The hardware contains the scaling factor used to convert between raw and cooked values.
0 | 0 |
0 | 36 (hex) |
crate | slot |
kk | Dx (hex) x = channel (0-3) |
0 | 0 |
0 | 36 (hex) |
crate | slot |
kk | Dx (hex) x = channel (0-3) |
Where kk is the interrupt number.
These are wholly optional. You can create these devices, if you wish, for the purpose of knobbing groups of slots in a table all at the same time. They are NOT included in the family device. The reading property is typically set up the same as the parameter page device.
0 | 0 |
0 | 42 (hex) |
madc | channel |
0 | 0 |
delta slot (0-15) (high nibble) total slots (1-15) (low nibble) |
initial slot (0-64) (0 -> use data offset) |
0 | 70 (hex) |
crate | slot |
kk | Fx (hex) x = channel (0-3) |
Where kk is a combination of the table type
(top 2 bits) and the table number (0-15) (bottom 6 bits) (0 -> use data offset).
(Table types: 0 -> F(t), 1 -> G(i), 2 -> H(i))
The setting property should always have a length of 2 bytes.
There are presently five devices in the per-card set:
Actually, there will be one of these devices in the data base for every 453 card, whether or not there is a bulk power supply attached. The reason is that there are several status bits, some of which may be alarmable, which the 453 card can generate on its own.
I know of no reading or setting properties for this device.
Proposed name: I:14RCx (for the cards in crate 14)
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 80 (hex) |
Two words long.
Low word: The bulk PS status word, obtained from F(1)A(0).
High word: LAM status word, obtained from F(4)A(12). This word contains a number of error bits which are not related to the bulk PS, and is the primary reason we have this device in the database even if there is no bulk PS attached to the card.
PRO BASTAT (4, 4, 60) PDB BASTST (to be determined)
Two words long, but only the lower word is used. The basic control codes, which can be placed in a PDB for parameter page use, are:
Code Meaning PDB Slot Camac Function ---- ------- -------- -------------- 1 PS OFF OFF F24A1 2 PS ON ON F26A1 3 PS Reset RESET F26A7 4 unused 5 Toggle polarity POL - F24A3 PRO BCNTRL (2, 2, 60) PDB BCNTRL (to be determined)
The digital alarm follows the basic status property, with the execption of four bits which we ignore.
There is a single bit for each channel which is funneled through the LAM word. These bits are the alarm bypass bits for the individual waveform devices, and thus I will not permit operators to use them here. They will always appear to be masked.
PRO DGALBL (2, 20, 60, 0000, 0000, 4, 1, 1, 0, 0, 0, 0, 0, 0, 0) PRO DGALTX (0, 0, 5, '')
Not needed, but quite convenient for calling DBAREQ in application pages. The setting property on this device reads and sets the 'B' board analog mux. Note that the reference signal device controls this mux automatically.
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | 90 (hex) <- G(i) A0 (hex) <- H(i) |
There are 32 words in each of these devices, containing MDAT values for the waveform function abcissas.
PRO SETTNG (2, 64, 60) ! no PDB needed
Proposed names: Following the above, I:14RC5G and I:14RC5H.
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | B0 (hex) |
256 words long, containing 8 word blocks (= 8 clock events) for each of 32 interrupt levels.
PRO SETTNG (2, 256, 60)
A single word containing the F(4)A(15) clock event enable flag.
Bit 0: 1=clock event interrupts disabled (OFF) PRO BASTAT(2, 2, 60) PDB BASTAT(1, 0, 1, 0, 0, 0, 2) ! ON/OFF status
The basic control for the reference device enables and disables the clock event interrupts.
Basic control codes are only one word long. The front end ignores the upper word, but I recommend that you keep it zero in case we want to support other basic control options.
The codes are as follows:
Code Meaning PDB Slot Camac Function ---- ------- -------- -------------- 1 Disable interrupts OFF F24A4 2 Enable interrupts ON F26A4 3 unused RESET 4 unused POL + 5 unused POL - PRO BCNTRL (4, 4, 60) PDB BCNTRL (6, 0, 2, 1, 0, 0)
Proposed name: I:14RC5C
0 | 0 |
0 | 70 (hex) |
crate | slot |
0 | C0 (hex) |
One word long. Contains the sources of MDAT (the standard MDAT codes, I think) for the G(i) function (high byte) and H(i) function (low byte).
PRO SETTNG (2, 2, 60)
Proposed name: I:14RC5M