ADRV9009是一款高集成度射頻(RF)、捷變收發(fā)器,提供雙通道發(fā)射器和接收器、集成式頻率合成器以及數(shù)字信號處理功能。這款IC具備多樣化的高性能和低功耗組合,以滿足3G、4G和5G宏蜂窩時分雙工(TDD)基站應(yīng)用要求。
應(yīng)用
3G、4G和5G TDD宏蜂窩基站
TDD有源天線系統(tǒng)
大規(guī)模多路輸入、多路輸出(MIMO)
相控陣?yán)走_(dá)
電子戰(zhàn)
軍事通信
便攜測試設(shè)備
下面介紹ADI提供的adrv9009_API功能描述。源代碼鏈接如下:https://github.com/analogdevicesinc/no-OS/blob/master/drivers/rf-transceiver/talise/api/talise_radioctrl.h
talise_radioctrl.h
1, uint32_t TALISE_loadStreamFromBinary(taliseDevice_t *device, uint8_t *binary);描述:將二進(jìn)制數(shù)組加載到流處理器數(shù)據(jù)內(nèi)存中。限制:此函數(shù)在設(shè)備初始化并驗證PLL鎖定狀態(tài)后調(diào)用。
2, uint32_t TALISE_setArmGpioPins(taliseDevice_t *device, taliseArmGpioConfig_t *armGpio);描述:指示用于TDD引腳控制的GPIO引腳,此功能應(yīng)在radio關(guān)閉狀態(tài)下使用。限制:此函數(shù)可以在加載Talise ARM二進(jìn)制文件后調(diào)用,但在初始化期間進(jìn)入radioOn之前。
3, uint32_t TALISE_setRadioCtlPinMode(taliseDevice_t *device, uint8_t pinOptionsMask, taliseRadioCtlCfg2_t orxEnGpioPinSel);描述:設(shè)置引腳模式控制的Tx、Rx和ORx 控制位掩碼。此功能應(yīng)在radio關(guān)閉狀態(tài)下使用。限制:此函數(shù)可在設(shè)備在運行時操作期間的任何時候完全初始化后調(diào)用,但要在配置了ARM和GPIO之后。
4, uint32_t TALISE_getRadioCtlPinMode(taliseDevice_t *device, uint8_t *pinOptionsMask, taliseRadioCtlCfg2_t *orxEnGpioPinSel);描述:讀取引腳模式控制的Tx、Rx和ORx 控制位掩碼。此功能應(yīng)在radio關(guān)閉狀態(tài)下使用。限制:此函數(shù)可在設(shè)備在運行時操作期間的任何時候完全初始化后調(diào)用,但要在配置了ARM和GPIO之后。
5,uint32_t TALISE_setOrxLoCfg(taliseDevice_t *device, const taliseOrxLoCfg_t *orxLoCfg);描述:ORx LO(本機振蕩器)源(RFPLL或AuxPLL)設(shè)置。限制:這個函數(shù)應(yīng)該在加載ARM之后,但在運行初始化校準(zhǔn)之前調(diào)用。AuxLO頻率也必須在設(shè)置RFPLL頻率后,但在初始CAL之前設(shè)置。此函數(shù)可以在ARM READY(init cals之前)或Radio off狀態(tài)下調(diào)用。
6,uint32_t TALISE_getOrxLoCfg(taliseDevice_t *device, taliseOrxLoCfg_t *orxLoCfg);描述: 讀取ORx LO(本機振蕩器)源(RFPLL或AuxPLL)設(shè)置。此函數(shù)可用于讀回 TALISE_setOrxLoCfg()函數(shù)設(shè)置的 ORx LO 配置。限制:在調(diào)用TALISE_setOrxLoCfg()之后,可以隨時調(diào)用此函數(shù)。此函數(shù)可以在ARM READY(init cals(初始化校準(zhǔn))之前)或Radio off狀態(tài)下調(diào)用。
7,uint32_t TALISE_radioOn(taliseDevice_t *device);描述:指示ARM處理器將無線電狀態(tài)移到打開狀態(tài)。當(dāng)ARM處于無線電打開狀態(tài)時,啟用的Rx和Tx信號鏈將通電,ARM跟蹤校準(zhǔn)將開始。要將此狀態(tài)退出到低功耗脫機狀態(tài),請調(diào)用TALISE_radioOff()函數(shù)。限制:此函數(shù)在設(shè)備初始化完成、所有PLL配置并鎖定、多芯片同步(MCS)完成、JESD204B鏈路配置并可運行之后調(diào)用。
8,uint32_t TALISE_radioOff(taliseDevice_t *device);描述:指示ARM處理器將無線電狀態(tài)移到關(guān)閉狀態(tài)。當(dāng)ARM從Radio On狀態(tài)移動到Radio Off(Idle)時,ARM跟蹤校準(zhǔn)停止,TxEnable/RxEnable等GPIO控制引腳將被忽略。這還將保持接收和發(fā)送鏈的電源關(guān)閉,直到再次調(diào)用TALISE_radioOn()函數(shù)。限制:這個函數(shù)可以在TALISE_radioOn被調(diào)用前的任何時間調(diào)用。
9,uint32_t TALISE_getRadioState(taliseDevice_t *device, uint32_t *radioStatus);描述:讀取當(dāng)前ARM的無線電狀態(tài)。目前,radioStatus只返回低8位的數(shù)據(jù),但定義為32位狀態(tài)字,以允許將來擴展位字段。限制:此函數(shù)可在設(shè)備完全初始化后隨時調(diào)用。
10,uint32_t TALISE_setRxTxEnable(taliseDevice_t *device, taliseRxORxChannels_t rxOrxChannel, taliseTxChannels_t txChannel);描述:此API將收發(fā)器中Rx/ORx/Tx信道設(shè)置啟用或禁用。限制:此函數(shù)可在進(jìn)入radioOn后調(diào)用。在radioOff期間,所有發(fā)射和接收鏈都被強制關(guān)閉。
11,uint32_t TALISE_getRxTxEnable(taliseDevice_t *device, taliseRxORxChannels_t *rxOrxChannel, taliseTxChannels_t *txChannel);描述:這個API讀回收發(fā)器中通電的Rx/ORx/Tx信道。限制:此函數(shù)可在進(jìn)入radioOn后調(diào)用。在radioOff期間,所有發(fā)射和接收鏈都被強制關(guān)閉。
12,uint32_t TALISE_setTxToOrxMapping(taliseDevice_t *device, uint8_t txCalEnable, taliseTxToOrxMapping_t oRx1Map, taliseTxToOrxMapping_t oRx2Map);描述:設(shè)置外部LOL初始化校準(zhǔn)和跟蹤校準(zhǔn)的Tx到ORx外部信號路由。限制:此函數(shù)可在ARM初始化和加載后調(diào)用。但是,在初始化校準(zhǔn)運行之前,因為這同時用于外部LOL初始化和跟蹤校準(zhǔn)。
13,uint32_t TALISE_setRfPllFrequency(taliseDevice_t *device, taliseRfPllName_t pllName, uint64_t rfPllLoFrequency_Hz);描述:設(shè)置RF PLL本機振蕩器(LO)頻率(RF載波頻率)。限制:此函數(shù)可以在ARM初始化后調(diào)用,并且設(shè)備必須處于radioOff狀態(tài)。
14,uint32_t TALISE_getRfPllFrequency(taliseDevice_t *device, taliseRfPllName_t pllName, uint64_t *rfPllLoFrequency_Hz);描述:獲取PLL本機振蕩器(LO)頻率(RF載波頻率)。此函數(shù)用于獲取鎖相環(huán)的當(dāng)前頻率。為期望的PLL頻率傳遞一個taliserfllname_t枚舉類型,以讀?。篟F_PLL、AUX_PLL或CLK_PLL。限制:此功能可在設(shè)備初始化和配置PLL后使用。對于AUX U PLL或RF U PLL,ARM固件也必須加載并運行以讀取PLL頻率。
15,uint32_t TALISE_getPllsLockStatus(taliseDevice_t *device, uint8_t *pllLockStatus);描述:檢查PLL是否鎖定。此函數(shù)通過pllLockStatus指針返回Talise PLLs的狀態(tài)。pllLockStatus下uint8 UT值的3個LSB代表CLK PLL、RF PLL和AUX PLL的鎖定狀態(tài)。限制:此函數(shù)可以在PLL配置和運行后的任何時候調(diào)用。
16,uint32_t TALISE_setRfPllLoopFilter(taliseDevice_t *device, uint16_t loopBandwidth_kHz, uint8_t stability);描述:設(shè)置射頻鎖相環(huán)濾波器的配置。此函數(shù)已棄用,應(yīng)改用TALISE_setPllLoopFilter,因為它允許設(shè)置RF或Aux PLL環(huán)路濾波器設(shè)置。限制:他的函數(shù)可以在ARM初始化后調(diào)用,并且設(shè)備必須處于radioOff狀態(tài)。此功能后必須有TALISE_setRfPllFrequency函數(shù),以便使用新配置設(shè)置RF PLL。
17,uint32_t TALISE_getRfPllLoopFilter(taliseDevice_t *device, uint16_t *loopBandwidth_kHz, uint8_t *stability);描述:獲取RF PLL環(huán)路濾波器的配置。此函數(shù)已棄用。應(yīng)改用 TALISE_getPllLoopFilter,因為它允許讀取RF或Aux PLL環(huán)路濾波器設(shè)置。限制:此功能可在設(shè)備初始化和配置RF_PLL后使用。ARM固件也必須加載并運行。
18,uint32_t TALISE_setPllLoopFilter(taliseDevice_t *device, taliseRfPllName_t pllName, uint16_t loopBandwidth_kHz, uint8_t stability);描述:設(shè)置RFPLL或AuxPLL的環(huán)路濾波器帶寬限制:此函數(shù)可以在ARM初始化后調(diào)用,并且設(shè)備必須處于radioOff狀態(tài)。此功能之后必須為所選PLL設(shè)置TALISE_setRfPllFrequency函數(shù),以使用新的環(huán)路濾波器設(shè)置設(shè)置PLL。
19, uint32_t TALISE_getPllLoopFilter(taliseDevice_t *device, taliseRfPllName_t pllName, uint16_t *loopBandwidth_kHz, uint8_t *stability);描述:獲取RFPLL或Aux PLL循環(huán)篩選器的循環(huán)篩選器設(shè)置。限制:該功能可在設(shè)備初始化并配置所需的鎖相環(huán)后使用。ARM固件也必須加載并運行。
20,uint32_t TALISE_setOrxLoSource(taliseDevice_t *device, taliseObsRxLoSource_t orxLoSource);描述:設(shè)置ORx LO(本機振蕩器)源(RF PLL或Aux PLL)。注:此功能將ORx的本振源設(shè)置為RF PLL或Aux PLL,但在ORx上升沿接通ORx信道之前,該設(shè)置才生效。如果在ORx通電時改變LO源,則LO源在ORx被禁用并重新啟用之前不會生效。這是有效的,當(dāng)使用引腳設(shè)置本振源和控制時,也啟用了ORx。限制:此函數(shù)可在設(shè)備完全初始化且初始化校準(zhǔn)已運行后使用。這只能在radio Off狀態(tài)下調(diào)用。
21,uint32_t TALISE_getOrxLoSource(taliseDevice_t *device, taliseObsRxLoSource_t *orx1LoSource, taliseObsRxLoSource_t *orx2LoSource);描述:獲取ORx LO(本機振蕩器)源(RF PLL或Aux PLL)限制:此函數(shù)可在設(shè)備完全初始化且初始化CAL已運行后使用。這可以在radio Off 或 On 狀態(tài)下調(diào)用。
22,uint32_t TALISE_setFhmConfig(taliseDevice_t *device, taliseFhmConfig_t *fhmConfig);描述:此功能配置跳頻觸發(fā)GPIO輸入到ARM和跳頻范圍。FHM觸發(fā)器GPIO引腳、跳頻最小頻率和跳頻最大頻率由該功能配置。FHM(frequency hopping mode ,調(diào)頻模式)。限制:此功能可在設(shè)備完全初始化和ARM處理器初始化后使用。此函數(shù)只能在radio Off狀態(tài)下調(diào)用。
23,uint32_t TALISE_getFhmConfig(taliseDevice_t *device, taliseFhmConfig_t *fhmConfig);描述:此函數(shù)用于檢索當(dāng)前FHM設(shè)置。FHM(frequency hopping mode ,調(diào)頻模式)。此功能讀回跳頻觸發(fā)GPIO引腳、跳頻最小頻率和跳頻最大頻率。限制:無。
24,uint32_t TALISE_setFhmMode(taliseDevice_t *device, taliseFhmMode_t *fhmMode);描述:此功能設(shè)置跳頻模式。限制:此函數(shù)可在設(shè)備完全初始化、ARM處理器初始化并調(diào)用TALISE_setFhmConfig()之后使用。此函數(shù)只能在radio Off狀態(tài)下調(diào)用。
25,uint32_t TALISE_getFhmMode(taliseDevice_t *device, taliseFhmMode_t *fhmMode);描述:此函數(shù)用于檢索跳頻的當(dāng)前FHM模式設(shè)置。此功能可用于讀取當(dāng)前FHM配置(FHM啟用/禁用、MCS同步和退出模式設(shè)置的當(dāng)前狀態(tài))。限制:無。
26,uint32_t TALISE_setFhmHop(taliseDevice_t *device, uint64_t nextRfPllFrequency_Hz);描述:此函數(shù)設(shè)置下一個RF PLL低跳頻率,并在非gpio模式下向ARM發(fā)送跳到下一個頻率的命令。限制:此函數(shù)可在設(shè)備完全初始化、ARM處理器初始化、FHM配置通過TALISE_setFhmConfig()API設(shè)置、FHM模式通過TALISE_setFhmMode()API設(shè)置后調(diào)用。此API只能在Radio ON狀態(tài)下調(diào)用。
27,uint32_t TALISE_getFhmRfPllFrequency(taliseDevice_t *device, uint64_t *fhmRfPllFrequency_Hz);描述:此功能允許用戶在跳頻模式下讀回當(dāng)前射頻鎖相環(huán)頻率。限制:無。
28,uint32_t TALISE_getFhmStatus(taliseDevice_t *device, taliseFhmStatus_t *fhmStatus);描述:此函數(shù)返回當(dāng)前FHM狀態(tài)。此功能可用于讀取當(dāng)前FHM狀態(tài)。狀態(tài)字段的詳細(xì)說明請參見taliseFhmStatus結(jié)構(gòu)定義。限制:無。
29,uint32_t TALISE_setExtLoOutCfg(taliseDevice_t *device, uint8_t enableExtLoOutput, taliseExtLoDiv_t extLoOutDivide);描述:此功能啟用/禁用外部LO輸出并設(shè)置外部LO輸出分配器。限制:無。
30,uint32_t TALISE_getExtLoOutCfg(taliseDevice_t *device, uint8_t *enableExtLoOutput, taliseExtLoDiv_t *extLoOutDivide);描述:此功能讀回外部LO輸出和外部LO輸出分配器設(shè)置的啟用狀態(tài)。限制:無。
原文標(biāo)題:ADRV9009_API功能描述
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
收發(fā)器
+關(guān)注
關(guān)注
10文章
3428瀏覽量
106002 -
射頻
+關(guān)注
關(guān)注
104文章
5585瀏覽量
167745 -
數(shù)字信號
+關(guān)注
關(guān)注
2文章
970瀏覽量
47550 -
5G
+關(guān)注
關(guān)注
1354文章
48454瀏覽量
564243
原文標(biāo)題:ADRV9009_API功能描述
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論