See also:
TN-2015XII11-000-TechNote-PulseGenerator-tips.pdf (for an in-depth explanation of pulse generators)
TN-2015X30-00-TechNote-GPIO-tips.pdf (general signals and I/O handling)
Quick features overview
The pulse generators in JAI cameras generally have the following features:
The features shown in the screen dump from the eBUS player work like this:
ClockPreScaler | Divides the clock down, must be an integer in the range [1;4096]. 1) |
PulseGeneratorClock | Defines the tick length of the numbers below. 1) |
PulseGeneratorSelector | Sets the pulse generator to configure. All numbers with light blue background below the selector are defined for the selected pulse generator. |
PulseGeneratorLength | Defines the period of one cycle of the pulse generator in ticks. 2) |
PulseGeneratorLengthMs | Same as above, but in milliseconds instead of ticks. 2) |
PulseGeneratorFrequency | The reciprocal value of PulseGeneratorLengthMs. 2) |
PulseGeneratorStartPoint | This is the delay from the start of the pulse generator until the signal goes high. Can be used to configure e.g. a delayed strobe. Normally only used if the pulse generator is triggered. 3) |
PulseGeneratorStartPointMs | Same as above, but in milliseconds instead of ticks. 3) |
PulseGeneratorEndPoint | This defines when the signal goes low. 4) |
PulseGeneratorEndPointMs | Same as above, but in milliseconds instead of ticks. 4) |
PulseGeneratorPulseWidthMs | Automatically calculated value of end point minus start point. |
PulseGeneratorRepeatCount | This defines the number of pulse cycles after a trigger is received. The value zero means infinite. |
PulseGeneratorClearActivation | This defines if a trigger to the pulse generator is detected as rising edge, falling edge, level high or level low. |
PulseGeneratorClearSource | This defines the trigger source for the selected pulse generator. Can be software or hardware based. |
PulseGeneratorClearInverter | This inverts the selected trigger source signal to the pulse generator. |
PulseGeneratorClearSyncMode | Defines if a new trigger should be synchronized to previous pulses or asynchronously reset the pulse generator. |
Tick values must be integers. Millisecond values will be rounded to nearest tick integer.
1) The values are interdependent. Change one, and the other will follow.
2) The values are interdependent. Change one, and the others will follow.
3) The values are interdependent. Change one, and the other will follow.
4) The values are interdependent. Change one, and the other will follow.
General illustration of one pulse generator cycle:
Example
Say you want to set a pulse generator running at 25 Hz with 5 repetitions of 1 ms after receiving a rising edge trigger like this:
- First select a base tick frequency which is manageable and suitable for the numbers you want to achieve. In this case we can set the ClockPreScaler = 1485, which gives a tick frequency of 50 kHz on this camera model.
- Then set the PulseGeneratorFrequency = 25. This will automatically update the Length and LengthMs features.
- We don't want a delay, so the StartPoint is set = 0. The pulse width should be 1 ms, so we simply set the EndPointMs = 1.
- PulseGeneratorRepeatCount is set = 5 to get five repetitions per trigger.
- We set PulseGeneratorClearActivation = rising edge.
- PulseGeneratorClearSource is set = Line5, which is one of the inputs on the Hirose connector.
- PulseGeneratorClearSyncMode = SyncMode, so the last pulse will finish before a new sequence starts.
0 Comments