mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-11-27 16:05:20 +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
|
This accepts the trigger only after it has been zero for at least
|
||||||
100 microseconds. If the trigger is a sequence, debouncing is
|
100 microseconds. If the trigger is a sequence, debouncing is
|
||||||
applied at each step.
|
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