亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CoaXPress的圖像采集系統(tǒng)設計

        2019-12-05 02:56:58姚遠程秦明偉
        制造業(yè)自動化 2019年11期
        關鍵詞:收發(fā)器解碼器寄存器

        任 強,姚遠程,秦明偉

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

        0 引言

        目前,隨著視覺測量系統(tǒng)越來越多地應用到工業(yè)檢測以及軍事領域,相機的分辨率以及幀率不斷提高,因此產(chǎn)生了巨大的數(shù)據(jù)量[1]。因此相機接口逐漸成為了高速圖像采集傳輸?shù)钠款i。面對越來越大的數(shù)據(jù)量,目前主流的相機接口包括USB、IEEE 1394、RS.644 LVDS、Camera Link等逐漸無法滿足高精度視覺測量需求[2~7]。論文[8]中所實現(xiàn)的Camera Link接口協(xié)議,實測吞吐率僅為0.3GB/S。新一代的CoaXPress接口標準采用同軸電纜作為傳輸介質(zhì),具有傳輸距離長、傳輸速度快、使用靈活等特點逐漸成為高速相機接口的首選標準。目前CoaXPress接口在視覺測量領域正在日益普及。

        1 CoaXPress協(xié)議

        CoaXPress是一種非對稱的高速點對點串行通信數(shù)字接口標準。該標準允許設備(如:數(shù)字相機)通過單根同軸電纜連接到主機(如:個人電腦中的數(shù)據(jù)采集設備)。CoaXPress將傳統(tǒng)的同軸電纜技術與最先進的高速串行數(shù)據(jù)技術相結(jié)合,使得每個CoaXPress鏈路最高支持6.25Gbps的數(shù)據(jù)速率以及高達13W的設備供電功率和20Mbps的控制數(shù)據(jù)傳輸。對于傳輸速率非常高的設備,可以通過鏈路聚合的方式以提供數(shù)倍于單根同軸電纜的傳輸帶寬。

        CoaXPress是點對點的可擴展接口,設備和主機之間的傳輸介質(zhì)是75歐的同軸電纜。一個接口包括一個主連接和可選的多個擴展連接,這些共同構(gòu)成了一個鏈路,每一個連接對應一根同軸電纜。如圖1所示,設備端對每個連接都進行了編號,編號0為主連接,編號1到n-1是n-1條擴展連接。

        圖1 CoaXPress典型連接

        上行連接和下行連接傳輸?shù)臄?shù)據(jù)均采用8B/10B編碼,8B/10B是一種行業(yè)編碼方式,它將8bit數(shù)據(jù)編碼為10bit數(shù)據(jù)以使連接上的信號達到直流平衡,也可以通過周期性的變換來恢復時鐘。

        2 CoaXPress接口卡

        CoaXPress協(xié)議規(guī)定使用同軸電纜作為物理介質(zhì)進行數(shù)據(jù)傳輸,所以接收端必須使用專用的硬件設備完成物理接口以及電氣特性的轉(zhuǎn)換,它將連接到同軸電纜的DIN 1.0/2.3接口轉(zhuǎn)換為連接FPGA的FMC接口,該接口卡可支持最多4路的CoaXPress連接,每路鏈接支持最高數(shù)據(jù)率為6.25Gbps,可通過外部的直流電源輸入為相機提供高達13W的電源。

        3 高速串行收發(fā)器

        CoaXPress接口卡將接收到的數(shù)據(jù)通過FMC傳輸?shù)紽PGA,為滿足CoaXPress協(xié)議指定的最高傳輸速度單條鏈路6.25Gbps的傳輸速率,F(xiàn)PGA中使用吉比特收發(fā)器(MGT)接收數(shù)據(jù)[9]。吉比特收發(fā)器是XILINX公司的FPGA芯片提供的一種高速的物理收發(fā)器,包括GTP、GTX,GTH,GTZ,這些收發(fā)器根據(jù)不同的用戶需求在分布在不同的FPGA產(chǎn)品系列,各收發(fā)器的傳輸速率如表1所示。

        表1 各吉比特收發(fā)器速度比較

        測試硬件平臺采用XILINX公司的Virtex-7 690T系列FPGA,該系列FPGA具有豐富的GTH收發(fā)器資源并且GTH傳輸速率滿足協(xié)議要求,故采用GTH收發(fā)器在物理層提供數(shù)據(jù)收發(fā)。

        4 系統(tǒng)邏輯設計

        4.1 系統(tǒng)結(jié)構(gòu)

        如圖2 所示為采集系統(tǒng)結(jié)構(gòu),該系統(tǒng)主要包含N個鏈路邏輯模塊(每條鏈路對應一個模塊)、相機控制模塊、控制總線仲裁模塊以及流復用與解碼模塊。

        鏈路邏輯N模塊:對每個連接進行實例化,每個CoaXPress連接的邏輯是相同的,主連接被標記為0,擴展連接標記為1~N-1,詳細設計見4.2節(jié)。

        流復用和解碼模塊:該模塊對來自多個CoaXPress鏈接的輸入流進行多路復用,并通過視頻接口將它們轉(zhuǎn)發(fā)給用戶邏輯,詳細設計見4.3節(jié)。

        控制總線仲裁模塊:按照傳輸優(yōu)先級對來自相機控制模塊以及鏈路邏輯的控制數(shù)據(jù)包進行仲裁。

        相機控制模塊:負責對設備和主機寄存器讀寫、串口收發(fā)以及上位機指令解析功能,詳細設計見第5節(jié)。

        4.2 單鏈路邏輯模塊設計

        單鏈路邏輯模塊主要負責對物理層數(shù)據(jù)進行串并轉(zhuǎn)換、8B/10B編解碼、數(shù)據(jù)校驗以及鏈路測試。鏈路測試工作獨立使能,用以測試鏈路質(zhì)量,結(jié)果反映到主機寄存器,包括鏈路測試包生成器與鏈路測試包接收器。該模塊還包括下行鏈路傳輸層、上行鏈路傳輸層、鏈路層、控制通道模塊、仲裁器模塊、流緩沖器和流解包器,單鏈路邏輯模塊結(jié)構(gòu)如圖3所示。

        下行鏈路傳輸層:該模塊接收來自設備端的數(shù)據(jù)(包括圖像數(shù)據(jù)和控制數(shù)據(jù)),實現(xiàn)底層串行數(shù)據(jù)的解串和8B/10B解碼。

        上行鏈路傳輸層:該模塊負責發(fā)送控制數(shù)據(jù)到設備端,實現(xiàn)并行數(shù)據(jù)的串化和8B/10B編碼以滿足底層物理鏈路傳輸要求。

        鏈路層:該模塊完成所有數(shù)據(jù)包的組包和解包以及處理它們的優(yōu)先級,同時負責處理下行鏈路的空閑字插入和上行鏈路的錯誤校驗。

        控制通道模塊:該子模塊實現(xiàn)了CoaXPress連接的控制通道。包括用于命令發(fā)送FIFO、確認接收FIFO、發(fā)送和接收狀態(tài)機、CRC校驗器以及CRC發(fā)生器。公式1為CRC校驗多項式。

        圖2 采集系統(tǒng)結(jié)構(gòu)

        鏈路測試發(fā)送器:生成鏈路測試數(shù)據(jù)包并對發(fā)送數(shù)據(jù)包計數(shù)器進行計數(shù),該計數(shù)器可以被主機寄存器訪問。

        鏈路測試接收器:解析鏈路測試包并對接收數(shù)據(jù)包和錯誤的數(shù)據(jù)包進行計數(shù),接收計數(shù)器和錯誤計數(shù)器都可以通過內(nèi)部計數(shù)器訪問。

        仲裁器:通過讀取主機寄存器判斷系統(tǒng)處于工作模式還是測試模式,根據(jù)模式對發(fā)送到物理層的數(shù)據(jù)進行仲裁。

        流緩沖器:通過FIFO緩存圖像流數(shù)據(jù)并完成數(shù)據(jù)位寬轉(zhuǎn)換。

        流解包器:接收高優(yōu)先級的流數(shù)據(jù)包,檢查它們的完整性并剝離包頭。在CRC校驗錯誤的情況下,該模塊將會在該數(shù)據(jù)包的描述符中設置特定的比特指示該錯誤。

        圖3 鏈路邏輯模塊結(jié)構(gòu)

        圖4 流復用與解碼模塊結(jié)構(gòu)

        4.3 流復用和解碼模塊

        如圖4所示,流復用和解碼模塊包含多相機拓撲連接設計、仲裁器、緩沖區(qū)以及流解碼器模塊設計。目前采集系統(tǒng)支持最多4個相機的同時接入,因此系統(tǒng)可支持4個單抽頭相機與1~2個多抽頭相機同時接入。為滿足這樣的設計,流復用與解碼模塊通過訪問相機控制模塊中的主機寄存器改變交叉開關復用邏輯以形成正確的拓撲結(jié)構(gòu),實現(xiàn)來自同一相機的所有鏈路將被連接到同一仲裁器,仲裁器負責仲裁沒有優(yōu)先級的數(shù)據(jù)。數(shù)據(jù)流進入緩沖區(qū),數(shù)據(jù)的每個流被劃分到相應的流解碼器(一個流對應一個流解碼器),緩沖區(qū)與解碼器的對應關系都通過寄存器配置實現(xiàn)。解碼器根據(jù)CoaXPress協(xié)議包格式對視頻流數(shù)據(jù)包進行解包,解碼器的輸出為簡單圖像視頻流接口。

        4.3.1 鏈路與相機拓撲設計

        采集系統(tǒng)為每個可能接入的相機都實例化了相應的處理邏輯,因此需要將來自同一相機的一個或多個數(shù)據(jù)流分配到同一邏輯進行仲裁、緩沖。交叉開關復用邏輯模塊1根據(jù)SDK程序中相機選擇寄存器CAM_SELECT與仲裁器選擇寄存器ARB_SEL可靈活配置鏈路與仲裁器的連接拓撲。如圖5所示,鏈路0、鏈路1連接到相機0,鏈路2連接到相機1,鏈路3不處理。這時先寫入值0x00到CAM_SELECT寄存器選擇第一個仲裁器,再寫入0x03到ARB_SEL寄存器連接鏈路0和鏈路1到該仲裁器。寫入0x01到CAM_SELECT寄存器選擇第二個仲裁器,再寫入0x04到ARB_SEL寄存器將鏈路2連接到該仲裁器。

        4.3.2 相機與解碼器拓撲設計

        圖5 鏈路與相機拓撲示例

        為支持多相機與多個數(shù)據(jù)流的設計,一個相機可能會產(chǎn)生多個數(shù)據(jù)流,不同的數(shù)據(jù)流必須對應到不同的解碼器,因此交叉開關復用邏輯模塊2實現(xiàn)緩沖區(qū)與流解碼器的正確拓撲連接。交叉開關復用邏輯模塊2根據(jù)主機寄存器中的解碼器選擇寄存器DEC_SEL完成拓撲控制。每個解碼器都有對應的地址段,每個地址段內(nèi)包含了許多用于指示解碼器工作的寄存器,先訪問解碼器,再對該解碼器地址內(nèi)DEC_SEL寄存器進行寫訪問。

        如圖6所示為相機與解碼器連接拓撲示例,第一個相機連接到第一個和第二個解碼器,第二個相機連接到第三個解碼器,第三個相機沒有連接。先訪問解碼器0,寫入值0x00到解碼器0的DEC_SEL寄存器,將解碼器0與相機0連接。訪問解碼器1,寫入值0x00到解碼器1的DEC_SEL寄存器,將解碼器1與相機0連接。訪問解碼器2,寫入值0x01到解碼器2的DEC_SEL寄存器,將解碼器2與相機1連接。

        圖6 相機與解碼器拓撲示例

        5 相機控制

        5.1 相機控制方式

        CoaXPress協(xié)議規(guī)定通過讀寫相機寄存器的方式實現(xiàn)參數(shù)配置。CoaXPress協(xié)議兼容相機通用接口標準(GenICam)與廠商自定義寄存器地址。CoaXPress協(xié)議開放了特定地址段由廠商自定義寄存器地址,廠商自定義寄存器地址段由相機說明文件給出。每個CoaXPress相機都會提供一份基于可擴展標識語言(XML)的標準相機描述文檔,文檔說明了支持的CoaXPress版本、設備各個寄存器的簡單介紹,包括寄存器地址值、讀寫權(quán)限以及訪問說明等等,通過查閱該文檔即可實現(xiàn)對不同相機的控制。

        5.2 相機控制實現(xiàn)

        系統(tǒng)控制部分基于Microblaze MCS(Micro Controller System)IP實現(xiàn),XILINX提供了SDK(Software Development Kit)工具實現(xiàn)軟件程序設計,程序設計部分采用C/C++語言開發(fā),為設計提供了極大的靈活性[10]。如圖7所示為下位機程序流程圖,首先程序檢測連接到主機的連接數(shù)量,并設置其中一條連接為主連接,設備與主機統(tǒng)一通過發(fā)現(xiàn)速率(目前有兩種發(fā)現(xiàn)速率1Gbps和3Gbps)通信,該過程完成匹配收發(fā)器傳輸比特率、確定相機拓撲(多個相機或單個相機以及各自連接數(shù))、協(xié)商最大數(shù)據(jù)包大小等工作。參數(shù)初始化部分包括設置緩沖器FIFO大小、設置初始采集分辨率并開始采集。串口指令格式由上下位機自由約定,下位機程序?qū)崟r接收、解析串口指令并將參數(shù)配置到設備寄存器。下位機不斷循環(huán)串口指令接收、解析、配置過程以實現(xiàn)動態(tài)配置相機參數(shù)。

        圖7 相機控制程序流程圖

        6 系統(tǒng)測試及分析

        6.1 資源占用

        系統(tǒng)測試基于硬件平臺Virtex7-485T-FFG1761,設計工具VIVADO 2016.4。表2所示為FPGA資源占用情況,采集系統(tǒng)使用了較多時鐘資源,所以消耗了較多的BUFG。目前采集系統(tǒng)最多支持4條鏈路,每條鏈路對應一個吉比特收發(fā)器(GT),消耗4個GT資源,其余資源都控制在較低水平,還剩余豐富的邏輯資源用于下一步用戶邏輯開發(fā)[11,12]。

        6.2 數(shù)據(jù)正確性與吞吐率測試

        6.2.1 數(shù)據(jù)正確性與吞吐率測試方案

        為進行數(shù)據(jù)正確性測試,必須采用已知的數(shù)據(jù)源,由于真實相機存在抖動以及外界環(huán)境復雜性,真實相機無法應用于數(shù)據(jù)正確性測試。如圖8所示為數(shù)據(jù)正確性與吞吐率測試系統(tǒng)結(jié)構(gòu),圖像數(shù)據(jù)源采用KAYA儀器公司的CoaXPress相機模擬源產(chǎn)生已知的圖像數(shù)據(jù)。相機模擬源測試圖片為分辨率為5120×5120的灰度圖像,測試圖像每行像素值從0開始累加到255(灰度數(shù)據(jù)最大值)又重新循環(huán)。FPGA內(nèi)的數(shù)據(jù)校驗模塊內(nèi)的本地數(shù)據(jù)產(chǎn)生單元可產(chǎn)生與數(shù)據(jù)源相同的圖像數(shù)據(jù)與采集到的圖像數(shù)據(jù)進行比對并對錯誤數(shù)據(jù)進行計數(shù)以驗證數(shù)據(jù)傳輸?shù)恼_性。吞吐率測試單元根據(jù)相機采集模塊輸出圖像的大小以及幀率計算圖像采集傳輸吞吐率大小。

        6.2.2 數(shù)據(jù)正確性與測試結(jié)果及分析

        如圖8所示相機采集模塊解碼后的簡單視頻流信號分別傳輸?shù)綍r序同步單元和本地數(shù)據(jù)產(chǎn)生模塊。本地數(shù)據(jù)產(chǎn)生單元檢測到輸入數(shù)據(jù)有效時產(chǎn)生與測試圖片源相同的測試數(shù)據(jù),本地數(shù)據(jù)相比于輸入圖像數(shù)據(jù)有一個時鐘的延遲,所以第一路數(shù)據(jù)通過時序同步單元與第二路本地數(shù)據(jù)的時序匹配。

        數(shù)據(jù)錯誤計數(shù)器error_cnt由數(shù)據(jù)校驗單元輸出,指示錯誤比特個數(shù)。采集模塊圖像數(shù)據(jù)輸出端口位寬為128bit,圖像數(shù)據(jù)計數(shù)器Total_cnt負責對接收到的有效128bit數(shù)據(jù)的計數(shù)。Total_cnt寄存器位寬為24bit,最大計數(shù)范圍為0~16777215。如圖9所示,已經(jīng)接收到2147483520(Total_cnt*128)個比特,誤比特數(shù)為0,可得誤碼率小于10-10。幀率計數(shù)器Frame_rate指示一秒內(nèi)采集到的圖像數(shù)量,圖像大小計數(shù)器Image_width和Image_height分別指示采集圖像的寬度以及高度。由圖9測試結(jié)果可得當前傳輸幀率為80幀每秒,圖像寬度和高度均為5120,通過式(2)可得吞吐率Throughput達到2.09GB/S.

        圖8 數(shù)據(jù)傳輸正確性測試方案

        圖9 數(shù)據(jù)校驗結(jié)果

        測試結(jié)果表明采集系統(tǒng)能夠完成吞吐率高達2GB/s可靠穩(wěn)定的高速圖像采集,實現(xiàn)了滿足CoaXPress協(xié)議的高速圖像數(shù)據(jù)包解碼與傳輸。

        6.3 相機控制測試

        6.3.1 相機控制測試方案

        如圖8所示,相機控制軟件發(fā)送指令到FPGA中的相機控制模塊,該模塊完成對串口指令的解析,解析成功后對相應相機寄存器讀寫以完成配置。相機模擬源上位機軟件界面可實時顯示當前配置參數(shù),因此通過模擬源的上位機軟件顯示結(jié)果即可判斷參數(shù)配置與相機控制是否成功。

        6.3.2 相機控制結(jié)果與分析

        相機參數(shù)通過串口發(fā)送,下位機的軟核模塊對指令進行解析并讀寫相應的相機寄存器完成參數(shù)配置。圖10為上位機相機參數(shù)設置軟件參數(shù)配置示例,圖10右側(cè)的每個參數(shù)設置都對應了相應的控制指令。例如將采集圖像高度設置為5120,串口指令為“sch 5120;”,下位機將返回參數(shù)是否配置成功以及實際參數(shù)配置結(jié)果等信息。

        圖10 串口指令發(fā)送示例

        如圖11所示為CoaXPress相機模擬源上位機參數(shù)顯示界面,該軟件實時顯示當前相機配置參數(shù),由圖11顯示結(jié)果可知,圖像采集分辨率已成功設置5120×5120,右側(cè)為實時發(fā)送的測試圖像,幀率為80幀每秒。

        圖11 相機模擬源上位機軟件界面

        測試結(jié)果表明,該采集系統(tǒng)實現(xiàn)了低速控制數(shù)據(jù)的傳輸和編碼以及串口指令對相機采集動作以及參數(shù)的靈活控制,極大地簡化了相機控制工作的復雜度。

        7 結(jié)語

        實驗表明,本文所設計的高速CoaXPress圖像采集系統(tǒng)提供一種高速、靈活、可靠的CoaXPress協(xié)議圖像采集方案。設計實現(xiàn)了單鏈路邏輯模塊、流復用和解碼模塊、系統(tǒng)控制等模塊,實現(xiàn)了符合CoaXPress協(xié)議的高速圖像采集電路設計,實測吞吐率可達2.09GB/S。物理層采用GTH收發(fā)器,可將誤碼率控制在10-11以下,同時結(jié)合CRC校驗保證了的采集系統(tǒng)的可靠性。該系統(tǒng)可廣泛應用于高精度視覺測量系統(tǒng),具有很高的實用價值。

        猜你喜歡
        收發(fā)器解碼器寄存器
        清管球收發(fā)器設計細節(jié)分析及應用
        科學解碼器(一)
        科學解碼器(二)
        科學解碼器(三)
        Lite寄存器模型的設計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        Virtex5 FPGA GTP_DUAL硬核兩個收發(fā)器獨立使用的實現(xiàn)
        富士通半導體推出收發(fā)器家族全新LTE優(yōu)化多頻單芯片MB86L13A
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應用
        中文字幕乱偷无码av先锋蜜桃| 国产av三级精品车模| 亚洲高清一区二区精品| 国产精品国产三级国产a| 欧美日韩国产码高清综合人成| 精品免费在线| 少妇av免费在线播放| 丝袜美腿亚洲综合第一页| 精品国产偷窥一区二区| 欧美日韩一区二区三区自拍| 日韩最新在线不卡av| 在线观看视频国产一区二区三区 | 人人做人人爽人人爱| 亚洲xxxx做受欧美| 91网红福利精品区一区二| 国产色第一区不卡高清| 亚洲熟妇色自偷自拍另类| 精品香蕉久久久爽爽| 国产精品国产午夜免费福利看| 美国黄色av一区二区| 久久99国产精品久久99| 午夜精品一区二区三区在线观看| 国产美女被遭强高潮露开双腿 | 51精品视频一区二区三区| 国产免费内射又粗又爽密桃视频| 天天躁日日躁狠狠躁av中文| 国产成人av综合色| 亚州无吗一区二区三区| 四川发廊丰满老熟妇| 亚洲午夜精品久久久久久一区| 女同性恋亚洲一区二区| 亚洲最新国产av网站| 久久精品国产亚洲av麻豆| 亚洲AV无码资源在线观看| 女同另类专区精品女同| 亚洲成av人片天堂网无码| 曰本女人牲交全视频免费播放 | 国产综合久久久久| 丝袜美腿网站一区二区| 在线国产丝袜自拍观看| aⅴ精品无码无卡在线观看|