August
1998, Issue 97
BitScope
A Mixed-Signal Capture Engine
SERIAL
CONNECTION
While
a serial interface may seem a bottleneck for a capture
engine that can potentially store 64 KB of data, this
is not a problem. Thanks to the Internet and 56k modems,
most PCs now have fast, buffered UARTs.
The
transmission speed of the BitScope serial link can be
scaled to 115 kbps using a fast microcontroller. At
this rate, you can transfer enough samples to draw a
640 ´ 480 screenat most 640 bytesin about
55 ms, or 18 screens per second.
For
lower frequency data or simple sine waves, its
necessary to only send a handful of samples to the host
and have the user interface do some curve fitting. Small
bursts of contiguous sample data may be used to enhance
a waveform display to show high-frequency noise.
Logic
analyzers dont need to rapidly update their display
at all. After a trigger event, the data may stay in
the sample RAM and be downloaded only when the host
needs it. At 115 kbps, the total contents of a 16-KB
buffer can download in less than 2 s. The user interface
may then draw logic state or timing diagrams and manipulate
them as necessary.
USER
INTERFACE
Dont
think shrink-wrapped monolithic Windows software for
this design. Think more about the Linux model where
the engineering community builds its own tools and can
customize them as needs arise.
Because
BitScope uses simple ASCII commands, in a pinch, you
can use a terminal program and spreadsheet to display
waveforms. For complex applications, you need more advanced
software based on C, Delphi, or Visual Basic.
A
BitScope user interface can run under many possible
environments, including Windows, MAC, Unix, WinCE, Palm
Pilot, Psion, DOS, or Amiga. Basically, it can work
on any machine with a serial port.
No
single person could write all that software. Instead,
I made the BitScope design open and documented so you
could create what you need.
On
INKs Web site, youll find some user-interface
software with source listings to start the ball rolling.
Via the Internet, you can also find existing programs
that already simulate oscilloscopes, logic circuits,
and data displays.