Root/ubb-la/README

1UBB pattern capture
2===================
3
4ubb-la is the counterpart of ubb-patgen: it captures a pattern on DATx
5and prints on standard output what it has received. The output format
6is the same as the one used by ubb-patgen, i.e., hex digits with
7repetitions indicated by {number}.
8
9ubb-la is currently a proof of concept implementation and therefore
10only provides the most basic functions.
11
12Capture frequencies are the same as for ubb-patgen. The sample size is
13fixed at 8008 samples.
14
15
16Sample rate
17-----------
18
19The frequency in MHz is selected with the option -f. For example, this
20would select 10.5 MHz:
21
22# ubb-la -f 10.5
23bus 10.5 MHz controller 168 MHz
24
25Note that - unlike ubb-patgen - there are no SI prefixes or rounding
26modes to select. ubb-la simply picks the frequency closest to the one
27specified.
28
29The option -F works like -f but also allows frequencies that may
30exceed the hardware's capabilities. As a consequence, the MMC
31controller may hang.
32
33A list of available frequencies can be obtained with
34
35# ubb-patgen -q
36
37The default sample rate is 1 MHz.
38
39
40Clock output
41------------
42
43The CLK line (CLK/TRIG) is usually configured as an input. If the
44option -C is present, ubb-la outputs the MMC bus clock instead.
45
46
47Trigger
48-------
49
50Capture only starts after detection of a trigger. By default, ubb-la
51triggers when the CLK/TRIG line changes.
52
53The trigger pattern can be selected with the option -t pattern/mask,
54where ubb-la triggers when (pins & mask) == pattern
55
56For example,
57
58# ubb-la -t 2/3
59
60would monitor the lines DAT0 and DAT1 and trigger when DAT0 is 0
61while DAT1 is 1. In the pattern and mask, DAT0 has the value 1, DAT1
62is 2, DAT2 is 4, DAT3 is 8, and CLK/TRIG is 16.
63
64ubb-la turns off interrupts while waiting for a trigger. The only
65ways to exit are either detection of a trigger or a button press on
66the Ben's keyboard. In the latter case, ubb-la exits immediately and
67does not capture any samples.
68
69When the trigger is present, it takes roughly 550 +/- 250 ns plus one
70sample time until the first sample is taken.
71
72
73Graphical output
74----------------
75
76A graphical interface is available for exploration of a captured
77pattern. This interface is invoked if the option -g is set. Note
78that sample rate, trigger, etc., still have to be set up via the
79command line. Example:
80
81# ubb-la -f 12 -t 0/8 -g
82
83In the GUI, the following keys are available:
84
85  Left/Right Pan the waveform left/right. With Shift, jump to the
86        next change on any channel in the specified direction.
87  Up/Down Zoom in/out
88  Space Set the user origin (upward-facing green triangle)
89        at the current position and display the time to
90        the center position (downward-facing blue triangle).
91        Pressing space again removes the user origin.
92  Enter/Q Quit
93
94
95Known bugs
96----------
97
98At higher sample rates (observed at 42 and 56 MHz; not observed at
9924 MHz), the first sample may have an incorrect value and should be
100ignored.
101
102Interrupting ubb-la while a capture is in progress could cause
103memory corruption.
104
105The passive ubb-la circuit loads the inputs such that they will only
106work if there is a strong driver. In particular, signals held only by
107a pull-up or pull-down resistor are likely to be compromised.
108
109The respective resistive loads are:
110
111Signal To GND To 3.3 V
112    (max) (max)
113------------------------
114DAT0 1.1 k 11 k
115DAT1-3 10 k 10 k
116TRIG 330 k 330 k
117

Archive Download this file

Branches:
master



interactive