Bug Keys (5)

bugkey10

Now, we are sending six dots, the red trace showing the signal obtained at the dot contact, and the yellow trace out of a simple debounce circuit in an FPGA.

It is easy to include a counter in the device for measuring the length of marks and spaces.

bugkey9

By manually reading the numbers in the above figure, you can write a short script in R.

% R
> dat_v=c(1034, 883, 1028, 889, 1003, 923, 1053, 871, 1024, 901, 1048)
> barplot(dat_v, col=c("blue", "green"))

bugkey11

The blue bars correspond to the mark (=low) length, and the green ones to the space (=high). You will immediately notice that the mark to space ratio is not 1.0, and some more adjustment is required.

Bug Keys (4) dirty signals

dirty1

dirty2

If your bug key is not properly maintained mechanically, you will get very dirty signals, as is shown in the above figures, very easily.

You will notice something is wrong without observing the waveform, because the side tone, for example, sounds very annoying in such cases.

dirty3

After some cleaning of the dot contact, somewhat better signal is obtained, but the mark/space ratio is not correct, because during the process I touched some of the screws determining the gaps.

dirty4

The waveform looks acceptable now, but I still do not know how to do it in a reproducible manner.

http://www.vibroplex.com/techdocs/original_bug_adjustments.pdf

Bug Keys (3)

bugkey6

Although the current logic to eliminate the bouncing is far from perfect, let us go on to the next step.

The signals captured using SignalTap II can be exported as, say, a CSV file. Therefore, you can manipulate the data in various ways.

bugkey7

The waveform shows the first eight dots, the last one imcomplete, of consecutive dots.

bugkey8

Each length of marks and spaces is shown as a bar graph. Note that the value of 1,000 corresponds to 50mS.

Bug Keys (2)

bugkey3

If your bug key is connected to an input port of an FPGA, you will observe the signals such as in the figure above. (Please click the figure to enlarge.)

You will notice that in some cases (see the green circles) we do not have contact bounce at the rising edges, but you can not always expect it to be true. Also note that (see the yellow circle) sometimes we have relatively long bouncing.

bugkey4

A simple logic is employed to eliminate those bouncing without introducing a delay. See the signal OUT_KEY.

Bug Keys

blueracer2

Natürlich, we all love bug keys, but the tool has its own difficulties due to its mechanical nature.

bugkey1

The waveform observed directly at the contact when sending three dots.

bugkey2

The first dot enlarged five times in time scale.

Because there are many circuits involved, you can not exactly estimate what you hear, as a side tone, or what they hear through their receivers from only the waveforms shown above, but undoubtedly it is one of the main factors.