0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-11-27 08:40 ? 次閱讀

引言

單片機(jī)應(yīng)用系統(tǒng)中,由于圖像采集速度、程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間的限制,要完整存儲(chǔ)30 fps、640×480像素大小的一幅圖像是相當(dāng)困難的。本文運(yùn)用較高性能的16位飛思卡爾單片機(jī)在超高頻的情況下直接采集圖像,也只能采集到每行320個(gè)像素,丟失圖像,無法獲得一幅完整的圖像。本文通過在圖像采集過程中增加FIFO芯片AL422B較好地解決了這一問題,相對(duì)于采用昂貴的DSP而言,降低了圖像采集系統(tǒng)的成本。

1 單目點(diǎn)光源測距原理

野外作業(yè)時(shí),需要在運(yùn)動(dòng)中知道前方標(biāo)桿和觀察點(diǎn)之間的距離。本文將標(biāo)桿制成等間距紅外點(diǎn)光源標(biāo)桿,滿足了基于單幀靜態(tài)圖像的小孔成像原理測距模型要求,減少了圖像處理量,提高了測量的實(shí)時(shí)性、全天候性。H為各點(diǎn)光源標(biāo)桿的實(shí)際距離;n為點(diǎn)光源個(gè)數(shù),它可以通過圖像處理獲得;f為攝像頭焦距;標(biāo)尺實(shí)際像素物理距離h由攝像頭標(biāo)定取得。遠(yuǎn)距離測距原理示意圖如圖1所示,整條點(diǎn)光源標(biāo)桿都在攝像頭視野范圍內(nèi)。近距離測距原理示意圖如圖2所示,點(diǎn)光源標(biāo)桿只有部分在攝像頭范圍內(nèi)。通過圖1,可求出前方標(biāo)桿與觀察點(diǎn)的距離D.攝像機(jī)的成像幾何關(guān)系也可用小孔成像原理來近似表示:

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

2 圖像采集系統(tǒng)硬件設(shè)計(jì)

根據(jù)單目視覺測距的要求,需要通過一黑白攝像頭實(shí)時(shí)采集前車的點(diǎn)光源標(biāo)桿,通過標(biāo)尺上點(diǎn)光源所在的像素距離推算出前車距離。為了能完整地讀取圖像,本文增加了FIFO芯片,圖像采集原理示意圖如圖3所示。由單片機(jī)監(jiān)測攝像頭的行/場信號(hào),控制FIFO讀取相應(yīng)的圖像;讀完所有行后,關(guān)閉FIFO讀取圖像功能,開始由單片機(jī)從FIFO中讀取圖像數(shù)據(jù),并進(jìn)行相應(yīng)的圖像處理,根據(jù)圖像處理的復(fù)雜程度,決定圖像處理和圖像采集的時(shí)間比。由于FIFO是先入先出,其讀取數(shù)據(jù)時(shí)單片機(jī)只需通過中斷使能行/場信號(hào),絕大部分時(shí)間單片機(jī)可以用來進(jìn)行圖像處理。本文采取的是采集一幀圖像后,單片機(jī)利用兩幀圖像的空閑時(shí)間和下一幀F(xiàn)IFO采集時(shí)間,共約3幀時(shí)間進(jìn)行圖像處理和控制,其結(jié)果是圖像由原來的30 fps,變成10fps.盡管幀率慢了,但經(jīng)過分析得知,在100 km/h情況下,滯后距離2.8 m,可以滿足要求。

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

2.1 飛思卡爾16位單片機(jī)MC9S12DG128

本文采用飛思卡爾1 6位單片機(jī)MC9S12DG128作為主控芯片,該芯片是Freescale公司推出的S12系列微控制器中的一款增強(qiáng)型、汽車級(jí)的16位微控制器,片內(nèi)總線時(shí)鐘頻率最高可達(dá)25 MHz,集成了8 KB的RAM、128KB的Flash、2 KB的EEPROM,集成度高,資源也相當(dāng)豐富。

2.2 攝像頭芯片OV7670

OV7670是OmniVision公司推出的Camerachiptm圖像傳感器,體積小,工作電壓低。VGA圖像最高達(dá)到30fps.其主要特性為:

◆感光陣列(共有656×488個(gè)像素,在YUV的模式中有效像素為640×480個(gè));

◆高靈敏度適合低照度應(yīng)用,對(duì)紅外光線敏感;

◆標(biāo)準(zhǔn)的SCCB接口,兼容I2C總線接口;

◆RawRGB、RGB(GRB4:2:2,RGB565/555/444)、YUV(4:2:2)和YCbCr(4:2:2)輸出格式;

◆支持VGA、CIF和從CIF到40×30的各種尺寸。

2.3 FIFO芯片AL422B

AL422B是AverLogic公司推出的一個(gè)存儲(chǔ)容量為393 216字節(jié)×8位的FIFO存儲(chǔ)芯片。其所有的尋址、刷新等操作都由集成在芯片內(nèi)部的控制系統(tǒng)完成,AL422B內(nèi)部功能結(jié)構(gòu)框圖如圖4所示。

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

AL422B主要特點(diǎn)是:

◆AL422B的存儲(chǔ)體為3 Mb(393 21 6字節(jié)×8位);

◆可以存儲(chǔ)VGA、CCIR、NTSC、PAL和HDTV等制式一幀圖形的信息;

◆獨(dú)立的讀寫操作,可以接受不同的I/O速率;

◆高速異步串行存??;

◆讀寫周期為20 ns;

◆存取時(shí)間為15 ns;

◆內(nèi)部DRAM自刷新。

3 圖像采集系統(tǒng)程序設(shè)計(jì)

3.1 系統(tǒng)實(shí)現(xiàn)

要想在單片機(jī)應(yīng)用系統(tǒng)中實(shí)現(xiàn)數(shù)字圖像的靜態(tài)存儲(chǔ),必須解決存儲(chǔ)速度和存儲(chǔ)容量兩大問題。對(duì)于速度問題,需要對(duì)OV7670的數(shù)據(jù)輸出時(shí)序進(jìn)行分析,使其滿足要求。VGA時(shí)序圖如圖5所示。其中PCLK為像素時(shí)鐘,頻率與主頻一致,即27 MHz,上升沿時(shí)數(shù)據(jù)輸出有效;VSYNC為場信號(hào);

HREF為水平參考信號(hào),當(dāng)像素在窗口有效時(shí)為高電平,否則為低電平;HSYNC為行信號(hào);D[7:0]為8位數(shù)據(jù)輸出。

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

AL422B寫操作時(shí)序圖如圖6所示,WCK為AL422B的寫入時(shí)鐘,周期最大為1000 ns,最小為20 ns(對(duì)應(yīng)主頻50 MHz);其上升沿時(shí)數(shù)據(jù)寫入,隨著該時(shí)鐘輸入其內(nèi)部,寫指針自動(dòng)增加??梢?,AL422B的速度滿足設(shè)計(jì)要求。具體操作時(shí),由單片機(jī)的I/O口控制AL422B的寫使能/WE,使其為低電平,使能寫功能,數(shù)據(jù)端DI7~0在WCK上升沿時(shí)將數(shù)據(jù)寫入。寫完一副圖像后,由單片機(jī)的I/O口控制寫復(fù)位/WRST,使其為低電平,使能復(fù)位,數(shù)據(jù)寫入地址指針將回到0地址位。

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

AL422B讀操作時(shí)序圖如圖7所示。RCK為AL422B的讀出時(shí)鐘,周期最大為1000 ns,最小為20 ns,當(dāng)/RE和/OE有效時(shí),在其上升沿?cái)?shù)據(jù)有效,隨著該時(shí)鐘輸入,其內(nèi)部的讀指針自動(dòng)增加。當(dāng)單片機(jī)的主頻為25 MHz時(shí),還不能直接給OV7670的系統(tǒng)時(shí)鐘XCLK提供時(shí)鐘,我們采用外部晶振提供27 MHz的同頻信號(hào)給OV7670。

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

圖像采集電路原理圖如圖8所示。OV7670的像素時(shí)鐘PCLK直接和AL422B的數(shù)據(jù)讀入時(shí)鐘WCK相連,具體操作時(shí),由單片機(jī)的I/O口控制AL 422B的讀使能/RE和輸出數(shù)據(jù)使能/OE,使它們?yōu)榈碗娖?;使能?shù)據(jù)讀出功能,數(shù)據(jù)端DO7~0在RCK上升沿時(shí)將數(shù)據(jù)輸出給單片機(jī)。讀完一副圖像后,由單片機(jī)的I/O口控制寫復(fù)位/RRST,使其為低電平,使能復(fù)位,數(shù)據(jù)讀出地址指針將回到0地址位。

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

3.2 程序設(shè)計(jì)

程序設(shè)計(jì)流程如圖9所示。當(dāng)單片機(jī)檢測到場信號(hào)更新后,開始監(jiān)測行信號(hào)到達(dá),之后使能/WE,開始順序讀取圖像。讀完一幀圖像后關(guān)閉/WE,單片機(jī)使能/RE,開始讀取首行圖像中的640個(gè)像素。本文采取邊讀邊處理的方式,較好地解決了一幀圖像多達(dá)3 MB的問題。點(diǎn)光源標(biāo)桿發(fā)出的紅外光線在圖像上呈現(xiàn)出若干個(gè)光暈區(qū)域,找到光暈中心就可以找到點(diǎn)光源的圖像坐標(biāo),為此在讀取的同時(shí)將各像素點(diǎn)與閾值進(jìn)行比較,小于閾值的為疑似點(diǎn)光源并記錄對(duì)應(yīng)坐標(biāo);當(dāng)讀取完一行像素時(shí),得到的將是一組疑似點(diǎn)光源坐標(biāo)的像素位置,將其進(jìn)行統(tǒng)計(jì)求平均,得出點(diǎn)光源在該行的坐標(biāo),最多12個(gè)字節(jié)(正面標(biāo)桿6個(gè),某側(cè)標(biāo)桿6個(gè)),遠(yuǎn)遠(yuǎn)小于整行640個(gè)字節(jié)。

基于FIFO芯片和MC9S12DG128單片機(jī)實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

當(dāng)讀取完一幀像素時(shí),得到最多12×480個(gè)字節(jié),單片機(jī)64 KB的容量完全可以存儲(chǔ),最后將行求平均,得出最終的點(diǎn)光源坐標(biāo)。經(jīng)驗(yàn)證,所需總時(shí)間在2.15幀圖像內(nèi)完成。

結(jié)語

文中討論了基于FIFO芯片和單片機(jī)實(shí)現(xiàn)的點(diǎn)光源圖像采集系統(tǒng),描述了單目點(diǎn)光源測距原理、圖像采集系統(tǒng)硬件和軟件設(shè)計(jì)方法,著重介紹了FIFO芯片在圖像采集中的橋梁作用。通過系統(tǒng)樣機(jī)檢驗(yàn),能夠滿足要求,達(dá)到了預(yù)期效果。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50008

    瀏覽量

    419734
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44456

    瀏覽量

    631052
  • 圖像采集
    +關(guān)注

    關(guān)注

    2

    文章

    298

    瀏覽量

    41212
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于MC9S12DG128單片機(jī)的智能尋跡車設(shè)計(jì)

    單片機(jī)控制的只能尋跡車系統(tǒng)。該系統(tǒng)MC9S12DG128為控制核心,采用CCD圖像傳感器檢測路面信息,利用加速度傳感器檢測加速度,采用紅外
    發(fā)表于 10-27 12:58

    MC9S12DG128 ECT中斷問題

    我在調(diào)試MC9S12DG128的ECT模塊的時(shí)候,使用到了定時(shí)器通道0和1的中斷,為什么當(dāng)我使用TSCR2_PR寄存器進(jìn)行分頻時(shí),程序就執(zhí)行不下去,而不調(diào)用這句話的時(shí)候程序就能夠執(zhí)行呢??求大神指點(diǎn)
    發(fā)表于 08-18 16:01

    MC9S12DG128的一些基礎(chǔ)資料

    MC9S12DG128的一些基礎(chǔ)資料
    發(fā)表于 08-19 20:00

    MC9S12DG128通過 繼電器 的開合來控制 電磁閥 的程序

    現(xiàn)在在學(xué)習(xí)飛思卡爾單片機(jī)。想找一個(gè)MC9S12DG128通過繼電器的開合來控制電磁閥的程序。求各位大神們幫忙。
    發(fā)表于 11-19 11:18

    單片機(jī)MC9S12DG128B相關(guān)資料分享

    MC9S12DG128B是一款使用16位HCS12內(nèi)核單片機(jī),它隸屬于飛思卡爾單片機(jī)S12系列,其內(nèi)核為CPU
    發(fā)表于 04-14 06:53

    MC9S12DG128微處理器芯片相關(guān)資料推薦

    概述:MC9S12DG128是飛思卡爾半導(dǎo)體公司生產(chǎn)的一款微處理器芯片。它為112腳LQFP工藝封裝。
    發(fā)表于 05-19 06:25

    MC9S12DT128 datasheet pdf

    E, MC9S12DG128, MC9S12DJ128,MC9S12DB128, MC9S12A128, SC515846, SC515847,SC515848, SC515849,
    發(fā)表于 03-03 15:47 ?35次下載

    MC9S12DG128教學(xué)實(shí)驗(yàn)系統(tǒng)

    MC9S12DG128教學(xué)實(shí)驗(yàn)系統(tǒng):支持GPIO通用輸入輸出口及IRQ中斷、SCI、A/D、TIMER、SPI、I2C、PWM等實(shí)驗(yàn),對(duì)于這些實(shí)驗(yàn)有配套教材和實(shí)驗(yàn)指示書
    發(fā)表于 07-07 10:27 ?0次下載

    基于MC9S12DG128單片機(jī)的智能尋跡車設(shè)計(jì)

    摘要:設(shè)計(jì)了一種基于飛思卡爾MC9S12DG128單片機(jī)控制的智能尋跡車系統(tǒng)。該系統(tǒng)MC9S12DG128為控制核心,采用CCD
    發(fā)表于 07-22 21:26 ?115次下載

    S12單片機(jī)模塊應(yīng)用及程序下載調(diào)試

    S12單片機(jī)模塊應(yīng)用及程序下載調(diào)試 本次智能車邀請(qǐng)賽采用的MC9S12DG128(以下簡稱DG128)是Freescale公司推出的S12
    發(fā)表于 11-23 21:13 ?2798次閱讀

    基于16位單片機(jī)MC9S12DG128的智能車控制系統(tǒng)設(shè)計(jì)與

    基于16位單片機(jī)MC9S12DG128的智能車控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 1引言      我國自2006年起舉辦的全國大學(xué)生“飛
    發(fā)表于 12-04 10:35 ?1885次閱讀

    MC9S12DG128中文資料

    MC9S12DG128中文資料詳細(xì)的ppt。
    發(fā)表于 12-24 13:59 ?83次下載

    采用MC9S12DG128單片機(jī)的智能車控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法

    本文所述的智能車就是根據(jù)比賽規(guī)則要求設(shè)計(jì)并制作而成的,該智能車控制系統(tǒng)采用飛思卡爾半導(dǎo)體公司生產(chǎn)的16位MC9S12DG128單片機(jī)作為數(shù)字控制器,由安裝在車前部的黑白CMOS攝像頭負(fù)責(zé)采集
    發(fā)表于 09-07 15:58 ?8次下載
    采用<b class='flag-5'>MC9S12DG128</b><b class='flag-5'>單片機(jī)</b>的智能車控制<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>方法

    使用MC9S12DG128單片機(jī)和CCD傳感器實(shí)現(xiàn)智能小車的研究論文

    Freescale16位單片機(jī)MC9S12DG128作為系統(tǒng)控制處理器,基于CCD傳感器采集視頻圖像,通過對(duì)獲得的
    發(fā)表于 11-26 15:35 ?1次下載
    使用<b class='flag-5'>MC9S12DG128</b><b class='flag-5'>單片機(jī)</b>和CCD傳感器<b class='flag-5'>實(shí)現(xiàn)</b>智能小車的研究論文

    MC9S12DG128的結(jié)構(gòu)與工作原理的學(xué)習(xí)課件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是MC9S12DG128的結(jié)構(gòu)與工作原理的學(xué)習(xí)課件免費(fèi)下載包括了:MC9S12DG128的內(nèi)部結(jié)構(gòu),MC9S12DG128引腳功能,MC9S12DG128的運(yùn)
    發(fā)表于 12-28 08:00 ?16次下載
    <b class='flag-5'>MC9S12DG128</b>的結(jié)構(gòu)與工作原理的學(xué)習(xí)課件免費(fèi)下載