• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    片間高速圖像傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    2018-09-15 04:35:16姚遠(yuǎn)程秦明偉
    自動(dòng)化儀表 2018年9期
    關(guān)鍵詞:收發(fā)器高電平時(shí)鐘

    任 強(qiáng),姚遠(yuǎn)程,秦明偉

    (1.西南科技大學(xué)信息工程學(xué)院,四川 綿陽 621010;2.特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽 621010)

    0 引言

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

    針對(duì)在片間傳輸高速圖像數(shù)據(jù)和幀控制信號(hào)的問題,研發(fā)了一種高吞吐率、低錯(cuò)誤率、高抗干擾能力、低I/O資源占用率的片間圖像數(shù)據(jù)傳輸解決方案。該解決方案可廣泛應(yīng)用于視覺測量系統(tǒng)和圖像處理系統(tǒng)。

    1 GTH收發(fā)器

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

    2 Aurora協(xié)議

    Aurora協(xié)議是由Xilinx公司提出的、開放的、免費(fèi)的、輕量級(jí)的可配置數(shù)據(jù)鏈路層協(xié)議,主要用于在多個(gè)高速串行通道之間進(jìn)行點(diǎn)對(duì)點(diǎn)傳輸,具有高速數(shù)據(jù)傳輸和簡單易用的特點(diǎn)[9]。

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

    Aurora通道具有如下特性。

    ①數(shù)據(jù)以幀的形式在通道中傳輸。

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

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

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

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

    3 CXP圖像傳輸協(xié)議

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

    表1 CXP協(xié)議信號(hào)定義

    4 片間圖像傳輸模塊設(shè)計(jì)

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

    ①實(shí)現(xiàn)透明全雙工傳輸。

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

    ③實(shí)現(xiàn)鏈路的8B/10B編碼。

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

    ⑤用戶接口時(shí)鐘最大可支持250 MHz。

    ⑥可移植性強(qiáng),適用于多種收發(fā)器。

    ⑦可支持圖像數(shù)據(jù)位寬為32~128 bit。

    4.1 模塊的架構(gòu)設(shè)計(jì)

    CXP_ transceiver模塊結(jié)構(gòu)如圖1所示。

    圖1 CXP_ transceiver模塊結(jié)構(gòu)框圖

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

    介質(zhì)無關(guān)層將CXP協(xié)議信號(hào)轉(zhuǎn)換為AXIS協(xié)議信號(hào)。介質(zhì)無關(guān)層不考慮任何底層數(shù)據(jù)的傳輸方式問題,底層可以采用任何物理介質(zhì)進(jìn)行數(shù)據(jù)傳輸。

    物理層為AXIS協(xié)議提供透明數(shù)據(jù)通路。物理層不考慮任何上層的數(shù)據(jù)內(nèi)容問題,僅采用高速串行接口為AXIS協(xié)議提供透明數(shù)據(jù)通路。

    兩層組合共同完成了CXP協(xié)議的透明數(shù)據(jù)通路。兩層均采用模塊化設(shè)計(jì),使用標(biāo)準(zhǔn)接口。

    4.2 物理層設(shè)計(jì)

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

    Aurora core主要參數(shù)配置如表2所示。

    表2 Aurora core主要參數(shù)配置

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

    ①Lane Logic。每個(gè)GTP、GTX或者GTH收發(fā)器都被Lane Logic模塊的實(shí)例化所驅(qū)動(dòng),每個(gè)收發(fā)器都會(huì)實(shí)例化一個(gè)Lane Logic模塊。該模塊處理控制字符的編碼和解碼以及錯(cuò)誤校驗(yàn)。

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

    ③RX User Interface。AXI4-Stream RX用戶端口將數(shù)據(jù)從高速收發(fā)器通道搬移到用戶接口,并實(shí)現(xiàn)流量控制。

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

    4.3 介質(zhì)無關(guān)層設(shè)計(jì)

    介質(zhì)無關(guān)層結(jié)構(gòu)如圖2所示。

    圖2 介質(zhì)無關(guān)層結(jié)構(gòu)圖

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

    介質(zhì)無關(guān)層內(nèi)部的CXP協(xié)議編碼模塊(CXP_Encoding)及CXP協(xié)議譯碼模塊(CXP_Decoding)分別完成將CXP協(xié)議編碼為AXIS協(xié)議信號(hào)和將AXIS協(xié)議解碼為CXP協(xié)議。當(dāng)CXP協(xié)議中的控制信號(hào)為低電平時(shí),輸入的CXP協(xié)議數(shù)據(jù)直接轉(zhuǎn)換為AXIS協(xié)議數(shù)據(jù)。當(dāng)CXP協(xié)議中有控制信號(hào)為高電平時(shí),1個(gè)時(shí)鐘周期的CXP協(xié)議信號(hào)轉(zhuǎn)換為2個(gè)時(shí)鐘周期的AXIS協(xié)議數(shù)據(jù)。AXIS協(xié)議數(shù)據(jù)信號(hào)的第一個(gè)時(shí)鐘周期為控制信令,包含了CXP當(dāng)前的控制信號(hào),與用于識(shí)別控制信號(hào)的標(biāo)記CMD_TAG,第二個(gè)時(shí)鐘周期的AXIS協(xié)議數(shù)據(jù)為CXP協(xié)議數(shù)據(jù)。

    4.3.1 CXP邊界FIFO

    CXP 邊界FIFO用于跨時(shí)鐘域傳輸CXP協(xié)議信號(hào),在Xilinx IP Native FIFO上進(jìn)行了簡單的重封裝,以適應(yīng)CXP協(xié)議。CXP-FIFO模塊電路圖如圖3所示。

    圖3 CXP-FIFO模塊電路圖

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

    4.3.2 CXP協(xié)議編碼電路

    CXP協(xié)議編碼電路主要分為兩個(gè)部分,即DataTransform與ControlUnit。

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

    圖4 CXP Encoding模塊電路

    DataTransform主要完成將輸入數(shù)據(jù)轉(zhuǎn)換為輸出數(shù)據(jù),在內(nèi)部形成了以下三種數(shù)據(jù)。

    ①CXP協(xié)議中的圖像數(shù)據(jù)。

    ②低64位與CXP協(xié)議中的輸入數(shù)據(jù)的低64位相同,高64位為CMD_TAG-1。

    ③低8位為CXP的8 bit控制信號(hào),第9位為是否轉(zhuǎn)義的指示信號(hào),第10~64位為0,高64位為CMD_TAG。

    DataTransform以Trans_meaning信號(hào)與cxp_event信號(hào)為指示,選擇其中一種數(shù)據(jù)。

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

    DataTransform中,Mapping的映射關(guān)系見上文提到的模塊數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)。Trans_meaning信號(hào)由Trans_Mean_Monitor模塊產(chǎn)生。該模塊是一個(gè)64 bit組合邏輯比較器。當(dāng)輸入的CXP協(xié)議信號(hào)中數(shù)據(jù)信號(hào)的高64位與CMD_TAG一致時(shí),則輸出高電平,否則輸出低電平。

    Control_Unit負(fù)責(zé)Encoding的時(shí)序控制,Control_Unit在CXP輸入控制信號(hào)中有高電平時(shí),阻斷數(shù)據(jù)從CXP到AXIS的傳輸。當(dāng)CXP輸入控制信號(hào)都為低電平時(shí),允許CXP與AXIS直接握手,直接將CXP數(shù)據(jù)傳輸至AXIS。

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

    4.3.3 CXP協(xié)議解碼電路

    CXP協(xié)議解碼電路主要分為兩個(gè)部分,即DataTransform與ControlUnit。

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

    圖5 CXP Decoding模塊電路圖

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

    DataTransform依據(jù)cxp_event信號(hào)進(jìn)行工作。當(dāng)cxp_event信號(hào)為高時(shí),BUF讀取AXIS data的低9位信號(hào);當(dāng)cxp_event為低時(shí),BUF讀取0。BUF是一組受cxp_event控制的觸發(fā)器。

    BUF的低8位輸出至Tx_control,最高位是轉(zhuǎn)義指示信號(hào)trans_meaning,控制MUX選擇是傳輸原數(shù)據(jù)還是將被轉(zhuǎn)義的原數(shù)據(jù)逆轉(zhuǎn)義。

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

    Control Unit中的Event Monitor是一個(gè)64位組合邏輯比較器,當(dāng)AXIS_data的高64位與CMD_TAG相等時(shí),輸出高電平。

    5 系統(tǒng)測試與分析

    5.1 片間圖像數(shù)據(jù)傳輸系統(tǒng)架構(gòu)

    在單個(gè)FPGA上仿真的片間圖像傳輸系統(tǒng)結(jié)構(gòu)如圖6所示。FPGA1和FPGA2為對(duì)稱的架構(gòu),在FPGA1和FPGA2之間是模擬的物理鏈路。FPGA1和FPGA2都有數(shù)據(jù)源CXP source、數(shù)據(jù)采集模塊CXP Endpoint以及數(shù)據(jù)對(duì)比模塊CXP Verifier。

    圖6 片間圖像傳輸系統(tǒng)結(jié)構(gòu)圖

    CXP Source用于產(chǎn)生符合CXP協(xié)議的信號(hào),模擬了利用CXP Transceiver進(jìn)行傳輸?shù)腡x系統(tǒng)。為了保證仿真的科學(xué)性,CXP Source輸出的數(shù)據(jù)是由4個(gè)32 bit序列發(fā)生器生成的偽隨機(jī)數(shù)。產(chǎn)生的圖像的行場大小均為可配置參數(shù)。產(chǎn)生的valid信號(hào)有2種模式,由rand_valid信號(hào)控制。當(dāng)rand_valid信號(hào)為0時(shí),輸出的valid信號(hào)恒為1;當(dāng)rand_valid信號(hào)為1時(shí),輸出的valid信號(hào)為服從均勻分布的隨機(jī)數(shù)。該模塊還有一個(gè)trans_mean_valid控制信號(hào)。當(dāng)該信號(hào)為1時(shí),CXP Source會(huì)周期性地產(chǎn)生需要被轉(zhuǎn)義的數(shù)據(jù)。該周期長度可參數(shù)化配置。

    CXP Endpoint持續(xù)不斷地讀取CXP信號(hào),模擬了利用CXP Transiver進(jìn)行傳輸?shù)腞x系統(tǒng)。CXP Endpoint簡單地將CXP_ready信號(hào)拉高,不斷讀取用戶接口端信號(hào),并將其余信號(hào)使用“keep true”方式聲明,保證信號(hào)不在綜合時(shí)被優(yōu)化掉;此外,其未對(duì)輸入信號(hào)作任何處理。

    CXP Verifier模塊用于監(jiān)聽兩個(gè)CXP信號(hào)線上的信號(hào)是否完全一致,以驗(yàn)證CXP Transiver的傳輸正確性。CXP Verifier會(huì)將監(jiān)聽到的信號(hào)分別存入FIFO中。當(dāng)兩側(cè)FIFO都不為空時(shí),將會(huì)取出數(shù)據(jù)進(jìn)行比較。傳輸異常指示信號(hào)定義如表3所示。信號(hào)反映了CXP Verifier模塊對(duì)數(shù)據(jù)傳輸情況的監(jiān)視結(jié)果。

    表3 傳輸異常指示信號(hào)定義

    5.2 仿真結(jié)果及分析

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

    FPGA1仿真結(jié)果表明,total_num一共發(fā)送了6 825個(gè)128 bit即873 600 bit數(shù)據(jù)。err_occur、overflow_occur、underflow_occur一直為低電平并且err_num、overflow_ num、underflow_ num這3個(gè)計(jì)數(shù)器一直為0,說明沒有邊界FIFO溢出和傳輸錯(cuò)誤的情況出現(xiàn)。

    FPGA2上的仿真結(jié)果與FPGA1相同,因?yàn)镕PGA1

    與FPGA2是完全對(duì)稱的結(jié)構(gòu),所以關(guān)于輸入輸出的圖像數(shù)據(jù)可參考FPGA1的仿真結(jié)果。total_num一共發(fā)送了873 600 bit數(shù)據(jù),err_occur、overflow_occur、underflow_occur一直為低電平并且err_num、overflow_ num、underflow_ num這三個(gè)計(jì)數(shù)器一直為0,說明沒有邊界FIFO溢出和傳輸錯(cuò)誤的情況出現(xiàn)。

    通過對(duì)兩片F(xiàn)PGA傳輸情況的仿真結(jié)果可知,該高速圖像傳輸模塊能夠正常工作,實(shí)現(xiàn)片間高速圖像數(shù)據(jù)的正確傳輸。輸入數(shù)據(jù)同步時(shí)鐘可達(dá)250 MHz,數(shù)據(jù)位寬可達(dá)128 bit,外加8 bit幀控制信號(hào)。

    6 結(jié)束語

    本文所設(shè)計(jì)的基于FPGA的片間高速圖像傳輸系統(tǒng),完成了片間的高速圖像數(shù)據(jù)傳輸。設(shè)計(jì)了圖像數(shù)據(jù)和幀控制信號(hào)的編解碼、跨時(shí)鐘域處理等電路,并對(duì)Aurora 8B/10B core進(jìn)行調(diào)用和封裝。系統(tǒng)實(shí)現(xiàn)了符合CXP協(xié)議的圖像數(shù)據(jù)傳輸,同步時(shí)鐘為250 MHz,圖像數(shù)據(jù)位寬為128 bit,幀控制信號(hào)為8 bit。系統(tǒng)提供了一種新的片間傳輸圖像數(shù)據(jù)的解決方案。因?yàn)榈讓觽鬏斢蒅TH收發(fā)器實(shí)現(xiàn),故該設(shè)計(jì)具有高抗干擾性,占用較少的I/O資源,提高了成本效益和圖像傳輸?shù)耐掏侣?,具有很高的?shí)用價(jià)值。

    猜你喜歡
    收發(fā)器高電平時(shí)鐘
    清管球收發(fā)器設(shè)計(jì)細(xì)節(jié)分析及應(yīng)用
    一種基于FPGA的PWM防錯(cuò)輸出控制電路
    別樣的“時(shí)鐘”
    古代的時(shí)鐘
    TS-03C全固態(tài)PDM中波發(fā)射機(jī)開關(guān)機(jī)控制電路原理及故障分析
    科技傳播(2019年15期)2019-08-22 08:07:44
    Virtex5 FPGA GTP_DUAL硬核兩個(gè)收發(fā)器獨(dú)立使用的實(shí)現(xiàn)
    有趣的時(shí)鐘
    DM 50KW中波廣播發(fā)射機(jī)欠推動(dòng)故障分析
    PDM 1kW中波廣播發(fā)射機(jī)保護(hù)電路分析
    時(shí)鐘會(huì)開“花”
    成都市| 廉江市| 平陆县| 河源市| 辽宁省| 东安县| 安多县| 喀喇沁旗| 乐陵市| 山丹县| 花莲市| 伊金霍洛旗| 石渠县| 和政县| 奎屯市| 鄂托克旗| 临安市| 富蕴县| 新化县| 华容县| 三门峡市| 东方市| 上蔡县| 饶河县| 大城县| 容城县| 台东县| 饶平县| 固镇县| 金华市| 延寿县| 五家渠市| 彭泽县| 滦南县| 商洛市| 罗田县| 克什克腾旗| 偃师市| 西丰县| 福泉市| 中阳县|