CPRI 是無線通信里的一個標準協議,連接 REC 和 RE 的通信。AMD有提供 CPRI IP 核。區別于其它通信協議,如以太網等,CPRI 是一個同步系統。
這就意味著兩端的 Master 和 Slave 應當是同源時鐘的,兩邊不存在頻差,并且內部延時也都是固定的,每次運行可以通過計算獲得,供上層應用使用。因此,可以讓 Master 有一個參考時鐘使用,而 Slave 則利用 GT 從串行數據中恢復出來的時鐘,經過外部一個 Cleanup 的 PLL,產生參考時鐘送回來,供 Slave 參考使用。這樣,兩端就能同源了。
注意,由于 AMD 的 GT 模塊限制,這里外部需要提供一個,在還沒有恢復鐘送到,就能自主產生相同頻率(但有 ppm 差異)時鐘的 PLL;等到 Slave 收到數據,同步并產生恢復時鐘后,外部的這個 PLL 也能將頻率漸漸對齊到恢復時鐘(即對端 Master 真正頻率上面),最終實現整個同步系統。
CPRI 的內部結構如下圖所示。CPRI 數據,主要指的是 IQ 數據通道,另外還有控制數據,包括 Vendor Specific,Slow C&M(即 HDLC 數),Fast C&M(即 Ethernet 數),這些數據共同分享 CPRI 物理層通道。
接下來,分析 CPRI 的數據幀格式,以幫助我們進一步了解這些不同類型的數據,是如何共同復用 CPRI 通道的。
無線通信中,UTRA-FDD 的 Chip Rate 為 3.84MHz(fc)。因此在 CPRI 的協議中,一個基本幀(Basic Frame)的時間長度就是 1/fc=260.416667ns。
那么,CPRI 的基本幀的結構就如下圖所示,如果是614.4Mbps 的 CPRI 應用,那 Y 就只會等于 0,數據為 Z.X.0 打頭,有 16 個 bytes 數組成,第 1 個 byte 一般做控制用,后 15 個 bytes 就是 IQ 數據。
如果是 2457.5Mbps 的 CPRI 應用,帶寬更大,Y 就可以為 0,1,2,3,按照下圖所展示的發送順序發數,一個基本幀里有 Z.X.0,Z.X.1,Z.X.2,Z.X.3,四個控制字,和 60 個 bytes 的 IQ 數據。
進一步,CPRI 每隔 10ms 是一個完整的無線幀,其中由150 個超幀(hyperframe)組成,每個超幀又由 256 個上面的基本幀組成。
之前已經提到過,每個基本幀的第 1 個 byte 一般做控制用;下圖就展示了一個超幀,里面含有 256 個基本幀,這樣一個超幀里就有 256 個 bytes 可作控制用途,非 IQ 數據的 Control Words。
并且,由圖里的位置,可以看到每個 control words 的用途,如 Z.0.0 是用作同步的幀頭數據;Z.1.0 作為 Slow C&M,也就是 HDLC 數據用;而 Z.2.0,Z.66.0,Z.130.0,Z.194.0 這一排四個控制字,會在協議通信,對照信息的時候,都有各自不同的用途定義。
于是,我們結合 AMDIP,看下 CPRI 是如何收發數的。由于 CPRI 是一個完全同步的系統,用戶在使用 CPRI IP 的時候,需要主動每隔 10ms,給 IP 一個 nodebfn_tx_strobe 輸入。IP 會根據用戶此輸入,對應每隔一個基本幀的時間,給出一個 iq_tx_enable 輸出。
基本幀的開頭幾個 bytes 為 control words,來自于各個對應控制數據接口;用戶不用在 IQ 數據接口(iq_tx,iq_rx)管這幾個數,后面則是正常的 IQ 數據收發。
了解了 CPRI 的數據業務如何使用之后,再來看下 CPRI 的初始化流程。CPRI IP 支持自協商,根據用戶選擇的 IP 的可支持速率,從高到低依次下降,與對方互通,直到通信成功為止。
初始化狀態機的運行可以觀察 IP 的 stat_code[3:0] 輸出信號。該狀態機參考 CPRI 協議設計,如下。因此其具體細節,建議直接參照 CPRI 協議。例如,如果初始化狀態機卡在狀態 B 不前進,那意味著此時 IP 無法實現與對端任何通信,可能是 GT 初始化有問題,或者 link 沒有成功,可以先做下近端環回實驗。注意,如果這是一個 Slave 的 CPRI IP,需要先使能 Slave Transmit Enable,再做環回。或者卡在狀態 C 的話,按照 CPRI 協議,是 Protocol Setup 兩邊沒有對應上,需要檢查 IP 的相關設置,或者看下兩邊收發的 Z.2.0 這個數是否是相一致。
最終,這個 stat_code 狀態走到 F 或者 G,IP 達到了 link 狀態,可以開始進行正常的業務數據收發工作了。
審核編輯:湯梓紅
-
amd
+關注
關注
25文章
5475瀏覽量
134282 -
無線通信
+關注
關注
58文章
4586瀏覽量
143633 -
pll
+關注
關注
6文章
777瀏覽量
135203 -
CPRI
+關注
關注
1文章
10瀏覽量
8752 -
數據幀
+關注
關注
0文章
47瀏覽量
6755
原文標題:開發者分享|CPRI 的數據幀結構與初始化流程
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論