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