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.

Using the dual channel feature on the ADS62P49

Other Parts Discussed in Thread: ADS62P49

Hey, I'm using the ADS62P49 in conjunction with the TSW1200EVM.  I'm trying to take data on both channels 'A' and 'B' in parallel.  I have all of the settings on the A/D board set according to the data sheet set for parallel data capture however my results are not what I would expect from parallel data capture.

Is there another setting that I'm missing or a feature of the board that toggles data capture between channels 'A' and 'B' rather than recording data from both channels simultaneously?  Thanks for the help.

 

 

  • Hi,

    The TSW1200 User Interface is currently written to only look at one channel at a time from a multi-channel device.  When you select Channel A or Channel B the User Interface will select *only* data from that channel to fill up the data buffers in the FPGA and then upload to the PC for processing.  The firmware in the FPGA itself does have the data paths to capture data from both channels simultaneously into buffer memory, but the software on the PC side is currently not written to look at more than one channel.  The software data structures only have one variable array for the input data, one data array for the FFT processing, etc.  To set the FPGA up for two channel simultaneous capture would require a new software effort for the User Interface.   (The alternative would be to take the Matlab code that came with the TSW1200 installation CD and modify that to set up the hardware for simultaneous capture and then write Matlab code to deal with the two sets of captured data.)

    Regards,

    Richard P.

  • I'm actually using a gui I wrote that incorporates the MATLAB code that came on the CD.  I have it set to record data on both channels and send the data into the PC so the rest of my program can process it.  I could be approaching this wrong and eventually I'll want to do all FFT and other processing in the FPGA but in order to test that the A/D step was working in parallel I've been using my MATLAB code.

    Thanks for your quick response, and sorry if my explanations are confusing.  It's been a lot of reading data sheets, and I'm convinced a person looses all ability to clearly describe a problem after that.

    Thanks again and let me know if you have any other suggestions.

    Alexandra

  • Hi,

    I see.  Then yes, the hardware can support simultaneous capture of two channels, but to use that feature you will need to know how to control the FPGA on the TSW1200.  The FPGA has a register map of 20 registers of 8 bits each, and these registers control how the capture is done.  In the Matlab code for different devices you can see some code that writes address/data pairs of bytes, but you won't necessarily be able to see why these register writes were necessary for certain functions.  For example, there are register writes to say how much of the buffer to fill up.  Other registers say which channel to take data from.  We have documents that describe these register definitions, but not to the degree that we would expect the public to easily take the document and write code for the TSW1200.  For example, the registers used to adjust setup/hold timing from the ADC into the FPGA require some knowledge of the firmware and the Xilinx IDELAY cells.  Still, the register map is attached.  The register 0x2 is used for selecting the channel and you may note from the Matlab code that writing to bit D2 selects one channel and writing to bit D3 selects the other channel.  Writing to both bits set together in fact causes both channels to capture simultaneously into the buffer memory.  Data from one channel starts to fill up one bank of buffer while data from the other channel starts to fill up another bank of buffer.  There are four banks of buffer total, each bank is 16Ksamples in size.  Then the task is to determine after the data dump up to the PC how to de-interleave the data.  I think if you capture two channels into 32K samples of buffer memory each for a total of 64K samples that you may find the data is first 16K samples one channel, first 16K samples the other channel, last 16K samples one channel, last 16K samples other channel.

    Regards,

    Richard P.

    TSW1200 Register map.zip
  • Hello Alexandra-

     

      Did you by chance get your Matlab code to work?  I'm currently evaluating the ads62p49 with the TSW1200 and I am starting to look into creating a similar interface to Matlab.  Would you be willing to share any of your *.m files?  I'd do my utmost to return the favor.

    All the best,

    jv

  • Hi,

    We have done the simultaneous capture here in our lab using the TSW1200 hardware and the Matlab code. 

    The usual Labview-based installation of the TSW1200 User Interface also installs a VCP (virtual com port) so that the USB port shows up as a simple com port.  The Matlab code also requires the presence of the virtual com port, and so it will not work until the VCP is also installed.  The easy way to get over that hurdle is to simply install the normal Labview-based User Interface first before trying to use the Matlab code.

    Then the Matlab code must be edited by hand to match the com port that was assigned by the operating system.  When you plug in the usb cable to the TSW1200, the operation system will assign a com port, such as com7 or something like that.  The Labview-based User Interface will have the ability to find the com port number automatically.  The Latlab code does not.  You will need to use the hardware device manager to find the com port of the TSW1200, and then edit the initSerial.m file in two places to open that exact com port number.

    Regards,

    Richard P.

    TSW1200_62P4x.zip
  • Works Perfectly!

    Thank you so much!

    Now if I could only get my FPGA code to work as well...:)

    All the best,

    jv