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.

Possibility of signal averaging using TSW54J60EVM and TSW14J56EVM

Other Parts Discussed in Thread: TSW54J60EVM, ADS54J60, ADC12040, LMH3401

I have an application requiring high-speed (~1 GSPS), high-resolution (16-bit) data acquisition and for this reason I acquired the TSW54J60EVM and TSW14J56EVM. I only need ~1 GSPS sampling speed in short bursts of 8k samples or less at a externally triggered rate of up to 10 kHz (at ~1 GSPS this implies up to ~8 µs sample time with ~92 µs or greater dead time) and ultimately I would only need to return the average of up to 20,000 bursts. During development, there may be a desire to examine each burst.  At a minimum, only one channel of acquisition is needed. I have previously used a LeCroy LC584A (oscilloscope with 8-bit resolution and 8 GSPS max) with two channels of acquisition where one channel is the trigger channel but it lacked resolution.

After using the HSDCPro software I could not find a simple way to perform this function besides collecting LOTS of data (including dead time), downloading it, and computer post-processing a 2GB/channel/second binary file. If there are alternate solutions please let me know.

I have limited experience in electronics development and minimal FPGA experience, so even the simple concept of adding signal averaging raises many issues. To perform signal averaging on the TSW14J56 it seems that reprogramming of the Altera Arria V GZ would be necessary and I have downloaded the FPGA Firmware from TI. To program the FPGA would require Quartus Prime which does allow starting with a 30-day trial and this still needs to be acquired. Based on the TSW14J56 EVM Megacore Firmware Design Document this is not your grandfather's ADC system. Knowledge of JESD204B, the Avalon interface, transceivers, etc. is needed to correctly program the Arria V GZ. It also seems to me that there are different implementation options, which include: 1) add each burst to a running sum and spit out the average after all bursts have been acquired; 2) store each burst consecutively in memory and get the average by post-processing in either the FPGA or on the computer. After all this, could the HSDCPro software still be used to download the data or would that also need to change? At this time I am reading up on many of these topics.

Ultimately, this development would also lead to custom hardware using the ADS54J60. Thankfully, the design packages from TI really help support this effort.

Guidance on alternate, best, and/or simplest approaches to this problem would be appreciated.

Regards,  Greg

PS I would have also tagged this with TSW54J60EVM and TSW14J56EVM, but my tag choices terminated at ADC12040.

  • Greg,

    We are looking into this and will get back to you shortly.

    Regards,

    Jim

  • Greg,

    For this application, I would suggest to use the ‘Time Averaging’ feature that we implemented for another customer. This firmware mode uses a continuous external trigger pulses to do multiple captures in hardware timed fashion. The FGPA will collect data for every trigger pulse, let say for 10,000 triggers, and push to DDR (we can fill the whole 4GB of DDR memory). This data can then be parsed in HSDC Pro dll by applying ‘Time domain sample average’ and then FFT will be taken just like it would do for a regular capture. The user can hack into HSDC Pro folders to retrieve the raw samples binary file for the whole capture buffer. Then you should be able to use it for any post processing.

     

    Advantage of doing this mode compared to simply doing a 4GB regular capture and then post processing data is that it uses the memory only for storing individual triggered captures - during dead time it won’t capture any data. If this sounds like something you can use, I can send you the firmware and software used for this.

    Regards,

    Jim 

  • Jim,

    This does sound like something I could use. I would really appreciate you sending the firmware and software used to implement the time averaging feature.

    Regards, Greg
  • Jim,

    I must also apologize for my lack of manners. Thank you for looking into this. Based on your description this time averaging feature may fully address my needs. I'll evaluate it later today and let you know. Again, thanks.

    Regards, Greg
  • Greg,

    I have not personally tried this firmware and it looks like it may be major surgery, but I will try my best to get this working for you. We have a software development team that created this and they have provided me with instructions on how to set this up (see below). The dll and firmware files can be downloaded from the link below. I will be in touch but it may be delayed due to vacation and other commitments.

    Regards,

    Jim

    Please find the following changes that has to be made for time average feature update.

    • ·         Kindly, find the updated FPGA Firmware, DLL and Utility, to perform multiple captures for time averaging, using files from link below.
    • ·         Please update the extension of the DLL from the above shared location and replace TSW14J56revD DLL in the '14J56revD Details' folder of HSDC Pro Installation location.
    • ·         Kindly, update the ADC INI file parameter 'Time Average Number of Captures' in the ADC INI file, to the required number of captures for time average.
    • ·         In the HSDC Pro Software, please download the updated firmware to the FPGA from the above shared path.
    • ·         Clicking on 'Capture' button in HSDC Pro software will capture "Total Number of Samples x Time Average Number of Captures". Also, It will generate individual channel binary files containing all the number of captures in the ' HSDCPro Data ' folder location as given below.

    C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro\HSDCPro Data

    • ·         Kindly, launch the 'Time Average LV Utility.exe' from the above shared path and select the 'individual channel binary file' generated by HSDC Pro in the folder location mentioned in the previous step. Also, updated the 'Number of captures' in the exe as set in the ADC INI File and 'No. of Samples per Capture' as set in the HSDC Pro -> Data Capture Options -> Capture Option -> # samples (per channel).
    • ·         Clicking on 'Start Averaging' will generate the "Averaged Data Binary File" in the location parallel to the Utility exe Location.
    • ·         Please load this averaged binary data file to the HSDC Pro, by selecting File -> Import Binary File in the HSDC Pro software. Also, select the 'Number of Channels as 1' in the pop-up displayed after selecting the binary file. This will plot the averaged binary data file in the HSDC Pro Graph.

     

    The Device INI file should include the following parameters to define the time average intervals,

     

    Time Average Enable = 1

    \\To enable the time average capture. If this bit is disabled (0), other time averaging settings will be ignored.

    Time Average Number of Captures = 1

    \\Number of captures to average. Currently, DLL supports only one capture.

    Time Average Trigger Pulse Width = 20

    \\Pulse Width of the Trigger Output in terms of number of frame clock cycles

    Time Average Trigger Delay = 15

    \\Number of frame clock cycle delay from trigger rising edge to the capture start

    \\By Default, a three clock cycle minimum delay is introduced by the firmware

    Time Average Capture Delay = 5

    \\Number of frame clock cycle delay from one capture end (cap running signal falling edge)  to next capture (trigger rising edge)

    \\In addition to this, a four clock cycle delay is introduced by the firmware

     

     

  • Jim,

    Thank you for the detailed instructions. It will be a few hours before I can implement this "surgery." I'll let you know one way or another where things stand later today.

    Your responses have thus far been very timely and the possibility of delays is understandable. BTW, here's to a relaxing, enjoyable vacation. Thanks again.

    Regards, Greg
  • Jim,

    I seem to have a fundamental problem in making the external trigger feature work in the TSW54J60EVM/TSW14J56revD combo with the original HSDCPro software. So this needs to be resolved before I can worry about Time Averaging. Any ideas?

    More details:
    I noticed this problem when trying to implement the Time Averaging, so after many different unsuccessful attempts I powered the TSWs down, reverted to the original DLL and INI, and rebooted the TSWs. I still could not get the external triggering to work. I am using the ADC54J60_LMF_8224.ini and hoping it is some sort of configuration issue. Also, I am providing the trigger using an SRS535 pulse generator T0 output with +1.8V amplitude, 1µs pulse width, 35 kHz.
    •· I captured the trigger on one of the TSW54J60EVM channels (both were tried), confirmed the signal's existence, then selected "Trigger mode enable," moved that same SMA connection to TRIG_IN and nothing... "No trigger occurred."
    •· I changed the trigger amplitude from the default CMOS level to levels from -4 to +4 V, because I could. Still nothing.
    •· I tried to include "Continuous Capture" with no success.
    •· The only successful "external" triggering was selecting "Software Trigger enable," connecting TRIG_OUT_A to TRIG_IN, and pressing "Generate trigger" but this is akin to pressing the Capture button for my needs.
    •· My reference for the external triggering options is the HSDCPro GUI User's Guide.

    I'm hoping this is either my oversight or a simple configuration modification.

    Regards, Greg
  • Greg,

    What is the name of your company and what is the end product application for this?

    Regards,

    Jim

  • Jim,

    Sorry for the holiday delay. I work as a Principal Engineer at Hal Technology, LLC in Fontana, CA. We are developing a lidar-based remote sensing system.

    Regards, Greg
  • Jim,

    Just wanted to let you know that I got the external triggering to work with the original software. Preliminary testing with the Time Averaging software also seems promising (captures occur but I'm still working on the averaging).

    Briefly, the main issue is that repeated acquisition with external trigger on does not seem to work; however, performing a non-triggered capture prior to performing a triggered capture works every time. Trying a second successive triggered capture does not work. Currently, I repeat the two capture steps to successfully obtain a triggered capture. When I know further specifics, I'll let you know. Thanks again.

    Regards, Greg
  • Jim,

    It has been a while since my last post. We gave up on the time-averaging option since we could not resolve it and had an impending real world testing opportunity. One second long sequences were captured on the two ADC channels (trigger and signal). We copied the binary files from the 'HSDCPro Data' directory into a separate folder and later these data were compacted and averaged for each channel via our own C code. The ADC board was used in the default AC coupled mode.

    We now want to switch to DC-coupled mode on the LMH3401 channel (Channel A).

    Following the instructions in the TSW54J60EVM User's Guide, we removed capacitor C200, capacitor C201, and resistor R12. We removed these components one at a time, checking the captured signal of a pulse waveform after each removal. In all cases the captured signal still showed characteristics of AC-coupling. When we fed in a pulse with varying DC offsets there was no corresponding DC offset in the captured signal. Instead the pre-pulse voltage level was always zero. After the initial pulse rise, the expected flat response always showed a decay. There was always a corresponding negative overshoot and subsequent exponential rise back to zero. All indicators that we are still AC-coupling.

    I would appreciate getting help to achieve DC coupling.

    Regards, Greg
  • Greg,

    After the amplifier, there is a filter that has two series caps, C202 and C203. Change these to 0 Ohm resistors. This may have been missed in the User's Guide. If so, thanks for catching this! 

    Regards,

    Jim

  • Jim,

    Thank you for your prompt reply and solution. We changed C202 and C203 to 0 Ohms and we now have a DC coupled signal.

    There is a possible additional correction needed in the User's Guide. When we first tested the TSW54J60EVM after the C202/C203 change we only saw a flat signal at about -0.97 Volts (1025 ± 1 code value). After we added a 50 Ohm terminator to the unused INAP (J2) connector we acquired the expected signal. Adding this terminator is essentially the same as keeping R12. Before removing R12, we had reviewed the LMH3401 datasheet and every circuit diagram for single-ended mode shows a 50 Ohm termination on the unused connector. We only decided to remove R12 after removing C200/C201 did not work and because the User's Guide said so, even though it was in conflict with our intuition and the LMH3401 datasheet.

    This seems to imply that, when in single-ended mode, R12 should not have been removed as suggested in Section 5.2.3 of the User's Guide.

    Regards, Greg