Design and Development of High Performance PC Based Logic Analyzer MSc Project by Rab Nawaz Advisor: Dr. Shahid Masud
Presentation layout Introduction Main tasks Hardware design Software design Results Questions and answers
Introduction Logic Analyzer –It can be considered as a bunch of logic probes all simultaneously capable of reading digital data, storing it in a memory and displaying it on the screen. PC-based Logic Analyzer –Most commercial units have their own CRT screen and firmware. PC- based Logic Analyzer is one which uses personal computer for data acquisition, storage, display and control purposes.
Block Diagram of Logic Analyzer Circuit Board of Logic Analyzer Serial Port Logic Probes Computer
Main Tasks of the Project To develop hardware –Hardware consists of interface part which communicates with the computer and data acquisition part which extract data and send it to the interface part. To develop software –Software is required for computer as well as for the microcontroller used in data acquisition and transmission.
Hardware Design Requirements Number of channels –Number of input channels required? Sample rate –Selection of sample rate for Input channels. Triggering Selection –Logic Analyzer can be triggered by an input or a combination of inputs. It starts sampling input when an activity is found on a certain input or certain input conditions are met. Communication with PC –Communication with PC can be done in many ways using either of USB, PCI, EISA or COM Port etc.
Block Diagram of Interface Card
Circuit Diagram
Hardware Snap
Software Design Code written for the PC –PC had to communicate with the circuit board and then process the received data. Software is required to store and process this data. Code written for the microcontroller 8051 –8051 is programmed to communicate with the PC and send control signals to instruct hardware to do certain functions.
8051 Programming Code to control hardware –Signal to start/stop input sampling and write data to the RAM –Signal to read RAM and send data to the computer –Send frequency/trigger select instruction to the circuit board –Monitor circuit board to get its state Code to communicate with PC through serial Port –8051 had built-in serial port. It can be programmed to communicate with RS232 port of the computer –Interrupts are generated when data is received or transmitted through this port
PC Programming Requirements Find hardware Communicate with the hardware Process received data Display received data from hardware Get user input and transmit it to the hardware Display error messages
PC Programming Tool Java –SUN Jdk1.3.0 was used to write code for the PC Java commapi –Java had very good API to access COM port –It provides classes like SerialPort and SerialPortEvent which can be used to access COM portSerialPortSerialPortEvent –It also provides many functions to connect to the COM port and receive/transmit data
Graphical User Interface
Results and Specification Max sample rate ~ 20 MHz Min sample rate ~ KHz Display delay ~ 3 Seconds Baud rate ~ BPS Refresh time ~ 3 Seconds Samples per transfer 8190 Number of input channels = 16
Recommendations To speed up communication using USB, PCI etc Reduce refresh delay Make it 100% real time Reduce hardware volume using FPGAs
Questions