• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Data Converters » High Speed Data Converters » High Speed Data Converters Forum » ADS5282 along with FMC-ADC adapter in spartan 6 device
Share
High Speed Data Converters
  • Forum
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS
Check out
Analog Wire blog
  • $core_v2_blog.Current.Name

    How to determine the power at output of modulator from DAC back-off level

    Posted 22 hours ago
    by Habeeb Ur Rahman Mohammed
    Customers often ask how they can determine the power at the output...
  • $core_v2_blog.Current.Name

    DAC Essentials: What’s with all this glitch-ing?

    Posted 5 days ago
    by Tony Calabria
    When designing with a digital-to-analog converter (DAC), you...
  • $core_v2_blog.Current.Name

    This amplifier doesn't exist...now what?! - Part 2

    Posted 7 days ago
    by Xavier Ramus
    In Part 1 of this post, we looked at the theory involved in making...

ADS5282 along with FMC-ADC adapter in spartan 6 device

ADS5282 along with FMC-ADC adapter in spartan 6 device

This question is answered
lefteris fysikopoulos
Posted by lefteris fysikopoulos
on May 11 2010 08:27 AM
Intellectual260 points

Hello,

I am using spartan 6 sp601 evaluation kit along with the FMC-ADC adapter(http://focus.ti.com/docs/toolsw/folders/print/fmc-adc-adapter.html)
and ADS5282EVM(http://focus.ti.com/docs/toolsw/folders/print/ads5282evm.html) from texas instruments.
i would like to write a vhdl code to control the LVDS DDR outputs provided from the ADS5282EVM to spartan 6 FMC pins.
I am really confused about implementing the ddr logic in my custom ip..
i connected my custom ip to a IPIF FIFO but seems that i missed data...
Recently i read the xapp1064...Should i follow this way describing there in my design with FMC connector?
Xapp 866 and 774 i thing that does not help when using the FMC pins...Am i right?
Is anywhere a sample code in vhdl that capture LVDS DDR outputs ..
I am using EDK 11.5...

thanx in advance

ADS5282 FMC-ADC-ADAPTER ADS5282EVM
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Richard Prentice
    Posted by Richard Prentice
    on May 11 2010 09:33 AM
    Verified Answer
    Verified by lefteris fysikopoulos
    Genius14345 points
    TSW1200 Deserial.gif

    Hi,

    I had not seen the XAPP1064 before, but just took a quick glance at it.  I am familiar with the XAPP866 and we do *not* implement the interface to the ADS5282 that way in our TSW1200.  We found the use of the ISERDES and the DCM blocks to be overly complex and we found it difficult to get all the ISERDES needed for the 8 channels reset and synchronized together.

    Attached is a sketch of how we implement the ADC to FPGA interface in our TSW1200.  The TSW1200 uses a Virtex4, but i believe the Spartan6 should also have the IDELAY cells available.

    The first thing that must be accomplished is getting the data latched into the FPGA using the DDR bit clock.  The IDDR cell was used which simply latches the data on the rising edge and again on the falling edge.  Then it ourputs the rising edge bit and the falling edge bit on the same clock edge.  Since the DDR clock from the ADC is centered in the valid timing of the bit, and in the FPGA the clock must go through a clock buffer, there must be a way of making the data bit get to the IDDR cell at the right time to meet the setup and hold time of the IDDR cell.  The IDELAY cell is used to delay the data to meet setup and hold times intot he IDDR.

    Now the the serial data is latched into the FPGA correctly, the next step is to deserialize the data back down to the sample clock rate.  To do this i build a shift register of flipflops after the IDDR cell until i have my 12 bits of sample data held in flipflops.  Then at the right time i need to load those 12 bits of sample data into a parallel register to hold the deserialized sample.  The way to determine when to load the data into the parallel register is to look at the FCLK or frame clock signal.  I bring the frame clock into an IDDR cell just like it was another data channel.  Don't be misled by the name of the signal as frame clock and try to use it as a clock right away; consider the frame clock to be a data bit with a known pattern so that you can look at the frame clock to see where the first bit of the sample data is when you deserialize the data.  I look for the place in the frame clock pattern where the bit was low and next it was high to tell me when to make the signal to load the deserialized data in to the parallel data register.  Only *then* do i take the frame clock signal from the IDDR cell and route it to a clock buffer to become the sample clock inside the FPGA to clock the deserialized data samples. 

    I find this to be the simplest and most robust way of getting the serial data from the ADS5282 into an FPGA, without the need for PLLs or DCMs or ISERDES.

    Regards,

    Richard P.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • lefteris fysikopoulos
    Posted by lefteris fysikopoulos
    on May 11 2010 09:52 AM
    Intellectual260 points

    Hi Richard,

    Can i use this implementation, even though i do not use the TSW1200 but the FMC-ADC adapter module to connect the ADS5282EVM to my spartan 6 board?

    Could you provide me with a vhdl code for this implementation?

    Regards,

    Lefteris

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Prentice
    Posted by Richard Prentice
    on May 11 2010 10:05 AM
    Genius14345 points

    Yes, you should be able to create code to make this implementation work once you connect the ADC EVM to the FPGA development platform through the adapter board.

    We do not have VHDL code for this interface for the Spartan 6.   You would have to create this interface.  I do not have the details on the Spartan 6 development platform to know which IO pins on the Spartan will be connected to the various LVDS pairs from the ADS5282 EVM.   The FMC-ADC adapter was developed for conencting the ADC EVM to the Virtex 6 development platform, and you would have to find our what pins on the Spartan 6 are connected to which LVDS pairs and define those pin assignments in your constraint file accordingly.  One thing to watch out for in particular is to see what kind of IO pins the frame clock is connected to.  On our revision B adapter board the frame clock went to a connector assignment that went to a clock-only input pin on the Virtex 6.  For that reason we had to release a revision C adapter board that routed the frame clock to an FMC connector assignment that ultimately went to an input on the Virtex 6 that could also be used as a data input.  I don't know which revision adapter board you have or what pins on the Spartan 6 will be connected to our EVM when you connect the three boards all together.

    Regards,

    Richard P.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • lefteris fysikopoulos
    Posted by lefteris fysikopoulos
    on May 11 2010 10:27 AM
    Intellectual260 points

    The frame clock is connected to the  FMC M2C clock pair (CLK0_M2C_P/N) in the spartan 6 device..i have the revision B of FMC-ADC adapter module....

    Will this cause problems to any implementation? And what problems?

    I will be glad if you could provide me with your vhdl implementation for virtex4 or virtex 6 platforms to use it as samples for my design...

    Regards,

    Lefteris

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Prentice
    Posted by Richard Prentice
    on May 11 2010 10:36 AM
    Verified Answer
    Verified by Richard Prentice
    Genius14345 points

    Can the CLK0_M2C_P/N input be used as a data pair input?  That is, can this input to the FPGA be conencted to an IDDR cell so that the implementation that i described earlier could be implemented?  If so then i think there woud be no problem.  If the CLK0_M2C_P/N can only be connected to a clock tree inside the FPGA then i think you would have a problem to implement the circuitry that i described.  In that case, i think you would prefer the revision C adapter board.

    We did not create the TSW1200 FPGA firmware in VHDL.  We used Verilog.  We *do* upon request supply the Verilog source code of the TSW1200 with the understanding that it is not supported.  The source code was not developed for public support and is to be taken as-is.   Also, the source code is more complex than you would need it to be as the TSW1200 supports many more data formats than just the 1-wire 12-bit serial format of the ADS5282.  I would need an email address to send the code to as well.

    Regards,

    Richard P.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • lefteris fysikopoulos
    Posted by lefteris fysikopoulos
    on May 11 2010 10:56 AM
    Intellectual260 points

    I dont know if it can be used as a data pair input since the manual of the board does not mention that kind of information...

    i will try the implementation mention above and if it does not work i 'll try xilinx's one...

    the only thing that i want to be sure is if xilinx implementation is suitable with my design (FMC-ADC adapter)...

    my email is lefteris.fysikopoulos@gmail.com

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Frank Li50498
    Posted by Frank Li50498
    on May 20 2010 14:57 PM
    Prodigy30 points

    Richard,

    I have a similar setup and am trying to connect the ADC to a Virtex-6 device (ML605 board with FMC connector). I am still learning FPGA and having trouble to make it work. As you mentioned, the schemes from Xilinx App notes are complicated (to me). There is another document about connection the ADC to Lattice device, http://focus.ti.com/lit/ug/slau240/slau240.pdf. But the document is simple and the connector is totally different.  Can you also send me a copy of the verilog code of TSW1200. My email is frank.li.pa@gmail.com Many thanks.

    Yan

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Prentice
    Posted by Richard Prentice
    on Jun 04 2010 16:20 PM
    Genius14345 points

    Information sent by email.

    Regards,

    Richard P.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tristan Rocheleau
    Posted by Tristan Rocheleau
    on Jun 05 2010 18:50 PM
    Prodigy70 points

     

    Richard,

    I am also looking for example interfacing code for the DAC5682EVM.  Verilog code for the TSW1200 would be great; would it be possible to get a copy?  My email is tristan.rocheleau@gmail.com.  Do you make available any similar code for the TSW3070EVM or TSW3070EVM boards?  Code for something like the TSW3100 would be perfect.

     

    Thanks,

    Tristan

     

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tristan Rocheleau
    Posted by Tristan Rocheleau
    on Jun 24 2010 11:54 AM
    Prodigy70 points

    Richard,

    I just wanted to renew my request for code to the TSW1200, if possible.

     

    Thanks,

    Tristan

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Prentice
    Posted by Richard Prentice
    on Jun 24 2010 17:42 PM
    Genius14345 points

    Hi,

    The TSW1200 source code has been sent to the email address listed above.

    Regards,

    Richard P.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Hamed Holisaz
    Posted by Hamed Holisaz
    on Aug 13 2010 13:14 PM
    Prodigy10 points

    Hello Richard,

    I have a similar problem as other guys, and would appreciate it if you could send me the verilog source implementation of your ADC interface. I am trying to integrate an ADC 6445 EVK with my ML605 Xilinx board. 

    my email address is: hholisaz@gmail.com

    Thanks,

    Hamed H.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Prentice
    Posted by Richard Prentice
    on Aug 18 2010 17:11 PM
    Genius14345 points

    Sent.  I hope you find it useful.

    Regards,

    Richard P.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • happy
    Posted by happy
    on Aug 27 2010 05:01 AM
    Prodigy30 points

    Richard,

    I am looking for the  verilog code of the TSW1200, can you send me a copy?  My email is yanhuipeng@163.com. 

     Thanks!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Turbot
    Posted by Turbot
    on Sep 01 2010 00:37 AM
    Prodigy60 points

    Hi Richard,

    I am also working on the deserialization of ADS6425 to virtex6(ml605). We are now trying both methods suggested by you and of our own. But still no progress yet for quite long time. May I have a copy of of the verilog code of TSW1200. My email is turbot_yu@hotmail.com . I am really appreciated for your help.

    Alex

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
12345
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use