26-08-2014, 11:00 AM
LOGIC INTEGRATED CIRCUIT(IC)
FUNCTIONAL TESTER
LOGIC.pdf (Size: 2.18 MB / Downloads: 44)
CHAPTER 1
1INTRODUCTION
1.1 Aim
The primary purpose of the logic IC functional tester project is to construct a simple
and inexpensive system which is suitable for testing the function of small scale chip.
The system incorporates a friendly Graphical User Interface (GUI) which permits
users with no programming expertise to generate tests and operate the system quickly
and efficiently. The system also can be used in standalone mode without interface
with Personal Computer (PC). The system also will provide data storage which can
store the result as a reference for users. The tester system can be applied to standard
TTL basic gate and common flip-flop Integrated Circuit (IC).
1.2 Background
The dramatic increase in the use of digital integrated circuits (ICs) has created a need
for a fast accurate means of testing such ICs. An IC Tester is to be economically
implemented for small or medium-scale users of such IC's (for example, in the lab)
and provides a quick but thorough check of its functions with minimal operator
action. The IC Tester can be used to test different ICs. The purpose of IC tester is to
ensure IC components are in good condition for use. For testing an IC, different
hardware circuits for different ICs are needed. This is the main trouble and
disadvantage. Hence, it is needed to construct an IC tester to surmount this problem.
1.3 Motivation
The IC testers available in the market today are too costly for individuals to own.
Therefore we decided to construct an IC tester which is affordable and user-friendly.
The motivation is to build an affordable IC tester for testing the function of 74 series
TTL Logic Gates and common flip-flop ICs. The test sequence provide in the
database facilitates the detection of defective ICs. Furthermore, the IC tester must be
easy to operate, compact, lightweight, portable, and low power consumption.
Next, the motivation is to provide an IC tester in portable mode which is easy
and convenient to carry around. In addition, we wish to build an IC tester which
provides result storage capability to users.
Nowadays, virtually all desktop and laptop PCs on the market provide USB
ports so the motivation is to provide an IC tester with USB interface communication
to users. The Universal Serial Bus provides a single, standardized, easy-to-use way to
connect to a computer.
1.4 Objectives
For this project, the development of a logic IC functional tester will be carried out.
The programmable test system will be designed so that end user has total control
over testing of ICs. Hence, IC tester must allow users with no programming expertise
to generate tests and operate system quickly and efficiently.
This IC tester should be able to test logic ICs in Portable Mode or PC Mode.
In the PC Mode, users can select available ICs in Preset list to be tested and the ICs
are not available in list can be tested in Customized Testing. When the
microcontroller received a command from the Personal Computer through USB
communication interface, it will respond by transmitting pulses to the testing circuit
to start the test. After completed testing, the microcontroller will send results back to 3
PC. The results can be stored in hard drive of PC. The test system must incorporate
with friendly Graphical User Interface which allows users with or without
programming knowledge to operate the tests.
The tester can also function effectively without using the computer. In
Portable Mode, users just need to enter IC model by using the keypad and
microcontroller will perform testing on the selected IC. Result will display on LCD
after test routine is done. The results can be written to memory card through a
memory slot
1.5 Scope of Work
The project is separated into two parts which are the hardware and the software.
Software implementation for this IC tester project is done by the author. The
program written would be able to control all the hardware parts. At the same time,
hardware development is done by Miss. Law Siew Li.
1.6 Structure of the Report
This report consists altogether 6 chapters and a short summary for each chapter is
presented in this section. Chapter 1 briefly describes the aim, background, motivation
and objectives to construct the logic IC functional testers. Furthermore, this chapter
also briefly explains and discusses how the project is being carried out and to declare
the work scope between the group members.
Chapter 2 explains the types of integrated circuit tester in the market, review
the history of the IC tester, fundamental of testing, the researches that have been
done are basically on the components needed and the suitable programming in the
project and also the methods that can be used to develop the system.
In chapter 3, the methods used to develop the project will be discussed
based
on the research carried out earlier. Moreover, it includes details of how software design
and development will be performed. This section will also mention the steps forward of the
project and to discuss the flow of the design and the development of the project.
The chapter 4 discusses about the research of software which are used to
develop the project. The chosen assembly software and programming software will
be discussed detail in this chapter. This section will attempt to describe the
microcontroller port assignments and how the IC tester system works on
programming part. This makes readers understand better about the programming
flow in the project.
The chapter 5 discusses the testing carried out and the results obtained. This
chapter will explain the problems faced and what are the steps are taken to solve and
mitigate the problem. This includes the explanation why the error happens and what
the corrective actions are taken to prevent further failures.
Chapter 6 will round up and conclude the project along with some suggestion
that can be developed and added to the project. This section will highlight the
problems faced and presents an overview of Gantt charts in this project. The chart is
used for tracking the software development schedules for the whole project.
CHAPTER 2
2LITERATURE REVIEW
The main objective of the chapter is to cover the concepts and theory that are used in
the project. Furthermore, we read up about the various methods that has been tried to
solve the problem or different ways of implementing the system, and compare their
achievements.
2.1 IC Tester Introduction
Integrated Circuit (IC) is the main component of each and every electronic circuit
can be used for wide variety of purposes and functions. However, sometime due to
faulty IC so causes the circuit does not work. Indeed it is lot tedious work to debug
the circuit and confirm whether the circuiting is creating problem or the IC itself is
dead. Hence, in order to solve these sorts of problems, we intend to make a tester
project which would confirm whether the IC under consideration is working properly
or not. An Integrated Circuit (IC) tester can be used to test standard and configured
on an IC. Each IC is tested by applying test patterns to input pins of the chip and then
examining the corresponding outputs for correctness.
2.2 IC Tester in Market
This section focuses on the literature review of similar product done by others. As a
result of growth in this market, the consolidation of competitors is an ongoing
process. Comparing the IC tester in the market is important in order to define what
feature and device are needed by users, and the quality of the IC tester can be
improved as well. General summarise on different ways has been tried to implement
the system, and compare their achievements then construct a unique IC tester for
users.
2.4 Synthesize
We comprehended the integrated circuits are easily identified and tested with these
IC Testers. Two models are available, one for linear and one for digital ICs, both
with extensive built-in libraries. Small, handheld design is battery powered for
portability in the field or lab. Furthermore, very large scale integration allows for
advanced functionality, ease-of-use and reliable testing of hundreds of ICs. This
removes the guesswork because it can identify, test and verify unknown ICs, quickly
and reliably. There are built-in membrane keypad and 2x16 dot matrix alphanumeric
LCD shows the result of the test as a PASS or FAIL.
CHAPTER 3
3RESEARCH METHODOLOGY
This chapter explains on how this project will be implemented. It included each
process from the beginning until the end of this project. Each process and method of
how software design and development will be performed in this project is explained
in detail.
3.1 Project Overview
i. First of all, the project Logic IC Functional Tester titled is chosen from the
list of topics for the final year project provided by University Tunku Abdul
Rahman (UTAR).
ii. After being approved by supervisor, this project is then divided into two parts
which is the hardware and software. The researches have been done to get
better understanding on the building of the logic IC functional tester and also
the methods that can be used to develop the system. The related information
from the online journals, online articles, data sheet and reference books are
very important in design the logic IC functional tester.
iii. In this report, software section will be discussed in detail which about
microcontroller. The research and studies on the project need to be carried out.
Hardware and Visual Basic section will be discussed in my partner’s
report.12
iv. An appropriate programming language will be chosen to develop the software
needed in constructing a logic IC functional tester. Hence, the program uses
the assembly programming language that can be complied, built and also
programmed into the PIC16F877A and PIC18F2620microcontroller. The
software is integrated into the hardware to make sure the logic IC functional
tester is functioning properly. Although the program is already functional, it
must still be modified to suit the functionality of system.
v. This project would be designed for improvement, troubleshooting and a set of
the steps taken to solve and mitigate the problem in the testing. A lot of
necessary or appropriate skills and knowledge will be applied in this project.
vi. Hardware part and software part will be integrated. Testing and troubleshoot
will be applied in order to make sure the logic IC functional tester in good
performance. Studied and analyzed the possible enhancement to the IC tester
3.2 Software Methodology
In order to implement these design aims, it was first necessary to understand the
logic IC functional tester. Hence, research and studies on the project need to be
carried out. This is a programmable based project, so the tester can be totally control
by programming must be designed. The unexpected condition may occur during the
process and development so the knowledge about the corresponding solutions was
attained through testing the application and trying each method.
Furthermore, the numerous type of programming language will be studied
and analyzed afterward choosing an appropriate language to be used in the project
and then start to study and perform the language. The information about the USB
interface, result storage and other electronic component in the project will be studied.
This was extremely important as a good understanding about the components used in
order to produce a high-quality Logic IC Functional Tester.
The assembly and C language was studied and understood. The assembly and
C language coding will be loaded into microcontroller. These coding are used to
control the algorithm of sending the test vector into Device Under Test (DUT) and
obtain the desired response generated by the DUT. At the same time, Microsoft
Visual Basic has been chosen as the software to build the Graphical User Interface
(GUI) was also studied. The GUI is used to communicate the PC with the
microcontroller.
The flow chart of the testing algorithm was then generated. All information
about the software development methodology is available at this flow chart. The flow
chart served as the basis for the source code written for the microcontroller. After
that, the source code will be programmed into the microcontroller. Testing and
calibration will be done to make the IC tester perform optimally and correctly.
Mistakes may be found then will be troubleshot and be corrected
3.3 Project Planning
For the period of 2 semesters which is 28 weeks, many tasks will be perform to
develop the system while trying to follow the time scheduled. Based on the project
planning, the progress of the project can be considered satisfactory as most of the
work planned have been completed.
Table 3.1 shows the Gantt charts in this project. The chart is used for tracking
the software development schedules. It is useful to show additional information
about the various tasks or phases of the project. Hence, the tasks and project is
completed successfully at the end.
HARDWARE IMPLEMENTATION
4.1 Hardware Implementation
Figure 4.1 shows overall circuit connection for logic IC functional tester. The
schematics of the circuit are shown in Figure 4.2 and Figure 4.3.
9V battery is the power source for this logic IC functional tester. Voltage
regulators were used to reduce voltage level become 5V and 3.3V. 3.3V is required
for power source of memory card while others components’ power sources were
connected to 5V. Main power switch used to control the power of the circuit either is
turn on or turn off.
PIC16F877A microcontroller acts as the brain of the circuit. It controlled
LCD, keypad, serial to USB, ZIF socket and PIC18F2620 by sent and received
command. The function of PIC18F2620 microcontroller is the memory card control
module. Reset button is needed for reset two microcontrollers when either
microcontroller is malfunction. ZIF socket is used for users place their model ICs
that wish to test in the circuit.
MAX232 used to convert signal from or to PIC to or from TTL level for
serial data transmission. Serial to USB converter is used to connect circuit and
Personal Computer (PC) so data can be transmitted and received from PC to circuit
CHAPTER 5
5SOFTWARE IMPLEMENTATION AND DEVELOPMENT
5.1 Software Overview
5.1.1 MPLAB IDE
MPLAB Integrated Development Environment (IDE) was used to write the assembly
language for 16F877A. MPLAB is a free software provided by Microchip
Technologies Ins. It runs as a 32-bit application on Microsoft Windows and provides
a host of free software components for application development and debugging. It
can convert the source code into a HEX file, which HEX file is needed before it can be program into the microcontroller.
5.1.2 mikroC Compiler for PIC
MikroC compiler was used to write C language into microcontroller 18F2620 which
is interface with the memory card. The reason that we chose this software for writing
C programming is the mikroC is an extremely simple compiler which comes along
with a lot of useful and straight forward libraries includes memory card. This will
made our implementation easier especially for a beginner.
5.1.3 Proteus VSM
Proteus Virtual System Modeling (VSM) is a software that combines mixed mode
SPICE circuit simulation, animated components and microprocessor models to
facilitate co-simulation of complete microcontroller based designs.
When the coding of microcontroller done writing in MPLAB, HEX file of the
source code which is compiled by the MPLAB is load into the Proteus VSM circuit
for simulation. Through the simulation, we can straight debug the error in the source
code and correct the error immediately. Without this software, we need to burn the
HEX file into microcontroller and test or debug error in real circuit. Hence, with
Proteus VSM will save a lot time when debugging the error.
5.2 Software Development
5.2.1 Microcontroller
In this project, MPLAB IDE has been chosen to program the microcontroller
16F877A in assembly language and generate the HEX files of the source code during
the compilation which is a stage of converting the assembly language into machine
language.
Another microcontroller which is 18F2620 is programmed by mikroC
compiler with C programming language. The mikroC is used because the libraries are
easier to use compare with MPLAB IDE especially for memory card interface with
18F microcontroller. It just required a few command to write a text file from 18F
microcontroller into memory card. It makes us save a lot of time not only on the
develop progress and also shorten the learning time. Not only that, mikroC software
comes along with few examples which are quite helpful during learning progress.
In the nutshell, 16F877A microcontroller acted as brain of the whole circuit
system while the 18F2620 microcontroller controls the memory card module of the
circuit
5.2.2 Serial Port Communication Interface Development
The main interface between computer and microcontroller is through a USB to
RS232 converter. It will be utilized as the interface for the tester circuitry connects
with PC. Hence Universal Synchronous Asynchronous Receiver Transmitter
(USART) has to set in the microcontroller 16F877A to transfer data between the PC
and microcontroller.
USART is a Serial Communication Interface (SCI). The USART can be in
synchronous (half duplex) or asynchronous (full duplex). Full duplex asynchronous
operation is both transmission and reception can occur at the same time. The 30
transmission and reception can be independently enabled. Hence, we utilize full
duplex asynchronous operation in the project.
The most important configuration concerns the USART parameters which to
configure the baud rate of the microcontroller and the USART peripherals to make it
ready to communicate with the serial port. These setting have to be set on the
microcontroller side and PC side separately to make sure the both device had
connected and ready to communicate
5.2.3 Keypad Development
As shows in Figure 5.4, the keypad of Logic IC Functional Tester is connected to an
ADC input pin (RA0) of microcontroller with a resistor matrix. The concept (by
Schimidt; 2009) extremely feasible and possible better than the conventional keypad
because it has advantage of reducing the number of pins used which required one
Input/ Output (I/O) pin of microcontroller. The resistor matrix control the key input
according to voltage divided from the voltage dividing resistors.
5.2.4 SD Card Development
Memory card that we chose is Secure Digital (SD) card. SD card give the IC tester
ability to store results and it is easy and affordable. SD Card is a non-volatile memory
card format. At the physical level, SD supports at least three transfer modes:
1-bit SD mode: Separate command and data channels and a proprietary transfer
format.
4-bit SD mode: Uses extra pins plus some reassigned pins.
SPI mode: Serial Peripheral Interface Bus, a simpler subset of the SD
protocol for use with microcontrollers.
5.4 Codes Description
This section will explain about the meaning of code that implemented on each
function for the 2 microcontroller in this project. The subroutines, function of each
part, and the special codes used will be described clearly as well. The Visual Basic
code will be explained by my partner, Miss Law on her report.
There are 2 programming language that been used for this project which are
Assembly Language and C Language. Assembly Language used in MPLAB IDE
software to write source code and programmed HEX file into microcontroller
16F877A using PICKIT2. C Language is used in the mikroC software which written
the code and generated the HEX file to program into microcontroller 18F2620 using
PICKIT2.
5.4.1.11 Get Number of Loop For Testing
ADC keypad play important role in the Portable Mode. After the users enter the IC
model which they wish to test, users will be requested to enter the number of testing.
If users enter 0, the tester will not perform any checking on the model and will
straight go to quit menu. If the users enter 1, the tester will run the test for once as
shown in Figure 5.8. If users enter more than 1, the tester will keep on looping the
check subroutine and save the result until the number of testing is reached.
6.4 Problem Encountered
When we start to develop the software and the hardware, we have encountered some
problems during the implementation/development of the project. This section will
explain the problems faced during the programming stage and what are the steps are
taken to solve the problem.
Problem 1:
We are lack of ports in 16F877A microcontroller for controlling the 16 pins logic ICs.
However, we do not want to use two microcontrollers to control ZIF socket because
it is such tricky and complex to control by programming language.
Solution 1:
In order to save the I/O pins of microcontroller so we decided to connect keypad to
an ADC with a resistor matrix in the project because it requires one dedicated I/O pin
to function only rather than 7 I/O pins.
Problem 2:
Different IC models have different number of pins. The different of JK flip-flop IC
with others is the numbers of pins. While the different of basic gates IC and flip-flop
IC is the clock input.
Problem 4:
When the assembly language is become more and longer, while calling the
subroutine and return from the subroutine especially send character for displaying in
LCD, it displayed some unknown character.
Solution 4:
After studying from datasheet and researching from website, we found the existing
error is due to codes over the memory of 1 page which is from 0000 till 07FF.
Therefore, we need to rearrange the code to 2 pages which first page is 0000 till
07FF and second page is 0800 till 0FFF. Therefore, when calling subroutine in page
2 from page 1, “PAGESEL” command need to add before calling the subroutine.
Problem 5:
When done the USART setting in 16F877A, then try to interface with PC using the
serial-to-USB cable, it is fail to get the desired result.
Solution 5:
At first we doubt is the cable problem, after checked the whole program, in the
Chk_Model subroutine accidentally reset the bit 6 and bit 7 of PORT C become
outputs. After recheck all the code and set the bits to input, problem is solved.
Problem 6:
After testing the 9 model logic ICs, we found that 74LS266 IC (XNOR) always
shows error in all the four gates.
Solution 6:
When referring to the datasheet, we noticed that the output for the 74LS266 IC is
open collector output. By connecting each output to a pull up resistor, the problem is
solved. (International, 2010)
Problem 7:
When testing the button of ADC keypad, it will show multiple displays in LCD for 1
button.
Solution 7:
By adding delay of 0.2s in the ADC conversion, the problem is solved.
CHAPTER 7
7CONCLUSION
After the several months of development and debugging, finally the project has been
successfully completed. The project’s aim and the main objectives have been
accomplished. The Logic IC Functional tester is basically a microcontroller-based
project and gives response to the user within a few second. Using the computer, the
tester still can function effectively through Graphical User Interface (GUI).
The Logic IC Functional tester is able to test basic gate (74LS08 AND,
74LS32 OR, 74LS00 NAND, 74LS02 NOR, 74LS04 NOT, 74LS86 XOR, 74LS266
XNOR) and flip-flop ICs (74LS74 D-flip-flop, 74LS109 JK-flip flop) sequence in 14
and 16pins respectively without any errors no matter in Portable Mode or PC Mode.
Those ICs is not available in the Preset Testing can be test in Customized Testing, it
is moderately user-friendly.
We utilized the programming language Visual Basic to help in design the
graphic based windows interface and Assembly programming language for
controlling overall IC tester circuit.
The microcontroller is programmed by using the MPLAB IDE. We simulated
the code by using the simulation tools in the MPLAB before load it into the
microcontroller.
The Graphical User Interface (GUI) is created by using Microsoft Visual
Basic 6.0 software. The interface is designed as simple as possible in order to 80
provide a user-friendly interface for users. In the interface, we also provided a set of
general instructions to users for reference.