CPRI 是無線通信里的一個(gè)標(biāo)準(zhǔn)協(xié)議,連接 REC 和 RE 的通信。AMD有提供 CPRI IP 核。區(qū)別于其它通信協(xié)議,如以太網(wǎng)等,CPRI 是一個(gè)同步系統(tǒng)。
這就意味著兩端的 Master 和 Slave 應(yīng)當(dāng)是同源時(shí)鐘的,兩邊不存在頻差,并且內(nèi)部延時(shí)也都是固定的,每次運(yùn)行可以通過計(jì)算獲得,供上層應(yīng)用使用。因此,可以讓 Master 有一個(gè)參考時(shí)鐘使用,而 Slave 則利用 GT 從串行數(shù)據(jù)中恢復(fù)出來的時(shí)鐘,經(jīng)過外部一個(gè) Cleanup 的 PLL,產(chǎn)生參考時(shí)鐘送回來,供 Slave 參考使用。這樣,兩端就能同源了。
注意,由于 AMD 的 GT 模塊限制,這里外部需要提供一個(gè),在還沒有恢復(fù)鐘送到,就能自主產(chǎn)生相同頻率(但有 ppm 差異)時(shí)鐘的 PLL;等到 Slave 收到數(shù)據(jù),同步并產(chǎn)生恢復(fù)時(shí)鐘后,外部的這個(gè) PLL 也能將頻率漸漸對齊到恢復(fù)時(shí)鐘(即對端 Master 真正頻率上面),最終實(shí)現(xiàn)整個(gè)同步系統(tǒng)。

CPRI 的內(nèi)部結(jié)構(gòu)如下圖所示。CPRI 數(shù)據(jù),主要指的是 IQ 數(shù)據(jù)通道,另外還有控制數(shù)據(jù),包括 Vendor Specific,Slow C&M(即 HDLC 數(shù)),F(xiàn)ast C&M(即 Ethernet 數(shù)),這些數(shù)據(jù)共同分享 CPRI 物理層通道。
接下來,分析 CPRI 的數(shù)據(jù)幀格式,以幫助我們進(jìn)一步了解這些不同類型的數(shù)據(jù),是如何共同復(fù)用 CPRI 通道的。

無線通信中,UTRA-FDD 的 Chip Rate 為 3.84MHz(fc)。因此在 CPRI 的協(xié)議中,一個(gè)基本幀(Basic Frame)的時(shí)間長度就是 1/fc=260.416667ns。
那么,CPRI 的基本幀的結(jié)構(gòu)就如下圖所示,如果是614.4Mbps 的 CPRI 應(yīng)用,那 Y 就只會等于 0,數(shù)據(jù)為 Z.X.0 打頭,有 16 個(gè) bytes 數(shù)組成,第 1 個(gè) byte 一般做控制用,后 15 個(gè) bytes 就是 IQ 數(shù)據(jù)。
如果是 2457.5Mbps 的 CPRI 應(yīng)用,帶寬更大,Y 就可以為 0,1,2,3,按照下圖所展示的發(fā)送順序發(fā)數(shù),一個(gè)基本幀里有 Z.X.0,Z.X.1,Z.X.2,Z.X.3,四個(gè)控制字,和 60 個(gè) bytes 的 IQ 數(shù)據(jù)。

進(jìn)一步,CPRI 每隔 10ms 是一個(gè)完整的無線幀,其中由150 個(gè)超幀(hyperframe)組成,每個(gè)超幀又由 256 個(gè)上面的基本幀組成。

之前已經(jīng)提到過,每個(gè)基本幀的第 1 個(gè) byte 一般做控制用;下圖就展示了一個(gè)超幀,里面含有 256 個(gè)基本幀,這樣一個(gè)超幀里就有 256 個(gè) bytes 可作控制用途,非 IQ 數(shù)據(jù)的 Control Words。
并且,由圖里的位置,可以看到每個(gè) control words 的用途,如 Z.0.0 是用作同步的幀頭數(shù)據(jù);Z.1.0 作為 Slow C&M,也就是 HDLC 數(shù)據(jù)用;而 Z.2.0,Z.66.0,Z.130.0,Z.194.0 這一排四個(gè)控制字,會在協(xié)議通信,對照信息的時(shí)候,都有各自不同的用途定義。

于是,我們結(jié)合 AMDIP,看下 CPRI 是如何收發(fā)數(shù)的。由于 CPRI 是一個(gè)完全同步的系統(tǒng),用戶在使用 CPRI IP 的時(shí)候,需要主動每隔 10ms,給 IP 一個(gè) nodebfn_tx_strobe 輸入。IP 會根據(jù)用戶此輸入,對應(yīng)每隔一個(gè)基本幀的時(shí)間,給出一個(gè) iq_tx_enable 輸出。
基本幀的開頭幾個(gè) bytes 為 control words,來自于各個(gè)對應(yīng)控制數(shù)據(jù)接口;用戶不用在 IQ 數(shù)據(jù)接口(iq_tx,iq_rx)管這幾個(gè)數(shù),后面則是正常的 IQ 數(shù)據(jù)收發(fā)。

了解了 CPRI 的數(shù)據(jù)業(yè)務(wù)如何使用之后,再來看下 CPRI 的初始化流程。CPRI IP 支持自協(xié)商,根據(jù)用戶選擇的 IP 的可支持速率,從高到低依次下降,與對方互通,直到通信成功為止。
初始化狀態(tài)機(jī)的運(yùn)行可以觀察 IP 的 stat_code[3:0] 輸出信號。該狀態(tài)機(jī)參考 CPRI 協(xié)議設(shè)計(jì),如下。因此其具體細(xì)節(jié),建議直接參照 CPRI 協(xié)議。例如,如果初始化狀態(tài)機(jī)卡在狀態(tài) B 不前進(jìn),那意味著此時(shí) IP 無法實(shí)現(xiàn)與對端任何通信,可能是 GT 初始化有問題,或者 link 沒有成功,可以先做下近端環(huán)回實(shí)驗(yàn)。注意,如果這是一個(gè) Slave 的 CPRI IP,需要先使能 Slave Transmit Enable,再做環(huán)回?;蛘呖ㄔ跔顟B(tài) C 的話,按照 CPRI 協(xié)議,是 Protocol Setup 兩邊沒有對應(yīng)上,需要檢查 IP 的相關(guān)設(shè)置,或者看下兩邊收發(fā)的 Z.2.0 這個(gè)數(shù)是否是相一致。
最終,這個(gè) stat_code 狀態(tài)走到 F 或者 G,IP 達(dá)到了 link 狀態(tài),可以開始進(jìn)行正常的業(yè)務(wù)數(shù)據(jù)收發(fā)工作了。

審核編輯:湯梓紅
-
amd
+關(guān)注
關(guān)注
25文章
5683瀏覽量
139945 -
無線通信
+關(guān)注
關(guān)注
58文章
4987瀏覽量
146882 -
pll
+關(guān)注
關(guān)注
6文章
981瀏覽量
138165 -
CPRI
+關(guān)注
關(guān)注
1文章
12瀏覽量
9176 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
49瀏覽量
7108
原文標(biāo)題:開發(fā)者分享|CPRI 的數(shù)據(jù)幀結(jié)構(gòu)與初始化流程
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
定義IO初始化結(jié)構(gòu)體
labview順序結(jié)構(gòu)中的初始化問題
NVIC初始化流程是怎樣的
基本定時(shí)器定時(shí)初始化流程
USART初始化流程是怎樣的
USART初始化結(jié)構(gòu)體詳解
LCD1602初始化流程圖及程序的兩種方法
stm32初始化流程圖解析
基于深度學(xué)習(xí)的人臉跟蹤自動初始化首幀方法
8251a有幾個(gè)端口地址_對8251a進(jìn)行初始化及流程
uboot中進(jìn)行LCD初始化的流程免費(fèi)下載
eMMC初始化命令發(fā)送流程
GraniStudio:初始化例程
CPRI的數(shù)據(jù)幀結(jié)構(gòu)與初始化流程
評論