How do you configure the pulse generators?

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:




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.


Have more questions? Submit a request


Please sign in to leave a comment.