This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Saving to External Memory for standalone operation

Other Parts Discussed in Thread: THS1206

Hi,

I am interested in saving data recorded using the ths1206 on the c6713. The onboard memory bank is way too small to save even a couple seconds worth of data. The max sample rate of the ths1206 is ~6MSps. What are some options for saving data? I really  would like to save this data to a flash drive or SD card serially transmit it to a host pc. I have implemented an RS-232 connection to the PC through a usb to serial connector and using the mcbsp. However, the max baud rate for this is way too slow at 115200 BITSps. In order to achieve any efficiency of this data recording I need to atleast exceed 6MBytes/ps. The ths1206 is 12bit --> 2bytes of storage so if I save data at 6MSps (2bytes of data) then I need to really transfer or save data at a higher rate than this. Any suggestions?

Thanks,

Brady 

  • hi Brady,

    Thanks for your post.

    In my suggestion, THS1206 is a high speed data converter peripheral and you will always find latency in synchronizing with other peripherals/processor to transfer samples. You can think of the best feature of THS1206 which has a flexible FIFO circular buffer and we shall keep hold the samples in the FIFO buffer and control the data output by synchronizing the data throughputs between other device peripherals.

    The converted data of the THS1206 is automatically written into the FIFO. To control the writing and reading process, a write pointer, a read pointer and a trigger pointer are used. The FIFO can be programmed through the control register of the ADC. The user has the ability to select a specific trigger level in order to choose the configuration which best fits the application.

    In general, the problem may occur with timely transfer of samples from the A/D processor when the conversion rate is above 1 MSPS. The data is normally transferred from the A/D converter to the processor during an interrupt-service routine (ISR). However, the maximum speed is somehow needs to be limited as every other device peripheral/processor exhibits a latency time according to its data throughput. So, to avoid such problems in selecting data which can be controlled via an interrupt from a fast A/D converter and of further processing this data afterwards.

    To know more details on the FIFO functionality, you shall walk through the below docs:

    http://www.ti.com/lit/an/slaa094/slaa094.pdf

    http://www.ti.com/lit/ds/symlink/ths1206.pdf

    http://www.ti.com/lit/an/slyt115/slyt115.pdf

    http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/t/290951.aspx

    Thanks & regards,

    Sivaraj K

    ------------------------------------------------------------------------------------------------------- 
    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

     

  • Brady,

    Are you unsure how to interface the THS1206 to the C6713? Have you looked at all of the available interfaces on the device and eliminated any other than the serial port?

    Regards,
    RandyP

  • Hi RandyP,

    I appreciate the response. I understand how to interface the THS1206 to the C6713. I guess I was a bit unclear in my post. I am able to save data at a sample rate of > 5MSps using the THS1206 and the C6713 which is great. However, this will fill on board memory fairly quicky. The sample size is 12 bits so 2 bytes of data for each sample. After 1 second I will have 5 million samples --> 10 Million bytes or about 9.5 MB. My goal is to discover the way which people get this data off the dsp at an efficient rate so that the sample process can operate longer than 1 second before filling memory. How is it possible to transfer data off of this DSP without using the compiler? Is it the serial ports? Is it the remaining 16 bits of the parallel port? Is it the HPI? How is it done? Is there a way to save data to external memory to accomplish this? 

    Thanks for the help.

    Brady

  • Brady,

    There are several different interfaces to allow the designer to choose the best one for any particular application. Since most people do no use the C6713 as a simple conduit from an ADC to a memory card, I could not offer a common solution for that exact issue.

    I can guess from your post above that you are using a 16-bit wide EMIF bus (12 bits to be exact, I suppose) for the THS1206, but this was not explicit.

    The fastest I/O peripherals are the HPI and EMIF, if that is what you need to know. They are a slave and master interface, respectively, so your application will depend a lot on your available resources to use either of these.

    No, you would absolutely not use "the remaining bits of the parallel port", still under the assumption this means the EMIF and not the HPI.

    I doubt we are talking in the same terms, yet, so I may not be helping you.

    Regards,
    RandyP