Post Go back to editing

Calibrations Initialization Fail while confiugre ADRV9002 in coustom board


I am trying to confiugre ADRV9002 in our coustom board. I have a problem when Calibrations Initialization. I'm runing in no-os drivers, I have error when I calladi_adrv9001_cals_InitCals_Run. The error is shown as below:



  • Hi,

    It seems you are running custom code, is that right ?

    What no-OS/hdl versions did you base your work on ? 

  • In my code, I only add function printf, and no-OS/hdl versions is nos-OS 2019-r2.

  • ,

    It would be interesting to know whether you have better success with the code on no-OS master + HDL from master. no-OS had some major changes (adrv9002 API update) recently.

  • I ran successfully on ADRV9001 Evaluation Board with this version drivers, but not run on my customize board.

    ADRV9002 on ADRV9001 Evaluation Board is ADRV9002XBCZ, on my customize is ADRV9002BBCZ. Is that the reason? Or firmware for arm on ADRV9002 need change?

    Looking forward to help.


  • ,

    I've moved your question to this subforum.

    or other engineers in this subforum, any relevant difference between ADRV9002XBCZ / ADRV9002BBCZ that TrucTran should be aware of ? 

  • Hello , ,

    Just having a read through of the error log you provided, my first guess would actually be a matter of synchronization (assuming of course that you know not to apply an external RF signal to the Rx ports during Init Cals). If your LO and you Clk source are not synchronized, some profiles can run into a lot of trouble during calibrations. I believe that could be what is occurring here.

    Can you provide some extra details on your custom hardware? What what type of clk are you providing? (Crystal, VCO, Clk provided by platform) Also are you using an external LO source?

    If your Clk source isn't clean enough, you'll have issues. If the LO isn't synchronized to the Clk, you'll have issues. If neither of these are a problem then we will have to look elsewhere.

    Out of curiosity I will also investigate the difference between ADRV9002XBCZ and ADRV9002BBCZ.

    Let me know if anything here solves your issues!

    Best Regards,

  • To answer this question specifically, the "X" on the Eval board denotes an "X-Grade" product, which means a pre-release product. It's a legal requirement to denote such products separately from the released versions, as in our case the tests needed to verify the product hadn't been designed yet. The "B" on the other hand, simply denotes a product fit for sale.

    There are no differences between the pre-release and released silicon (provided both are C0, B0 pre-release silicon will behave differently), so this discrepancy isn't the cause of your issues here.

    Best Regards,

  • Thanks for your reply.

    I checked Rev of EVM9002 (XBCZ) is B0, and Rev of ADRV9002 on my customize board (BBCZ) is C0.

  • Hi OWatkins,

    I'm running my application with internal LO, and I use Clock Generation is  SI5344 which have Ultra-low jitter of 90 fs rms. I also don't connect external RF signal to RX port during Init Cals.
    So I think my clk source isn't clean enough and the LO isn't synchronized to the Clk is not the problem here. We will have to look elsewhere.

    Best Regards,

  • Hello TrucTran,

    It's quite likely that the Silicon revision difference between your Eval board and your Custom board is causing at least some issues. If you're deploying APIs designed for B0 to a C0 board then I would expect to see issues like this. Have you tried developing code using the latest No-OS drivers, or even the latest TES release?

    Best Regards,