李麗 李龍民 王紅蛟
摘? 要:基于FPGA的高速數(shù)據(jù)處理能力,文章提出了以FPGA為核心處理器的激光觸控系統(tǒng)的設(shè)計(jì),在本設(shè)計(jì)中使用FPGA完成數(shù)據(jù)圖像的采集、圖像存儲(chǔ)、圖像處理與識(shí)別以及圖像激光觸點(diǎn)坐標(biāo)的計(jì)算和發(fā)送。文章利用FPGA的高速處理能力,控制激光器發(fā)送高頻率的激光脈沖,并對(duì)屏幕進(jìn)行一定評(píng)率的畫(huà)面采集,通過(guò)畫(huà)面對(duì)比鎖定激光觸點(diǎn)的準(zhǔn)確坐標(biāo)位置。
關(guān)鍵詞:FPGA;激光觸控;研究
中圖分類號(hào):TN249 文獻(xiàn)標(biāo)志碼:A? ? ? ? 文章編號(hào):2095-2945(2019)29-0011-02
Abstract: Based on the high speed data processing capability of FPGA, this paper presents the design of laser touch control system with FPGA as the core processor. In this design, FPGA is used to complete the data image acquisition, image storage, image processing and recognition, as well as the calculation and transmission of image laser contact coordinates. In this paper, the high speed processing ability of FPGA is used to control the laser to send high frequency laser pulse, and the screen is collected with a certain evaluation rate, and the accurate coordinate position of the laser contact is locked through the contrast of the pictures.
Keywords: FPGA; laser touch; study
1 概述
隨著圖像處理技術(shù)的不斷發(fā)展,圖像處理、圖像識(shí)別等技術(shù)的應(yīng)用也越來(lái)越廣泛,圖像的識(shí)別在人機(jī)交互方面也發(fā)揮著重要的作用。本文在圖像識(shí)別的基礎(chǔ)上提出了一種基于FPGA的激光觸控系統(tǒng),本設(shè)計(jì)利用FPGA高速處理特性完成了激光與圖像采集的同步控制,完成對(duì)采集到的多幅圖像進(jìn)行識(shí)別計(jì)算,進(jìn)而鎖定激光觸點(diǎn)的位置坐標(biāo),并將位置信息傳送給上位機(jī),實(shí)現(xiàn)激光觸控。
使用FPGA實(shí)現(xiàn)系統(tǒng)的邏輯控制、數(shù)據(jù)處理、無(wú)線通信等功能具有以下優(yōu)勢(shì):復(fù)雜的算法嵌入到硬件系統(tǒng)中,可以增加系統(tǒng)各模塊的配合、數(shù)據(jù)的處理在激光發(fā)射端進(jìn)行可以減少無(wú)線傳輸模塊的數(shù)據(jù)傳輸負(fù)擔(dān),增加了系統(tǒng)的實(shí)時(shí)性??紤]到上述在設(shè)計(jì)中的優(yōu)勢(shì),本文采用FPGA實(shí)現(xiàn)激光脈沖的觸發(fā)、數(shù)據(jù)圖像的采集、處理和計(jì)算以及無(wú)線模塊的控制。完成各個(gè)模塊的設(shè)計(jì),進(jìn)行系統(tǒng)聯(lián)調(diào),系統(tǒng)仿真、硬件實(shí)現(xiàn)均正常。
2 系統(tǒng)設(shè)計(jì)
該系統(tǒng)主要包括激光驅(qū)動(dòng)模塊、激光獲取模塊、圖像處理模塊、激光點(diǎn)位置計(jì)算模塊、無(wú)線發(fā)送和接收模塊。FPGA控制激光模塊發(fā)送間斷性的激光脈沖,同時(shí)控制攝像頭OV7725對(duì)當(dāng)前畫(huà)面進(jìn)行圖像采集,采集圖像時(shí)間的時(shí)間點(diǎn)與激光脈沖關(guān)系如圖2所示[1]。
圖2 圖像采集與激光脈沖時(shí)序圖
3 圖像處理及坐標(biāo)計(jì)算
3.1 OV7725攝像頭模塊
攝像頭 OV7725內(nèi)部集成了DSP處理器,具有標(biāo)準(zhǔn)的SCCB配置接口,SCCB 時(shí)序與 I2C 時(shí)序類似[2],SCCB總線仿真時(shí)序如圖3所示。
圖3 I2C總線仿真圖
SCLK為高電平,SDA由高電平變低電平,總線開(kāi)始傳輸;SCLK為高電平,SDA由低電平變高電平,總線傳輸結(jié)束。SCCB為串行傳輸,每次傳送一個(gè)字節(jié)。通過(guò)SCCB設(shè)置OV7725的工作模式后,就能夠捕獲圖像數(shù)據(jù)。
3.2 SDRAM存儲(chǔ)模塊
為了解決圖像的采集和SDRAM的快速接收問(wèn)題,調(diào)用FIFO模塊來(lái)實(shí)現(xiàn)解決在這個(gè)模塊中的跨時(shí)鐘域問(wèn)題[3]。為了實(shí)現(xiàn)圖像的快速處理,系統(tǒng)采用乒乓操作,調(diào)用兩個(gè)FIFO模塊,一個(gè)用于讀取,一個(gè)用于寫(xiě)入。先對(duì)FIFO寫(xiě)入,當(dāng)FIFO寫(xiě)滿之后,控制器將FIFO中的數(shù)據(jù)一次性取出,放在SDRAM的第一塊當(dāng)中,供后續(xù)進(jìn)行數(shù)據(jù)的處理。這樣系統(tǒng)進(jìn)行數(shù)據(jù)的一邊讀和一邊寫(xiě),不僅加快了后面數(shù)據(jù)的處理,而且還充分利用了SDRAM的空間[4]。
3.3 邊緣檢查
Roberts邊緣算子采用的是對(duì)角方向相鄰的兩個(gè)像素之差。從圖像處理的實(shí)際效果來(lái)看,邊緣定位準(zhǔn),對(duì)噪聲敏感。Roberts邊緣檢查算子是一種利用局部差分算子尋找邊緣的算子,它由下式給出[5]:
其中G[i,j]表示處理后(i,j)點(diǎn)的灰度值,f[i,j]表示處理前該點(diǎn)的灰度值。f(i,j)是具有整數(shù)像素坐標(biāo)的輸入圖像,平方根運(yùn)算使該處理類似于人類視覺(jué)系統(tǒng)中發(fā)生的過(guò)程。利用Roberts邊緣算子對(duì)由激光斑點(diǎn)和無(wú)激光斑點(diǎn)的圖像數(shù)據(jù)進(jìn)行處理,如圖4-圖7。從處理后的圖像可以看出,兩幅圖在激光斑點(diǎn)處存在明顯的差異。
3.4 坐標(biāo)計(jì)算
由圖4-圖7,圖4和圖6均為觸控階段采集到的圖像,不過(guò)對(duì)應(yīng)激光觸發(fā)和非觸發(fā)的兩個(gè)階段,系統(tǒng)正是通過(guò)控制在觸控階段的激光器分時(shí)段觸發(fā),并分別采集激光器觸發(fā)和非觸發(fā)狀態(tài)的圖像,由于時(shí)間間隔非常小,理論上采集的兩張圖像信息除了激光斑點(diǎn)的不同,其它畫(huà)面完全相同。采集到的圖像如圖4和圖6,處理后的圖像如圖5和圖7。通過(guò)比對(duì)圖5和圖7中差異區(qū)域,判斷該觸點(diǎn)位置,并計(jì)算出該觸點(diǎn)相對(duì)于屏幕的坐標(biāo)位置(x,y)。用過(guò)無(wú)線模塊,將坐標(biāo)信息發(fā)送給電腦連接端。
4 結(jié)束語(yǔ)
通過(guò)FPGA的高速數(shù)據(jù)處理功能,完成激光模塊的驅(qū)動(dòng)、系統(tǒng)圖像數(shù)據(jù)的采集、數(shù)據(jù)處理以及數(shù)據(jù)圖像對(duì)比,進(jìn)行坐標(biāo)位置的計(jì)算。該方案通過(guò)FPGA完成大部分的處理功能,減少了無(wú)線傳輸?shù)臄?shù)據(jù)量,增加了觸控的實(shí)時(shí)性,使系統(tǒng)在處理速度和效率方面都達(dá)到最佳效果。采用間隔觸發(fā)激光和同步分階段圖像采集和處理,使系統(tǒng)鎖定激光觸點(diǎn)位置。各個(gè)模塊協(xié)調(diào)工作完成坐標(biāo)的計(jì)算。
參考文獻(xiàn):
[1]陳慧.基于FPGA的高復(fù)雜度激光脈沖編碼器設(shè)計(jì)[D].長(zhǎng)春理工大學(xué),2018.
[2]陳業(yè)慧,黃凱.基于OV7725二值化圖像的無(wú)線實(shí)時(shí)傳輸[J].長(zhǎng)沙大學(xué)學(xué)報(bào),2018,32(02):39-41.
[3]齊佳碩,王洪巖.基于FPGA的SDRAM接口設(shè)計(jì)及實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2018,41(19):141-144.
[4]牛博,趙宏亮.一種高可靠性高速可編程異步FIFO的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(07):36-39+43.
[5]韓利利,田益民,齊千慧,等.基于MATLAB數(shù)字圖像邊緣檢測(cè)算法的研究[J].北京印刷學(xué)院學(xué)報(bào),2019,27(07):98-101.