CAMAC 177 Timer Module
A. Franck
November 4, 1983
General Description:
The basic function of the CAMAC 177 MODULE is to provide timing
pulses at a programmable delay from selected tevatron clock events.
Eight timing channels are provided. Each channel may be programmed
independently with respect to delay and clock events.
The delay is established by using a programmable clock frequency
and a programmable down counter. The clock may be set to frequencies of
1 MHz, 100KHz, 10KHz, or 1KHz. The sixteen bit binary down counter may
be loaded with values up to 65,535. The clock is derived from the 10MHz
Tevatron clock signal and synchronized to the trigger event, thereby
producing jitter free timing pulses.
The clock events to be used as triggers are selectable and may
include any of the possible 256 events. A maximum of fifteen events are
allowed per channel. A RAM is used on the module as the storage medium
for events.
The timer is resettable, meaning that any trigger event occurring
during the timing period will restart the timer. Once timed out, the
channel is quiescent until it is retriggered by an event.
The eight channels may be enabled and inhibited either singly or as
a group. The state of any channel (inhibited or enabled) may be
obtained through a status read.
A jumper provision is made to allow wire ORing of the channel
outputs. This jumper is located prior to the output drivers and allows
a variety of output configurations. Possibilities include: each
channel driving it's respective output, all channels driving one output,
one channel driving all outputs, etc.
Provisions are made for an external clock and an external reset.
These are to be used together as an alternative to the Tevatron Clock.
If the external clock frequency is less than 10MHz, the time must be
scaled accordingly. A DIP switch is provided to allow selected channels
to respond to the external reset signal.
Module LAM is generated only upon absence of clock signal, either
Tevatron or external. LAM status may be obtained through a status read.
OPCODES:
Notes: A(n)---- 0 <or= n =or< 7
n is the channel pointer
* indicates X is returned immediately
but Q is returned on a later read
(Allow about 100 Microseconds)
F(0) A(n)* --- Read channel counter value
R16 R1
-------------------------------------------------
! C15 Channel Counter Value C0 !
-------------------------------------------------
F(1) A(0) --- Read module status
R16 R15 R9 R8 R7 R6 R5 R4 R3 R2 R1
-----------------------------------------------------------------
! LAM ! ------ 0------- ! S7 ! S6 ! S5 ! S4 ! S3 ! S2 ! S1 ! S0 !
-----------------------------------------------------------------
S0 - S7 = 1 only if the respective channel is enabled
(S0 corresponds to channel 1)
F(2) A(0) --- Read events - Auto increment
R16 R9 R8 R1
-------------------------------------------------
word 1 ! Event 1 ! Event Count !
-------------------------------------------------
MSB LSB MSB LSB
-------------------------------------------------
word 2 ! Event 3 ! Event 2 !
-------------------------------------------------
" "
" "
" "
" "
-------------------------------------------------
word 8 ! Event 15 ! Event 14 !
-------------------------------------------------
This command will return two bytes per read. The pointer
will be initialized by any opcode except F(1) A(0) - read status.
Q will be delayed on the first read only. Thereafter, X and Q are
returned immediately along with data.
If more than fifteen events are written to a channel, they
will not be stored. Also if reads beyond the event count are
executed, the last byte read will be repeated.
F(4) A(n)* --- Read channel clock frequency
R16 R5 R4 R3 R2 R1
--------------------------------------------------
! ----------- 0----------- ! F3 ! F2 ! F1 ! F0 !
--------------------------------------------------
---------------------
Pattern for 1KHz ----- ! 0 ! 0 ! 0 ! 1 !
---------------------
---------------------
Pattern for 10KHz ---- ! 0 ! 0 ! 1 ! 0 !
---------------------
---------------------
Pattern for 100KHz --- ! 0 ! 1 ! 0 ! 0 !
---------------------
---------------------
Pattern for 1MHz ----- ! 1 ! 0 ! 0 ! 0 !
---------------------
F(6) A(0)* --- Read module number
R16 R9 R8 R1
-------------------------------------------------
! -------- 0 -------- ! B1 (base 16) !
-------------------------------------------------
F(6) A(1)* --- Read software version number
-------------------------------------------------
! ------ Month ------ ! --------- Year -------- !
-------------------------------------------------
Responds with (Month Year) base 10.
F(9) A(0) --- Reset module
Performs reset as does Z*S2 and power up clear.
Inititializes all RAM and all counters to 00.
Initializes frequency read registers to 1MHz.
(For reading purposes only, counter not loaded)
Inhibits all channels.
This operation should be allowed 1 second to complete.
F(16) A(n) --- Write channel counter value
W16 W1
-------------------------------------------------
! C15 -------- Down Counter Value --------- C0 !
-------------------------------------------------
MSB LSB
This command writes the down counter value to the
specified channel.
The module will accept any value from 0000 to FFFF
as a counter value.
Note that this command will be disregarded if written
to an enabled channel.
It should be noted that the minimum delay the module
can produce is 3 microseconds. Therefore, writing
0, 1, or 2 as a delay in the 1MHz frequency mode
will yeild a delay of 3 microseconds.
F(20) A(n) --- Write frequency and event number
W16 W9 W8 W7 W6 W5 W4 W3 W2 W1
------------------------------------------------------------------
! E7 - Event Number - E0 ! N3 ! N2 ! N1 ! N0 ! F3 ! F2 ! F1 ! F0 !
------------------------------------------------------------------
MSB LSB ------------------ ------------------
Control Nibble Frequency
---------------------
write event and freq ! 0 ! 0 ! 0 ! 0 !
---------------------
---------------------
write event only ! 0 ! 0 ! 0 ! 1 !
---------------------
---------------------
write freq only ! 0 ! 0 ! 1 ! 0 !
---------------------
---------------------
delete an event ! 0 ! 1 ! 0 ! 0 !
---------------------
---------------------
delete all events ! 1 ! 0 ! 0 ! 0 !
---------------------
---------------------
frequency command pattern for 1KHz ! 0 ! 0 ! 0 ! 1 !
---------------------
---------------------
frequency command pattern for 10KHz ! 0 ! 0 ! 1 ! 0 !
---------------------
---------------------
frequency command pattern for 100KHz ! 0 ! 1 ! 0 ! 0 !
---------------------
---------------------
frequency command pattern for 1MHz ! 1 ! 0 ! 0 ! 0 !
---------------------
Writing any bit pattern other than shown for the control
nibble and frequency will result in no action being taken
for that function.
The event number may range from 00 to FF and once written
to a specified channel, will trigger that channel upon
receiving the event via the Tevatron clock. Fifteen events
may be written. If greater than fifteen are written, the
excess will be ignored. Also repeat writing of an event
will not result in duplicate entries.
Note that this command will be disregarded if written
to an enabled channel.
F(24) A(n) --- Inhibit selected channel
F(26) A(n) --- Enable Selected channel
F(28) A(0) --- Inhibit all channels
F(30) A(0) --- Enable all channels
Note: Inhibit - Enable status is read by
status read F(1) A(0).
F(16) and F(20) commands will not be processed
by an enabled channel.
CAMAC 177 MODULE OPCODE SUMMARY
F(0) A(n) --------- Read channel counter value
F(1) A(n) --------- Read module status
F(2) A(0) --------- Read event - Auto increment
F(4) A(n) --------- Read channel clock frequency
F(6) A(0) --------- Read module number
F(6) A(1) --------- Read software version number
F(9) A(0) --------- Reset module
F(16) A(n) -------- Write channel counter value
F(20) A(n) -------- Write frequency and event number
F(24) A(n) -------- Inhibit selected channel
F(26) A(n) -------- Enable selected channel
F(28) A(0) -------- Inhibit all channels
F(30) A(0) -------- Enable all channels
0 =or< n <or= 7
CAMAC 177 MODULE I/O SPECIFICATIONS
Inputs ---------------- Tevatron clock input
--------------- External clock input
--------------- External reset input
Note: Each input is terminated in 50 ohms.
All are available on the front panel or
the I/O connector.
Outputs --------------- Tevatron clock output -- This is the
buffered Tevatron clock input which is
made available on the front panel and
the I/O connector. Each output is driven
by a seperate 74S140 driver.
--------------- Channel 0 - 7 outputs -- These are
available on the front panel and the I/O
connector. Each output is driven by a
seperate 74140 driver capable of driving
3.5 volts into 50 ohms. The output is a
positive 1 microsecond wide pulse.
Indicators ------------ Lam Led -- Indicates an absence of clock
signal.
--------------- N Led -- Indicates a module select has
occurred.
--------------- Channel 0 - 7 Leds -- Indicates a channel
pulse output has occurred.
CAMAC 177 MODULE I/O CONNECTOR ASSIGNMENTS
------------------------------------------------------------
------------------------------------------------------------
1L --- Channel 0 out !! 1R --- Common
!!
2L --- Common !! 2R --- Ext. Clk. in
!!
3L --- Channel 1 out !! 3R --- Common
!!
4L --- Common !! 4R --- Tev. Clk. in
!!
5L --- Channel 2 out !! 5R --- Common
!!
6L --- Common !! 6R --- Tev. Clk. out
!!
7L --- Channel 3 out !! 7R --- Common
!!
8L --- Common !! 8R --- Ext. Res. in
!!
9L --- Channel 4 out !! 9R --- Common
!!
10L --- Common !! 10R ---
!!
11L --- Channel 5 out !! 11R --- Common
!!
12L --- Common !! 12R ---
!!
13L --- Channel 6 out !! 13R --- Common
!!
14L --- Common !! 14R ---
!!
15L --- Channel 7 out !! 15R --- Common
!!
16L --- Common !! 16R ---
!!
17L --- !! 17R --- Common
!!
18L --- Common !! 18R ---
CAMAC 177 MODULE OPERATIONAL NOTES
To Activate a Channel --------
Write a counter value to the timer channel.
Write a frequency and event number to the
selected channel. For multiple event writes,
refer to the control nibble in the F(20)
command.
Enable the channel.
To Change a Timer Channel Parameter --------
Inhibit the channel.
Change the parameter of interest. It is not
necessary to rewrite any other parameter
if it does not change.
Enable the channel.
Timer Characteristics --------
The timers are retriggered by events occurring
during the time out period.
The channel enable command reloads the timer
and prepares it to receive another trigger.
Module reads have no effect on timer
operation.
The module uses a stacking procedure to
accept the following commands; F(16),F(20),
F(24),F(26),F(28), and F(30). The stack write
time is about 60 microseconds. Stacking
was done to allow rapid repetitive command
writes to occur. The stack depth is 64
commands.
Security, Privacy, Legal