Oscilloscope Mk 1
Tuesday, 04 December 2007 22:37

The Mac based high-speed oscilloscope was started for my third year electronic engineering project as part of my degree course at the University of Exeter. This got me to a first working prototype operating at 50MSPS, and won me the Philip Booth Prize for the best individual project.

 

Specifications

The first version of the oscilloscope can do the following:

  • 50 MSPS sample rate
  • 25 MHz analogue bandwidth (single-shot)
  • ±5V input range
  • Switchable x10 analgoue gain
  • USB 2.0 Full speed (12Mbps)
  • Single channel units, cascadable to form multi-channel arrangements
  • 256 sample buffer
  • Intelligent high speed triggering

Design Principles

The idea behind the design of the USB oscilloscope was to try to use programmable logic devices to implment very high-speed triggering and buffer systems, so that a high bandwidth signal (400Mbps+ when sampled) can be showed to a user over a much lower bandwidth channel (12Mbps). Modern digital storage oscilloscopes (DSOs) use exactly the same principle. Showing a 250 sample wide graph to a user of data sampled at 50MSPS results in the graph being renewed almost 200,000 times every second, whereas the human eye can only perceive changes at around 10-20ms (50 times a second). The trigger system then stops the sampling once the user defined trigger event has been generated, and uploads the buffer full of samples, at the much slower rate, to the user software.

Design Flexibility

The oscilloscope design created can easily be adapted for an almost infinite range of custom test and diagnostic equipment. The design makes full use of custom programmable elements meaning that almost every aspect of the design can be altered by simply downloading the new design to the circuit. The small size of the PCB means that it can easily be integrated into existing systems, and the use of a cascadable trigger syncronisation system allows for as many oscilloscope channels as you have USB ports for (typically 127 including hubs!).

The object-oriented software design, written in the rapid application development environment REALbasic, allows for very straightforward customisation of the user application to meet whatever needs the user has. REALbasic and the USB driver APIs also allow for the software to be compiled to run on Windows and Linux along with Mac OS X.

Update - Designs released

Since writing this article I have decided to release the designs for this oscilloscope to the world under a Creative Commons license. Please see this article...