Arduino based 74-series integrated circuits testing system at gate level

ABSTRACT


INTRODUCTION
One of the most crucial technologies for our needs is automation, which is crucial to the development of the world's intelligent systems. In order to simplify and better organize the daily lives of thousands, automatic systems have been proliferating all over the world [1]. This study will offer a logic integrated circuit testing system with the capacity to perform gate-or unit-level tests [2]- [5].
ICs. The test procedure will be based on the truth table of the ICs gates, and this will enable the identification of any malfunctioning ICs gates or units. Additionally, the IC tester needs to be simple to use, small, light, portable, and power efficient. The provision of an IC tester in a portable form that is simple and practical to transport is the second goal of this study. In addition, we wish to build an IC tester which provides results easily to the users. Nowadays, almost all desktop and laptop personal computers (PC) available on the market have universal serial bus (USB) connections. So, the motivation is to provide an IC tester with capability to program by the USB interface communication port. The USB provides a single, standardized, easy-to-use way to connect to a computer [13], [14].
Instead of operating over a continuous range of signal amplitudes, digital ICs only function at a few predetermined levels or states. Computers, computer networks, modems, and frequency counters all employ these components [15], [16]. The basic building blocks of digital ICs are logic gates, which operate on binary data, or signals with only two distinct states known as low (logic 0) and high (logic 1) [17]- [21].

METHOD
The system's flowchart, which is depicted in Figure 1, essentially explains in detail how the system operates. The algorithm and software were created in accordance with this flowchart of the testing procedure. Additionally, according to this flowchart, the first step is entering the IC No. or four times letter A (AAAA) for unknown ICs, after which the system checks to see if the IC is already in its database. If it is, testing the IC will begin based on the truth table of the ICs gates. Alternatively, if the user enters AAAA for unknown ICs, the system will check the first gate for all ICs in the database, after which the user will select the IC.
The source code for the Arduino was created using the flowchart as a guide. The microcontroller will then be programmed with the source code following that. To ensure that the IC tester functions properly and efficiently, testing and calibration will be conducted. If errors are discovered, they will be investigated and fixed.
If the user enters the wrong number, the outcome will be displayed on the liquid crystal display (LCD) as (IC not found or IC not work), according to the flowchart. If the user does not know the IC No., the must enter (AAAA), in which case the system will attempt to find the IC No. by applying the truth table on the first gate only for All ICs in the database. Once the system has located the IC No., it will test the IC in question based on the No. that has been discovered. As shown in Figure 2, the ICs 7400, 7408, 7486, and 7432 have the same pin configuration for inputs and outputs pins with two inputs and one output for each gate, but the IC 7404 pin configuration is completely different as well and has one input and one output for each gate. The system must have the flexibility to reprogram each pin as input or output depending on the pin configuration of the IC under test.
Therefore, once the user inputs the IC No., the system will reprogram the pins in accordance with the IC No. The system will next apply the truth table of each gate to test whether it operates under appropriate conditions or not. As an example, Figure 3 shows the truth table that the system applies to each gate.  The system's block diagram is depicted in Figure 4. The system is composed of four main blocks, the first of which is the Arduino Mega platform module [22], which serves as the system's primary microcontroller. The Arduino Mega is a cheap platform with capability to connect 54 programmable logic inputs or outputs (from pin 0 to pin 53), and this feature makes it possible to test a variety of logic ICs with larger pin sizes [22].

4953
The second block represents the IC holder socket; in this instance, the system has 40 pins for the IC holder, all of which are connected to the logic pins, making it simple to connect any IC of any size to the Arduino Mega platform and possible to quickly swap out the IC in question to test an alternative IC. The third block represents the 44 matrix keypad [23] where the IC number can be entered or (AAAA) for an unidentified IC number. The fourth block is a 16×2 LCD module [24], [25] with an 11C/12C serial converter to display the IC testing results. Depending on the gate level test, the results will appear for each gate as either "OK" or "NOT OK" depending on the truth table for that gate.
The circuit diagram for the IC testing system is shown in Figure 5. This circuit consists of an Arduino Mega platform acting as a microcontroller connected to a 40-pin IC holder, a 4×4 keypad for entering the desired IC number for testing, a 16×2 LCD module displaying the results for each gate of the IC, an IC holder, and a battery for providing 9 volts of power. The device's final working prototype is seen in Figure 6 installed on the same box.

RESULTS AND DISCUSSION
The system has been put through a variety of logic IC tests, and the results demonstrate the system's great accuracy for testing these ICs at the gate level. The test findings were as: testing of the 7400 logic IC (quad 2-input NAND gate IC) with defective first and third gates and normally functioning second and fourth gates is shown in Figure 6. Figures 7, 8, and 9 depict the testing of the quad 2-input NAND gate IC (7400), the quad 2-input NOR gate IC (7402), and the hex inverter gate IC (7404). Figure 10 depicts the outcome if the user enters (AAAA), at which point the system will check and identify the IC No. and begin checking the gates of this IC one by one, and in this case, the IC No. result was 7410 (triple 3-input NAND gate). All of the logic 74-series integrated circuits (ICs) that have already undergone good testing by the system are shown in Table 1.

CONCLUSION
This research is to create and construct a gate-level logic IC tester for the 74 series ICs. This system was created using the Arduino Mega platform which includes 54 logic pins to cope with ICs up to 40 pins in size. It has been used to test logic ICs 7400, 7402, 7404, 7408, 7410, 7411, 7420, 7421, 7427, and 7486, the results are in good agreement with the specifications of those ICs. The future work will be related with applying this system to test the flip-flop ICs.