余靚輝 ,吳 剛 ,石金進(jìn)
(1.三峽大學(xué)機(jī)械與動力學(xué)院,湖北 宜昌 443002;2.福建工程學(xué)院交通學(xué)院,福建 福州 350118)
圖像采集技術(shù)是利用攝像頭實時獲取圖像信息的手段[1],圖像信息能夠更加真實地反映事物的外觀特點,且精確程度較高。因此,該技術(shù)在工業(yè)和科學(xué)領(lǐng)域應(yīng)用越來越廣泛并受到相關(guān)研究人員的關(guān)注,尤其是在智能機(jī)械領(lǐng)域,但也隨之呈現(xiàn)出不足之處。傳統(tǒng)的圖像采集系統(tǒng)依靠攝像頭進(jìn)行拍攝,而后期的顯示處理則需依靠個人計算機(jī)(Personal Computer,PC),一臺智能機(jī)器配備一臺PC,對于空間有限的工業(yè)安裝非常不友好,并且成本和功耗都較高。綜上所述,本文對傳統(tǒng)的圖像采集系統(tǒng)進(jìn)行改進(jìn),設(shè)計了一種基于Linux的模塊化圖像采集系統(tǒng)[2],該系統(tǒng)所需體積小、成本低,可以滿足大部分智能機(jī)械需求。
該圖像采集系統(tǒng)設(shè)計主要分為硬件和軟件兩個部分。硬件部分主要包括主控芯片、圖像采集模塊、圖像顯示模塊和數(shù)據(jù)傳輸模塊;軟件部分主要包括嵌入式Linux系統(tǒng)、外圍設(shè)備的驅(qū)動程序以及圖像采集與顯示流程。系統(tǒng)總體架構(gòu)如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
圖像采集系統(tǒng)的硬件平臺設(shè)計方案采用主控開發(fā)板加外圍設(shè)備的方式,硬件結(jié)構(gòu)框圖如圖2所示。
圖2 硬件結(jié)構(gòu)框圖
主控芯片使用的是國產(chǎn)廠商瑞芯微生產(chǎn)的RK3399[3],該芯片一共有6個核心處理器,主頻最高可達(dá)2.0 GHz。另外,此芯片支持千兆以太網(wǎng)網(wǎng)絡(luò)通信,接口資源豐富,支持USB3.0、HDMI、MIPI雙攝像頭等設(shè)備接口,整體性能優(yōu)異。在功能上也有很大的優(yōu)勢,能夠播放各種超高清4K視頻,能處理復(fù)雜的互動操作等。系統(tǒng)通過攝像頭采集圖像信息,采集完的圖像信息經(jīng)過ISP編碼壓縮[4],而后通過通用串行總線(Universal Serial Bus, USB)Type-C接口傳輸至操作系統(tǒng)進(jìn)行解碼處理,系統(tǒng)處理后的圖像再通過高清多媒體接口(High Definition Multimedia Interface, HDMI)傳輸至顯示屏進(jìn)行顯示。而最終的圖像信息需提供給用戶分析儲存,因此在上述基礎(chǔ)上添加了以太網(wǎng)傳輸模塊,用戶可通過以太網(wǎng)網(wǎng)線直連,將圖像信息高速傳輸至PC。
圖像采集模塊采用第三代嵌入式圖像采集技術(shù)[5],該技術(shù)可以提高圖像實時性,增大傳輸距離,提高圖像質(zhì)量,同時還能夠?qū)Σ杉降膱D像進(jìn)行高速壓縮處理,來降低視頻圖像對傳輸速率和存儲空間的要求。在接口設(shè)計上采用Type-C接口,它是USB的一種硬件接口標(biāo)準(zhǔn),集充電、顯示、數(shù)據(jù)傳輸?shù)裙δ苡谝簧韀6]。Type-C接口最大的特點是支持正反兩個方向插入,傳輸速度可達(dá)10 GB/s,向下兼容USB1.0和USB2.0,并且支持熱插拔。在Linux系統(tǒng)下,Type-C有Ⅴ4L2標(biāo)準(zhǔn)協(xié)議支持,并且可以將驅(qū)動加載于系統(tǒng)當(dāng)中,因此非常適合應(yīng)用在獲取和傳輸圖像數(shù)據(jù)的過程中,其電路原理圖如圖3所示。
圖3 Type-C電路原理圖
攝像頭在Type-C接口正常工作只需要4根線,兩根差分信號線DN和DP用于數(shù)據(jù)傳輸,ⅤBUS用于給外圍設(shè)備提供電源和GND,保證接口的通信正常。
圖像顯示模塊采用HDMI接口,它是一種較新的視頻和音頻傳輸接口[7],目前在功能上已基本替代ⅤGA(Ⅴideo Graphics Array)接口。相較于ⅤGA,HDMI可以傳輸音頻且插拔方便,簡化了設(shè)備的接口和連線,也提供了更高的數(shù)據(jù)傳輸帶寬,能夠傳輸高清無壓的視頻和音頻信息,其電路原理圖如圖4所示。
圖4 HDMI接口電路原理圖
開發(fā)板先給HDMI模塊提供5 Ⅴ電源,供電正常后,該模塊會檢測IIC總線通信是否成功,此處可檢測HDMI的熱插拔功能是否正常。通信成功后,HDMI接口只發(fā)送、不接收,以此完成數(shù)字圖像信息的傳輸。
以太網(wǎng)是現(xiàn)實世界中最普遍的一種計算機(jī)網(wǎng)絡(luò),它實現(xiàn)了網(wǎng)絡(luò)上無線電系統(tǒng)多個節(jié)點發(fā)送信息的想法。相較于目前使用廣泛的無線局域網(wǎng),以太網(wǎng)網(wǎng)線直連的穩(wěn)定性、抗干擾性則要強(qiáng)很多,也正因此特性,常常選擇使用以太網(wǎng)進(jìn)行系統(tǒng)的圖像數(shù)據(jù)傳輸,其電路原理圖如圖5所示。
圖5 以太網(wǎng)模塊電路原理圖
該模塊含4對差分信號線(MDI0+/MDI0-,MDI1+/MDI1-, MDI2+/MDI2-, MDI3+/MDI3-),差分信號線兩對發(fā)送兩對接收,等長設(shè)計,旨在解決千兆以太網(wǎng)通信緩慢和丟包的問題。利用修改線長TXDLY/RXDLY使4對差分信號線延時統(tǒng)一,實現(xiàn)千兆以太網(wǎng)的最佳通信[8]。
除了以上的圖像采集、圖像顯示和以太網(wǎng)傳輸模塊,還需要其他模塊的支撐,例如用于測試的串口模塊,通過串口通信的方式實現(xiàn)核心板與PC的連接[9],便于程序開發(fā)和功能調(diào)試;還有開發(fā)板必需的存儲模塊EMMC,該模塊可以提供開發(fā)板固件的燒錄地址,使開發(fā)板得以正常運行。
該圖像采集系統(tǒng)主要包括底層驅(qū)動開發(fā)和上層應(yīng)用開發(fā)兩大部分。
底層驅(qū)動是與硬件直接聯(lián)系在一起的,包含了引導(dǎo)加載程序、Linux操作系統(tǒng)內(nèi)核、根文件系統(tǒng)和外圍設(shè)備的驅(qū)動程序,它們組合在一起形成了一個完整的嵌入式Linux系統(tǒng),并運行在核心板上。
上層應(yīng)用是根據(jù)底層驅(qū)動提供的設(shè)備節(jié)點去通信和調(diào)用的外圍設(shè)備,在底層驅(qū)動的基礎(chǔ)上,設(shè)計ISP圖像編解碼和圖像顯示的程序[10]。
系統(tǒng)搭建主要由以下幾個步驟完成。
步驟1:移植引導(dǎo)加載程序,完成內(nèi)存初始化等基本工作,啟動內(nèi)核并把CPU控制權(quán)交給內(nèi)核。
步驟2:定制Linux操作系統(tǒng)內(nèi)核,為上層應(yīng)用提供必需的設(shè)備節(jié)點,裁剪不需要的功能,提升內(nèi)核的啟動運行速度。
步驟3:搭建根文件系統(tǒng),為系統(tǒng)提供配置文件載體,為上層應(yīng)用程序提供所需的穩(wěn)定環(huán)境。
步驟4:修改內(nèi)存地址分區(qū)表,使程序能夠燒錄并穩(wěn)定運行在開發(fā)板中。
模塊化圖像采集系統(tǒng)流程如圖6所示。
圖6 圖像采集流程圖
由攝像頭采集得到外部最原始的圖像信息,而后,ISP模塊對圖像進(jìn)行處理,將最原始的YUⅤ格式圖像信息轉(zhuǎn)換為能更好地被該系統(tǒng)處理的RGB格式,對轉(zhuǎn)換后的圖像信息進(jìn)行編碼壓縮,便于傳輸;壓縮后的文件經(jīng)Type-C高速傳輸至主控RK3399,主控對文件進(jìn)行解碼后可通過千兆以太網(wǎng)將信息傳輸至PC查看分析,也可直接通過HDMI接口將信息傳輸至顯示屏上顯示。
本系統(tǒng)的最終目的是實現(xiàn)核心板替代PC,因此,最重要的是保證外圍設(shè)備驅(qū)動在核心板的程序下正常運行,通過內(nèi)核配置驅(qū)動,可在文件系統(tǒng)中查看外圍設(shè)備相應(yīng)的設(shè)備節(jié)點,同時,攝像頭采集的圖像信息會在顯示屏上實時顯示,如圖7所示。
圖7 攝像頭采圖
攝像頭采集的圖像信息在HDMI顯示屏上顯示正常,并且可以設(shè)置攝像頭的亮度、曝光、白平衡等信息。為保證以太網(wǎng)高速傳輸?shù)墓δ苷?,對網(wǎng)口網(wǎng)速也進(jìn)行了測試,如圖8所示。
圖8 以太網(wǎng)測試
由圖8可知,該模塊網(wǎng)速平均可達(dá)938 MB/s,穩(wěn)定且不丟包,滿足該系統(tǒng)高速傳輸功能需求。
本文提出了一種基于Linux的模塊化圖像采集系統(tǒng),該系統(tǒng)可以采集外部圖像信息,將采集的信息實時有效地傳輸至顯示屏顯示,并且可以通過以太網(wǎng)傳輸模塊將圖像數(shù)據(jù)高速傳輸至PC端供用戶查看分析。該系統(tǒng)相較于傳統(tǒng)的圖像采集系統(tǒng),具有體積小、成本低、傳輸速度快等特點,適合工廠批量化生產(chǎn),在未來的農(nóng)業(yè)生產(chǎn)、醫(yī)療器械、產(chǎn)品檢測等智能機(jī)械領(lǐng)域有著非常廣闊的應(yīng)用前景。