ice:event_system
Differences
This shows you the differences between two versions of the page.
Next revisionBoth sides next revision | |||
ice:event_system [2014/07/01 16:54] – created jtshugrue | ice:event_system [2015/08/10 20:20] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Event System Guide ====== | ====== Event System Guide ====== | ||
- | Not yet created. | + | |
+ | ==== Overview ==== | ||
+ | The Event System enables very low-latency communication with the ICE boards. Instead of sending commands over USB or TTL Serial, the Event System consists that 4 TTL lines that go directly to each ICE Slave board. | ||
+ | |||
+ | The ICE Slave boards have various Event Functions -- actions to perform when they get an Event. Each action will listen to an Event Address from 0 through 7, where 0 is a no-action state. | ||
+ | |||
+ | The 4 Event Lines consists of 3 address lines and one ' | ||
+ | |||
+ | <WRAP center round important 80%> | ||
+ | Some customers have had intermittent issues with the the Event System triggering when using CPLD firmware 1.0 on the ICS-CS1 and ICS-CP1. You can check your CPLD version with the "# | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Example Event with ICE-CP1 ===== | ||
+ | |||
+ | The ICE-CPL1 is has Event Functions: EvtJump which jumps the offset phase lock frequency; EvtLOff which toggles the laser on or off. For this example, we will use the EvtJump Event. | ||
+ | |||
+ | First, we will disable the EvtLOff function by setting its Event Address to 0 and configure EvtJump to listen to event 3: | ||
+ | |||
+ | EvtLOff 0 | ||
+ | 0 | ||
+ | EvtJump 3 | ||
+ | 3 | ||
+ | |||
+ | Now that the Jump Event is enabled on address 3 we need to configure what to do when this event is triggered. More details on this setup can be found in the [[ice: | ||
+ | |||
+ | Row 1: N=8, | ||
+ | Row 2: N=16, | ||
+ | Row 3: N=8, | ||
+ | |||
+ | This is done by running: | ||
+ | |||
+ | EvtData 1 1 150 | ||
+ | EvtData 2 7 167.65 | ||
+ | EvtData 3 3 120 | ||
+ | |||
+ | See the EvtData command in [[ice: | ||
+ | |||
+ | Now we need to tell the ICE-CS1 to use only 3 rows in that data. This means that when this event is processed it will jump to the settings in Row 1, then Row 2, then Row 3, then Row 1, then Row 2, etc. This is done with the EvtNum command | ||
+ | |||
+ | EvtNum 3 | ||
+ | 3 | ||
+ | |||
+ | Now that everything is configured, we can test the event by using the Master' | ||
+ | |||
+ | #DoEvent 2 | ||
+ | Finished | ||
+ | #DoEvent 0 | ||
+ | Finished | ||
+ | #DoEvent 3 | ||
+ | Finished | ||
+ | #DoEvent 3 | ||
+ | Finished | ||
+ | #DoEvent 3 | ||
+ | Finished | ||
+ | N 64 | ||
+ | 64 // ICS-CS1 goes to N=64 state | ||
+ | #DoEvent 3 | ||
+ | Finished | ||
+ | #DoEvent 3 | ||
+ | Finished | ||
+ | |||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Mutliple Events across multiple ICE Slave boards can listen on the same address; they will happen simultaneously | ||
+ | </ | ||
+ | |
ice/event_system.txt · Last modified: 2021/08/26 15:26 by 127.0.0.1