Start
Hardware
Overview
Embedded Code
User Interface
Functional Code
System Development
Sources and PDF
SYSTEM
DEVELOPMENT
The
ARM Scope system met all three of my goals. It
can output a PWM signal for verifying my old analog
oscilloscope’s timebase through its entire range.
It can capture and let me visualize analog signals
at a slower rate than my oscilloscope can. And
it can output any analog waveform that can be
generated and sent to the data buffer. I set up
my graph display so that it had 10 divisions just
like a real oscilloscope. As it is, the timebase
for the analog input and output functions can
be set to a range from 2 s per division to 0.02
s per division.
I’m
considering a few upgrades for the code. Of course,
both the processor code and the user interface
code need to be updated as a matched set if functionality
is added. I know that the ADC is capable of reading
much faster. I can see filling a buffer up quickly
and sending the data for display at a much more
relaxed rate. For that matter, collecting extra
data could be useful for triggering a signal or
zooming in on the data. I would have to decide
if this would be done by the user interface or
in the processor code. LabVIEW also has some powerful
built-in math and DSP functions, so I could analyze
the data in various ways.
Note
that I did not include any analog circuits. This
project was meant to get analog data into and
out of a processor. The way I scale the signal
from a sensor to match the 0 to 3.3 V range would
be another project altogether. There was no one-size-fits-all
solution for this, so I left it to be application
specific. If you add some control circuitry, there
will be plenty of pins left over and the processor
will have plenty of horsepower left.
By
the way, I didn’t even make a dent in the amount
of flash memory. I stayed well under the limits
of the compiler as well, so there is plenty of
room to grow the code as needed. The pins I used
for inputs and outputs are shown in Table
2.