Latching and display of time-domain digital signals with instruments like memory oscilloscopes, PC-based or any other available equipment in the market for this purpose, may result in a costly setup. This article presents a custom circuit and software support program to perform a qualitative timedomain display of four digital signals via an easy-to-read screen display window, using practical commands carried out on a PC.
To achieve this task in a low-cost manner, the parallel port of the PC is used. The software, written in C language, is designed to continuously sample data while a trigger signal is true (Q0 high level), every time the system gets and displays 40 input samples of Q0-Q3 on a screen window, and every time a trigger is detected (see the listing part one, part two, and part three). In Figure 1, Q0 is the trigger signal and Q0-Q3 will be held until a new trigger signal appears. The code listing can be used to generate a TSR (Terminate and Stay Resident) program.
All signals are acquired by way of four voltage comparators U1 (LM324) and associated elements D1-D8 and R1-R6, which protect the parallel port from overvoltages and set the port input lines to a low-level state if Q0-Q3 are disconnected (Fig. 2). If the inputs at Q0-Q3 are TTL signals, the components U1, D1-D8, and R1-R6 aren’t necessary. For an optimal display of data, one of 10 different sample speeds can be selected using the 0-9 keys on the PC keyboard. The sample speed is shown on the bottom of the screen for an interactive selection by the user, and depends on the PC clock used.
Easy changes can be made to the program code to enhance the performance of the system. Some possible modifications include: allowing a larger number of input samples that are limited by the available memory on the PC; incrementing the capacity sampling to support up to eight input signals; selecting a specific digital word (combination of bit input signals instead of just one) for triggering acquisition display purpose; making the sample speed a direct function of real time; and creating a moving cursor in the screen window.