STM32 Oscilloscope

From ScienceZero
Revision as of 02:02, 12 May 2010 by Bjoern (Talk | contribs) (Advanced features for the future)

Jump to: navigation, search

Features

Vertical (Voltage/Frequency)

  • V/Div
  • AC/DC
  • Offset
  • Invert
  • Probe divider / multiplier

Horizontal (Time)

  • T/Div
  • Offset

Trigger

  • Voltage level trigger
  • Trigger on rising / falling edge
  • Single trigger / force trigger / trigger continiously
  • Auto detect and track trigger level
  • Trigger at fixed frequency / Trigger output
  • External trigger
  • Pretrigger (sample continiously then stop n samples after the trigger)
  • Filtered trigger (low frequency / high frequency / number of pulses)
  • Video trigger
  • RS-232 trigger

Auto Scale

  • Voltage
  • Period

Metered values

  • Voltage
  • True RMS
  • Average
  • Peak
  • Peak to peak
  • Frequency
  • Duty

Markers

  • Voltage
  • t1
  • t2
  • delta t
  • frequency

Data output

  • Save display snapshot to picture
  • Save display frames for movie
  • Save wave data to file (raw / .CSV)
  • Stream non interrupted wave data to file


Display modes

  • Waveform
range (old oscilloscope method)
Average per sample
Average per waveform
  • XYZ
  • Fourier transform
Spectrum
Average spectrum
Subtract average
Spectrogram
  • Turtle - Channel A = speed, Channel B = direction
  • TV (pixel brightness)
  • Histogram
  • Roll mode (continuous scrolling)
BPM mode for heart rate monitoring
wide range of scroll rates
dynamically zoom in to check on activity of extremely slow rates

Dynamically labelled grid

Pause and scroll back

Protocol decoding

  • RS-232
  • TTL RS-232
  • IR remotes
  • I2C
  • SPI

DSP

  • Pre-scale before process
  • Add channels
  • Subtract channels
  • Multiply channels
  • AM demod
  • FM demod
  • Configurable bandpass filtering
  • Phase tracking hum removal
  • Audio output

Log playback

Output and control interfaces

  • Computer via RS232
  • Computer via Wireless RS232
  • LCD touch screen
  • Computer via USB

Logic analyzer

  • Multichannel

Component value testing

Coding

Limits

  • The three A/D converters are 12 bits
Maximum guaranteed clock frequency is 14 MHz, giving 1 MHz sample rate
Maximum possible with a 8 MHz crystal is 12 MHz
Two ADCs can be run in interleave for (12 / 14) * 2 = 1.74 MHz (highest guaranteed sample rate)
Maximum ADC clock rate at 72 MHz system clock is 36 MHz giving (12 / 14) * 2 = 5.14 MHz
Maximum system clock is 128 MHz giving a theoretical maximum of 9.14 MHz by overclocking everything
  • System memory is 64 KB

Protocol

One byte each:
C SS DDD...
C = Code
S = Size
D = Data

Commands PC → STM32

  • 0 0 4 DDDD - Set sample rate in Hz
  • 1 0 5 D DDDD - Trigger mode & voltage
  • 2 0 1 D - Input type 0=DC, 1=AC, 3=frequency
  • 3 0 4 DD.DD - Probe gain
  • 4 0 1 D - A/D gain
  • 5 0 1 D - Number of channels
  • 6 0 2 DD - Set pin state of a 16 pin port
  • 7 0 0 - Reset
  • 8 0 4 AAAA - Read data from address
  • 9 0 8 AAAA DDDD - Write data to address
  • 10 0 4 AAAA - Execute address

Commands STM32 → PC

  • 0 SS D D... - Sample data, 8 bit unsigned
  • 1 SS HL HL... - Sample data, 8 bit unsigned, H = highest value during the sample period, L = lowest value during the sample period
  • 2 SS DD DD... - Sample data, 16 bit per sample
  • 3 SS DD DD... - Pin state from one 16 pin port
  • 4 0 4 DDDD - Return data from address
  • 5 0 0 - Ready

Advanced features for the future

  • Realtime view and control over IP by another computer
  • iPad/IPhone view and control
  • Web interface
  • VGA output