由于項目需要,小編使用Aurora核對數據進行光纖傳輸,這篇文章主要介紹如何生成Aurora核、仿真上板測試。
一、Aurora IP建立
第一步
1》lane Width:用戶數據接口 4(32bit) 2(16bit)
2》Line Rate:3Gbps 假設圖像數據為1280x1024 @60 RGB(24bit),那么 1280 pixels/row x 1024 rows x 8bits/element gray scale x 3 elements/pixel x60 Hz refresh x 1.25 8b/10b x 1.05 (typical FC-AV protocol overhead) is approximately equal to 2.5 Gbps.
3》GT Refclk:200(此處查看板子原理圖即可)
4》INIT clk:100MHz
5》DRP clk:100MHz
上述兩個時鐘在參考范圍內設置相同即可,本頁其他選項如圖設置即可 。
第二步
選擇高速串行通道的位置,默認即可 。
第三步
默認即可。
二、仿真測試
在Vivado軟件中,我們生成好IP后可以可以打開帶有例子的工程,進行仿真查看LANE_UP和CHANNEL_UP信號拉高后,即可認為光纖通道初始化成功,在對其數據接口進行查看,官方給的例程主要分為三大塊,數據產生模塊、光纖傳輸模塊、數據檢查模塊 。
三、上板測試(光纖初始化)
我們需要對INIT_CLK_P、INIT_CLK_N、DRP_CLK、GT_RESET_IN、RESET四個信號進行修改。
第一步
INIT_CLK_P、INIT_CLK_N:我們利用板子的單端輸入時鐘27M進行pll倍頻出的100M提供給INIT_CLK_IN。
將aurora_8b10b_0_exdes文件做如下修改
將aurora_8b10b_0_support文件做如下修改
將aurora_8b10b_0_CLOCK_MODULE文件做如下修改
第二步
DRP_CLK:將倍頻出的100M時鐘輸入給DRP_CLK即可。
第三步
GT_RESET_IN、RESET:如果板子上有硬復位(低有效),對其取反賦給其即可,在頂層aurora_8b10b_0_exdes中修改。
assign RESET = ~sys_rst_n;
assign GT_RESET_IN = ~sys_rst_n;
第四步
如果我們板子上有指示燈,我們可以通過指示燈來查看是否初始化成功。在頂層aurora_8b10b_0_exdes中修改。
assign CHANNEL_UP_led = ~CHANNEL_UP;
assign LANE_UP_led = ~LANE_UP;
我們的指示燈是低電平亮,所以對其取反,上板燒寫例程代碼后可以看到兩個指示燈點亮,我們就可以認為此時光纖核初始化成功。
學會使用Aurora核之后,那么我們就需要利用相關協議進行傳輸,小編在本次項目中使用ARINC818協議
對數據進行封裝,然后過光纖進行傳輸,最后回傳到sdi芯片進行顯示,開發者可根據項目需要選擇協議對數據進行傳輸。
審核編輯 :李倩
-
仿真
+關注
關注
50文章
4094瀏覽量
133690 -
光纖通道
+關注
關注
0文章
224瀏覽量
14134
發布評論請先 登錄
相關推薦
評論