2 總體設(shè)計(jì)方案及論證2.1 總體設(shè)計(jì)方案設(shè)計(jì)主要由幾個(gè)模塊組成:
1). 圖像采集模塊:OV7670攝像頭通過設(shè)置參數(shù)采集圖像,將采集到的圖像存儲(chǔ)在AL422里;
2). 控制處理模塊:STM32將存儲(chǔ)在AL422內(nèi)部的數(shù)字代碼提取出來,同時(shí)控制液晶顯示屏TFT;
3). TFT液晶顯示模塊:經(jīng)過STM32處理后的數(shù)據(jù)在TFT上顯示。
總體設(shè)計(jì)方案流程圖如圖2-1所示。
圖2- 1 總體設(shè)計(jì)方案流程圖
2.2 總體設(shè)計(jì)方案論證2.2.1 攝像頭的選擇- 模擬攝像頭(CCD和模擬CMOS)+ LM1881
優(yōu)點(diǎn):成本低(LM1881只要10元,攝像頭只要45元);方案實(shí)現(xiàn)簡(jiǎn)單(只需根據(jù)幾個(gè)同步信號(hào),開啟AD連續(xù)采集即可);
缺點(diǎn):需要A/D速度支持,以獲得高分辨率。A/D速度與MCU總線時(shí)鐘有關(guān),所以需要超頻,但MCU穩(wěn)定性必須犧牲。
- 模擬攝像頭(CCD和模擬CMOS) + SAA7113視頻解碼 + AL422B
優(yōu)點(diǎn):經(jīng)典的圖像采集方案,為各視頻采集卡和其他產(chǎn)品所應(yīng)用,能完整采集整幅圖像。攝像頭兼容性好,可以隨時(shí)更換更好的攝像頭,獲得更清晰圖像,而采集部分軟硬件不需要做太大改變;
缺點(diǎn):方案復(fù)雜,涉及大量邏輯操作,一般用CPLD或FPGA配合。在智能車比賽中,規(guī)定不能使用可編程器件,使用74做邏輯功能,控制幾個(gè)芯片較為復(fù)雜,體積、可靠性都很難保證,制作難度較大。涉及IIC操作,增加調(diào)試時(shí)間難度。
- 數(shù)字?jǐn)z像頭(數(shù)字CMOS和OV7620等)
優(yōu)點(diǎn):數(shù)字?jǐn)z像頭方案,采集簡(jiǎn)單,無需A/D;
缺點(diǎn):與模擬攝像頭+AD類似,采集分辨率與MCU頻率相關(guān)。數(shù)字?jǐn)z像頭信號(hào)輸出頻率可高達(dá)13.5MHz,沒有DMA功能MCU從IO讀信號(hào)再寫入內(nèi)存,速度跟不上,同樣需要犧牲穩(wěn)定性進(jìn)行超頻使用。因?yàn)闆]有引入PCLK視頻同步信號(hào),直接采集CMOS數(shù)據(jù)口,有可能會(huì)采集到不穩(wěn)定的數(shù)據(jù)(即CMOS數(shù)據(jù)口狀態(tài)正在改變時(shí))這一點(diǎn)可能造成嚴(yán)重的干擾。
- 數(shù)字?jǐn)z像頭(數(shù)字CMOS和OV7670等)+ FIFO
優(yōu)點(diǎn):采用FIFO作為緩沖,可以采集完整圖像。圖像采集分辨率與FIFO容量有關(guān);
缺點(diǎn):FIFO容量大,若使用視頻FIFO,性價(jià)比較高。
選擇方案:經(jīng)過對(duì)以上幾種方法的比較,方案四可行性比較高,同時(shí)價(jià)格也相對(duì)來說比較便宜,而且數(shù)字信號(hào)相對(duì)于模擬信號(hào)來說利用更加簡(jiǎn)單,對(duì)于現(xiàn)階段的學(xué)習(xí)更方便。
2.2.2 處理芯片的選擇優(yōu)點(diǎn):對(duì)于ATmega16的使用比較熟練;
缺點(diǎn):ATmega16的flash相對(duì)較小,處理速度較慢,不適宜快速處理圖像信息,對(duì)信息由一定的延時(shí)顯示。
優(yōu)點(diǎn):flash相對(duì)于ATmega16的較大,處理速度也更加的快;
缺點(diǎn):價(jià)格相對(duì)于ATmega16來說較貴。
選擇方案:為了更好地處理圖像信息,使數(shù)據(jù)信息更好地采集,采用STM32系列芯片來作為處理芯片。
2.2.3 圖像顯示器的選擇優(yōu)點(diǎn):2.4寸TFT液晶顯示屏,大小為240X320,顯示圖像范圍較大;
缺點(diǎn):TFT供電是3.3V,單片機(jī)供電為5V,需要外圍轉(zhuǎn)換電路。
優(yōu)點(diǎn):顯示程序簡(jiǎn)單,可以供給5V電壓,與單片機(jī)供電電壓相同;
缺點(diǎn):顯示圖像較小。
選擇方案:由于STM32采集的數(shù)據(jù)為240X320X2的數(shù)據(jù),剛好是2.4寸的TFT液晶顯示屏的數(shù)據(jù),所以使用TFT液晶顯示屏比5110顯示屏更加的好,這樣就不需要去設(shè)置一些數(shù)據(jù),免去一些麻煩。
2.2.4 FIFO的選擇由于速度及程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間的限制,要存儲(chǔ)每秒30幀,640×480像素大小的一副圖像,是相當(dāng)困難的,而FIFO 芯片AL422的出現(xiàn),解決了這一難題。AL422是 Aver Logic 公司推出的一個(gè)存儲(chǔ)容量為393216字節(jié)×8 位的FIFO存儲(chǔ)芯片,其所有的尋址、刷新等操作都由集成在芯片內(nèi)部的控制系統(tǒng)完成。AL422是一款容量很大,而且可存儲(chǔ)一幅圖像的完整信息的幀存儲(chǔ)器芯片,AL422的工作頻率可達(dá)50MHZ。
具有以下特點(diǎn):
- 具有384X8Bits FIFO,支持VGA,CCIR,PAL等多種分辨率;
- 可進(jìn)行獨(dú)立的讀寫操作;
- 可高速異步串行存取,讀寫時(shí)鐘周期為20ns;
- 內(nèi)含輸出使能控制,并能夠自行刷新數(shù)據(jù);
(5)工作電壓為5V或3.3V,采用標(biāo)準(zhǔn)的28腳SOP封裝。
選擇方案:為了讀取一幅完整的圖像數(shù)據(jù),同時(shí)AL422價(jià)格相對(duì)來說比較便宜,因此選擇AL422作為數(shù)據(jù)中轉(zhuǎn)站。
2.3 硬件設(shè)計(jì)2.3.1 處理芯片STM32的設(shè)計(jì)對(duì)于處理芯片的設(shè)計(jì),開始考慮自己設(shè)計(jì)處理芯片整體PCB布局,考慮到可能出現(xiàn)雙面板的問題,因此直接購買了處理芯片部分。處理芯片原理圖見附加pdf文件。
2.3.2 攝像頭原理圖設(shè)計(jì)基于攝像頭與AL422的配合使用,把攝像頭與AL422直接放在一個(gè)模塊上比較穩(wěn)定,減少其他干擾因素(連線問題、電產(chǎn)生的磁場(chǎng))的影響,因此把攝像頭與AL422放置在一起。原理圖如圖2-2所示。
圖2- 2 攝像頭與存儲(chǔ)器連接原理圖
3 項(xiàng)目總結(jié)在這次設(shè)計(jì)中,經(jīng)過不斷地調(diào)試與改進(jìn),基于STM32的視頻處理并將采集到的圖像信息顯示在TFT液晶顯示屏上成功完成。在制作的過程中,遇到許多的問題,大概如下:
(1)在前期準(zhǔn)備過程中,由于對(duì)于攝像頭的原理及種類選擇了解甚少,所以在對(duì)攝像頭的種類選擇過程中舉棋不定;
(2)在對(duì)攝像頭的基礎(chǔ)知識(shí)有了一定了解后,對(duì)攝像頭采集到的圖像數(shù)據(jù)如何處理這個(gè)問題上又有了比較大的問題,是直接處理數(shù)據(jù),還是先把采集到的圖像信息存儲(chǔ)起來再進(jìn)行處理。經(jīng)過比較,我們采用了后者;后者的優(yōu)點(diǎn)在于把數(shù)據(jù)存儲(chǔ)起來,一方面可以防止數(shù)據(jù)丟失,另外一方面可以避免一下處理太大的數(shù)據(jù);
(3)對(duì)于攝像頭方面的問題有了大概解決辦法后,對(duì)于處理芯片的選擇又有問題了;在前期準(zhǔn)備用DSP作為處理芯片,由于是第一次接觸并應(yīng)用,對(duì)于復(fù)雜的DSP來說,在短期內(nèi)把它學(xué)懂并且用來做項(xiàng)目是有一定困難的,其次對(duì)于DSP的購買能力也是一定的,因此,最后采用了綜合效果較好的STM32作為處理芯片。
(4)在一步步把程序調(diào)通之后圖像顯示比較清晰,但為了精度能更高一點(diǎn),于是對(duì)軟件和硬件進(jìn)行
經(jīng)過這次項(xiàng)目,對(duì)于攝像頭的處理方面的一些知識(shí)也有了很大的提升,另外對(duì)于處理芯片STM32的知識(shí)掌握也有很大提高,讓自己也多學(xué)會(huì)了一款單片機(jī),對(duì)于自己以后的學(xué)習(xí)打下了一定的基礎(chǔ)。