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.

How do you get a lot of data out of 28335 quickly?



Right now I am using the High Power Motor Drive kit. I need to get data, on the order of 80byte packets, every 100us. This is just for testing and not needed for production.

CAN can't do it, unless I only look at one value at a time and buffer multiple samples in one packet. This is not ideal as we want to see all 80bytes of data together.

I was going to try SPI by using an SPI to USB device but I am concerned with the overhead on those devices. I confirmed that at least one of the commercially available devices has too much overhead and can't maintain an 80byte data packet every 100us.

There isn't enough memory on the 28335 to buffer enough packets to send later.

On board FLASH is too slow. 

The JTAG interface is too slow, however can I use the XDS560? It claims 2MBytes/s. Has anyone tried this? Can I access the JTAG interface from a native program?

Any other ideas?

 

Thanks

  • i think you would have trouble of getting data if its bit rate is higher than 300KBPS (parallel input/output). C2000 doesn't have PPI and DMA port, you won't able to handle very high speed data. And if your data rate is as what you said, 80byte/100us=6.4Mbps, it's definitely out of C2000's capability to handle.

  • did u try RTDX?

  • Thanks for the replies

    I looked up RTDX and found this article: http://processors.wiki.ti.com/index.php/Real_Time_Data_eXchange_(RTDX)

    It says that RTDX is not supported on the C2000, which is what I am running.

    Yu Cai, just so I understand what you said: I can program the SPI port for 10Mbps but the c2000 can't keep up with sending 80 bytes within 100us?

  • My understanding is that a newer High Speed RTDX is taking over the role of rtdx. Look for HSRTDX instead.

  • Maxpower,

    What i mean is if you want CPU to interfere with sending data process, 300K is very hard for C2000 DSP. I am not sure if newer C2000 series has SPI controller with DMA, if without DMA, it's very difficult to handel such high bit stream.  What i mean here is raw bit rate. If data packaging is completed by hardware controller (for example, CAN controller), the bit rate (including protocol overhead) would be higher but the packet rate would not be higher anyway.

    C2000 is used for real-time control rather than audio/vedio processing. So expecting high data rate (larger than 1Mbps from external ADC) is not reasonable.

  • Yu cai, you are correct, the 28335 does not have DMA for SPI but it does for McBSP.

    Leong, On the Spectrum Digital site for the XDS560, it does not list C2000 has a supported family. I don't think C2000 supports HSRTDX.

    I guess I am asking for too much. I have to figure out a way to verify this code while running at full speed.

    Thanks again for all your help!

  • As the others have mentioned getting data out at a high rate is hard, especially when you are running a program.  The best way I can see is through the XINTF along with DMA.  You can get a significant bandwidth, but it is a decent amount of hardware work to get it working well.   The next best solution is through the McBSP with DMA as you mentioned.  I am not sure about what USB chip you use but if it is SPI you can configure the McBSP to run in SPI mode.

    A rough calculation of overhead (I havent got round to doing this myself but ive done some of the preliminary research - someone else can possibly clarify this):

    Using 16 byte bursts through the DMA to the McBSP.

    Approx 40 cycle ISR (in and out of the ISR and some processing) to control the DMA every 16 bytes.  For 10Mbps, this interrupt would occur every 12.8us.  This would be every 1919 cycles (approx - 150MHz speed).  This is approximately 2% overhead. 

    In conclusion, if you get it right you should be able to extract the data efficiently with little overhead.  Unfortunately it may take a bit of work getting the McBSP and DMA set up to run well.

    Tim