August
1998, Issue 97
BitScope
A Mixed-Signal Capture Engine
THE
BIG PICTURE
The
basic idea behind BitScope is that of a specialized
piece of data-capture hardware that doesnt include
any user interface other than an RS-232 plug. Most engineers
have more computers, mice, and keyboards than they know
what to do with. If I was going to build a cheap scope,
I certainly didnt want any more of that stuff.
What
I needed was an electronic drone that could capture
and disgorge data on command. No more, no less.
The
commands had to be simple ASCII characters that are
intuitive and easy to learn. The PC-based user interface
can then synthesize functionality of arbitrary complexity
by sending scripts of command characters and receiving
the replies.
The
answer: a virtual instrument where specialized hardware
does the electronic test job and a PC lets the engineer
drive it. One big advantage of this setup is that changing
the way the virtual instrument works doesnt usually
involve reprogramming chips (hard) but may be done by
downloading a new program from the Net (easy).
As
described in the sidebar "Virtual Machine Architecture,"
the microcontroller firmware is designed as a virtual
machine (VM). The BitScope design is novel because it
has an unusual arrangement of the VM program code. The
instructions are not located in memory on the microcontroller
but reside in the user interface and are executed atomically
direct from the serial port. (Table
1).