mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-12-25 20:07:42 +02:00
ubb-patgen/timeline.fig: timeline of pattern generation (description in README)
This commit is contained in:
parent
8dda1200c1
commit
a31351545c
@ -172,3 +172,47 @@ The trigger signal can be debounced with the option -d, e.g.,
|
||||
This accepts the trigger only after it has been zero for at least
|
||||
100 microseconds. If the trigger is a sequence, debouncing is
|
||||
applied at each step.
|
||||
|
||||
|
||||
Timeline details
|
||||
----------------
|
||||
|
||||
timing.fig illustrates the various steps of pattern generation.
|
||||
A PDF of the diagram can be found here:
|
||||
|
||||
http://downloads.qi-hardware.com/people/werner/ubb/patgen/timeline.pdf
|
||||
|
||||
CLK is the clock output if selected with -C. DATx are the data
|
||||
lines, with the value of DAT0 shown. TRIG is the trigger input.
|
||||
Note that in real life, the TRIG/CLK line can only act either as
|
||||
trigger input or as clock output but not as both at the same time.
|
||||
|
||||
The pattern we send is 0110110. We trigger on TRIG being low, with
|
||||
a debounce time of nominally about one pattern clock interval, and
|
||||
some post-trigger delay.
|
||||
|
||||
After ubb-patgen starts, it first processes the command-line
|
||||
options and arguments, then initializes the pins. DATx are set to
|
||||
the value of the first pattern. Next, ubb-patgen sets up the MMC
|
||||
controller, makes it send a command, receives a pseudo-response,
|
||||
and begins sending copies of the first pattern on DATx. These
|
||||
copies are necessary to get past the start bit and to make the MMC
|
||||
controller drive DATx to known levels. Once this pattern has been
|
||||
sent, we switch DATx to GPIO.
|
||||
|
||||
When this is done, ubb-patgen waits for the trigger. In this
|
||||
example, we first ignore a glitch and then detect a correct
|
||||
trigger value. Note that the effective debounce period is usually
|
||||
longer than specified, since other system activity can delay the
|
||||
sampling.
|
||||
|
||||
Once ubb-patgen has triggered, it starts the DMA controller and
|
||||
thus begins sending the pattern. The first cycle (marked with a
|
||||
question mark) is an uncommanded repetition of the first pattern
|
||||
(apparently there is a buffer stage in the MMC controller)
|
||||
followed by the entire sequence, first to last pattern.
|
||||
|
||||
At the end, several copies of the last pattern may be sent in
|
||||
order to reach the transfer size of the DMA controller (32 bytes).
|
||||
ubb-patgen then ensures that all data has left the MMC controller,
|
||||
switches DATx back to GPIO, and exits.
|
||||
|
259
ubb-patgen/timeline.fig
Normal file
259
ubb-patgen/timeline.fig
Normal file
@ -0,0 +1,259 @@
|
||||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Metric
|
||||
A4
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 11880 5265 12465 5535
|
||||
2 2 0 0 0 7 20 -1 20 0.000 0 0 -1 0 0 5
|
||||
11880 5265 12465 5265 12465 5535 11880 5535 11880 5265
|
||||
4 1 0 15 -1 18 12 0.0000 4 150 525 12195 5490 Initial\001
|
||||
-6
|
||||
6 1575 990 2160 1260
|
||||
2 2 0 0 0 7 20 -1 20 0.000 0 0 -1 0 0 5
|
||||
1575 990 2160 990 2160 1260 1575 1260 1575 990
|
||||
4 1 0 15 -1 18 12 0.0000 4 150 525 1890 1215 Initial\001
|
||||
-6
|
||||
6 1575 1890 2160 2160
|
||||
2 2 0 0 0 7 20 -1 20 0.000 0 0 -1 0 0 5
|
||||
1575 1890 2160 1890 2160 2160 1575 2160 1575 1890
|
||||
4 1 0 15 -1 18 12 0.0000 4 150 525 1890 2115 Initial\001
|
||||
-6
|
||||
6 1575 2790 2340 3105
|
||||
2 2 0 0 0 7 20 -1 20 0.000 0 0 -1 0 0 5
|
||||
1575 2790 2340 2790 2340 3105 1575 3105 1575 2790
|
||||
4 1 0 15 -1 18 12 0.0000 4 195 720 1980 3015 Ignored\001
|
||||
-6
|
||||
6 11610 2790 12375 3105
|
||||
2 2 0 0 0 7 20 -1 20 0.000 0 0 -1 0 0 5
|
||||
11610 2790 12375 2790 12375 3105 11610 3105 11610 2790
|
||||
4 1 0 15 -1 18 12 0.0000 4 195 720 12015 3015 Ignored\001
|
||||
-6
|
||||
6 6525 7065 7290 7380
|
||||
2 2 0 0 0 7 20 -1 20 0.000 0 0 -1 0 0 5
|
||||
6525 7065 7290 7065 7290 7380 6525 7380 6525 7065
|
||||
4 1 0 15 -1 18 12 0.0000 4 195 720 6930 7290 Ignored\001
|
||||
-6
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 2
|
||||
6525 2700 7650 2700
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
7650 2700 8550 2700
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 8
|
||||
8550 2700 9225 2700 9225 3150 9360 3150 9360 2700 10350 2700
|
||||
10350 3150 11025 3150
|
||||
2 1 0 2 0 7 35 -1 17 0.000 0 0 -1 0 0 4
|
||||
12825 3150 11025 3150 11025 2700 12825 2700
|
||||
2 1 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 4
|
||||
1125 2250 3375 2250 3150 1800 1125 1800
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3375 2250 7650 2250
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 2
|
||||
8550 2250 11475 2250
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
7650 2250 8550 2250
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 2
|
||||
12150 2250 12825 2250
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 7
|
||||
3600 900 4500 900 4500 1350 4725 1350 4725 900 4950 900
|
||||
4950 1350
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 7
|
||||
5625 1350 5625 900 5850 900 5850 1350 6075 1350 6075 900
|
||||
7650 900
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
4950 1350 5625 1350
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 2
|
||||
8550 900 11475 900
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
7650 900 8550 900
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 2
|
||||
12150 900 12825 900
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
6525 3375 6525 3825
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 0 0 2
|
||||
9225 2610 9225 1800
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 0 0 2
|
||||
9675 2610 9675 1800
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 1 2
|
||||
1 1 2.00 60.00 60.00
|
||||
1 1 2.00 60.00 60.00
|
||||
9225 1935 9675 1935
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
11475 900 12150 900
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
11475 2250 12150 2250
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
11025 3375 11025 3825
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
5580 3600 6525 3600
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
7650 3600 6525 3600
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
8370 3600 11025 3600
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 0 0 2
|
||||
10350 2610 10350 1800
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 0 0 2
|
||||
11025 2610 11025 1800
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
1575 3375 1575 3825
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
1800 3600 1575 3600
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
3150 3600 3375 3600
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
3375 3375 3375 3825
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
4320 3600 3375 3600
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
12825 3375 12825 3825
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
11295 3600 11025 3600
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
12555 3600 12825 3600
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
1125 6975 12825 6975
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
1125 7425 12825 7425
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
1125 7650 1125 8100
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 10
|
||||
1125 6525 3375 6525 3375 6075 4275 6075 4275 6525 4725 6525
|
||||
4725 6075 5625 6075 5625 6525 7425 6525
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 47
|
||||
1125 5175 2475 5175 2475 5625 2700 5625 2700 5175 2925 5175
|
||||
2925 5625 3150 5625 3150 5175 3375 5175 3375 5625 3600 5625
|
||||
3600 5175 3825 5175 3825 5625 4050 5625 4050 5175 4275 5175
|
||||
4275 5625 4500 5625 4500 5175 4725 5175 4725 5625 4950 5625
|
||||
4950 5175 5175 5175 5175 5625 5400 5625 5400 5175 5625 5175
|
||||
5625 5625 5850 5625 5850 5175 6075 5175 6075 5625 6300 5625
|
||||
6300 5175 6525 5175 6525 5625 6750 5625 6750 5175 6975 5175
|
||||
6975 5625 7200 5625 7200 5175 7425 5175 7425 5625
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 7
|
||||
8325 5625 8325 5175 8550 5175 8550 5625 8775 5625 8775 5175
|
||||
11250 5175
|
||||
2 1 0 2 0 7 45 -1 -1 0.000 0 0 -1 0 0 2
|
||||
8325 6525 12825 6525
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
7425 5625 8325 5625
|
||||
2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
|
||||
7425 6525 8325 6525
|
||||
2 1 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 4
|
||||
12825 5175 11250 5175 11475 5625 12825 5625
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
2970 6300 2475 6300
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
6030 6300 6525 6300
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
2475 7650 2475 8100
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
2925 7650 2925 8100
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
6075 7650 6075 8100
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
9000 7650 9000 8100
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
11925 7650 11925 8100
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
11475 7875 11925 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
9225 7875 9000 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
7965 7875 9000 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
7065 7875 6075 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
4950 7875 6075 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
4050 7875 2925 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
2340 7875 2475 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
1260 7875 1125 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
2610 7875 2475 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
2790 7875 2925 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 1 2
|
||||
1 1 2.00 60.00 60.00
|
||||
1 1 2.00 60.00 60.00
|
||||
10350 1935 11025 1935
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 4
|
||||
1125 2700 6525 2700 6525 3150 1125 3150
|
||||
2 1 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 4
|
||||
1125 1350 3375 1350 3600 900 1125 900
|
||||
2 2 0 0 0 7 60 -1 17 0.000 0 0 -1 0 0 5
|
||||
1125 6975 12825 6975 12825 7425 1125 7425 1125 6975
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
9855 7875 10125 7875
|
||||
2 1 0 2 0 7 50 -1 17 0.000 0 0 -1 0 0 2
|
||||
10125 7605 10125 8055
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 60.00 60.00
|
||||
10575 7875 10125 7875
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 0 0 2
|
||||
10350 6075 10350 6435
|
||||
2 1 0 2 0 7 30 -1 17 0.000 0 0 -1 0 0 2
|
||||
6300 1800 6300 2160
|
||||
4 0 0 35 -1 18 18 0.0000 4 225 735 225 7335 TRIG\001
|
||||
4 0 0 35 -1 18 18 0.0000 4 225 795 225 6435 DATx\001
|
||||
4 0 0 35 -1 18 18 0.0000 4 225 630 225 5535 CLK\001
|
||||
4 0 0 35 -1 18 18 0.0000 4 225 735 225 3060 TRIG\001
|
||||
4 0 0 35 -1 18 18 0.0000 4 225 795 225 2160 DATx\001
|
||||
4 0 0 35 -1 18 18 0.0000 4 225 630 225 1260 CLK\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 150 435 1575 4095 Start\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 150 555 9315 3420 Glitch\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 900 11025 4095 Triggered\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 570 6525 4095 Ready\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 135 105 3150 6345 0\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 135 105 3600 6345 1\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 135 105 4050 6345 1\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 135 105 4950 6345 1\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 135 105 5400 6345 1\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 135 105 4500 6345 0\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 135 105 5850 6345 0\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 150 360 11925 8370 Exit\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 150 120 2700 7965 ?\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 1095 2475 3645 Static setup\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 1035 4950 3645 MMC setup\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 150 405 8010 3645 Wait\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 1110 11925 3645 Trigger wait\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 150 660 4500 7920 Pattern\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 780 7515 7920 Padding\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 150 930 1800 7920 Start DMA\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 195 2010 10080 1575 Trigger debounce (-d)\001
|
||||
4 1 0 50 -1 18 10 0.0000 4 120 300 9450 1845 min\001
|
||||
4 1 0 50 -1 18 10 0.0000 4 120 255 10710 1845 eff.\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 465 9540 7920 Sync\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 765 11025 7920 Cleanup\001
|
||||
4 0 0 50 -1 18 10 0.0000 4 120 420 3375 1980 GPIO\001
|
||||
4 2 0 50 -1 18 10 0.0000 4 120 390 10260 6255 MMC\001
|
||||
4 0 0 50 -1 18 10 0.0000 4 120 420 10440 6255 GPIO\001
|
||||
4 0 0 50 -1 18 10 0.0000 4 120 390 6390 1980 MMC\001
|
||||
4 2 0 50 -1 18 10 0.0000 4 120 420 6210 1980 GPIO\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 180 330 11925 3870 (-w)\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 180 315 495 1485 (-C)\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 180 240 495 3285 (-t)\001
|
||||
4 1 0 35 -1 18 12 0.0000 4 195 3405 5625 1620 MMC command, response, data start\001
|
Loading…
Reference in New Issue
Block a user