element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Blog Bringing up an AD9361-class 2T2R transceiver on Zynq-7000: Part 1 – clock plan, data interface, and the first link
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: LeslieGuo
  • Date Created: 20 Sep 2026 6:42 AM Date Created
  • Views 16 views
  • Likes 1 like
  • Comments 0 comments
  • zynq
  • fpga
  • ad9361
  • sdr
  • rf
Related
Recommended

Bringing up an AD9361-class 2T2R transceiver on Zynq-7000: Part 1 – clock plan, data interface, and the first link

LeslieGuo
LeslieGuo
20 Sep 2026

I'm starting a project log for a wideband 2T2R RF front end built around an AD9361-class transceiver paired with a Zynq-7000 (the same class of platform many SDR boards use). The goal is a working, documented bring-up: stable clocking, a reliable digital link to the PL, calibrated RX/TX, and eventually real EVM and noise-figure numbers. Part 1 covers the three things that decide whether you even get to first base.

(1)Clock plan

Everything in the part is derived from a single reference — on this class of device typically a 40 MHz TCXO. That reference feeds the RF synthesizers (RX/TX LO) and the baseband PLL, which generates the ADC/DAC and data-clock rates. Two practical points:

- Use a TCXO, not a bare crystal. A few ppm of drift is fatal for narrow channels and shows up as frequency error across the whole chain. - The clock tree is coupled. The chosen sample rate (up to 61.44 MS/s at the top end) and the baseband bandwidth (200 kHz to 56 MHz) are configured together with the PLL settings — you don't pick them independently.

(2) Data interface

The transceiver connects to the FPGA over a parallel CMOS or LVDS bus carrying I and Q for both channels, plus a data clock and framing signals. On the Zynq side this lands in the PL and feeds DMA into the PS.

- Decide CMOS vs LVDS up front based on trace count and the rate you need; LVDS is the safer choice at the higher sample rates. - Treat the data interface as a timing-closure problem: meet setup/hold on the bus at your data-clock rate before worrying about RF. A swapped I/Q lane or a missed clock edge is the most common "no samples" cause. - Confirm the link with a simple pattern/loopback before attaching the full DMA path.

(3) The first "is it alive?" sequence

On power-up the device is not ready until an initialization and calibration sequence runs. In practice:

- Apply the reference and boot the part into a known state. - Load the initialization parameters (mode, channels, rate, bandwidth, LO, gains). - Run the tracking calibrations — DC offset, LO leakage, quadrature — and wait for them to report done/pass. Polling status, not a fixed delay, is the reliable way. - Only then read I/Q on RX (or transmit a tone on TX) and check it on a spectrum analyzer / IIO-style tool.

What I learned first

The two things that cost us time were (a) assuming the 70 MHz–6 GHz tuning range meant simultaneous coverage — it's the LO range; you only digitize up to 56 MHz at once — and (b) moving on before the background calibrations had actually settled after an LO change, which lets DC offset and the image drift back.

Next in Part 2: getting RX samples through the DMA into the PS over the 1 GbE/IIO-style path, and the no-OS vs SPI-from-the-PL decision (relevant if your FPGA has no soft processor). I'll post register/status details and the first captured spectra.

Happy to be corrected by anyone who's done this — and if there's a specific part of the bring-up you'd like me to dig into, say so in the comments.

(Disclosure: I work on RF and high-speed data-converter applications, including AD9361-class transceivers. This is a genuine engineering log, not a product pitch.)

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube