李 東,陳 爍,田勁東,田 勇
深圳大學(xué)光電工程學(xué)院,廣東深圳 518060
?
USB 2.0工業(yè)相機(jī)的圖像采集魯棒性研究
李東,陳爍,田勁東,田勇
深圳大學(xué)光電工程學(xué)院,廣東深圳 518060
針對(duì)通用串行總線(universal serial bus, USB)2.0工業(yè)相機(jī)傳輸帶寬使用接近滿載時(shí),出現(xiàn)圖像數(shù)據(jù)丟失現(xiàn)象進(jìn)行深入分析,提出一個(gè)新的整體解決方案,包括3部分:利用幀校驗(yàn)的方式實(shí)現(xiàn)圖像數(shù)據(jù)的幀同步,使系統(tǒng)具備容錯(cuò)校正機(jī)制;添加數(shù)據(jù)緩存模塊克服非實(shí)時(shí)操作系統(tǒng)輪詢工作模式對(duì)數(shù)據(jù)傳輸?shù)挠绊?;通過(guò)數(shù)據(jù)鉗位的方式消除USB 2.0非歸零反向編碼方式對(duì)傳輸帶寬的影響,保證傳輸帶寬的穩(wěn)定. 在此基礎(chǔ)上,研制一款1 280×1 024@30 幀/s的USB 2.0工業(yè)相機(jī). 實(shí)驗(yàn)結(jié)果表明,該相機(jī)傳輸速率可達(dá)39 Mbyte/s,實(shí)現(xiàn)了接近USB 2.0實(shí)際帶寬上限的穩(wěn)定傳輸,具備圖像幀自動(dòng)糾錯(cuò)功能,解決了傳統(tǒng)方案里圖像傳輸丟幀和圖像錯(cuò)亂的問(wèn)題.
集成電路技術(shù);通用串行總線2.0;現(xiàn)場(chǎng)可編程門陣列;工業(yè)相機(jī);幀同步;先入先出隊(duì)列;非歸零反向編碼;魯棒性
通用串行總線(universal serial bus, USB)具備傳輸速率快、可靠性強(qiáng)、價(jià)格低廉、支持即插即用以及便于擴(kuò)展等特點(diǎn),現(xiàn)已廣泛用于外設(shè)與計(jì)算機(jī)的數(shù)據(jù)交換[1],近年來(lái),在工業(yè)相機(jī)應(yīng)用領(lǐng)域也出現(xiàn)了USB的身影.然而,在工業(yè)領(lǐng)域,對(duì)于圖像采集的要求越來(lái)越高,如實(shí)時(shí)性、高速率傳輸和系統(tǒng)尺寸要求等,如何確保USB工業(yè)相機(jī)的圖像采集魯棒性,成為一個(gè)不可回避的問(wèn)題.在實(shí)際應(yīng)用過(guò)程中,如果采取直傳直取的方式,將會(huì)出現(xiàn)圖像數(shù)據(jù)丟失的情況,特別是當(dāng)所需傳輸帶寬接近滿載時(shí),該情況更為凸顯.
針對(duì)上述問(wèn)題,本研究分析其根源,認(rèn)為主要受幀同步的實(shí)現(xiàn)方式、數(shù)據(jù)緩存、USB 2.0非歸零反向編碼(no return to zero inverse code, NRZI)方式等的影響.為此,提出相應(yīng)的解決方案,研制了一款1 280×1 024@30 幀/s的USB 2.0工業(yè)相機(jī),并進(jìn)行實(shí)驗(yàn)測(cè)試.結(jié)果表明,所提方案?jìng)鬏斔俾蔬_(dá)到39 Mbyte/s,實(shí)現(xiàn)了接近USB 2.0實(shí)際傳輸帶寬上限的穩(wěn)定傳輸,解決了傳統(tǒng)方案里圖像傳輸丟幀和圖像錯(cuò)亂的問(wèn)題,并使相機(jī)具備圖像幀自動(dòng)糾錯(cuò)功能.
在圖像采集的過(guò)程中,需實(shí)現(xiàn)幀同步,即確定一幀圖像數(shù)據(jù)的起始與終止,而所采取的幀同步方式將會(huì)影響圖像采集的魯棒性,這對(duì)基于USB 2.0的圖像采集也不例外.
一種常用的幀同步方式可通過(guò)觸發(fā)USB 2.0控制器外部中斷的方案來(lái)實(shí)現(xiàn).根據(jù)圖像傳感器的時(shí)序特點(diǎn),如圖1,圖像的場(chǎng)信號(hào)與行信號(hào)均為高電平有效,當(dāng)場(chǎng)信號(hào)處于上升沿時(shí)預(yù)示著一幀圖像的起始位置,下降沿時(shí)預(yù)示著一幀圖像的結(jié)束.通常情況下,USB 2.0工業(yè)相機(jī)會(huì)使用到現(xiàn)場(chǎng)可編程門陣列(field programmable gate array, FPGA)等可編程邏輯器件,若FPGA檢測(cè)到場(chǎng)信號(hào)上升沿,進(jìn)而觸發(fā)中斷,使能USB 2.0控制器的片選信號(hào),以此處作為圖像采集的起始位置,之后通過(guò)數(shù)據(jù)包計(jì)數(shù)的方式確定一幀圖像的數(shù)據(jù),再將其顯示,即可實(shí)現(xiàn)圖像的幀同步.然而,這種幀同步方式未能使圖像采集具備魯棒性,一旦發(fā)生圖像數(shù)據(jù)的丟失,將出現(xiàn)錯(cuò)幀現(xiàn)象,圖像被分割成多部分,即一幀圖像中既包含了當(dāng)前幀的數(shù)據(jù)又包含了上一幀的數(shù)據(jù),由于該方案并不具備容錯(cuò)校正機(jī)制,所以只能通過(guò)再次重啟傳輸來(lái)消除錯(cuò)幀現(xiàn)象.
圖1 CMOS圖像傳感器時(shí)序圖Fig.1 Timing diagram of CMOS sensor
為此,本研究提出一種利用幀校驗(yàn)實(shí)現(xiàn)幀同步的方案.當(dāng)檢測(cè)到一幀圖像數(shù)據(jù)的起始位置時(shí),觸發(fā)FPGA填充一段特殊的數(shù)字序列.為確保FPGA有足夠的時(shí)間填充數(shù)據(jù),選擇場(chǎng)下降沿做為一幀圖像數(shù)據(jù)傳輸?shù)钠鹗迹摱涡蛄锌煞Q為“幀頭”.上位機(jī)通過(guò)校驗(yàn)“幀頭”數(shù)據(jù)來(lái)確定一幀圖像的起始位置,若在下一個(gè)“幀頭”到來(lái)之前,接收到的數(shù)據(jù)量滿足一幀圖像對(duì)應(yīng)的數(shù)據(jù)量,則將該圖像進(jìn)行顯示;否則,認(rèn)為圖像數(shù)據(jù)在傳輸過(guò)程中發(fā)生數(shù)據(jù)丟失,將舍棄該幀圖像數(shù)據(jù),從而使圖像數(shù)據(jù)傳輸具備容錯(cuò)校正機(jī)制,以此方法確保上位機(jī)采集到的圖像都是正確的,從而提升了圖像采集的魯棒性.
通過(guò)幀校驗(yàn)的方式在一定程度上能提升圖像采集的魯棒性.但通過(guò)分析可知,若在數(shù)據(jù)采集過(guò)程中,持續(xù)發(fā)生數(shù)據(jù)丟失,將會(huì)出現(xiàn)無(wú)法采集到圖像的現(xiàn)象.
表1展示了USB 2.0工作于不同傳輸類型時(shí)的數(shù)據(jù)傳輸速度.由表1可知,當(dāng)USB 2.0工作于批量傳輸時(shí)的傳輸速度最快,此時(shí)的帶寬可達(dá)53 Mbyte/s.但由于計(jì)算機(jī)系統(tǒng)會(huì)帶有一些輸入/輸出的人機(jī)接口設(shè)備,如鼠標(biāo)和鍵盤等,會(huì)占用一部分USB 2.0的帶寬,實(shí)際用于數(shù)據(jù)傳輸?shù)淖畲髱拺?yīng)以42 Mbyte/s做為參考[2].然而,實(shí)驗(yàn)表明,當(dāng)數(shù)據(jù)傳輸使用直傳直取的方式,且所需帶寬接近USB 2.0實(shí)際傳輸帶寬上限(>32 Mbyte/s)時(shí),數(shù)據(jù)丟失將非常嚴(yán)重.
分析發(fā)現(xiàn),上述問(wèn)題的根源并非帶寬不足,而是此帶寬均為平均帶寬,并非實(shí)時(shí)帶寬.同時(shí),Windows操作系統(tǒng)是一種基于時(shí)間片輪詢多任務(wù)非實(shí)時(shí)操作系統(tǒng)[3],當(dāng)多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),基于USB 2.0的圖像采集線程有可能在某些時(shí)刻未能及時(shí)讀取來(lái)自USB 2.0接口的數(shù)據(jù),而對(duì)一個(gè)實(shí)時(shí)圖像采集系統(tǒng)而言,來(lái)自前端圖像傳感器的數(shù)據(jù)是不間斷傳輸?shù)模m說(shuō)一般情況下,USB 2.0控制器具備一定容量先入先出(first input first output, FIFO)隊(duì)列的數(shù)據(jù)緩存空間,但容量較小,隨時(shí)都可能發(fā)生數(shù)據(jù)的溢出和覆蓋,從而導(dǎo)致錯(cuò)幀,進(jìn)而影響圖像采集的魯棒性.
表1 USB 2.0的數(shù)據(jù)實(shí)際最大傳輸速度[2]
綜上可見,若額外添加數(shù)據(jù)緩存空間,則可降低數(shù)據(jù)溢出覆蓋的風(fēng)險(xiǎn),提高圖像采集的魯棒性.常見的數(shù)據(jù)緩存方案可通過(guò)FPGA實(shí)現(xiàn)對(duì)靜態(tài)隨機(jī)存取存儲(chǔ)器(static random access memory,SRAM)[4]或雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(double data rate,DDR)[5]的讀寫控制,以實(shí)現(xiàn)異步FIFO功能,雖說(shuō)這可使緩存的空間較大,但該方案需要較多的FPGA邏輯資源,因此要選用較高端的FPGA.此外,由于USB 2.0的帶寬和傳輸速度限制,只需較小的數(shù)據(jù)緩存空間即可滿足穩(wěn)定傳輸?shù)男枨?,所以該方案?huì)造成資源浪費(fèi),令成本增加,且該方案亦會(huì)增加電路系統(tǒng)的復(fù)雜度,提高了空間需求,在一些要求系統(tǒng)尺寸較小的情況下,該方案并非較佳選擇.
為此,本研究提出使用FPGA內(nèi)部資源實(shí)現(xiàn)數(shù)據(jù)緩存的方式來(lái)規(guī)避使用SRAM和DDR器件的不足.通過(guò)使用FPGA廠家提供的異步FIFO IP核(intellectual property core)例化1個(gè)FIFO,用以增大數(shù)據(jù)緩存的空間,只需使用FPGA內(nèi)部的隨機(jī)存取存儲(chǔ)器(random access memory,RAM)資源,無(wú)需外部存儲(chǔ)器件的支持,且因該FIFO為異步的,其讀寫控制和讀寫時(shí)鐘均可獨(dú)立,所以不會(huì)影響到數(shù)據(jù)的不間斷傳輸,從而保證了圖像采集的實(shí)時(shí)性.該FPGA 中的FIFO操作需配合USB 2.0控制器進(jìn)行.以CY7C68013為例,其內(nèi)置的FIFO標(biāo)志位FLAGA和FLAGB可分別配置為FIFO滿信號(hào)和FIFO將滿信號(hào),將滿標(biāo)志位使能的閾值是可編程的.此處需注意:由于標(biāo)志位傳遞至FPGA具有一定的延遲,若使用FLAGA將有可能導(dǎo)致FIFO溢出,所以需使用FLAGB作為判據(jù).此外,還需使用FPGA中的FIFO空標(biāo)志位rdempty來(lái)判斷是否可對(duì)其進(jìn)行讀操作,以避免讀取無(wú)效的圖像數(shù)據(jù).實(shí)現(xiàn)數(shù)據(jù)緩存的流程如圖2.
圖2 數(shù)據(jù)緩存流程圖Fig.2 Flow chart of data cache
USB 2.0作為一種串行總線,使用的編碼方式為NRZI[6],其基本原理如圖3.用信號(hào)的翻轉(zhuǎn)代表一個(gè)邏輯,信號(hào)保持不變代表另外一個(gè)邏輯.在USB 2.0串行總線的傳輸中,電平翻轉(zhuǎn)代表邏輯0,電平不變代表邏輯1.
圖3 NRZI的基本原理Fig.3 The basic principle of NRZI
在基于NRZI的傳輸過(guò)程中,發(fā)送者先發(fā)送一段固定的比特碼,稱之為同步域;接收者通過(guò)該同步域計(jì)算得出發(fā)送者的發(fā)送頻率,并在傳輸過(guò)程中通過(guò)電平的翻轉(zhuǎn)不斷調(diào)整同步頻率,以確保數(shù)據(jù)傳輸?shù)恼_性.然而,在USB 2.0傳輸?shù)倪^(guò)程中,可能會(huì)出現(xiàn)一種較極端的情況,即傳輸?shù)臄?shù)據(jù)信號(hào)是很長(zhǎng)的一段邏輯1,即使有同步域進(jìn)行頻率的匹配,但由于缺乏電平翻轉(zhuǎn)的校準(zhǔn),難免會(huì)出現(xiàn)誤差.所以,在NRZI的傳輸協(xié)議中,使用了位元填塞(bit-stuffing)機(jī)制來(lái)解決該問(wèn)題,即如果傳輸?shù)臄?shù)據(jù)中有連續(xù)6個(gè)邏輯1,則在第6個(gè)邏輯1后插入1個(gè)邏輯0,使信號(hào)強(qiáng)制翻轉(zhuǎn),進(jìn)而達(dá)到同步頻率的校正,接收方在接收時(shí)剔除該邏輯0,則可得到原始數(shù)據(jù).圖3(b)為觸發(fā)位元填塞機(jī)制時(shí)的數(shù)據(jù)傳輸.
分析圖3可知,位元填塞機(jī)制會(huì)影響USB 2.0的實(shí)際帶寬,因?yàn)閺?qiáng)制填塞的邏輯0也占用傳輸帶寬,且此碼為無(wú)效編碼,當(dāng)傳輸?shù)臄?shù)據(jù)為長(zhǎng)時(shí)間的邏輯1時(shí),該無(wú)效的邏輯0將不斷出現(xiàn),即每7個(gè)數(shù)據(jù)中有1個(gè)數(shù)據(jù)無(wú)效,在此情況下數(shù)據(jù)傳輸?shù)膸拰⑾陆?/7.而在圖像采集的過(guò)程中,該情況是可能出現(xiàn)的,如圖像過(guò)曝時(shí),以模數(shù)轉(zhuǎn)換器(analog-to-digital converter, ADC)分辨率為8 bit為例,則此時(shí)傳輸?shù)拇蟛糠謹(jǐn)?shù)據(jù)均為255,換算成二進(jìn)制即為11111111,此時(shí)將會(huì)不斷觸發(fā)位元填塞機(jī)制.以全幀圖像過(guò)曝做個(gè)簡(jiǎn)易分析,此時(shí)USB 2.0的有效帶寬為原來(lái)的6/7,對(duì)于數(shù)據(jù)傳輸所需帶寬接近滿載的情況,將會(huì)因帶寬不足而發(fā)生嚴(yán)重的數(shù)據(jù)丟失.
為消除NRZI編碼帶來(lái)的影響,本研究提出一種數(shù)據(jù)鉗位的方案,以消除NRZI編碼方式對(duì)USB 2.0傳輸帶寬的影響.該方案在FPGA中將來(lái)自前端圖像傳感器的數(shù)據(jù)限制在0~248范圍內(nèi),248對(duì)應(yīng)的二進(jìn)制數(shù)為11111000,避免了長(zhǎng)時(shí)間的邏輯1,從而降低觸發(fā)位元填塞機(jī)制的幾率.當(dāng)數(shù)據(jù)上傳至上位機(jī)時(shí),再將其映射到0~255范圍,從而使基于USB 2.0的數(shù)據(jù)傳輸具備較高且穩(wěn)定的有效帶寬.
本研究所研制的USB 2.0工業(yè)相機(jī)的總體框架如圖4.
圖4 USB 2.0工業(yè)相機(jī)架構(gòu)Fig.4 Architecture of USB 2.0 industrial cameras
實(shí)驗(yàn)中所使用的圖像傳感器為MT9M001,最大分辨率可達(dá)1 280×1 024,每個(gè)像素?cái)?shù)據(jù)大小為1 byte,幀率可達(dá)30幀/s,全速運(yùn)行時(shí)所需帶寬為39 Mbyte/s,接近USB 2.0實(shí)際有效傳輸帶寬42 Mbyte/s.如式(1),當(dāng)發(fā)生位元填塞時(shí),USB 2.0的有效帶寬為原來(lái)的6/7,即36 Mbyte/s,無(wú)法滿足MT9M001全速運(yùn)行的需求的,所以該圖像傳感器可用于驗(yàn)證數(shù)據(jù)鉗位方式的可行性,以及所采取的幀同步方式和數(shù)據(jù)緩存帶來(lái)的改善.
(1)
實(shí)驗(yàn)表明,如果采用直傳直取的方式,只能進(jìn)行1 280×1 024@15幀/s穩(wěn)定的圖像采集,若只使用前文所提的幀同步和數(shù)據(jù)緩存方案,以1 280×1 024 @30幀/s采集過(guò)曝圖像時(shí),將會(huì)發(fā)生數(shù)據(jù)丟失的現(xiàn)象.
FPGA部分使用的是Altera MAX 10系列產(chǎn)品中的10M02SCM153I7G.該產(chǎn)品價(jià)格低廉,封裝尺寸小,且集成了配置閃存,有利于系統(tǒng)的精簡(jiǎn)化,芯片上具備2 kbit 邏輯元件(logical element, LE)資源和108 kbit RAM資源,且有豐富的輸入/輸出(input/output, IO)接口,滿足該系統(tǒng)的整體需求.
USB 2.0部分使用的是Cypress的CY7C68013 USB 2.0控制器.該控制器內(nèi)部集成了1個(gè)USB 2.0收發(fā)器,串行接口引擎(serial interface engine, SIE),增強(qiáng)型的8051核,4 kbyte的FIFO存儲(chǔ)空間、16 kbit RAM資源和通用可編程接口(general programmable interface,GPIF),I2C(inter-integrated circuit)總線接口等資源[7].通過(guò)以FPGA作為核心,CY7C68013配置于Slave FIFO從設(shè)備的工作模式,并配置其工作于批量傳輸?shù)哪J?,根?jù)表1,在該模式下USB 2.0具備較快的傳輸速度,具體硬件連接如圖5.
圖5 FPGA與CY7C68013的硬件連接Fig.5 Hardware connections of FPGA and CY7C68013
系統(tǒng)整體工作流程大致為:① CY7C68013通過(guò)I2C總線對(duì)圖像傳感器進(jìn)行初始化配置,圖像傳感器采集的原始圖像數(shù)據(jù)和其他相關(guān)信號(hào)傳遞至FPGA;② FPGA根據(jù)圖像傳感器的行場(chǎng)信號(hào)確定有效數(shù)據(jù),并參照上述方案實(shí)現(xiàn)幀同步、數(shù)據(jù)緩存和數(shù)據(jù)鉗位,再對(duì)CY7C68013進(jìn)行讀寫控制,將有效數(shù)據(jù)經(jīng)USB 2.0傳遞至上位機(jī)并進(jìn)行顯示.
通過(guò)設(shè)計(jì)相應(yīng)電路,編寫對(duì)應(yīng)的FPGA代碼和CY7C68013固件程序,完成系統(tǒng)搭建.表2是該系統(tǒng)FPGA芯片上資源的使用情況.其中,LE資源使用所占的比例為19%;RAM資源使用比例較高,為89%,98 304 bits即12 kbyte,這主要是為了在FPGA中生成較大的緩存FIFO;引腳使用率為32%,主要用于與圖像傳感器的連接和對(duì)CY7C68013 slave FIFO從設(shè)備的讀寫操作,使用1個(gè)鎖相環(huán)(phase locked loop, PLL)資源,用于產(chǎn)生系統(tǒng)所需的時(shí)鐘資源.
通過(guò)上位機(jī)可對(duì)所搭建的系統(tǒng)進(jìn)行圖像采集測(cè)試.圖6為實(shí)際采圖的情況,圖的底部顯示了圖像采集的一些參數(shù),本實(shí)驗(yàn)中圖像分辨率為MT9M001的最大分辨率1 280×1 024像素,幀率(frame rate)為30,即相機(jī)工作于1 280×1 024@30幀/s狀態(tài).圖中幀率顯示非精確的30幀的原因是,上位機(jī)采用采集多幀圖像數(shù)據(jù)取平均速率的方式計(jì)算幀率,所以幀率顯示部分會(huì)有所波動(dòng).實(shí)驗(yàn)中以Success數(shù)目代表成功采集的圖像數(shù)目,以Failed數(shù)目代表因發(fā)生錯(cuò)幀和數(shù)據(jù)丟失的圖像數(shù)目,如圖6下方的測(cè)試數(shù)據(jù)所示,經(jīng)兩個(gè)多小時(shí)的連續(xù)采集測(cè)試,Success的計(jì)數(shù)為23 6541,F(xiàn)ailed的計(jì)數(shù)為0,幀率保持在30幀,說(shuō)明通過(guò)上述方案,可使系統(tǒng)在充分利用USB 2.0傳輸帶寬的同時(shí),具備傳輸魯棒性.
表2 FPGA片上資源的使用情況
圖6 圖像采集實(shí)驗(yàn)Fig.6 The experiment of image sampling
本研究針對(duì)USB 2.0工業(yè)相機(jī)傳輸帶寬使用接近滿載時(shí),出現(xiàn)的圖像數(shù)據(jù)丟失問(wèn)題進(jìn)行了深入闡述與分析,并基于此研究結(jié)果研制出一款1 280 × 1 024@30幀/s的USB 2.0工業(yè)相機(jī).實(shí)驗(yàn)結(jié)果表明,該相機(jī)可充分利用USB 2.0的有效傳輸帶寬,且具備圖像采集容錯(cuò)校正機(jī)制,克服了圖像傳輸丟幀和圖像錯(cuò)亂問(wèn)題,系統(tǒng)運(yùn)行具備魯棒性.
/
[1] 鄧元策,王竹剛.基于USB 2.0協(xié)議的通用測(cè)控通信接口設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23(3):139-143.
Deng Yuance, Wang Zhugang. Design of interface for TT&C system based on USB 2.0[J]. Electronic Design Engineering, 2015, 23(3): 139-143.(in Chinese)
[2] 邱文勝,牛麗紅,蘇秉華,等.基于ARM的嵌入式超分辨率復(fù)原系統(tǒng)設(shè)計(jì)[J].深圳大學(xué)學(xué)報(bào)理工版,2015,32(3):311-316.
Qiu Wensheng, Niu Lihong, Su Binghua, et al. Design of embedded super-resolution restoration system based on ARM[J]. Journal of Shenzhen University Science and Engineering, 2015, 32(3): 311-316.(in Chinese)
[3] 肖靈通,謝琪,何成,等.基于TMS320DM6446的USB數(shù)字視頻采集顯示技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2014,37(2):40-43.
Xiao Lingtong, Xie Qi, He Cheng, et al. Desgin and realization of USB digital video capturing and displaying based on TMS320DM6446[J]. Electronic Measurement Technology, 2014, 37(2): 40-43.(in Chinese)
[4] 黃振峰,陳海平,鄧培,等.基于OpenCV與USB工業(yè)相機(jī)零件檢測(cè)系統(tǒng)的圖像處理研究[J].現(xiàn)代電子技術(shù),2015,35(18):128-132.
Huang Zhenfeng, Chen Haiping, Deng Pei, et al. Image processing of detection system for parts in industrial camera based on OpenCV and USB[J]. Modern Electronics Technique, 2012, 35(18): 128-132.(in Chinese)
[5] 劉思久,趙蔚.實(shí)現(xiàn)USB 2.0高速數(shù)據(jù)傳輸?shù)膯?wèn)題探討[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(2):75-77.
Liu Sijiu, Zhao Wei. Research and discussion on high speed data transmission of USB 2.0[J]. Computer Engineering and Application, 2007, 43(2): 75-77.(in Chinese)
[6] 石凌,孫政順.基于Windows NT的高速大容量數(shù)據(jù)接收與存儲(chǔ)系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(11):135-137.
Shi Ling, Sun Zhengshun. A kind of Windows NT based high-speed real-time data acquisition and storage system[J]. Computer Engineering and Application, 2002, 38(11): 135-137.(in Chinese)
[7] 駱才華,葉玉堂,劉霖,等.解決線陣CCD大幅面USB掃描儀傳輸圖像失真的新方法[J].電子器件,2013,36(1):33-37.
Luo Caihua, Ye Yutang, Liu Lin, et al. A new method to solve the large format linear CCD scanner’s image distortion in USB transmission[J]. Chinese Journal of Electron Devices, 2013, 36(1): 33-37.(in Chinese)
[8] 李玉發(fā),孫靖國(guó),李濤.一種高速大容量異步FIFO的實(shí)現(xiàn)方法[J].航空計(jì)算技術(shù),2015,45(5):114-116.
Li Yufa, Sun Jingguo, Li Tao. A realization method of high speed and deep asynchronous FIFO[J]. Aeronautical Computing Technique, 2015, 45(5): 114-116.(in Chinese)
[9] 徐淵,周清海,張智,等.基于FPGA的實(shí)時(shí)CMOS視頻圖像預(yù)處理系統(tǒng)[J].深圳大學(xué)學(xué)報(bào)理工版,2013,30(4):416-422.
Xu Yuan, Zhou Qinghai, Zhang Zhi, et al. FPGA-based real-time CMOS video preprocessing system[J]. Journal of Shenzhen University Science and Engineering, 2013, 30(4): 311-316.(in Chinese)
[10] 董劍,李同合.位填充導(dǎo)致USB數(shù)據(jù)傳輸紊亂的一種解決方案[J].電子設(shè)計(jì)工程,2012,20(16):119-121.
Dong Jian, Li Tonghe. A solution for USB 2.0 data transfer disorder caused by bit stuffing[J]. Electronic Design Engineering, 2012, 20(16): 119-121.(in Chinese)
[11] 馬凱,楊峰,王彥文.高速數(shù)據(jù)采集系統(tǒng)中USB 2.0傳輸接口研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(11):3862-3866.
Ma Kai, Yang Feng, Wang Yanwen. Research on USB 2.0 transfers interface of high speed data acquisition system[J]. Computer Engineering and Design, 2013,34(11):3862-3866.(in Chinese)
[12] 張超,李洪文,朱丹丹,等.基于USB的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2013,33(S2):54-56.
Zhang Chao, Li Hongwen, Zhu Dandan, et al. Design of a high-speed data transmission system based on USB[J]. Journal of Computer Applications, 2013, 33(S2): 54-56.(in Chinese)
【中文責(zé)編:英子;英文責(zé)編:子蘭】
2016-06-19;Accepted:2016-07-19
The robustness of image capture of USB 2.0 industrial camera
Li Dong, Chen Shuo, Tian Jindong?, and Tian Yong
College of Optoelectronic Engineering, Shenzhen University, Shenzhen 518060, Guangdong Province, P.R.China
Image data loss occurs when the universal serial bus (USB) 2.0 transmission bandwidth is close to full load. In this paper, facts caused data loss are analyzed, and a new solution is put forward to avoid data loss for USB 2.0 industrial cameras. The new method includes three parts. Firstly, a frame check mode is established to guarantee image data frame synchronization, which creates a fault-tolerant correction mechanism in the system. Secondly, in order to overcome the influence of non-realtime operating system polling work mode, a data cache module is designed. Thirdly, a data-clamp mechanism is proposed to eliminate the effect on transmission bandwidth via a no return to zero inverse code transfer protocol of USB 2.0. With these steps, the USB 2.0 industrial camera achieves an image capture of 1 280×1 024@30 frame/s, close to the actual bandwidth limit of USB 2.0 with stability and the transmission rate of 39 Mbyte/s, and the problems of image data loss and disorder during transmission in traditional scheme are solved.
integrated circuit technology; universal serial bus 2.0; field programmable gate array; industrial camera; frame synchronization; first input first output; no return to zero inverse code; robustness
Li Dong,Chen Shuo,Tian Jindong,et al.The robustness of image capture of USB 2.0 industrial camera[J]. Journal of Shenzhen University Science and Engineering, 2016, 33(5): 525-530.(in Chinese)
TP 752.1;TP 274.2
Adoi:10.3724/SP.J.1249.2016.05525
國(guó)家自然科學(xué)基金資助項(xiàng)目(E051102);廣東省自然科學(xué)基金資助項(xiàng)目(2014A030313550)
李東(1982—),男,深圳大學(xué)副教授、博士.研究方向:2D和3D視覺(jué)信息獲取與處理,機(jī)器人技術(shù)及工程應(yīng)用,嵌入式系統(tǒng)技術(shù).E-mail:lidong@szu.edu.cn
Foundation:National Natural Science Foundation of China(E051102); Natural Science Foundation of Guangdong Province(2014A030313550)
? Corresponding author:Professor Tian Jindong.E-mail: jindt@szu.edu.cn
引文:李東,陳爍,田勁東,等.USB 2.0工業(yè)相機(jī)的圖像采集魯棒性研究[J]. 深圳大學(xué)學(xué)報(bào)理工版,2016,33(5):525-530.