Bitcat - simple logic analyzer

What it is?

It's basicaly very simple logic analyzer, but not exacly. Normal logic analyzers sample their inputs and milions times per second. Mine, triggers when it reads falling or rising edge signal on one input. This means it's suited to be used in applications when you must check state whenever one signals goes low or high.

How it is built?

Heart of construction is AtMega32 microcontroller running at external 16 Mhz oscilator. Communication with PC is done with RS-232 (of course MAX-232 is used to convert voltage levels).

image error

Mine version has got 29 channels, because thats all I can "extract" from this AVR. Other than that, countruction is fairly simple. Pretty standard stuff, 100n capasitors on voltage rails, push button to reset along with 10k pullup, 22p capasitors with 16 Mhz crystal, power LED with 330 Ohm resistor, power jack, two power connectors (SV6 and SV7) to provide power to measured circut, a lot of connectors for each channel and triggering input, SPI connector and MAX-232 with 10uf capasitors along with DB-9 connector.

How it works?

Everything is controlled with RS-232 commands.

COMMAND FUNCTION
C Connect. As a response analyzer sends back number of it's channels followed by DATA_STOP.
R Set rising edge trigger. Analyzer sends back ACK command.
F Set falling edge trigger.
A Acknowledgement, not exacly command but response to commands.
E Error command, again not a command but response in case of an error.
S Start data collecting. After this command, analyzer sends back 'A' when all is ok and 'E', if triggering edge is not set. Then starts collecting and sending data to PC.
P Stop data collecting. Response is always 'A'.
$ Data end sign. Not command. It indicates data packet end.


To, for example, enable rising edge data collecting, we must send C command, read how many channels are there, then send R command to set rising edge and finally S command to start data collecting. If we want to stop we send P command. Same procedure goes with falling edge, except we must send F command instead of R.

Software

I've written software for it, both for MS-WINDOWS and MS-DOS.

MS-WINDOWS

This vserion supports CSV as out format.

usage: bc <com port> <filename out> <falling / rising edge> [file type: txt / csv (default: txt)]

For example, we need to connect to COM1 with rising edge and save file as text file, we name file "out.txt".

bc COM1 out.txt rising txt

or

bc COM1 out.txt rising

That txt and the end is no needed, because the deafult format is txt.

Example output file

MS-DOS

usage: bc bitcat <com port> <edge> <filename out>

For example, we need to connect to COM1 with falling edge and save file as "out.txt".

bc COM1 falling out.txt

Example output file

Download section

Hardware

Content Link
Board and scheme (eagle format) Here
MCU program Binaries
Source


Software

Version Link
MS-WINDOWS Binaries
Source
MS-DOS Binaries
Source


[Home]