Hi,
What I am trying to do is output information from a MCU to an oscilloscope in real-time to aid in development/debugging of a motor-drive system.
I have considered three ways to do this. The MCU i'm working with has a SPI port available, and 4 hardware PWM pins.
I have more time than money (EE student) so I want to do a DIY solution.
1. Interface to a DAC over SPI
2. Use the PWM pins to output a direct pulse-width and measure this
3. Use the PWM pins with a LPF as a voltage DAC
1. requires the most work and has a bit of software overhead.
2. Works well, but doesn't show up as a wavy line on the scope (no intuitive waveforms)
3. Don't have a high enough carrier frequency, as the carrier is tied to the main PWM carrier at about 10-20kHz, and I am looking at 0-1kHz signals
So I have decided to go with option 1 and make a small board with some DACs. The concept is simple:
Board header with power and SPI --> 20cm ribbon cable --> PCB with DAC --> Male BNC --> Coax cable --> Oscilloscope
For sampling frequency, 40kHz maximum, probably more like 30kHz. There is no point outputting data faster than that as nothing internal to the MCU changes any quicker.
I would like sufficient analog bandwidth for this (Dunno how much, but i doubt it's a problem to reach)
I have chosen to have 4 channels. This will only be conected to oscilloscopes so I decided a 12-bit DAC is sufficient to exceed the resolution/noise floor of anything I connect it to.
I am considering the TI DAC7554
https://media.digikey.com/pdf/Data%20Sheets/Texas%20Instruments%20PDFs/DAC7554.pdf and the Maxim MAX5715BAUD+
https://datasheets.maximintegrated.com/en/ds/MAX5713-MAX5715.pdfI have available 3.3V and 24V supply voltages with sufficient current capability. Regarding output voltage, I'm not fussed about whether it's unipolar or bipolar, although differential output is not required.
The exact output voltage range is TBD, but I suppose to maximise SNR/dynamic range of the oscilloscope input a bipolar signal would be better.
So the questions I have:
What voltage output is most suitable for driving an oscilloscope input (nominally 1Meg/20pF) with the best possible performance, Do i require 50R termination at these frequencies?
What DAC specifications are most important for this application?
Do I need to buffer the DAC output? They advertise similar drive capabilities (2kohm, 200pf) but will an external buffer help at all?
I intend to keep this thread updated as I do schematic design, receive PCBs and test them.
Thanks,
Tim