王永超,劉 超,王 健,羅 晨,劉洪亮,邢玉東,黃大榮
(1.國網(wǎng)新疆電力有限公司電力科學(xué)研究院,新疆 烏魯木齊 830011; 2.北京南瑞捷鴻科技有限公司,北京 100093;3.重慶交通大學(xué)信息科學(xué)與工程學(xué)院,重慶 400074)
近年來,電表自動化檢定系統(tǒng)在全國各省全面建成并投入運作,從根本上改變了傳統(tǒng)的人工作業(yè)方式,大幅降低了人工成本,全面提升了檢定效率及質(zhì)量。同時,如何有效發(fā)現(xiàn)和排除自動生產(chǎn)線的故障、維護自動化生產(chǎn)線的正常工作,已成為目前電網(wǎng)企業(yè)安全生產(chǎn)及管理者特別關(guān)心和亟待解決的問題[1-2]。
在電能表整個生產(chǎn)線上,周轉(zhuǎn)箱作為自動化生產(chǎn)系統(tǒng)中的組成部分[3],不僅是運輸裝載環(huán)節(jié)的基礎(chǔ),還是中轉(zhuǎn)、自動檢定和出入庫等環(huán)節(jié)的關(guān)鍵。然而,隨著周轉(zhuǎn)箱在生產(chǎn)流水線上的長期使用,箱身的條碼會逐漸出現(xiàn)褪色、破損、浸漬等情況,使流水線上的條形碼掃描器無法識別。這會影響流水線的正常運作。此外,隨著周轉(zhuǎn)箱的重復(fù)使用,老化、腐蝕等因素使得周轉(zhuǎn)箱產(chǎn)生形變。這會造成自動生產(chǎn)線上的機械臂在抓取電表時,由于周轉(zhuǎn)箱形變而產(chǎn)生電表相對位移,導(dǎo)致電表抓取不穩(wěn)而掉表。一旦出現(xiàn)這種情況,必須人為干預(yù)才能恢復(fù)正常工作。因此,提前篩選出有問題的周轉(zhuǎn)箱,是減少自動生產(chǎn)線人工干預(yù)、進一步提高生產(chǎn)效率的有效途徑。
采用人工方式篩選周轉(zhuǎn)箱,不僅成本高、工作量大,而且準確率低。針對自動生產(chǎn)線對產(chǎn)品質(zhì)量或者缺陷檢測的實時性和效率的要求,基于機器視覺的檢測技術(shù)是近年來的研究和應(yīng)用熱點[4-10]。
通過對生產(chǎn)現(xiàn)場的分析,在生產(chǎn)線起始位置搭建一個多角度的周轉(zhuǎn)箱采集系統(tǒng),用于采集箱身條形碼和箱身形變的圖像,并使用圖像識別的方法來篩選出存在問題的周轉(zhuǎn)箱。周轉(zhuǎn)箱圖像采集是周轉(zhuǎn)箱識別篩選的基礎(chǔ),周轉(zhuǎn)箱圖像的質(zhì)量以及采集速度直接影響識別的準確度與效率。因此,設(shè)計一個高效的周轉(zhuǎn)箱采集系統(tǒng)對整個識別系統(tǒng)具有重大意義。
本文針對周轉(zhuǎn)箱箱身有效信息的獲取需求,設(shè)計出一套高效的多角度圖像采集系統(tǒng),實現(xiàn)了在現(xiàn)場可編程門陣列(field programmable gate array,FPGA)開發(fā)平臺上進行多路圖像采集控制和高效傳輸?shù)墓δ堋?/p>
系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
由于系統(tǒng)需要采集周轉(zhuǎn)箱的前、后側(cè)條碼圖像,以及能表征周轉(zhuǎn)箱形變信息的圖像,設(shè)計了一個多角度周轉(zhuǎn)箱采集系統(tǒng),以獲取圖像識別需要的圖像信息。系統(tǒng)設(shè)計三個檢測點,在周轉(zhuǎn)箱達到檢測點時,分別觸發(fā)圖像采集器1~3,以采集不同角度的周轉(zhuǎn)箱圖像,并在緩存后發(fā)送給計算機作識別處理。
多角度周轉(zhuǎn)箱圖像采集系統(tǒng)設(shè)計框圖如圖2所示。
圖2 多角度周轉(zhuǎn)箱圖像采集系統(tǒng)設(shè)計框圖
系統(tǒng)采用FPGA作為硬件開發(fā)設(shè)計平臺。相較于其他控制器,F(xiàn)PGA不僅能以靈活的現(xiàn)場可編程特性實現(xiàn)系統(tǒng)定制,而且其內(nèi)部模塊的并行執(zhí)行功能可提高系統(tǒng)的運行速度。此外,F(xiàn)PGA還支持多種接口類型,開發(fā)人員可以根據(jù)需求實現(xiàn)不同接口的通信協(xié)議,把外圍電路的接口模塊集成在FPGA內(nèi)部,以提高整個系統(tǒng)的集成度和穩(wěn)定性。本系統(tǒng)的所有控制部分都在FPGA上實現(xiàn)。FPGA接收到檢測點的周轉(zhuǎn)箱到達信息后,通過集成電路(inter-integrated circuit,IIC)接口對對應(yīng)的圖像采集器進行拍照控制。雙口隨機存取存儲器(random access memory,RAM)實現(xiàn)對采集圖像的緩存和傳輸速度匹配,再經(jīng)端口物理層(physical,PHY)控制模塊,將圖象數(shù)據(jù)通過以太網(wǎng)與遠端計算機實現(xiàn)用戶數(shù)據(jù)報協(xié)議(user datagram protocol,UDP)的高速通信。
1.2.1 檢測控制模塊
本系統(tǒng)設(shè)置三個周轉(zhuǎn)箱檢測點。檢測點采用漫反射光電開關(guān)傳感器E3Z-LS61-TB來檢測周轉(zhuǎn)箱位置。該傳感器感應(yīng)距離為30 cm內(nèi)可調(diào)。檢測控制模塊在接收到傳感器信號后,產(chǎn)生兩位輸出,對IIC控制模塊中的多路信號進行使能操作。
1.2.2 IIC控制模塊設(shè)計
系統(tǒng)的圖像傳感器采用的是三個OV5640攝像頭模塊。該CMOS圖像傳感器圖像陣列大小為2 592×1 944,幀率為15 fps。OV5640支持多種清晰度視頻和圖像采集,支持多種圖像數(shù)據(jù)輸出格式,包括RGB565/555/444、YUV422/420、YCbCr422以及JPEG格式。OV5640模塊由于內(nèi)置微處理器,可實現(xiàn)自動曝光控制、自動白平衡等功能,也可對圖像亮度、色彩飽和度、gamma曲線等進行調(diào)節(jié)。這些功能大大提高了獲取圖像的質(zhì)量。在外部接口方面,OV5640數(shù)據(jù)接口采用數(shù)字視頻端口(digital video port,DVP)總線,使用IIC總線實現(xiàn)對其內(nèi)部的寄存器的訪問。
設(shè)計中,IIC總線需要控制三路OV5640分別進行工作。根據(jù)OminVision公司給出的OV5640用戶手冊顯示,該設(shè)備地址都是0x78。故采用多路IIC總線設(shè)計,以檢測控制模塊的輸出來控制三路IIC總線的使能端。IIC控制模塊設(shè)計框圖如圖3所示。
圖3 IIC控制模塊設(shè)計框圖
OV5640圖像傳感器的初始化模塊上電時序如圖4所示。
圖4 初始化模塊上電時序圖
IIC控制模塊中的總線使能控制模塊,用于控制三路總線與IIC模塊的連接。根據(jù)檢測結(jié)果,每次上電均初始化一個圖像傳感器。
首先拉低Reset引腳,復(fù)位OV5640,20 ms后拉高Reset引腳,初始化傳感器內(nèi)部寄存器設(shè)置,設(shè)置工作模式為2 592×1 944壓縮格式拍照。三路圖像采集器共享DVP總線輸出圖像。
OV6540初始化設(shè)置為拍照模式后處于節(jié)電狀態(tài)。每次拍照前,圖像傳感器要從節(jié)電模式喚醒,并在拍照完成后回到節(jié)電模式。圖像采集器拍照流程如圖5所示。
圖5 圖像采集器拍照流程圖
1.2.3 雙口RAM模塊
為了解決FPGA內(nèi)部異步時鐘域之間的數(shù)據(jù)傳輸?shù)膯栴},并考慮到后續(xù)系統(tǒng)的擴展,本系統(tǒng)采用雙口RAM來解決模塊之間數(shù)據(jù)傳輸速度匹配和圖像數(shù)據(jù)緩存共享的問題。雙口RAM有兩套獨立的數(shù)據(jù)線、地址線和讀寫控制線,允許兩個不同的模塊同時對RAM內(nèi)的數(shù)據(jù)進行訪問[11]。本系統(tǒng)中的雙口RAM,一個端口用于緩存圖像數(shù)據(jù),另一個端口用于圖像傳輸。
1.2.4 介質(zhì)訪問控制模塊
采用千兆以太網(wǎng)來進行數(shù)據(jù)傳輸,不僅保證了本系統(tǒng)的高清圖像的傳輸,還為下一步系統(tǒng)擴展做好高速數(shù)據(jù)傳輸?shù)臏蕚?。千兆以太網(wǎng)數(shù)據(jù)傳輸采用的TCP/IP協(xié)議,不僅會消耗大量的FPGA資源,同時會增加設(shè)計難度。考慮到系統(tǒng)對數(shù)據(jù)傳輸?shù)母咝Ш蛯崟r性要求,設(shè)計時采用傳輸效率的非面向連接的UDP/IP協(xié)議,以提供點對點的數(shù)據(jù)傳輸服務(wù)[12-14]。
介質(zhì)訪問控制(media access control,MAC)模塊設(shè)計框圖如圖6所示。在幀發(fā)送時,MAC模塊從RAM中讀取數(shù)據(jù),并對數(shù)據(jù)進行封裝;添加UDP信息封裝成UDP數(shù)據(jù)包,并添加以太幀信息,同時,將封裝成MAC幀的數(shù)據(jù)通過GMII總線口發(fā)送至物理層PHY芯片。物理層的實現(xiàn)采用Realtek公司的RTL8211EG芯片,支持10 Mbit/s、100 Mbit/s、1 000 Mbit/s三種速率,與MAC層接口有GMII、RGMII、MII三種類型。
圖6 MAC模塊設(shè)計框圖
發(fā)送圖像數(shù)據(jù)時,由MAC模塊讀取雙口RAM中緩存的圖像數(shù)據(jù),MAC幀內(nèi)數(shù)據(jù)長度不能超過1 500 B。俞鵬煒等[15]經(jīng)過試驗證明,當(dāng)傳輸數(shù)據(jù)長度為1 400 B時,傳輸平均速率可達最大,且?guī)捓寐首罡摺K栽O(shè)置每次MAC模塊從RAM中讀取1 382 B的數(shù)據(jù),并進行發(fā)送。
本文以國網(wǎng)新疆電力有限公司電力科學(xué)研究院計量生產(chǎn)自動化系統(tǒng)現(xiàn)場工作環(huán)境為例,進行系統(tǒng)有效性的測試。在電表自動生產(chǎn)傳輸線上,生產(chǎn)線的條形碼識別器和機械臂會在多個生產(chǎn)環(huán)節(jié)中對周轉(zhuǎn)箱進行條形碼識別和箱內(nèi)電表抓取。根據(jù)現(xiàn)場實際情況,周轉(zhuǎn)箱在長期使用過程中,存在周轉(zhuǎn)箱箱身條形碼殘缺、不平整、污損和周轉(zhuǎn)箱變形等現(xiàn)象。為完成多角度采集圖像,本系統(tǒng)在設(shè)計過程中使用QuartusII12.0軟件進行設(shè)計,使用Verilog語言在FPGA硬件開發(fā)平臺上進行代碼設(shè)計和仿真驗證,并對整個系統(tǒng)的硬件和軟件模塊進行了整體調(diào)試。最后,F(xiàn)PGA通過以太網(wǎng)發(fā)送的圖像數(shù)據(jù),由計算機安裝的第三方軟件進行接收和顯示。
經(jīng)驗證,本系統(tǒng)可根據(jù)光電傳感器感應(yīng)周轉(zhuǎn)箱位置,由FPGA控制相應(yīng)圖像傳感器工作,并將獲得的圖像數(shù)據(jù)緩存后經(jīng)千兆以太網(wǎng)上傳到計算機,以實現(xiàn)多角度實時采集周轉(zhuǎn)箱圖像的目標(biāo)。
目前,該系統(tǒng)已在新疆電力科學(xué)研究院計量自動化生產(chǎn)現(xiàn)場搭建完成,并運用到國網(wǎng)安徽電力公司計量中心、國網(wǎng)鄭州電力公司計量中心等實際場景中。實際使用證明,系統(tǒng)能持續(xù)穩(wěn)定地采集圖像并上傳到上位機。
本文論述了基于FPGA的多角度周轉(zhuǎn)箱圖像采集系統(tǒng)設(shè)計,詳細介紹了系統(tǒng)設(shè)計方案、硬件模塊架構(gòu)及其實現(xiàn)以及外圍器件的選擇。試驗證明:本系統(tǒng)能采用分時控制的方法,從多個角度采集2 592×1 944的高質(zhì)量周轉(zhuǎn)箱圖像,并能以510 Mbit/s的速度將圖像數(shù)據(jù)傳輸?shù)接嬎銠C,用于計算機對圖像的識別處理。