source: softGlue_examples/source/pulse_burst/index.rst @ 884

Last change on this file since 884 was 884, checked in by mooney, 10 years ago

new example

File size: 2.5 KB
Line 
1========================
2Pulse burst
3========================
4
5.. index:: !Pulse-burst generator;non-retriggerable
6
7This circuit produces a pulse burst in response to an input pulse.  The
8output-pulse period, the length of burst, and the time delay between the input
9pulse and the start of the burst are programmable.  This circuit is
10non-retriggerable in the sense that any additional input pulses that occur
11during the output-pulse burst are ignored.
12
13.. image:: MEDM-display.png
14        :width: 100%
15
16The input pulse is called ``ShakerClk`` because of the application from which
17this example was taken.  The application was to acquire 6000 x-ray images, at
182000 Hz, of an object being shaken at 60 Hz.
19
20
21Usage
22-----
23
24To load the circuit into softGlue:
25
261)      Download this `BURT <http://www.aps.anl.gov/epics/extensions/burt/index.php>`_ snapshot file :download:`pulse_burst.snap
27        <pulse_burst.snap>`
28
292)      Edit the file to replace all occurrences of the string ``xxx:softGlue:`` with
30        whatever value you specified for ``$(P)$(H)`` when you loaded softGlue into
31        your IOC.
32
333)      Load the file with the command ``burtwb -f pulse_burst.snap``
34
35The circuit has three programmable parameters:
36
371.      Output-pulse period.
38
39        This is the number loaded into the ``PRESET`` input of ``DnCntr-1``.  It
40        controls the time between the output pulses (i.e., the pulse period).
41        The time between pulses is X * 125nsec.  In this example X is 4000.  This
42        sets the period to 4000 * 125nsec = .0005 sec (2000 Hz).
43
442.      Burst time.
45
46        This is the number loaded into the ``PRESET`` input of ``DnCntr-2``. It
47        controls the duration of the output-pulse burst.  The duration is Y *
48        125nsec.  In this example, Y is 24000000.  This sets the time to 24000000 *
49        125nsec = 3 seconds.  With the pulse period set to 2000 Hz, the circuit will
50        generate 6000 output pulses after each input pulse.
51
523.      Delay after the input pulse.
53
54        This is the number loaded into the ``PRESET`` input of ``DnCntr-3``.  It
55        controls the delay time between the input pulse and the first output pulse.
56        The delay is Z * 125nsec.  In this example, Z is 8000000, which sets the
57        delay to be 8000000 * 125nsec = 1 sec.
58
59As configured, the circuit does the following:
60
611.      Waits for the rising edge of the input pulse.
62
632.      Delays for one second.
64
653.      Sends 6000 pulses at 2000 Hz.
66
674.      After the 6000 pulses, clears everything and waits for the next input pulse.
68        pulse to repeat the process.
69
70Here's the circuit schematically:
71
72.. image:: pulse_burst.*
73        :width: 100%
74
75Here's the pdf file from which the above image was extracted :download:`pulse_burst.pdf <pulse_burst.pdf>`
76
Note: See TracBrowser for help on using the repository browser.