CPRI 是無(wú)線通信里的一個(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)行可以通過(guò)計(jì)算獲得,供上層應(yīng)用使用。因此,可以讓 Master 有一個(gè)參考時(shí)鐘使用,而 Slave 則利用 GT 從串行數(shù)據(jù)中恢復(fù)出來(lái)的時(shí)鐘,經(jīng)過(guò)外部一個(gè) Cleanup 的 PLL,產(chǎn)生參考時(shí)鐘送回來(lái),供 Slave 參考使用。這樣,兩端就能同源了。
注意,由于 AMD 的 GT 模塊限制,這里外部需要提供一個(gè),在還沒(méi)有恢復(fù)鐘送到,就能自主產(chǎn)生相同頻率(但有 ppm 差異)時(shí)鐘的 PLL;等到 Slave 收到數(shù)據(jù),同步并產(chǎn)生恢復(fù)時(shí)鐘后,外部的這個(gè) PLL 也能將頻率漸漸對(duì)齊到恢復(fù)時(shí)鐘(即對(duì)端 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 物理層通道。
接下來(lái),分析 CPRI 的數(shù)據(jù)幀格式,以幫助我們進(jìn)一步了解這些不同類型的數(shù)據(jù),是如何共同復(fù)用 CPRI 通道的。
無(wú)線通信中,UTRA-FDD 的 Chip Rate 為 3.84MHz(fc)。因此在 CPRI 的協(xié)議中,一個(gè)基本幀(Basic Frame)的時(shí)間長(zhǎng)度就是 1/fc=260.416667ns。
那么,CPRI 的基本幀的結(jié)構(gòu)就如下圖所示,如果是614.4Mbps 的 CPRI 應(yīng)用,那 Y 就只會(huì)等于 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è)完整的無(wú)線幀,其中由150 個(gè)超幀(hyperframe)組成,每個(gè)超幀又由 256 個(gè)上面的基本幀組成。
之前已經(jīng)提到過(guò),每個(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è)控制字,會(huì)在協(xié)議通信,對(duì)照信息的時(shí)候,都有各自不同的用途定義。
于是,我們結(jié)合 AMDIP,看下 CPRI 是如何收發(fā)數(shù)的。由于 CPRI 是一個(gè)完全同步的系統(tǒng),用戶在使用 CPRI IP 的時(shí)候,需要主動(dòng)每隔 10ms,給 IP 一個(gè) nodebfn_tx_strobe 輸入。IP 會(huì)根據(jù)用戶此輸入,對(duì)應(yīng)每隔一個(gè)基本幀的時(shí)間,給出一個(gè) iq_tx_enable 輸出。
基本幀的開(kāi)頭幾個(gè) bytes 為 control words,來(lái)自于各個(gè)對(duì)應(yīng)控制數(shù)據(jù)接口;用戶不用在 IQ 數(shù)據(jù)接口(iq_tx,iq_rx)管這幾個(gè)數(shù),后面則是正常的 IQ 數(shù)據(jù)收發(fā)。
了解了 CPRI 的數(shù)據(jù)業(yè)務(wù)如何使用之后,再來(lái)看下 CPRI 的初始化流程。CPRI IP 支持自協(xié)商,根據(jù)用戶選擇的 IP 的可支持速率,從高到低依次下降,與對(duì)方互通,直到通信成功為止。
初始化狀態(tài)機(jī)的運(yùn)行可以觀察 IP 的 stat_code[3:0] 輸出信號(hào)。該狀態(tài)機(jī)參考 CPRI 協(xié)議設(shè)計(jì),如下。因此其具體細(xì)節(jié),建議直接參照 CPRI 協(xié)議。例如,如果初始化狀態(tài)機(jī)卡在狀態(tài) B 不前進(jìn),那意味著此時(shí) IP 無(wú)法實(shí)現(xiàn)與對(duì)端任何通信,可能是 GT 初始化有問(wèn)題,或者 link 沒(méi)有成功,可以先做下近端環(huán)回實(shí)驗(yàn)。注意,如果這是一個(gè) Slave 的 CPRI IP,需要先使能 Slave Transmit Enable,再做環(huán)回?;蛘呖ㄔ跔顟B(tài) C 的話,按照 CPRI 協(xié)議,是 Protocol Setup 兩邊沒(méi)有對(duì)應(yīng)上,需要檢查 IP 的相關(guān)設(shè)置,或者看下兩邊收發(fā)的 Z.2.0 這個(gè)數(shù)是否是相一致。
最終,這個(gè) stat_code 狀態(tài)走到 F 或者 G,IP 達(dá)到了 link 狀態(tài),可以開(kāi)始進(jìn)行正常的業(yè)務(wù)數(shù)據(jù)收發(fā)工作了。
審核編輯:湯梓紅
-
amd
+關(guān)注
關(guān)注
25文章
5503瀏覽量
134677 -
無(wú)線通信
+關(guān)注
關(guān)注
58文章
4607瀏覽量
143926 -
pll
+關(guān)注
關(guān)注
6文章
781瀏覽量
135339 -
CPRI
+關(guān)注
關(guān)注
1文章
10瀏覽量
8778 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
47瀏覽量
6787
原文標(biāo)題:開(kāi)發(fā)者分享|CPRI 的數(shù)據(jù)幀結(jié)構(gòu)與初始化流程
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
labview順序結(jié)構(gòu)中的初始化問(wèn)題
STM32F1 EXTI初始化流程
NVIC初始化流程是怎樣的
基本定時(shí)器定時(shí)初始化流程
USART初始化流程是怎樣的
USART初始化結(jié)構(gòu)體詳解
基于SQL的數(shù)據(jù)庫(kù)初始化通用方法
LCD1602初始化流程圖及程序的兩種方法
![LCD1602<b class='flag-5'>初始化</b><b class='flag-5'>流程</b>圖及程序的兩種方法](https://file1.elecfans.com//web2/M00/A6/93/wKgZomUMPs-AcKj3AAAdFoQdjFY091.jpg)
stm32初始化流程圖解析
![stm32<b class='flag-5'>初始化</b><b class='flag-5'>流程</b>圖解析](https://file1.elecfans.com//web2/M00/A6/E7/wKgZomUMQSmAQL2AAAAZJVsDhAw364.jpg)
基于深度學(xué)習(xí)的人臉跟蹤自動(dòng)初始化首幀方法
![基于深度學(xué)習(xí)的人臉跟蹤自動(dòng)<b class='flag-5'>初始化</b>首<b class='flag-5'>幀</b>方法](https://file.elecfans.com/web2/M00/49/60/poYBAGKhwKmAZYeNAAAaHnYx7EY029.jpg)
8251a有幾個(gè)端口地址_對(duì)8251a進(jìn)行初始化及流程
![8251a有幾個(gè)端口地址_對(duì)8251a進(jìn)行<b class='flag-5'>初始化</b>及<b class='flag-5'>流程</b>](https://file.elecfans.com/web1/M00/51/5B/pIYBAFsFGymAa1hXAACa08dgIng458.jpg)
uboot中進(jìn)行LCD初始化的流程免費(fèi)下載
![uboot中進(jìn)行LCD<b class='flag-5'>初始化</b>的<b class='flag-5'>流程</b>免費(fèi)下載](https://file.elecfans.com/web1/M00/A3/04/pIYBAF1Q3LeAE5h3AASABb-PG_s629.png)
eMMC初始化命令發(fā)送流程
![eMMC<b class='flag-5'>初始化</b>命令發(fā)送<b class='flag-5'>流程</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RT-Thread全球技術(shù)大會(huì):如何使用組件以及自動(dòng)初始化流程
![RT-Thread全球技術(shù)大會(huì):如何使用組件以及自動(dòng)<b class='flag-5'>初始化</b><b class='flag-5'>流程</b>](https://file.elecfans.com/web2/M00/46/1A/pYYBAGKQed2AH6QFAAKVXI7vxHQ932.png)
評(píng)論