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

        ?

        高速攝像頭數(shù)據(jù)采集系統(tǒng)設計及算法研究*

        2017-11-03 00:46:04楊紅莉曾憲陽郁漢琪
        電子器件 2017年5期
        關鍵詞:高電平像素點中斷

        楊紅莉,曾憲陽,郁漢琪

        (1.南京工程學院數(shù)理部,南京 211167;2.南京工程學院工業(yè)中心,南京 211167;3.南京大學數(shù)學系,南京 210093)

        高速攝像頭數(shù)據(jù)采集系統(tǒng)設計及算法研究*

        楊紅莉1,3,曾憲陽2,3*,郁漢琪2

        (1.南京工程學院數(shù)理部,南京 211167;2.南京工程學院工業(yè)中心,南京 211167;3.南京大學數(shù)學系,南京 210093)

        由于攝像頭輸出圖像數(shù)據(jù)量大,像素同步信號PCLK頻率高,無法被眾多學者所熟知的51單片機采集到。提出了以犧牲程序空間來換取執(zhí)行速度的程序框架,提高了數(shù)據(jù)采集效率與速度。為避免圖像錯位,提出將行中斷設為高優(yōu)先級。為避免采集到無效數(shù)據(jù),指出行采集時間段必須與行中斷信號高電平區(qū)間對齊。實驗結(jié)果表明,51單片機運行此程序能夠很好的采集攝像頭圖像數(shù)據(jù),給用戶帶來方便的同時也節(jié)約了FIFO成本。

        電子技術;攝像頭;51單片機;行中斷信號;隔行采樣;驅(qū)動算法

        攝像頭原理較為復雜,輸出圖像數(shù)據(jù)量很大,單片機要想采集到正確的圖像信息,往往需要與像素信號PCLK同步,而PCLK的頻率高達8.8 MHz左右,一般只有飛思卡爾、STM32、DSP等高速單片機才能滿足要求[1-3]。對于大多數(shù)熟悉51單片機的學者來說,由于其速度限制,一直不能用51單片機來驅(qū)動攝像頭。為此攝像頭廠家對此進行了改進,增加了價格較高的FIFO緩沖器,以至于低速單片機如AVR、403等不同步PCLK信號也能對改進后帶FIFO的攝像頭進行控制,但成本明顯增加[4-5]。還有些學者為了滿足低速單片機驅(qū)動攝像頭要求,刻意通過修改SCCB寄存器將攝像頭輸出分辨率調(diào)低,這將影響圖像輸出質(zhì)量[4-5]。本文以不帶FIFO的OV6620攝像頭為例(其他攝像頭與此類似),深入分析其工作原理,在不改變攝像頭默認輸出分辨率的前提下,提出以低速51單片機驅(qū)動攝像頭解決方案,并通過實驗驗證該方案的可行性。

        1 攝像頭工作原理

        OV6620攝像頭工作電壓為5 V,工作制式有兩種,在NAL制式下,每秒輸出25幀圖像,每幀圖像分為奇偶兩場,因此每秒輸出50場圖像。在不改變配置寄存器SCCB時,其默認輸出的圖像為356像素×292像素,因此一副圖像可定義為292行,每行有356個像素點。一副圖像是逐行按序輸出的,并且每行像素點數(shù)據(jù)又是逐個按序輸出[6-8]。

        如圖1所示,一副圖像包括2次場中斷申請信號VSYNC以及292次行中斷申請信號HREF,場中斷申請信號用來表示一場圖像數(shù)據(jù)輸出的開始與結(jié)束,行中斷申請信號表示每行數(shù)據(jù)輸出的開始。在行中斷申請信號的高電平期間,該行356個像素點的灰度數(shù)據(jù)將在像素同步時鐘PCLK的同步下,按序通過數(shù)據(jù)口Y0-Y7引腳輸出。行中斷申請信號低電平期間為消隱及曝光時間,此時數(shù)據(jù)輸出無效。為避免圖像錯位,必須保證每行像素點數(shù)據(jù)嚴格對齊,因此在讀取各像素點數(shù)據(jù)時,應當在PLCK信號的同步下進行[9-13]。

        圖1 OV6620攝像頭信號輸出時序圖

        2 低速單片機驅(qū)動方案

        2.1 存在的問題分析

        通過對攝像頭工作原理分析,結(jié)合示波器觀察得知,OV6620每隔110 ns將會輸出一個像素點數(shù)據(jù)。因此只有機器周期必須遠小于55 ns的高速單片機,才能捕捉到像素同步時鐘PCLK。而對于51單片機來講,即使在24 MHz的較高晶振頻率下,其機器周期已達到500 ns,速度上不能滿足要求。而且51單片機片內(nèi)RAM容量太小,僅為128 byte,不能暫存像攝像頭龐大的數(shù)據(jù)。

        2.2 本文的驅(qū)動解決方案

        本文的將從兩方面解決此問題。一方面盡可能提高51單片機速度,且增加片內(nèi)RAM大小。選用當前市場流行的國產(chǎn)增強型51單片機STC12C5A60S2[14],其內(nèi)部已擴展1 024 byte RAM,可方便進行數(shù)據(jù)緩沖,程序存儲器Flash有60K之多,可以用來存放較大程序。外部晶振頻率采用22.118 4 MHz,先從硬件上提高其運行速度。在軟件設計上,匯編語言程序往往可取得更高的運行效率及執(zhí)行速度,但對于多數(shù)單片機工程師來講,對匯編語言并不常用,本文將設計一種特殊結(jié)構(gòu)的C語言程序以達到匯編語言相同的執(zhí)行效率,從而提高單片機執(zhí)行速度。

        在另一方面,研究出一套適合低速51單片機的數(shù)據(jù)采集方案。根據(jù)文獻[6]分析可知,PCLK同步信號主要是防止讀取的圖像錯位,是否必須跟PCLK信號同步才能保證圖像不錯位呢?答案是否定的。在行中斷信號到來后的高電平期間,只要時間間隔均勻的采集該行數(shù)據(jù),即使不跟PCLK信號同步,也可獲取一副正確的圖像。每行上有356個像素點,單片機假設只采樣50點,這50點可通過采集—延時—采集的方式,將50點平均分布在該行上。讀者也許會有疑惑,采樣到的50點數(shù)據(jù)是否存在無效數(shù)據(jù)?設前一個像素點數(shù)據(jù)為70,后一個像素點數(shù)據(jù)75,那么即使采樣時PCLK不是高電平,采集到的值也會在70~75之間,因此不會出現(xiàn)圖像錯位問題。由于每行采樣點比實際像素點少,那么應采用隔行采集的方式與列數(shù)對應,形成圖像比例縮放。當然為使數(shù)據(jù)采集過程中不被干擾,必須將行中斷設置為高優(yōu)先級,這些方案將在下文實驗中進行驗證。

        2.3 硬件電路原理圖

        硬件電路連接如圖2所示。要獲取黑白圖像,只需采集Y0-Y7端口數(shù)據(jù)即可。場中斷請求信號HREF采用下降沿觸發(fā),接至單片機外部中斷1引腳。行中斷請求信號VSYNC采用上升沿觸發(fā),經(jīng)非門取反后接至單片機外部中斷0引腳。采用帶有滯回比較器功能的非門可有效消除干擾信號。

        圖2 硬件電路連接圖

        2.4 軟件程序編寫

        軟件編程時應盡可能提高數(shù)據(jù)采集速度,初始化程序中,首先在RAM中開啟一個二維數(shù)組,用來存放采集的圖像數(shù)據(jù)。設置行中斷為高優(yōu)先級中斷,場中斷為低優(yōu)先級別中斷。當場中斷信號到來后,使能數(shù)據(jù)接收,當行中斷到來后,設系統(tǒng)每隔7行采集1行數(shù)據(jù),如果行中斷滿足條件,則開始采集數(shù)據(jù)。設圖像數(shù)據(jù)采集30行30列,行數(shù)據(jù)采集的匯編程序代碼如下:

        MOV DPTR,#0000H

        LOOP:MOV A,P1

        MOVX @DPTR,A

        MOV A,DPL

        CJNE A,#30,LOOP

        由于匯編程序不便于移植,下面將寫出對應的C語言程序代碼如下:

        void ReadOv6620Data()

        { for(H=0;H<30;H++)

        { for(L=0;L<30;L++)

        {Pixel_Y[H][L]=IO6620;delay_ov6620();}

        }}

        以上程序代碼雖然精簡,可讀性好,但在運行中反復進行了for循環(huán)判斷來決定程序流向,耽誤了大量的時間,這也是C語言編程效率比匯編低的最主要原因。本文將去除循環(huán)判斷,直接按序向下編寫讀寫程序,程序讀寫中,按照讀—寫—讀—寫的模式將數(shù)據(jù)按序直接存入到RAM中,也即采用了犧牲程序空間來提高數(shù)據(jù)采集速度的方法,達到與匯編程序相同的執(zhí)行效率,而對于本文選用的單片機程序存儲器容量足夠滿足要求。根據(jù)此思路編寫的數(shù)據(jù)采集部分完整程序代碼如下:

        void xie0() //讀第1行數(shù)據(jù)并寫入到數(shù)組

        { CS_P10=0;

        Pixel_Y[0][0]=IO6620;delay_ov6620();

        Pixel_Y[0][1]=IO6620;delay_ov6620();

        Pixel_Y[0][28]=IO6620;delay_ov6620();

        Pixel_Y[0][29]=IO6620;

        CS_P10=1;}

        ……

        void xie29() //讀第29行數(shù)據(jù)并寫入到數(shù)組

        { CS_P10=0;

        Pixel_Y[29][0]=IO6620;delay_ov6620();

        Pixel_Y[29][1]=IO6620;delay_ov6620();

        Pixel_Y[29][28]=IO6620;delay_ov6620();

        Pixel_Y[29][29]=IO6620;

        CS_P10=1;}

        void ReadOv6620Data()//數(shù)據(jù)讀取、處理、發(fā)送

        { if(ReadOv6620Data_EN==1)

        { switch(PixelRow)

        { case 0:xie0();break;

        case 1:xie1();break;

        case 28:xie28();break;

        case 29:xie29();break;}

        ReadOv6620Data_EN=0;

        PixelRow++;}

        if(HrefStartFlag==1)//確認場中斷到來

        { RowCount++; //行計數(shù)器加1

        if((RowCount>20)&&(RowCount%7)==0)

        { ReadOv6620Data_EN=1;}

        if (RowCount>=226)

        {RowCount=0; //行計數(shù)器清零

        HrefStartFlag=0;//場中斷標志清零

        PixelRow=0;//數(shù)組行計數(shù)清零

        ReadOv6620Data_EN=0;//讀使能清零

        EX0=0;

        PixelBinary();//圖像二值化處理

        SEND(); //通過串口發(fā)送給上位機

        delay_ms(1000);//一副圖片發(fā)送完畢

        EX0=1;} }}

        根據(jù)以上思路,數(shù)據(jù)采集及通過串口上傳至上位機的完整程序流程圖如圖3、圖4所示。

        圖3 主程序流程圖

        圖4 行中斷子程序流程圖

        3 實驗及分析

        3.1 實驗驗證

        在keil C51編譯環(huán)境下編譯以上程序,在延時函數(shù)delay_ov6620()中調(diào)整不同的延時參數(shù),然后下載代碼至單片機。用攝像頭拍攝黑色的“A”字,將攝像頭的VTO模擬圖像輸出端接至裝有視頻采集卡的PC機上觀察視頻圖像,單片機將采集到的圖像數(shù)據(jù)經(jīng)二值化處理后,通過串口發(fā)送給上位機軟件(串口調(diào)試助手)得出二值化圖像,與上位機視頻圖像形成對比,其中二值化閾值設置為0X55。同時用SIGLENT SDS2204四通道示波器觀察行、場中斷信號及行采集時間信號,得出以下實驗結(jié)果。

        圖5展示了實驗中每行采集時間為35 μs時的二值化圖像。圖5(a)為上位機視頻采集卡采集到的視頻圖像。圖5(c)中粉色波形為行中斷輸出信號,每個周期代表一行,其中高電平時間段為該行有效數(shù)據(jù)輸出時間,低電平時間段數(shù)據(jù)輸出無效。黃色波形為單片機采集一行的時間信號,從下降沿開始采集該行數(shù)據(jù),上升沿后該行數(shù)據(jù)采集完成。圖5(c)中可以看出35 μs時間段正好處于行中斷信號高電平期間,因此數(shù)據(jù)采集有效。同時在圖5(b)中顯示出了采集圖像的二值化處理結(jié)果,0區(qū)域代表黑線部分,1區(qū)域代表白色地面,與圖5(a)對比沒有發(fā)現(xiàn)圖像出現(xiàn)變形情況,而且很好的再現(xiàn)了一場黑白圖像。該實驗不僅證明了本文攝像頭算法的可行性,同時也證明了在行采集時間小于行中斷高電平時間40 μs時,不會出現(xiàn)無效數(shù)據(jù)及圖像變形問題。

        圖5 行采集時間為35 μs時的二值化圖像及示波器波形

        如圖6所示,當行采集時間為55 μs時,由于行采集時間超過每行有效時間40 μs,在圖6(c)中也可看出黃色低電平維持的時間已超過粉色高電平時間,采集點已進入數(shù)據(jù)無效區(qū)域。如圖6(b)所示,二值化圖像的右側(cè)已顯示出一列整齊的無效數(shù)據(jù),因此實際采樣時間不應超過行中斷高電平時間區(qū)域。

        圖6 行采集時間為55 us時的二值化圖像及示波器波形

        圖7 行采集時間為75 μs時的二值化圖像及示波器波形

        圖7展示了行采集時間為75 μs時的輸出波形及二值化圖像,由圖7(c)可看出每行采集時間已超過行中斷信號周期,數(shù)據(jù)采樣點不僅越過無效區(qū)域且已采集到下一場圖像,因此在圖7(b)中左邊顯示了圖像“A”,在中間區(qū)域出現(xiàn)了一列無效數(shù)據(jù)區(qū),在右邊出現(xiàn)了下一場圖像數(shù)據(jù)的左半部分。該實驗也證明了行采集時間不能超過行中斷信號的高電平時間。

        通過以上實驗可以看出,單片機在不經(jīng)過PCLK信號同步下,也能有效采集一副完整畫面;當行采集時間小于行中斷高電平時間40 μs時,能夠很好的讀取并再現(xiàn)一場圖像;當行采集時間超過行中斷高電平時間時,生成的圖像將出現(xiàn)一列無效數(shù)據(jù)區(qū);當行采集時間超過行中斷周期時,生成的圖像除了出現(xiàn)無效數(shù)據(jù)區(qū)之外,還將出現(xiàn)下一場部分圖像。因此單片機在采集圖像數(shù)據(jù)時,要想正確再現(xiàn)一副圖像,行采樣時間不應超出行中斷高電平時間區(qū)域。

        3.2 與高速單片機對比

        圖8展示了在行采集時間為35 μs且在相同采樣點數(shù)(共采樣30行,每行30點)的情況下,不捕捉PCLK信號的51單片機采集到的圖像與捕捉PCLK信號的STM32采集到的圖像對比。通過對比可以看出,51單片機集到的圖像效果與STM32單片機采集到的圖像效果幾乎沒有區(qū)別,進一步驗證了該程序算法的可行性。

        圖8 51單片機與STM32單片機拍攝的圖像對比

        3.3 數(shù)據(jù)采集最高性能指標實驗

        將51單片機晶振頻率設為22.118 4 MHz,調(diào)整void xie0()等函數(shù)中的delay_ov6620()延時函數(shù),讓行采樣總時間限制在40 μs??紤]到單片機內(nèi)部擴展RAM為1 024 byte的限制,為保證圖像盡可能不失真,設置每行采樣32個點,共采集32行,此時將采樣到最大圖像數(shù)據(jù),為系統(tǒng)數(shù)據(jù)采集最高性能指標,數(shù)據(jù)采集效果如圖9所示,其實驗現(xiàn)場如圖10所示。

        圖9 最高指標實驗效果圖

        圖10 實驗現(xiàn)場調(diào)試圖

        4 結(jié)論

        文中分析了攝像頭的工作原理,指出低速單片機驅(qū)動攝像頭存在的困難。分析了單片機不捕捉像素同步信號PCLK而直接采樣數(shù)據(jù)的可行性。在不改變攝像頭固有輸出分辨率的前提下,提出了利用犧牲程序空間來提高執(zhí)行速度的程序算法。為防止采集到無效數(shù)據(jù),行采集時間區(qū)域必須與行中斷高電平時間區(qū)域?qū)R,不能超出高電平時間。為避免采集的圖像出現(xiàn)錯位,行中斷必須設置為高優(yōu)先級。實驗結(jié)果驗證了該程序算法的可行性,表明該驅(qū)動算法在低速單片機上能很好的采集到攝像頭圖像數(shù)

        據(jù)。該研究不僅給不帶FIFO的攝像頭節(jié)約了成本,也給廣大熟悉51單片機的學者提供了方便。由于該程序獨特的算法大大提高了數(shù)據(jù)采集效率,從而提升了數(shù)據(jù)采集速度,如果將程序移植到STM32單片機系統(tǒng)中,相對原有STM32系統(tǒng)來講可進一步提升圖像采集效率與速度,從而獲取更高分辨率的圖像,這可適用于更高要求場合。該驅(qū)動算法程序?qū)⒐蚕淼骄W(wǎng)絡供廣大學者共同學習研究。

        [1] 樊冬雪,成怡,金海林. 四軸飛行器視覺導航系統(tǒng)設計[J]. 電子技術應用,2014,40(8):140-146.

        [2] 黃戰(zhàn)華,鄧超,張尹馨,等. 基于時序相關雙采樣的紫外光譜CCD信號采集[J]. 傳感技術學報,2013,26(2):216-220.

        [3] 劉秀峰,王興東,裴云,等. 基于圖像灰度自適應控制的光源系統(tǒng)[J]. 電子器件,2015,38(2):269-273.

        [4] 楊帆,張皓,馬新文. 基于FPGA的圖像處理系統(tǒng)[J]. 華中科技大學學報,2015,43(2):119-123.

        [5] 戴智堅,林培杰,程樹英. 基于太陽能電源的圖像采集系統(tǒng)[J]. 電子技術應用,2012,38(10):41-43.

        [6] OV6620datesheet.pdf.http://html.alldatasheet.com/html-pdf/103226/ETC/OV6620/53/1/OV6620.html.

        [7] 馬旭波,王宜懷. 基于KL25的同步時鐘圖像采集[J]. 計算機工程與設計,2014,35(6):1936-1940.

        [8] 張寶龍,李丹,郭艷艷. 基于OV7962的車載全景攝像頭設計[J]. 液晶與顯示,2015,30(4):634-640.

        [9] 隋修武,劉蕾,杜玉紅,等. 基于線陣CCD的可吸收縫合線線徑在線檢測系統(tǒng)[J]. 傳感技術學報,2014,27(8):1154-1158.

        [10] 馬其華,張春燕,任洪娟. 單目OV6620數(shù)字攝像頭在視覺測距中的應用[J]. 機械設計與制造,2011(2):71-73.

        [11] 陳張榮,賈俊鋮,嚴建峰. 基于嵌入式系統(tǒng)的網(wǎng)絡視頻會議系統(tǒng)設計[J]. 電子器件,2016,39(1):156-159.

        [12] 高云波,季聰,漢鵬武. 基于攝像頭識別路徑的智能車系統(tǒng)設計[J]. 蘭州理工大學學報,2013,39(6):98-102.

        [13] 邰玉民,耿艷峰,張朋舉. 基于攝像頭的直立自平衡智能車設計[J]. 計算機測量與控制,2016,24(1):99-101.

        [14] 南通國芯微電子有限公司. STC12C5A60S2系列單片機器件手冊.南通:南通國芯微電子有限公司,2011.

        DesignandAlgorithmsofDataCollectorSystemsforHigh-SpeedCamera*

        YANGHongli1,3,ZENGXianyang2,3*,YUHanqi2

        (1.Department of Mathematics and Physics,Nanjing Institute of Technology,Nanjing 211167,China;2.Industrial Center,Nanjing Institute of Technology, Nanjing 211167,China;3.Department of Mathematics,Nanjing University,Nanjing 210093,China)

        Because the camera output image data quantity is big and with high PCLK pixel synchronization signal frequency,it cannot be collected by 51 single-chip microcomputer which is known for many scholars. The application framework of program space for execution speed was proposed to improve the speed of data acquisition. To avoid dislocation images,the row set is put forward as high priority. In order to avoid invalid data collected,it is pointed out that line collection period must be line with the interrupt signal high level range alignment. The experimental results show that the 51 single-chip computer to run this program can collect a good camera image data,bring convenience to the user and at the same time also save on cost of FIFO.

        electronic technology;camera;51 single-chip microcomputer;interlaced sampling;drive the algorithm

        10.3969/j.issn.1005-9490.2017.05.022

        項目來源:南京工程學院青年基金重點項目(QKJA201404);南京工程學院2014年校級教學改革項目(JG201440);南京工程學院創(chuàng)新基金重大項目(CKJA201410)

        2016-07-17修改日期2016-11-17

        TP212.9

        A

        1005-9490(2017)05-1161-06

        楊紅莉(1980-),女,漢族,江蘇靖江人,南京大學博士后,南京工程學院講師,主要研究方向為算法分析與設計,系統(tǒng)建模與仿真等,yanghongli1016@163.com;

        曾憲陽(1979-),男,通信作者,漢族,湖北隨州人,南京大學博士研究生,南京工程學院教師,主要研究方向為電子與通信,控制理論與控制工程等,zxy@njit.edu.cn。

        猜你喜歡
        高電平像素點中斷
        一種基于FPGA的PWM防錯輸出控制電路
        TS-03C全固態(tài)PDM中波發(fā)射機開關機控制電路原理及故障分析
        科技傳播(2019年15期)2019-08-22 08:07:44
        基于canvas的前端數(shù)據(jù)加密
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        基于逐像素點深度卷積網(wǎng)絡分割模型的上皮和間質(zhì)組織分割
        DM 50KW中波廣播發(fā)射機欠推動故障分析
        PDM 1kW中波廣播發(fā)射機保護電路分析
        基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
        電視技術(2014年11期)2014-12-02 02:43:28
        AT89C51與中斷有關的寄存器功能表解
        91日本精品国产免| 亚洲综合天堂av网站在线观看| 亚洲va国产va天堂va久久| 蜜桃臀无码内射一区二区三区| 精精国产xxxx视频在线播放器| 久久影院最新国产精品| 国产精品美女一区二区视频| 午夜不卡av免费| 久久一日本道色综合久久大香| 亚洲精品中文字幕熟女| 色偷偷色噜噜狠狠网站30根| 国产一女三男3p免费视频| 久久久久久一级毛片免费无遮挡| 青青草成人免费播放视频| 久久99精品久久久久久琪琪| 无码国产午夜福利片在线观看| 亚洲国产精品中文字幕日韩| 亚洲av手机在线观看| 全黄性性激高免费视频| 蜜臀av一区二区| 蜜桃在线观看免费高清完整版| 24小时在线免费av| 人妻少妇精品中文字幕av| 国产高清无码91| 91青青草视频在线播放| 红桃av一区二区三区在线无码av| 一本一道av无码中文字幕| 不卡无毒免费毛片视频观看| 三级国产自拍在线观看| 影视av久久久噜噜噜噜噜三级| 日本一区二区三区高清千人斩| 亚洲一区极品美女写真在线看| 在线播放av不卡国产日韩| 中文成人无字幕乱码精品区| 91精品91| 蜜桃高清视频在线看免费1| 女人和拘做受全程看视频| 美女在线国产| 视频一区二区免费在线观看| 色婷婷五月综合激情中文字幕| 国产亚洲精久久久久久无码|