AD9026芯片开发实录3-初始化介绍

ARM PROCESSOR AND DEVICE CALIBRATIONS

  9026有一个内置M4 arm核,开机初始化的时候将固件烧录进去。

  arm用来1.配置设备,2.intial calibration,3.track calibration。

ARM STATE MACHINE OVERVIEW

  state 0:上电,烧录程序,启动。

  state 1 : ready状态,可以接受指令,进行工作。

SYSTEM INITIALIZATION

  系统初始化有三个主要过程,pre MCS,MCS,post MCS

  pre MCS又分成了两个api,

    adi_adrv9025_PreMcsInit_v2(…)广播命令,同时烧录多片子,节省时间,所以只write。

    adi_adrv9025_PreMcsInit_NonBroadCast(…),校验片子内部固件校验和,和arm state machine。

  MCS

    用SYSREF clk 同步片子clk 和 主控,就是jesd,用来保证时序。

  post MSC

    adi_adrv9025_PostMcsInit(…),配置PLLs,配置 radio control initialization structure,开始intial calibration

PRE MCS INITIALIZATION

  adi_adrv9025_PreMcsInit_v2在adi_adrv9025_utilities.c/h  定义,

    adi_adrv9025_ArmImageLoad(device, armImagePath)烧录片子arm,arm固件在Resources/ArmFiles

    adi_adrv9025_ArmProfileWrite(adi_adrv9025_Device_t *device, const adi_adrv9025_Init_t *init),把配置写进片子

    adi_adrv9025_ArmStart(adi_adrv9025_Device_t *device, const adi_adrv9025_Init_t *init),

      配置profiles,配置PLLs,配置jesd framer deframer。计算固件校验和

    adi_adrv9025_ArmStartStatusCheck(adi_adrv9025_Device_t *device, uint32_t timeout_us)

POST MCS INITIALIZATION

  配置radio,开始 intial calibration,启动jesd link。之后track calibration,启动radio path。

 

DEVICE CALIBRATIONS

  两种calibration,initial 和 track。initial在初始开机,和修改lo频率。

  calib主要用内部orx回环tx,除了外部lol初始化,和dpd。

  orx必须和tx在同一边。

INITIAL CALIBRATIONS

  adi_adrv9025_PostMcsInit(adi_adrv9025_Device_t *device, adi_adrv9025_PostMcsInit_t *utilityInit)

  utilityInit  包含cal的参数

  有时候在非上电时候也要calib,调用:

  adi_adrv9025_InitCalsRun(adi_adrv9025_Device_t *device, adi_adrv9025_InitCals_t *initCals)

  *initCals 是cal的配置参数,确定哪种cal要执行,在哪个path上执行。

 

  initcal 是乱序执行,等待完成:

  adi_adrv9025_InitCalsWait(adi_adrv9025_Device_t *device, uint32_t timeoutMs, uint8_t *errorFlag)

SYSTEM CONSIDERATIONS FOR INITIAL CALIBRATIONS

  不需要user input

  pa off 除了外部lol初始化。 rx input关闭,rx qec时候。

 

STREAM PROCESSOR AND SYSTEM CONTROL

  流处理器用来处理event的。设备初始化会配置这些event的handle。优先级高于内部arm。

  主要还是控制tx rx orx的通断作用。配置需要每次更新。

  有11个处理器,分为slice和core两种。

SLICE STREAM PROCESSORS

  10个slice 4tx 4rx 2orx,各管各

Core Stream Processor

  啥都管

SYSTEM CONTROL

  信号path可以通过spi和gpio管控。一个不可控,一个实时。

 

SYNTHESIZER CONFIGURATION

  4个PLL,clock,2RF,auxiliary。

  6.5-13 clk和aux,6.4-12.8 RF

CONNECTIONS FOR EXTERNAL REFERENCE CLOCK (DEVCLK)

  devclk 从10M到1G 50mv-1v

CLOCK SYNTHESIZER 

  设备运行clock,基本不需要修改,默认即可。配置在ADRVTRX TES

  high speed digital clock,

  Rx ADC sample and interface clocks,

  ORx ADC sample and interface clocks,

  and Tx DAC sample and interface clocks

 

RF SYNTHESIZER

  查表

  rerun the init cals when crossing a divide by 2 boundary or when changing the LO frequency by ±100 MHz or more

  rflo1和rflo2不要同频,会有耦合,必须一样,可以关闭一个。

 

AUXILIARY SYNTHESIZER 

  主要用来calib。由arm控制,不需要管。

 

SERIALIZER/DESERIALIZER (SERDES) INTERFACE

  jesd204b/c 16.22Gbps,需要外部的 device clk和SYSREF,sysref用来同步。

  注意,arm init calib 需要在jesd建立连接之前执行。建链之后要检测fifo深度。

 

CLOCK DISTRIBUTION 

  允许 serdes pll 或者 clock pll做时钟源。都有预定义的配置。

 

RECEIVER (ADC) DATAPATH

  3个framer,4个lanes,内部信号发生器用来调试。数据路由灵活,可隔离,可TDD共享。

  传输和链路层在framer里面实现。有20个逻辑adc,可任意路由到framer。

  framer有独立的sync,所以相互不干扰。每个framer可以配置不同速率,但是高速是低速的二次米。

  两种方法,实现同速率通信,famer 输入端过采样,framer输出端repeat

 

TRANSMITTER (DAC) DATAPATH 

  2个deframer 4lanes 25G

原文链接:https://blog.csdn.net/jun7118/article/details/107365261

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值