999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

片間高速圖像傳輸系統的設計與實現

2018-09-15 04:35:16姚遠程秦明偉
自動化儀表 2018年9期
關鍵詞:信號

任 強,姚遠程,秦明偉

(1.西南科技大學信息工程學院,四川 綿陽 621010;2.特殊環境機器人技術四川省重點實驗室,四川 綿陽 621010)

0 引言

隨著視覺測量技術的發展,高速工業相機以其高幀率和高分辨率,在工業生產中的應用越來越廣,因此產生了大量的圖像數據?,F場可編程門陣列(field programmable gate array,FPGA)作為一項越來越成熟的技術,以其并行性以及靈活性,被廣泛應用于圖像采集、傳輸以及處理[1-2]。在大型視覺測量和圖像處理系統中,常常需要多個FPGA協同工作,所以FPGA之間的圖像數據傳輸成為視覺測量和圖像處理系統發展的難點和瓶頸[3-4]。Xilinx目前提供了4種不同速率的高速串行收發器[5-7]。

針對在片間傳輸高速圖像數據和幀控制信號的問題,研發了一種高吞吐率、低錯誤率、高抗干擾能力、低I/O資源占用率的片間圖像數據傳輸解決方案。該解決方案可廣泛應用于視覺測量系統和圖像處理系統。

1 GTH收發器

高速吉比特串行(GTH)收發器是吉比特收發器中的一種,是FPGA中高度可配置以及高度集成的可編程邏輯資源。GTH收發器具有很高的可擴展性,可支持PCI-e、10GBASE-R、Aurora等多種協議[8]。GTH收發器支持500 Mbit/s~11.3 Gbit/s的線速率,支持8B/10B、64B/66B、64B/67B等多種線路編碼,支持時鐘矯正以及通道綁定等多種特性。Virtex-7 GTH收發器的TX發送端和RX接收端功能獨立,且均由物理媒介適配層(physical media attachment,PMA)和物理編碼子層(physical coding sublayer,PCS)組成。PMA內部集成了高速串并轉換、預加重、接收均衡、時鐘發生器及時鐘恢復等功能電路。PCS內部集成了8B/10B編解碼、彈性緩沖區、通道綁定和時鐘修正等專用電路模塊[5]。

2 Aurora協議

Aurora協議是由Xilinx公司提出的、開放的、免費的、輕量級的可配置數據鏈路層協議,主要用于在多個高速串行通道之間進行點對點傳輸,具有高速數據傳輸和簡單易用的特點[9]。

Aurora協議可為私有上層協議或標準上層協議提供透明接口的串行互聯協議,允許任何數據分組通過Aurora協議封裝,并在芯片間、電路板間,甚至機箱之間傳輸。采用Aurora協議傳輸數據時,用戶數據在一個Aurora通道上傳輸,跨過通道通信的設備成為通道對。Aurora通道包含一個或多個Aurora鏈路,每個Aurora鏈路是一個全雙工或單工的串行數據連接,稱為“弄”。如果使用的是GTH收發器,這個“弄”可實現500 Mbit/s~11.3 Gbit/s的數據傳輸,最多可連接16個“弄”[5]。

Aurora通道具有如下特性。

①數據以幀的形式在通道中傳輸。

②幀和控制信息共享通道,控制信息包括流控信息、時鐘補償序列和空閑信息。

③高度可自定義的幀長度和幀格式。

④Aurora協議中的幀不必全部連續,可以被流控信息和空閑信息打斷。

⑤支持8B/10B編碼和64B/66B編碼。

3 CXP圖像傳輸協議

CXP圖像傳輸協議在本文中是指128 bit數據位寬的圖像傳輸協議,其中包括了時鐘信號、128 bit的圖像數據信號、傳輸有效指示信號以及8 bit的幀控制信號。CXP協議信號定義如表1所示。

表1 CXP協議信號定義

4 片間圖像傳輸模塊設計

片間圖像傳輸模塊名稱為CXP_Transiver,模塊內部集成了Xilinx提供的Aurora core。該模塊的特性如下。

①實現透明全雙工傳輸。

②支持最大吞吐率為32 Gbit/s,平均吞吐率為20 Gbit/s。

③實現鏈路的8B/10B編碼。

④可配置的鏈路線速率,單鏈路速率最高可達6.25 Gbit/s。

⑤用戶接口時鐘最大可支持250 MHz。

⑥可移植性強,適用于多種收發器。

⑦可支持圖像數據位寬為32~128 bit。

4.1 模塊的架構設計

CXP_ transceiver模塊結構如圖1所示。

圖1 CXP_ transceiver模塊結構框圖

模塊分為兩層,分別是介質無關層(media independent interface,MII)和物理層(physical layer,PHY)[5]。

介質無關層將CXP協議信號轉換為AXIS協議信號。介質無關層不考慮任何底層數據的傳輸方式問題,底層可以采用任何物理介質進行數據傳輸。

物理層為AXIS協議提供透明數據通路。物理層不考慮任何上層的數據內容問題,僅采用高速串行接口為AXIS協議提供透明數據通路。

兩層組合共同完成了CXP協議的透明數據通路。兩層均采用模塊化設計,使用標準接口。

4.2 物理層設計

物理層功能由Aurora協議完成。Aurora協議由Xilinx公司提供的Aurora 8B/10B core實現。Aurora 8B/10B core可以自動地實例化最多16個GTH收發器通道、提供8B/10B的鏈路編碼、支持單工和全雙工的工作方式、支持16 bit和32 bit的循環冗余校驗并且可以在任意時刻暫停數據流傳輸。此外,Aurora 8B/10B core具有較低的資源消耗。

Aurora core主要參數配置如表2所示。

表2 Aurora core主要參數配置

Aurora 8B/10B core的主要功能模塊如下。

①Lane Logic。每個GTP、GTX或者GTH收發器都被Lane Logic模塊的實例化所驅動,每個收發器都會實例化一個Lane Logic模塊。該模塊處理控制字符的編碼和解碼以及錯誤校驗。

②Global Logic。Global Logic模塊完成了通道綁定和相位矯正。工作期間,該模塊將產生Aurora所需的隨機空閑字符,并監控所有Lane Logic模塊的錯誤。

③RX User Interface。AXI4-Stream RX用戶端口將數據從高速收發器通道搬移到用戶接口,并實現流量控制。

④TX User Interface。AXI4-Stream TX用戶接口將數據從用戶接口搬移到高速收發器通道,并實現流量控制。此外,該模塊還控制周期性的時鐘補償序列的傳輸。

4.3 介質無關層設計

介質無關層結構如圖2所示。

圖2 介質無關層結構圖

CXP協議包括了128 bit數據以及8 bit控制。為了便于物理層傳輸,介質無關層需要將CXP協議信號封裝為128 bit的AXIS協議。在理想狀態下,CXP協議能夠滿速率運行,即128 bit數據持續有效。在這個情況下,在同樣頻率的時鐘下操作,無法將控制信號并入128 bit數據流。因此,介質無關層內部運行在比CLK_tx與CLK_rx更高頻率的CLK_trans上。各時鐘域間的信號傳輸以異步先進先出(first in first out,FIFO)進行隔離。

介質無關層內部的CXP協議編碼模塊(CXP_Encoding)及CXP協議譯碼模塊(CXP_Decoding)分別完成將CXP協議編碼為AXIS協議信號和將AXIS協議解碼為CXP協議。當CXP協議中的控制信號為低電平時,輸入的CXP協議數據直接轉換為AXIS協議數據。當CXP協議中有控制信號為高電平時,1個時鐘周期的CXP協議信號轉換為2個時鐘周期的AXIS協議數據。AXIS協議數據信號的第一個時鐘周期為控制信令,包含了CXP當前的控制信號,與用于識別控制信號的標記CMD_TAG,第二個時鐘周期的AXIS協議數據為CXP協議數據。

4.3.1 CXP邊界FIFO

CXP 邊界FIFO用于跨時鐘域傳輸CXP協議信號,在Xilinx IP Native FIFO上進行了簡單的重封裝,以適應CXP協議。CXP-FIFO模塊電路圖如圖3所示。

圖3 CXP-FIFO模塊電路圖

CXP協議的圖像數據信號和幀控制信號并行作為數據送入FIFO,讀取時從FIFO中并行取出。CXP-FIFO的Ready與Valid信號與CXP協議中的信號一致,可以直接連接至符合CXP協議的模塊。

4.3.2 CXP協議編碼電路

CXP協議編碼電路主要分為兩個部分,即DataTransform與ControlUnit。

CXP Encoding模塊電路如圖4所示。

圖4 CXP Encoding模塊電路

DataTransform主要完成將輸入數據轉換為輸出數據,在內部形成了以下三種數據。

①CXP協議中的圖像數據。

②低64位與CXP協議中的輸入數據的低64位相同,高64位為CMD_TAG-1。

③低8位為CXP的8 bit控制信號,第9位為是否轉義的指示信號,第10~64位為0,高64位為CMD_TAG。

DataTransform以Trans_meaning信號與cxp_event信號為指示,選擇其中一種數據。

Trans_meaning高電平有效,用于判斷當前CXP輸入數據的高64位是否與預設的CMD_TAG一致。若與CMD_TAG一致,為避免接收端誤將該數據誤譯為控制信號,需要進行轉義,將高64位減1,即CMD_TAG-1,即輸出數據類型(2)。Cxp_evnent高電平有效,指示了當前CXP輸入是否有控制信號為高電平。當有控制信號輸入時,Encoding模塊需要發出控制信號,即輸出數據類型(3)。在其他情況下,將會輸出數據類型(1)。

DataTransform中,Mapping的映射關系見上文提到的模塊數據結構設計。Trans_meaning信號由Trans_Mean_Monitor模塊產生。該模塊是一個64 bit組合邏輯比較器。當輸入的CXP協議信號中數據信號的高64位與CMD_TAG一致時,則輸出高電平,否則輸出低電平。

Control_Unit負責Encoding的時序控制,Control_Unit在CXP輸入控制信號中有高電平時,阻斷數據從CXP到AXIS的傳輸。當CXP輸入控制信號都為低電平時,允許CXP與AXIS直接握手,直接將CXP數據傳輸至AXIS。

Event_Monitor是一個多輸入或門,當sol、sop、eol和eop有信號為高時,輸出高電平,否則輸出低電平。Cmd_operation_done_n復位時為高電平,當有控制信號為高時,Event_Monitor與Cmd_operation_done_n都為高電平,則cxp_event為1。Cxp_event取反后將rx_data_ready置0,阻斷了CXP協議信號的傳輸。當檢測到本次控制幀傳輸完成后,Cmd_operation_done_n被置1,撤銷cxp_event。CXP協議端繼續向AXIS協議端傳輸數據。

4.3.3 CXP協議解碼電路

CXP協議解碼電路主要分為兩個部分,即DataTransform與ControlUnit。

CXP Decording模塊電路如圖5所示。

圖5 CXP Decoding模塊電路圖

CXP Decoding模塊主要分為Data Transform和Control Unit兩個部分。

DataTransform依據cxp_event信號進行工作。當cxp_event信號為高時,BUF讀取AXIS data的低9位信號;當cxp_event為低時,BUF讀取0。BUF是一組受cxp_event控制的觸發器。

BUF的低8位輸出至Tx_control,最高位是轉義指示信號trans_meaning,控制MUX選擇是傳輸原數據還是將被轉義的原數據逆轉義。

Control Unit用于檢測AXIS協議端傳輸來的CMD控制信令。當有控制信令時,cxp_event為高,控制BUF讀取控制信號,將Tx_data_valid拉低阻斷CXP信號輸出,將AXIS_data_ready信號拉高,允許讀取該控制信令。當檢測當前控制信令傳輸完成后,將cxp_event拉低,撤銷此次控制信令處理。

Control Unit中的Event Monitor是一個64位組合邏輯比較器,當AXIS_data的高64位與CMD_TAG相等時,輸出高電平。

5 系統測試與分析

5.1 片間圖像數據傳輸系統架構

在單個FPGA上仿真的片間圖像傳輸系統結構如圖6所示。FPGA1和FPGA2為對稱的架構,在FPGA1和FPGA2之間是模擬的物理鏈路。FPGA1和FPGA2都有數據源CXP source、數據采集模塊CXP Endpoint以及數據對比模塊CXP Verifier。

圖6 片間圖像傳輸系統結構圖

CXP Source用于產生符合CXP協議的信號,模擬了利用CXP Transceiver進行傳輸的Tx系統。為了保證仿真的科學性,CXP Source輸出的數據是由4個32 bit序列發生器生成的偽隨機數。產生的圖像的行場大小均為可配置參數。產生的valid信號有2種模式,由rand_valid信號控制。當rand_valid信號為0時,輸出的valid信號恒為1;當rand_valid信號為1時,輸出的valid信號為服從均勻分布的隨機數。該模塊還有一個trans_mean_valid控制信號。當該信號為1時,CXP Source會周期性地產生需要被轉義的數據。該周期長度可參數化配置。

CXP Endpoint持續不斷地讀取CXP信號,模擬了利用CXP Transiver進行傳輸的Rx系統。CXP Endpoint簡單地將CXP_ready信號拉高,不斷讀取用戶接口端信號,并將其余信號使用“keep true”方式聲明,保證信號不在綜合時被優化掉;此外,其未對輸入信號作任何處理。

CXP Verifier模塊用于監聽兩個CXP信號線上的信號是否完全一致,以驗證CXP Transiver的傳輸正確性。CXP Verifier會將監聽到的信號分別存入FIFO中。當兩側FIFO都不為空時,將會取出數據進行比較。傳輸異常指示信號定義如表3所示。信號反映了CXP Verifier模塊對數據傳輸情況的監視結果。

表3 傳輸異常指示信號定義

5.2 仿真結果及分析

本次仿真測試的軟件平臺為Xilinx公司推出的ViVaDo 2016.4,仿真工具為ViVaDo自帶的仿真軟件Isim[9-11]。

FPGA1仿真結果表明,total_num一共發送了6 825個128 bit即873 600 bit數據。err_occur、overflow_occur、underflow_occur一直為低電平并且err_num、overflow_ num、underflow_ num這3個計數器一直為0,說明沒有邊界FIFO溢出和傳輸錯誤的情況出現。

FPGA2上的仿真結果與FPGA1相同,因為FPGA1

與FPGA2是完全對稱的結構,所以關于輸入輸出的圖像數據可參考FPGA1的仿真結果。total_num一共發送了873 600 bit數據,err_occur、overflow_occur、underflow_occur一直為低電平并且err_num、overflow_ num、underflow_ num這三個計數器一直為0,說明沒有邊界FIFO溢出和傳輸錯誤的情況出現。

通過對兩片FPGA傳輸情況的仿真結果可知,該高速圖像傳輸模塊能夠正常工作,實現片間高速圖像數據的正確傳輸。輸入數據同步時鐘可達250 MHz,數據位寬可達128 bit,外加8 bit幀控制信號。

6 結束語

本文所設計的基于FPGA的片間高速圖像傳輸系統,完成了片間的高速圖像數據傳輸。設計了圖像數據和幀控制信號的編解碼、跨時鐘域處理等電路,并對Aurora 8B/10B core進行調用和封裝。系統實現了符合CXP協議的圖像數據傳輸,同步時鐘為250 MHz,圖像數據位寬為128 bit,幀控制信號為8 bit。系統提供了一種新的片間傳輸圖像數據的解決方案。因為底層傳輸由GTH收發器實現,故該設計具有高抗干擾性,占用較少的I/O資源,提高了成本效益和圖像傳輸的吞吐率,具有很高的實用價值。

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 亚洲三级成人| 国产十八禁在线观看免费| 国产精品午夜电影| 色窝窝免费一区二区三区| 最新亚洲人成网站在线观看| 国产综合另类小说色区色噜噜| 亚洲va在线观看| 在线中文字幕网| 福利国产微拍广场一区视频在线| 在线99视频| 国产第一页第二页| 精品久久久久久中文字幕女| 精品伊人久久久香线蕉| 国产人免费人成免费视频| 青青青草国产| 欧美成人国产| 国产成人精品综合| 91久久偷偷做嫩草影院| 中文字幕在线播放不卡| 亚洲午夜久久久精品电影院| 青青青国产免费线在| 亚洲天堂首页| 国产jizz| 一本大道东京热无码av| 国产综合精品一区二区| 欧美另类一区| 亚洲黄色成人| 国产无码网站在线观看| 久久国产黑丝袜视频| 欧美性猛交xxxx乱大交极品| 久久精品66| 欧美丝袜高跟鞋一区二区| 色综合中文综合网| 中文字幕久久亚洲一区| а∨天堂一区中文字幕| 国产精品部在线观看| 国产黄网永久免费| 亚洲另类色| 全部免费毛片免费播放 | 亚洲精品天堂在线观看| 九九久久精品免费观看| 亚洲美女一级毛片| 国产成人精品综合| 就去吻亚洲精品国产欧美| 国产午夜一级毛片| 欧美三级视频网站| 欧美日韩国产精品综合| 美女无遮挡被啪啪到高潮免费| 一级成人欧美一区在线观看| 97精品国产高清久久久久蜜芽| 日韩人妻无码制服丝袜视频| 欧美在线视频a| 天堂av综合网| 香蕉视频在线观看www| 国产一区二区三区夜色 | www中文字幕在线观看| 美女视频黄频a免费高清不卡| 亚洲a级在线观看| 国产十八禁在线观看免费| 手机成人午夜在线视频| 成人午夜视频在线| 国产亚洲精品无码专| 久久99国产综合精品女同| 四虎永久在线精品国产免费| 97视频免费在线观看| 国产18页| 亚洲国产欧美中日韩成人综合视频| 色哟哟精品无码网站在线播放视频| 国产导航在线| 色网站在线免费观看| 在线网站18禁| 国产真实乱子伦精品视手机观看 | 亚洲日本中文字幕天堂网| 亚洲婷婷六月| 国产一级毛片在线| 日韩毛片视频| 在线五月婷婷| 波多野结衣久久精品| 国产屁屁影院| 久久福利网| 小说区 亚洲 自拍 另类| 国产乱人激情H在线观看|