国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Aurora V8.3與PCI協(xié)議的高速數(shù)字圖像傳輸

2017-06-26 11:37:21肖兒良李文輝簡獻忠
電子科技 2017年6期
關鍵詞:端口時鐘光纖

肖兒良,李文輝,簡獻忠

(上海理工大學 光電信息與計算機工程學院,上海 200093)

?

基于Aurora V8.3與PCI協(xié)議的高速數(shù)字圖像傳輸

肖兒良,李文輝,簡獻忠

(上海理工大學 光電信息與計算機工程學院,上海 200093)

針對Virtex-5 FPGA Aurora V5.3協(xié)議使用復雜和芯片成本高的問題,文中提出了一種采用Artix-7 Aurora V8.3協(xié)議進行高速圖像傳輸設計的新方法。系統(tǒng)使用該協(xié)議,以AXI4-Stream作為內(nèi)部鏈路進行高速數(shù)字圖像的傳輸;利用PCI接口通過DMA技術實現(xiàn)了數(shù)據(jù)交互。用雙路光纖傳輸圖像數(shù)據(jù)進行測試,實驗結果表明,傳輸速率為131 Mbit·s-1,且穩(wěn)定、可靠,為高速圖像傳輸設計提供了一種思路。

FPGA; Aurora V8.3協(xié)議; AXI4-Stream; PCI

高速數(shù)據(jù)傳輸采取并行或串行兩種方式,并行傳輸方式由于走線多、信號間串擾大等缺陷,無法突破自身的速度瓶頸。而串行傳輸擁有更高的傳輸速率且只需少量的信號線,降低了背板開發(fā)成本和復雜度,滿足高頻率遠距離的數(shù)據(jù)通信需求,被廣泛應用于高速數(shù)據(jù)通信系統(tǒng)設計中,因此對高速串行傳輸技術的研究具有一定的理論和實踐意義[1]。

Aurora協(xié)議是由Xilinx公司提出的開放、免費、輕量級的可配置數(shù)據(jù)鏈路層協(xié)議,主要用于在多個高速串行通道之間進行點對點的數(shù)據(jù)傳輸,由于具有高速數(shù)據(jù)傳輸和簡單易用的特點而得到了系統(tǒng)設計者的關注[2-3]?;赩irtex-5系列FPGA- XC5VLX50T芯片,文獻[2]實現(xiàn)了基于PCI-Express及Aurora協(xié)議的高速光纖通信板卡的設計;文獻[3]基于FPGA的高速光纖數(shù)據(jù)傳輸板卡設計。兩者均使用的是基于單個單鏈路Aurora IP核的設計,且只使用一個GTP。

針對文獻[2]和文獻[3]中所使用的Aurora V5.3 IP[4]在同時使用同一GTP_BANK內(nèi)的兩個GTP作為兩個單鏈路Aurora物理傳輸層時對IP修改工作量大和芯片成本高的問題,提出采用Aurora V8.3協(xié)議[5]進行高速圖像傳輸設計的新方法。該方法降低了設計成本,縮短了研發(fā)周期,在系統(tǒng)內(nèi)部容易實現(xiàn)LocalLink端口和AXI4-Stream端口之間的相互轉(zhuǎn)換,便于程序模塊的移植。同時使用國外開放IP組織Open Cores免費提供的PCI橋核[6],達到了進行實時圖像采集的高速數(shù)據(jù)傳輸和實時顯示的目的[7-8]。

1 Aurora IP協(xié)議

Aurora協(xié)議可為私有上層協(xié)議或標準上層協(xié)議提供透明接口的串行互聯(lián)協(xié)議,允許任何數(shù)據(jù)分組通過Aurora協(xié)議封裝,并在芯片間、電路板間,甚至機箱之間傳輸。Aurora協(xié)議提供了CHANNEL_UP、FRAME_ERR、SOFT_ERR和HARD_ERR等表示IP狀態(tài)的信號,用戶可以通過這些狀態(tài)信號監(jiān)視光纖通道,并在出現(xiàn)錯誤時,可以方便排查錯誤原因。

1.1 Aurora 8B/10B V5.3協(xié)議。

目前國內(nèi)設計使用較多的是Xilinx公司Virtex-5系列的XC5VLX50T FF665 FPGA,該型號FPGA芯片包含4個GTP_DUAL,每個GTP_DUAL包含兩個GTP,共8個GTP,每個GTP可構成單個通道,單個通道速率范圍為0.5~3.2 Gbit·s-1。芯片使用的Aurora協(xié)議為5.3版本,其用戶端口為LocalLink端口,在Framing模式下其基本發(fā)送時序如圖1所示。其中TX_SOF_N有效表示一幀傳輸開始,TX_EOF_N有效表示一幀傳輸結束,TX_SRC_DRY_N有效表示傳輸數(shù)據(jù)有效,TX_DST_RDY_N有效表示可發(fā)送數(shù)據(jù)[9]。

圖1 Aurora V5.3基本發(fā)送時序

在ISE14.1中定制生成Aurora V5.3 IP核,選擇單鏈路全雙工模式。生成IP后,可以查看GTP封裝模塊代碼,可知其例化的一個GTP_DUAL模塊包含了兩個GTP硬核,但是只使用了其中一個GTP,另一個GTP引腳懸空或者接地。實際使用時,如果要同時使用同一個GTP_DUAL內(nèi)的兩個GTP各自成為單鏈路Aurora通道,不僅需要將另一個GTP引腳引出,配置相關參數(shù)的參數(shù)值,而且需要再例化一次RX_LL、LANE_LOGIC、GLOBAL_LOGIC和TX_LL模塊,其工作量大,相對的延長了研發(fā)周期。

1.2 Aurora 8B/10B V8.3協(xié)議

設計采用Xilinx公司的Artix-7系列XC7A200T FFG1156 FPGA芯片,該芯片包含4個GTP_Quads,每個Quad內(nèi)含4個GTP,芯片共有16個GTP資源。Aurora IP可以使用其中任意的8個GTP,每個GTP可構成單個鏈路,每個鏈路傳輸速率范圍是0.5~6.6 Gbit·s-1。該芯片使用的Aurora協(xié)議為8.3版本,用戶端口(USERER INTERFACE)為AXI4-Stream端口,在Framing模式下其基本發(fā)送時序如圖2所示。其中S_AXI_TX_TVALID有效表示傳輸數(shù)據(jù)有效,S_AXI_TX_TREADY有效表示可以發(fā)送數(shù)據(jù),S_AXI_TX_TLAST表示一幀傳輸結束。

在ISE14.4中定制生成Aurora V8.3 IP核,選擇單鏈路全雙工模式。查看底層GTP_Wrapper代碼可知,GTP封裝中例化了1個GTPE2_COMMON(為GTP提供時鐘的PLL)模塊和1個GTPE2_CHANNEL(即GTP收發(fā)器)模塊。

圖2 Aurora V8.3基本發(fā)送時序

在FFG1156封裝中,1個GTP_QUAD中包含1個GTPE2_COMMON模塊和4個GTPE2_CHANNEL模塊,其中前者為后者提供4個時鐘輸入。如果同時使用同一個GTP_QUAD內(nèi)的多個GTP作單鏈路使用時,只需要生成兩次Aurora IP,并對源代碼稍作修改,即可實現(xiàn)多個單鏈路Aurora IP。

綜上所述,對比Aurora協(xié)議的這兩個版本可以得到以下結論:

5a 1H NMR(CDCl3) δ:7.79-7.76(m,1 H),7.76-7.75(m,2 H),7.55-7.53(m,3 H),7.33-7.31(m,3 H),3.82(s,3 H)

(1) AXI4-Stream端口相比LocalLink端口,取消了幀起始信號,降低了用戶設計發(fā)送邏輯的難度;

(2) 使用同一個GTP_BANK內(nèi)的GTP實現(xiàn)多個單鏈路通道時,對Aurora V8.3 IP源代碼的修改相對簡單的多,縮短了研發(fā)周期;

(3) Aurora V8.3協(xié)議相較于Aurora V5.3協(xié)議,其內(nèi)部提供了LL_TO_AXI和AXI_TO_LL兩種模塊,用戶可以直接例化使用,用于實現(xiàn)LocalLink端口和AXI4-Stream端口之間的轉(zhuǎn)換,便于用戶模塊的移植;

(4) Artix-7系列的該型芯片成本比Virtex-5系列的這款芯片低的同時,單鏈路Aurora的最大傳輸速率更高。

2 Aurora V8.3傳輸設計

在Xilinx的ISE14.4中生成Aurora IP V8.3核,則相應的目錄下生成了VHDL描述的相關文件以及例程。在設計中,對Xilinx提供的Aurora IP核相關的外圍功能模塊的使用如下:

(1) 時鐘模塊。該模塊用于生成Aurora所需的時鐘,該模塊保持不變,直接使用;

(2) 標準時鐘補償模塊。對整個Aurora模塊提供時鐘補償。接收端根據(jù)接收數(shù)據(jù)流內(nèi)嵌的時鐘補償信息對自身參考時鐘進行修正,以降低誤碼率[10]。該模塊直接使用,不做修改;

(3) Aurora復位模塊。該模塊提供了對Aurora核內(nèi)部邏輯的復位和對GTP的復位。在本設計中,因為需要保證拔、插光纖后,PC機收到的PCI發(fā)送的中斷數(shù)能夠繼續(xù)累加,故對該模塊做部分修改,使得當拔掉光纖后,Aurora IP能夠一直保持在復位狀態(tài)。

圖3 DO_CC間隔顯示圖

但是,在通過Aurora向外傳輸數(shù)據(jù)過程中,如果插入時鐘補償或者傳輸UFC信息,都會導致傳輸數(shù)據(jù)中斷,如果不做處理,接收端接收的數(shù)據(jù)就會丟數(shù)。為解決此問題,本文設計了發(fā)送FIFO控制模塊,待發(fā)送的數(shù)據(jù)先暫存在FIFO中,等存到設定個數(shù)后讀取并通過Aurora傳出[12-13]。如果插入時鐘補償或者需要傳輸UFC信息時,暫停讀取FIFO中數(shù)據(jù),待傳完后,繼續(xù)讀取FIFO直到讀空。該模塊設計的重點在于對S_AXI_TX_TLAST幀結束信號的設計,其主要解決的是如果恰好在讀出FIFO中最后一個數(shù)據(jù)時插入時鐘補償或者發(fā)送UFC信息,接收端會丟失這一行的最后兩個數(shù)據(jù)的問題。

對S_AXI_TX_TLAST發(fā)送信號的邏輯設計如下:在讀出FIFO中最后一個數(shù)據(jù)時,未插入時鐘補償或者發(fā)送UFC數(shù)據(jù),所設計邏輯時序如圖4所示;讀出FIFO中最后一個數(shù)據(jù)時,插入時鐘補償或者發(fā)送UFC數(shù)據(jù),所設計邏輯時序如圖5所示,在兩種情況下,S_AXI_TX_TLAST幀結束信號總是在一幀的最后一個數(shù)據(jù)有效一個時鐘周期,符合AXI4-Stream端口的發(fā)送時序。

圖4 讀FIFO中最后一個數(shù)據(jù)時序1

圖5 讀FIFO中最后一個數(shù)據(jù)時序2

3 高速圖像傳輸系統(tǒng)設計

3.1 系統(tǒng)設計

在硬件方面,單模光纖用于接收每秒200幀640×513×16 bit的數(shù)字圖像圖像數(shù)據(jù),雙模光纖接收每秒200幀640×513×8 bit的數(shù)字圖像數(shù)據(jù)。Aurora所使用的USER_CLK時鐘頻率為62.5 MHz,PCI總線時鐘頻率設置為66 MHz,保證FPGA內(nèi)部數(shù)據(jù)傳輸速率達到要求。

圖6 高速圖像采集卡硬件圖

設計的頂層原理圖框圖如圖7所示,其中單模光纖連接的GTP為BANK MGTP116中的GTPE2_CHANNEL_X1Y6,雙模光纖連接的GTP為GTPE2_CHANNEL_X1Y7[14]。

圖7 頂層原理圖

3.2 連接光纖測試

實際測試時,圖像采集卡使用的是Artix-7型號的FPGA,圖像源來自Virtex-5 型號的FPGA。Xilinx 公司的Aurora IP可以向后兼容,也就是Artix-7器件中的Aurora可以和Virtex-5器件中的Aurora對話。但是如果保持默認的GTP參數(shù)值,在使用光纖連接兩塊板卡時,會出現(xiàn)光纖連接不穩(wěn)定的現(xiàn)象,即Aurora的CHANNEL_UP指示信號一直處于通道建立、斷開的循環(huán)狀態(tài)。經(jīng)排查,對Artix-7型號的FPGA中GTP的時鐘糾正電路參數(shù)進行修正(時鐘糾正電路實時監(jiān)測待匹配的數(shù)據(jù)序列),即RX接收端的彈性緩沖區(qū)限制參數(shù)CLK_COR_MIN_LAT(最小延遲)由10改為28和CLK_COR_MIN_MAX(最大延遲)由14改為32,使其同Virtex-5型號的FPGA中GTP參數(shù)一致[15]。經(jīng)多次調(diào)整測試,當兩個參數(shù)值在一定范圍內(nèi)時,光纖連接都能長時間穩(wěn)定不斷開,通過Aurora傳輸數(shù)據(jù)穩(wěn)定、正確。本設計采用的值同Virtex-5中的GTP時鐘糾正電路參數(shù)值一致。

為驗證Aurora復位模塊功能,在數(shù)據(jù)傳輸過程中拔掉光纖后重新連接,PC顯示的收到的PCI發(fā)出的中斷數(shù)會在上一次值的基礎上繼續(xù)累加,經(jīng)多次拔插光纖驗證,功能正確。

3.3 系統(tǒng)測試

光纖1(單模)接收的圖像數(shù)據(jù)規(guī)格為每秒200幀640×513×16 bit(數(shù)據(jù)源的產(chǎn)生速率為131 MB·s-1)的圖像數(shù)據(jù),并通過PCI傳給PC機。此圖像數(shù)據(jù)前512行數(shù)據(jù)為圖像每個像素點的像素信息,在第512行后,新一幀圖像傳輸前加入第513 行,該行信息為整個系統(tǒng)的輔助狀態(tài)信息。數(shù)字圖像在PC機端顯示如圖8中的右側所示,每一行的灰度從左到右排列均為從低到高。

圖8 PC端接收光纖1圖像顯示

光纖2(雙模)接收的圖像數(shù)據(jù)規(guī)格為每秒200幀640×513×8 bit的圖像數(shù)據(jù),第一行為輔助狀態(tài)信息行,后512行數(shù)據(jù)為圖像每個像素點的像素信息。接收的數(shù)字圖像在PC機端顯示如圖9中的右側所示,從左到右的灰度排列為由高到低。

圖9 PC端接收光纖2圖像顯示

經(jīng)長時間測試,兩路Aurora接收數(shù)據(jù)都正確無誤,沒有出現(xiàn)丟幀、錯幀現(xiàn)象。

4 結束語

本文采用單片高性能FPGA實現(xiàn)了基于PCI接口的雙路光纖信號接入,實現(xiàn)了計算機與外部設備之間的高速、連續(xù)、穩(wěn)定、可靠的數(shù)據(jù)傳輸。測試證明,該板卡的邏輯設計思想正確、可靠,傳輸速率完全達到要求。并且本文所設計的Aurora的發(fā)送FIFO模塊,為PC機向FPGA傳輸數(shù)據(jù)并通過光纖傳出做了準備。該光纖通信卡在高速數(shù)據(jù)遠程采集、遠程實時控制、高速數(shù)據(jù)交換和高速光纖網(wǎng)絡通信等領域,有著廣闊的應用前景。

[1] 杜旭,于洋,黃建.基于FPGA 的高速串行傳輸接口的設計與實現(xiàn)[J].計算機工程與應用,2007,43(12):94-96.

[2] 王長清,冀映輝,王維,等. 基于PCI-Express和Aurora協(xié)議高速光纖通信板卡的實現(xiàn)[J].微計算機應用,2010,31(1):64-68.

[3] 成平,楊建,王炬城.基于FPGA的高速光纖數(shù)據(jù)傳輸板卡設計[J].信息通信,2015(1):79-80.

[4] Xilinx Inc.LogiCORETM IP aurora 8B/10B v5.3 [M].USA:Xilinx Inc,2012.

[5] Xilinx Inc.LogiCORE IP aurora 8B/10B v8.3 [M].USA:Xilinx Inc,2012.

[6] 徐江豐,李松,張涌.基于Wishbone片上總線的PCI Bridge核的研究和應用[J].電子設計工程,2005(4):23-26.

[7] 孫高俊,劉志英.基于FPGA的雷達IQ光纖數(shù)據(jù)采集及傳輸系統(tǒng)[J].電子技術,2016,29(4):169-172.

[8] 王立娜,閆大偉.基于FPGA的PCI數(shù)據(jù)采集卡設計[J].電子科技,2013,26(7):85-86.

[9] 王宇,湯心溢,劉鵬,等.拼接型長線列紅外雙波段圖像實時傳輸系統(tǒng)[J].紅外技術,2013,35(2):69-73.

[10] 岳振,呂波,張涌,等. 基于Aurora協(xié)議的高速圖像傳輸和通信平臺設計[J].電子技術應用,2014,40(8):7-9.

[11] 肖兒良,韋榮明,顏文超,等.基于Aurora及CameraLink的高速數(shù)字圖像傳輸[J].信息技術,2015(4):94-97.

[12] 陳雪,李佩玥,章明朝,等.基于PCI Express總線的高速光纖接口卡的設計與實現(xiàn)[J].電子技術應用,2011,37(5):64-67.

[13] 武榮偉,蘇濤,梁中英.RocketIO在高速數(shù)據(jù)通信中的應用[J].通信技術,2010,43(11):9-11.

[14] Xilinx Inc.7 series FPGAs GTP transceivers user guide [M].USA:Xilinx Inc,2014.

[15] Xilinx Inc.Virtex-5 FPGA RocketIO GTP transceiver user guide [M].USA:Xilinx Inc, 2009.

High-speed Transmission for Digital Image Based on Aurora V8.3 and PCI Protocol

XIAO Erliang,LI Wenhui,JIAN Xianzhong

(School of Optical-electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)

To address the complexity in using the Aurora V5.3 protocol IP and the high cost of Virtex-5 FPGA chip, this paper introduces a new method of design of high-speed image transmission based on Artix-7 Aurora V8.3 protocol. The system uses the Aurora V8.3 protocol and takes AXI4-Stream as the internal link interface to design high-speed image transmission, realizing data interaction by the DMA control of PCI interface. Test of image transmission system with dual optical fiber shows that this method achieves stable transmission of correct data at a speed of 131 Mbit·s-1.

FPGA; Aurora V8.3 protocol; AXI4-Stream; PCI

2016- 07- 06

中國科學院基金(30133020001)

肖兒良(1969-),男,博士,碩士生導師。研究方向:嵌入式系統(tǒng)等。李文輝(1990-),男,碩士研究生。研究方向:嵌入式系統(tǒng)。簡獻忠(1969-),男,博士,碩士生導師。研究方向:新能源等。

10.16180/j.cnki.issn1007-7820.2017.06.001

TN919.8

A

1007-7820(2017)06-001-04

猜你喜歡
端口時鐘光纖
別樣的“時鐘”
一種端口故障的解決方案
科學家(2021年24期)2021-04-25 13:25:34
古代的時鐘
FIBBR King-A系列HDMI光纖線
高品質(zhì)的忠實還原 FIBBR Ultra Pro2 HDMI光纖線
一條光纖HDMI線的誕生長飛/長芯盛FIBBR工廠走訪實錄
全國產(chǎn)1550nm 窄脈寬光纖放大器
電子制作(2017年13期)2017-12-15 09:00:11
端口阻塞與優(yōu)先級
有趣的時鐘
時鐘會開“花”
清河县| 周口市| 阜康市| 新源县| 岳普湖县| 呼图壁县| 平武县| 苍南县| 蒙山县| 闻喜县| 凤阳县| 阳信县| 南澳县| 都匀市| 康乐县| 麦盖提县| 晋中市| 枣强县| 深州市| 景泰县| 灵川县| 彭山县| 瑞昌市| 库伦旗| 贵定县| 襄城县| 平乡县| 广安市| 社旗县| 巴楚县| 隆回县| 锦州市| 渭源县| 通山县| 定边县| 辛集市| 绥中县| 西乌珠穆沁旗| 虞城县| 新安县| 三门峡市|