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 data using TSW1400EVM

Other Parts Discussed in Thread: AFE5808AEVM, AFE5808A

Hi,

I know that High-Speed Data Converter Pro GUI used to capture and analyze the data using the TSW1400EVM allows to save the snippets of data into files. It also allows continuous data capture. However, I would like to know whether it is possible to continuously save the data into a file rather than just displaying the continuously updated data in the GUI?

I need to have access to a raw data acquired using an 8 channel 65 MSPS 14 bit ADC. When using all 8 channels, 1 GB memory of TSW1400EVM would fill up basically within a second, whereas I need to be able to save at least few minutes worth of data.

If TSW1400EVM can't handle this task, I would appreciate if you could suggest any alternative options that could be used for the data acquisition from AFE5808AEVM (comes with an 8 channel 65 MSPS 14 bit ADC and outputs the LVDS data via Samtec connector).

Thanks!

  • Hi Dmitrijs,

    Welcome to TI E2E forum.

    We have received your post regarding the application use case of AFE5808EVM and I have assigned your post to the device application experts. They will get back to you soon with any updates on this.
  • Hello Dmitrijs,

    Thanks for using AFE5808A EVM and TSW1400 EVM.

    TSW1400EVM can capture lots of raw data from AFE5808A EVM with high speed as 65MSPS rate

    and save them into its memory (every time when you click on "Capture" button on GUI).

    You can spec how many raw data you want to save on the GUI.

    For example, I want to save 1048576 raw data into the memory.

    Then, you can spec how many raw data you want to analyze and show the results on the GUI screen.

    For example, I want to analyze 4096 raw data and display the result on the GUI screen.

    Therefore Total 256 sets of the 4096 raw data (256 * 4096 = 1048576 raw data) are saved into the memory right now.

    Please see the following picture:

    And then please run "Capture" button.

    Then you can see the GUI save all the 1048576 raw data onto your PC right now:

    And then save these huge amount of raw data from your PC into file for you

    to do more process purpose as you want.

    Note: you can save as CSV file or Binary file.

    So when you receive so many sets of the raw data, you can do more process on your computer.

    Hope this can help you.

    Thank you very much.

    Best regards,

    Chen

     

  • Hello Chen,

    Thank you for your response!

    Do I understand correctly that the upper limit for the # of samples that can be captured is defined by the amount of on-board memory in TSW1400EVM? Basically, if I am using all 8 channels at 12 bits per sample and the on-board memory is 1 GB, I will be able to capture and save to memory not more than about 83 Msamples per channel?

    With 65 MSPS and total memory for just 83 Msamples, my memory would fill up within less than 2 sec, whereas for our application we need to be able to collect the data for at least something like 60 sec, which would be equivalent to 32.2 Gsamples. Do I understand correctly that it is not possible to capture this amount of data using TSW1400EVM?

    Thank you!

    Kind regards,

    Dmitrijs

  • Hi Dmitrijs,

    How are you?

    We understand you want to capture raw data and save them into the memory as much as TSW1400EVM can

    at the same as 65MSPS high speed. The speed we have tried and run in our lab is not the issue when the raw data

    was captured and saved into the memory. However when the memory is sending all the data through USB to your PC, it may take very long time to finish. This all depends on the USB data transmit speed. How long for this timing cannot be expected.

    Last time we showed you one example is to set # samples (per channel) to be 1048576.

    Then you can click "Capture" button to capture and save huge amount of data into memory.

    Also for your concern, we also tried up to 4194304 on the TSW1400 GUI.

    It still works fine. But when we are trying to set even higher value, however the stored data are not correct.

    So we know # samples (per channel) for AFE5808A (with 8 channel ADC) to be captured by TSW1400EVM are 4194304 samples/per channel. And then you can save all of the raw data into the file in the PC.

    If these data samples are not enough, you can continuously execute the same method and save them into

    all the files in your PC after that.

    Thank you!

    Best regards,

    Chen

  • Dmitrijs,

    If you are trying to do truly seemless continuous capture, then you will be limited by the on-board memory. If you are okay with capturing the data in repeated chunks with gaps in between to the PC, there is a way to do a repeated capture with either labview or Matlab. You can also access the temporary time domain data in this location: C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro\ADC temp.bin. For instance, you could setup a small command in Matlab to capture the data, then read the bin file, save it to a permanent location, and then repeat. But, between the captures would be gaps, of course. If your application is Ultrasound or some data organized in frames, this can work well.

    Thanks,

    Chuck
  • Thank you for all this information, Chuck and Chen!

    Indeed, if we could chop our data into very small chunks at the high enough rate this could work. Though, for our application we would need to sample for at least 0.01 msec after every 0.1 msec. I suspect the TSW1400EVM should be able to handle this, but there might be a problem with PC hardware. Our HDD has a sustained data transfer rate of 144MB/s and an average latency of 4.16 msec. If I understand correctly, the time it will take to transfer a chunk of data to the memory will be based on these two numbers and the amount of data.(e.g. with 8 channels, 12 bits/sample, 65MSPS, within 0.01 msec we should capture about 0.0624 Mb, which should take 0.05 msec for transfer plus an average delay of about 4 mec).

    To make sure that the issue can be solved simply by getting a faster HDD and the USB speed limit will not pose an additional problem, can you let me know what USB standard is supported by the TSW1400EVM?

    Also, to setup the repeated data capture in LabView or MatLab, do I need to supply some kind of trigger signal to the TSW1400EVM board or can it be implemented purely using the code?

    Thank you!

    Kind regards,

    Dmitrijs

  • Dmitrijs,

    TSW1400 uses USB 2.0.  Repeated capture does not require a trigger, but can accomodate a trigger. The PC and GUI latency will be on the 0.3-1s scale.

    Chuck

  • Thanks, Chuck!

    Just to clarify - this latency of 0.3-1s cannot be reduced even if I use a PC with PCIe SSD hard drive and one of the newest i7 processors? 0.3 sec is incredibly long for our application.

    Also, when we were talking about capturing the data in chunks, I was imagining that the data would be transferred from TSW1400EVM memory to PC memory after every small (in our case about 0.0624 Mb) chunk of data. This now seems to be quite inefficient way of doing this given that every write-in operation would come with such a long latency. Is it possible to capture many chunks of data (e.g. 10^5 snippets equivalent to about 790 MB) to the TSW1400EVM memory and only then transfer all of them to the PC memory?

    Thank you!
  • Capturing small chunks is probably very ineffecient. It is better to capture large chunks, tranfer, and then process these as you capture new ones in parallel. The latency is in the software and USB 2.0, a better HD won't help much I think.