Skip to main content

Arduino Based Digital IC Tester Using MATLAB

Arduino Based Digital IC Tester Using MATLAB




                           Authors’ prototype of the digital IC tester
Testing of digital electronic systems generally involves applying a set of test stimuli to inputs of the device-under-test (DUT) and analysing responses of the system using a response analyser. If the DUT generates correct output responses (also called the golden response) for all the input stimuli, the DUT is regarded as fault-free. Those DUTs that fail to meet the golden response are regarded as faulty or defective. Block diagram for testing a device is shown in Fig. 1.





Block diagram for testing a device
Fig. 1: Block diagram for testing a device

This project describes testing of 74xx series digital ICs using a MATLAB graphical user interface (GUI) drop-down menu based approach. MATLAB acts as the test stimuli generator to the IC, which is the DUT. The GUI initiates communication with the Arduino and provides a user-friendly and interactive approach to conduct the test. The MATLAB source program (ic_tester.m) acts as the response analyser and displays test results on the front panel of the GUI.
Authors’ prototype of the digital IC tester
Fig. 2: Authors’ prototype of the digital IC tester
MATLAB-based GUI for testing the ICs
Fig. 3: MATLAB-based GUI for testing the ICs

Circuit and working

Circuit diagram of the Arduino-based digital IC tester is shown in Fig. 4.





Circuit diagram of the digital IC tester
Fig. 4: Circuit diagram of the digital IC tester

As mentioned earlier, MATLAB is used to apply stimuli to the DUT (74xx series digital ICs) and also record the response of the DUT to stimuli. It then compares the response of the DUT with the correct/golden response to test whether the device is faulty or not. For a digital IC, the correct response is given in the form of a truth table. Acting as a response analyser, the MATLAB verifies each and every possible outcome according to the truth table of a particular IC.
74xx series ICs that can be tested by this project are 7400, 7402, 7404, 7408, 7432 and 7486. Truth tables for these ICs are shown on the next page.

Software

1. Arduino IDE 1.6.5 is used to program the Arduino. The GUI application program has been developed in the R2014a version of MATLAB. The procedure to install the ‘Legacy MATLAB and Simulink Support for Arduino Package’ is described in ‘Controlling a Robotic Car Through MATLAB GUI’ DIY article.
2. After correctly setting up the path for the package, open source code files (ic_tester.m) of this project. Keep both the source code files in the same folder. Edit COM port (in the line a=arduino (‘COM19’)) with the port number in your PC where the Arduino Uno board has been installed. Run the file and click ‘Connect’ button to establish connection between MATLAB and Arduino Uno board. After successful communication is established, select proper IC from the drop-down menu and click ‘Test’ button in the GUI to test the IC.
Download Source Code

Happy Learning

Comments

  1. Dear Mr. Dhiraj Krishnani, can you post a tutorial ON "Automated Toll Tax System" in VHDL.

    ReplyDelete
  2. I need full details ( material used , process and etc.) , I decided to work as my BE. mini project, so plz contact to me about this project.

    ReplyDelete

Post a Comment

Popular posts from this blog

Lie Detector

Lie Detector How can an Evil Genius be sure that their prisoners are telling the truth? By using a lie detector, of course. This lie detector (see Figure) uses an effect known as galvanic skin response. As a person becomes nervous—for example, when telling a lie—their skin resistance decreases. We can measure this resistance using an analog input and use an LED and buzzer to indicate an untruth. We use a multicolor LED that will display red to indicate a lie, green to indicate a truth, and blue to show that the lie detector should be adjusted by twiddling the variable resistor. There are two types of piezo buzzers. Some are just a piezoelectric transducer, while some also include the electronic oscillator to drive them. In this project we want the former type without the electronics, as we are going to generate the necessary frequency from the Arduino board itself. Hardware The subject’s skin resistance is measured by using the subject as one resistor in a potential d