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