本(běn)文(wén)为(wèi)明(míng)德揚原創文(wén)章(zhāng),轉(zhuǎn)载請注明(míng)出(chū)处!
明(míng)德揚開(kāi)發(fà)板MP801有(yǒu)豐富的(de)例程,共(gòng)59个(gè)案(àn)例。其中(zhōng)一(yī)个(gè)有(yǒu)趣的(de)案(àn)例是(shì)用(yòng)MP801開(kāi)發(fà)板实現(xiàn)一(yī)个(gè)邊(biān)緣檢测的(de)功能(néng)。通(tòng)过(guò)接入(rù)攝像头(tóu)采集到(dào)外(wài)部(bù)图(tú)像數據(jù),在(zài)FPGA中(zhōng)進(jìn)行图(tú)像算法处理,最(zuì)終(zhōng)能(néng)够通(tòng)过(guò)VGA接口(kǒu)在(zài)顯示屏上(shàng)顯示出(chū)采集到(dào)的(de)外(wài)部(bù)图(tú)像的(de)邊(biān)緣信(xìn)息。此(cǐ)例程在(zài)明(míng)德揚論壇上(shàng)有(yǒu)更(gèng)新,感(gǎn)興趣的(de)同(tóng)学可(kě)以(yǐ)直(zhí)接前(qián)往下(xià)载。
在(zài)官方(fāng)論壇上(shàng)的(de)案(àn)例中(zhōng),图(tú)像數據(jù)是(shì)通(tòng)过(guò)VGA接口(kǒu)輸出(chū)到(dào)顯示屏上(shàng)進(jìn)行顯示,輸出(chū)的(de)图(tú)像分(fēn)辨率为(wèi)640*480。今天(tiān)我(wǒ)为(wèi)大家(jiā)重(zhòng)點(diǎn)介紹的(de)是(shì)如(rú)何不(bù)使用(yòng)VGA接口(kǒu),而(ér)是(shì)通(tòng)过(guò)一(yī)个(gè)7寸(cùn)LCD屏幕顯示出(chū)邊(biān)緣檢测的(de)图(tú)像數據(jù)。
顯示效果(guǒ)如(rú)下(xià)图(tú)1所(suǒ)示:
上(shàng)图(tú)是(shì)在(zài)明(míng)德揚的(de)高(gāo)校(xiào)实验(yàn)箱上(shàng)完成(chéng)的(de)测試,实验(yàn)箱上(shàng)核心(xīn)板上(shàng)的(de)FPGA芯片(piàn)型号(hào)與(yǔ)MP801開(kāi)發(fà)板一(yī)致(zhì)。其中(zhōng),LCD屏幕的(de)分(fēn)辨率为(wèi)800*480,數據(jù)接收(shōu)格式为(wèi)RGB888,并通(tòng)过(guò)GPIO口(kǒu)與(yǔ)FPGA連(lián)接。由(yóu)于(yú)此(cǐ)案(àn)例使用(yòng)的(de)是(shì)FPGA片(piàn)內(nèi)資源,最(zuì)大只(zhī)能(néng)存儲320*200*1bit的(de)两(liǎng)幅图(tú)像,因(yīn)此(cǐ)无法保存一(yī)副完整的(de)800*480分(fēn)辨率的(de)图(tú)像數據(jù)(存儲两(liǎng)幅图(tú)像的(de)目的(de)是(shì)为(wèi)了(le)做數據(jù)读(dú)写乒乓操作)。最(zuì)終(zhōng)輸出(chū)的(de)图(tú)像分(fēn)辨率为(wèi)320*200,也(yě)就(jiù)是(shì)图(tú)中(zhōng)屏幕中(zhōng)間(jiān)的(de)部(bù)分(fēn)。
此(cǐ)工程的(de)模块(kuài)與(yǔ)在(zài)MP801上(shàng)实現(xiàn)的(de)案(àn)例是(shì)一(yī)樣(yàng)的(de),直(zhí)接拿过(guò)来(lái)使用(yòng),只(zhī)是(shì)在(zài)顯示模块(kuài)vga_driver中(zhōng)做了(le)部(bù)分(fēn)修改。由(yóu)于(yú)LCD屏的(de)驅動(dòng)时(shí)序與(yǔ)VGA的(de)时(shí)序不(bù)一(yī)致(zhì),因(yīn)此(cǐ)需要(yào)对(duì)顯示模块(kuài)進(jìn)行适配的(de)修改。首先(xiān)需要(yào)先(xiān)搞清(qīng)LCD屏的(de)驅動(dòng)时(shí)序。
其中(zhōng),LCD屏的(de)行时(shí)序是(shì):
LCD屏顯示方(fāng)式從屏幕左(zuǒ)上(shàng)角(jiǎo)一(yī)點(diǎn)開(kāi)始,從左(zuǒ)像右(yòu)逐點(diǎn)顯示,每顯示完一(yī)行,再回(huí)到(dào)屏幕的(de)左(zuǒ)邊(biān)下(xià)一(yī)行的(de)起始位置,在(zài)这(zhè)期(qī)間(jiān),需要(yào)对(duì)行進(jìn)行消隐,每行結束(shù)时(shí),用(yòng)行同(tóng)步信(xìn)号(hào)進(jìn)行同(tóng)步;LCD的(de)驅動(dòng)有(yǒu)两(liǎng)種(zhǒng)方(fāng)式,一(yī)種(zhǒng)为(wèi)HV模式,另(lìng)一(yī)種(zhǒng)为(wèi)DE模式,这(zhè)两(liǎng)種(zhǒng)模式都能(néng)驅動(dòng)LCD屏,數據(jù)在(zài)DCLK的(de)上(shàng)升(shēng)沿采樣(yàng)。
LCD屏的(de)列时(shí)序为(wèi):
當顯示完所(suǒ)有(yǒu)的(de)行,形成(chéng)一(yī)幀,用(yòng)场同(tóng)步信(xìn)号(hào)進(jìn)行场同(tóng)步,并使LCD顯示回(huí)到(dào)屏幕左(zuǒ)上(shàng)方(fāng),同(tóng)时(shí)進(jìn)行场消隐,開(kāi)始下(xià)一(yī)幀。
行、场的(de)时(shí)序參數定(dìng)義如(rú)下(xià):

LCD行、场的(de)时(shí)序图(tú):其中(zhōng)行周期(qī)數是(shì)1056,列周期(qī)數是(shì)505,LCD顯示的(de)區(qū)域是(shì)800*480时(shí)序段(duàn),行、场數通(tòng)过(guò)計(jì)數器進(jìn)行計(jì)數。
水(shuǐ)平掃描計(jì)數:
行同(tóng)步信(xìn)号(hào)hsync_r以(yǐ)及(jí)行有(yǒu)效顯示信(xìn)号(hào)hsync_de:
场信(xìn)号(hào)也(yě)是(shì)按照上(shàng)面(miàn)的(de)时(shí)序来(lái)進(jìn)行設計(jì),主(zhǔ)要(yào)是(shì)为(wèi)了(le)得到(dào)场同(tóng)步信(xìn)号(hào)vsync_r和(hé)场有(yǒu)效顯示信(xìn)号(hào)vsync_de。有(yǒu)效顯示信(xìn)号(hào)lcd_de是(shì)在(zài)这(zhè)两(liǎng)个(gè)信(xìn)号(hào)同(tóng)时(shí)有(yǒu)效时(shí)才拉高(gāo)。當lcd_de拉高(gāo)时(shí),輸出(chū)的(de)像素值在(zài)LCD屏幕上(shàng)顯示。
由(yóu)于(yú)RAM中(zhōng)保存的(de)數據(jù)數量(liàng)最(zuì)大为(wèi)320*200,因(yīn)此(cǐ)在(zài)LCD屏上(shàng)最(zuì)大只(zhī)能(néng)有(yǒu)320*200的(de)外(wài)部(bù)數據(jù)顯示區(qū)域:
驅動(dòng)模块(kuài)向(xiàng)RAM中(zhōng)輸入(rù)读(dú)地(dì)址以(yǐ)读(dú)取(qǔ)RAM中(zhōng)存儲的(de)數據(jù):
最(zuì)終(zhōng)在(zài)LCD屏上(shàng)輸出(chū)的(de)RGB信(xìn)号(hào):
学習總(zǒng)結:
由(yóu)于(yú)RAM的(de)資源限制,RAM中(zhōng)存儲的(de)一(yī)副图(tú)像最(zuì)大只(zhī)能(néng)有(yǒu)320*200的(de)像素點(diǎn),因(yīn)此(cǐ)導致(zhì)輸出(chū)到(dào)LCD屏幕上(shàng)的(de)像素最(zuì)大也(yě)只(zhī)能(néng)为(wèi)320*200,攝像头(tóu)采集到(dào)的(de)一(yī)幀640*480的(de)图(tú)像數據(jù)会(huì)有(yǒu)大部(bù)分(fēn)被(bèi)丢棄掉,这(zhè)也(yě)導致(zhì)了(le)顯示出(chū)来(lái)的(de)效果(guǒ)不(bù)是(shì)很理想(xiǎng)。想(xiǎng)要(yào)解(jiě)決这(zhè)个(gè)問(wèn)題(tí),就(jiù)只(zhī)能(néng)增大存儲空間(jiān),通(tòng)过(guò)外(wài)部(bù)存儲器如(rú)SDRAM,将攝像头(tóu)輸出(chū)的(de)整幅图(tú)像都保存起来(lái)然後(hòu)在(zài)LCD屏幕上(shàng)顯示。目前(qián)我(wǒ)们(men)正(zhèng)在(zài)做这(zhè)一(yī)工程的(de)移植,并且還(huán)会(huì)增加许多(duō)有(yǒu)趣的(de)功能(néng),提(tí)供很有(yǒu)意(yì)思(sī)的(de)玩法。
想(xiǎng)要(yào)源代(dài)碼或(huò)者(zhě)感(gǎn)興趣的(de)同(tóng)学可(kě)以(yǐ)加下(xià)面(miàn)本(běn)人(rén)的(de)聯系(xì)方(fāng)式:QQ3358622769,期(qī)待與(yǔ)大家(jiā)一(yī)起探讨進(jìn)步!








