• 0

Analog Discovery Simultaneous Sampling


Go to solution Solved by attila,

Question

Hi,

 

I have a question from a customer. Can anyone help?

 

Would it be possible to do some simultaneous sampling with the analog discovery board with a sample rate of e.g. 500khz or is it time limited due the internal buffer length? Would it be possible for the ADC and DAC at the same time?

 

 

Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
  • Solution
If I understand correctly you want to transfer a large number of samples, stream out with DAC and capture with ADC.
 
Such synchronized transfer option is not directly available from the Waveforms application. But, you can use the (Arbitrary Waveform Generator) WaveGen to play a CSV or WAV file samples, set this to trigger on Scope, then start a Recording from Scope under Control menu.
This way the WaveGen will wait with playing until the Scope starts recording, resulting synchronized transfer.
 
Alternatively you can use the Waveforms SDK to create custom play/record application or python script, or the dwfcmd command line application. More information about these, documentation and examples you can find in default installation path:
C:Program FilesDigilentWaveFormsSDK or C:Program Files (x86)DigilentWaveFormsSDK
 
The achievable streaming sample rate depends on the computer, other USB devices connected and running application.
The recording sample rate in WaveForms application is limited to 400 kHz and play to 200 kHz.
In SDK there is no such limitation. On decent computers you can stream in one direction (play or record) above 1 MHz and at 500 kHz for transfers (play and record).
 
Update:
The USB bandwidth would allow higher sample rate, up to 40MBps 10-20MSamples/s, but for this we would have to use blocking transfer call. Having multiple independent instruments in the device using the same communication channel these must share it with time division multiplexing. So the play/record streaming is implemented using transfer chunks. First verifying how many samples are acquired or sent out, then reading or sending new samples to the device buffer/FIFO. The latency of these smaller transfers reduces the sample rate to 0.5/1 MSps.
Link to post
Share on other sites
  • 0

In the SDK folder you can find the following Python examples:
AnalogIn_Acquisition.py
AnalogIn_Record.py
AnalogIn_Sample.py
AnalogIn_ShiftScreen.py
AnalogIn_Trigger.py
AnalogIO_AnalogDiscovery2_Power.py
AnalogIO_AnalogDiscovery2_SystemMonitor.py
AnalogIO_AnalogDiscovery_Power.py
AnalogIO_AnalogDiscovery_SystemMonitor.py
AnalogOutIn.py
AnalogOut_Custom.py
AnalogOut_Sine.py
AnalogOut_Sweep.py
AnalogOut_Sync.py
Device_Enumeration.py
DigitalIn_Acquisition.py
DigitalIn_Record.py
DigitalIO.py
DigitalOut_BinrayCounter.py
DigitalOut_Phase.py
DigitalOut_Pins.py
DigitalOut_SPI.py

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now