Wakeup L15 Calorimeter Trigger Process Outline ------------------------------------------------ Rev. 8-JUN-1994 The purpose of this file is to give a broad general description of the whole process by which TCC "wakes up" the L15 Cal Trig. For a detailed description about how TCC wakes up a specific part of the L15 Cal Trig see other files (e.g. Initialize_DSPs_via_TCC.txt) Commands to operate the L15CT come from COOR to TCC. They come in the following order. COOR asks TCC to "LOADCODE" the L15CT. COOR sends TCC the "Parameters" that L15CT should use in this run. COOR asks TCC to "Start L15CT System". In response to the "LOADCODE" message from COOR TCC takes the following action in the order indicated. 1. Set the ERPB-MTG so that it absolutely can not send a Transmit-Trigger to the ERPB's (i.e. put the safety on). 2. Send the "Load_Code_Interrupt" to 68k_Services. The purpose of this is to get 68k_Services stopped in a known configuration so that it is not bothering the DSP's (e.g. to stop 68k_Services from trying to get the DSP's un-stuck). This also lets the 68k_Services know that it can not expect to receive meaningful status words from the DSP's at this time. In response to receiving the "Load_Code_Interrupt" from TCC, 68k_Services first performs a complete initialization (except for the VBD) and then 68k_Services sets a value in the 68k_Status_to_TCC Status Block to let TCC know that it is alive and well and "parked" in a do nothing Load Code Interrupt routine. 3. TCC verifies that the value in the 68k_Status_to_TCC location indicates that 68k_Services has responded to the "Load_Code_Interrupt" that was sent to it. 4. RESET all 12 DSP's. 5. One at a time load code into the 12 DSP's. As each DSP is loaded TCC verifies that it sets the proper value in its DSP_Status_to_TCC location to indicate that it is alive, loaded, and waiting for parameters. 6. TCC now sends the Acknowledge back to COOR for the "LOADCODE" message. Next TCC receives a series of "Parameter" messages from COOR. These are all processed internally by TCC. TCC takes no external action (e.g. VME cycles) during this series of messages. Next TCC receives the "Start L15CT System" message from COOR. In response to this message TCC takes the following steps in the order indicated. 1. TCC writes and verifies the 64k long x byte wide Term Select memory i.e. the memory on the Term Select P2 that maps L1 Specific Triggers Fired into L15CT Terms that need to be evaluated. In order to load this Term Select Memory, TCC needs to manipulate the Ironics board that is connected to the Term Select P2 card. 2. TCC loads the "Parameter Block" into the 3 Hydra-II cards and into memory on the MVME-135 card. 3. One at a time TCC sends a "Load_Parameters_Interrupt" to the 12 DSP's. As each DSP receives its "Load_Parameters_Interrupt" it checks and loads the parameters, gets its self ready for the first event (i.e. it is at Step D0 in the event processing sequence) and it sets a value in its DSP_Status_to_TCC location to let TCC know that the parameters are loaded, all is well, and that it is waiting for the first event. TCC checks the value in each of the 12 DSP_Status_to_TCC locations to verify that they are all ready to start event processing. All errors are considered fatal; the DSP gets itself stopped, and TCC will return a failure acknowledgement to COOR. That is all errors except for the "CRC did not release COMM Port token"; TCC records the error to the screen/logfile but the error is otherwise ignored by both the DSP's and TCC. During the commissioning phase, no attempt is made at checking whether the CRC Channel should indeed not be connected. In the future, we can ask TCC to use its Trigger Tower Range to decide whether the error should be fatal. 4. TCC sends the "Load_Parameters_Interrupt" to 68k_Services. In response to receiving the "Load_Parameters_Interrupt", 68k_Services checks and then loads the parameters that it needs. Checking involves looking at the Parameter Block Memory Map Version and Revision Number, the Crate ID, and the values of the MFP Ratios. Loading involves making use of the MFP Ratios. When this is done, 68k_Services writes the "Frame Parameter Section" and the "Tool Parameter Section" of the L15CT Data Block into both of the MVME-214 memory modules. All of the data that goes into these two sections of the L15CT Data Block comes directly from the Parameter Block that comes from TCC. When this is done then 68k_Services verifies that all 12 DSP's are reporting to it that they are at Step D0. Then 68k_Services sets an appropriate value in the 68k_Status_to_TCC Status Block to indicate to TCC that either all is well and 68k_Services is ready to start processing events, or else that there is some type of a problem. 5. TCC checks the value in the 68k_Status_to_TCC location to verify that 68k_Services is ready to start event processing. 6. TCC removes the safety on the ERPB-MTG. 7. TCC send the Acknowledge back to COOR for the "Start L15CT System" message. Notes: To insure that TCC reads the current status from a DSP or 68k processor; Before causing an action in a processor, TCC may need to wipe (or set to a special value) the location where the effected processor will report its new status.