来自 《ADRV9008-1-W-9008-2-W-9009-W-Hardware-Reference-Manual-UG-1295 》 PG93
下面描述ADRV9009初始化流程
芯片初始化顺序
初始化序列由API调用和特定于硬件平台的用户定义函数调用组成。API函数执行收发器配置、校准和控制等所必要的任务。用户需要根据硬件平台的要求,将其代码插入到初始化序列中。这些平台要求包括但不限于:用户时钟设备、用户FPGA/专用集成电路(ASIC)/JESD204B接口、数据路径控制以及由应用程序管理的各种系统检查。/src/example/headless.c 文件中包含的源代码提供了一个基本的初始化序列和代码注释,以帮助指导用户插入特定于应用程序的代码。
设备初始化顺序:
1,对用户应用程序所需的所有数据结构进行实例化并加载其成员。
2,初始化和设置所有时钟。(设置平台时钟以及JESD204B SYSREF 信号。)
3,初始化硬件平台(初始化FPGA/ASIC/BBIC接口等硬件相关设备)。BBIC(基带集成电路)。
4,硬件初始化。(调用 TALISE_openHw )
5,设备复位。( 调用 TALISE_resetDevice 重新设置收发器设备,为初始化做好准备 )
6,初始化设备 。( 调用 TALISE_initialize 函数用于设备的配置 )
7,检查时钟锁相环状态是否锁定 。( 调用 TALISE_getPllLockStatus 并执行用户自定义代码进行检查 )
8,多片同步。( JESD204B确定性延迟要求所必需 )
9,检查时钟锁相环状态是否锁定 。( 调用 TALISE_getPllLockStatus 并执行用户自定义代码进行检查 )
10,初始化arm 处理器 。( 调用 TALISE_initArm).
11,流处理器初始化 。( 调用 TALISE_initStreamProc )
12,加载流处理器二进制文件 。(调用 TALISE_loadStreamProcessor )
13,加载arm 二进制文件 。( 调用 TALISE_loadArmFromBinary )
14,设置RF PLL频率 。 ( 调用 TALISE_setRfPllFrequency)
15,执行RF PLL 锁定检查。( 调用 TALISE_checkPllLockStatus )
16,运行初始化校准( 调用 TALISE_runInitCals 和 TALISE_waitInitCals)
17,为设备启用SYSREF信号检测( 调用 TALISE_enableSysrefToFramer )
18,发送SYSREF信号,以打开JESD204B接口
19,检查设备JESD204B(deframer ,Framer)状态。( 调用 TALISE_readDeframerStatus 和
TALISE_readRxFramerStatus)
20,验证硬件平台的同步和链接状态。
21,启用跟踪校准。( 调用 TALISE_enableTrackingCals )
22,启动无线电。( 调用 TALISE_radioOn )
23,启动所需的发射机和接收器( 调用 TALISE_ setRxTxEnable )
系统关闭
设备关机顺序如下:
1,关闭无线电。( 调用 TALISE_radioOff )
2,将设备置于安全状态进行停机。( 调用 TALISE_shutdown )
3,关闭设备的外部硬件。( 调用 TALISE_closeHw )
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧