Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 7 of 7

Thread: Dump external ADC data (SPI, USB, DMA, pulse generation)

Threaded View

  1. #1
    Junior Member
    Join Date
    Aug 2013

    Question Dump external ADC data (SPI, USB, DMA, pulse generation)


    I am building an FPGA-based data measurement system which uses an AD7980 AD converter. I have just received the first prototype of the AD modules, but the FPGA part is not done yet.

    I want to test the ADC at Msa/s with as low jitter as possbile, and I was hoping that I could use an Teensy 3.0 for this. There are three things I need to do this:

    1. Generate a trigger pulse (<290ns @ 1MHz) to start conversion
    2. Receive the "data ready" signal from the ACD and read out the 16 bits of data VERY quickly (see p. 18 in the AD7980 data sheet)
    3. Sent the data to the PC via USB

    Based on my own quick tests so far, it seems that (1) is easily done with analogWrite.
    I still haven't figured out how to get 16-bit SPI transfers, but from benchmarks I have seen it seems that 16 Mbit/s is feasible. USB transfer speed could also be sufficient.

    Now, the question is if it is even remotely possible to do all this at once? One issue is creating an interrupt which can react to the "data ready" signal quickly enough (~88 ns!) and start to shift the data out @ ~84 MHz. And after that, I need to send the data over USB. I was hoping to see if anyone had written an example of transferring data from SPI->USB with DMA... but the issue of getting the SPI transfer started quickly enough still remains.

    Thank you for reading!
    Last edited by RasmusB; 08-21-2013 at 07:09 AM. Reason: Clarifications

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts