by artig on Sun Jul 26, 2015 8:54 pm
I used pattern generators when doing embedded software development work on consumer equipment such as cassette tape decks, turntables, and telephones. Good for simulating signals from peripherals which may not be ready for testing, or for creating extreme cases which might not be easy to achieve in reality, such as the varying speeds of signals. Later I used PLCs to generate signals or patterns dependent on input signals received, which could produce more realistic data than simple pattern generators.
Which reminds me of a story from the early days of video cassette recorders, about 35 years ago. I worked for a smaller manufacturer who purchased the tape units from a large manufacturer, adding their own exterior design, and remote control codes to make them compatible with their TV remotes. In one instance the large manufacturer was stubborn, and would not help us with information about the workings of their remote control receiver, and how it communicated with the drive unit. They wanted us to convert our remote control codes to their codes, and then forward those to their processor. We wanted to replace their processor, mainly to reduce the delays inherent in conversion and retransmission. So the only option was to read and disassemble the contents of their chip. While doing this I found a serious bug. If the user pressed the Stop button just as the tape reached the end-of-tape marker the program would go into an endless loop, requiring a power off and on again to continue using the tape deck. It wasn't easy to recreate as there was only a short window of opportunity. Maybe once in every 5 attempts when you were deliberately trying to recreate it. Most users would never have experienced it.
It turned out that the manufacturer knew about this problem, had had two guys working on it for several months, and had accepted that there was no fix possible. The managers where rather gobsmacked when we demonstrated a unit working with our remote control codes, replacing their processor, and with the bug fixed. They had to send out a technical notice to their customers about the problem. The two programming guys were moved to another unit within the company.
A pattern generator can be useful in a case like this, as the relative timing of the various signals simulating remote control, tape end marker, tape counter, and others, can be varied as required.