陳飛躍+++張麗紅+++王澤旭
摘 要:文章介紹利用TMS320F28016通過ecap捕捉單元、I2C接口、IO口模擬采集模組OV2640數(shù)據(jù),并通過SCI串口通信將采集數(shù)據(jù)發(fā)送到顯示單元??芍С植煌袷降南袼剌敵?。
關(guān)鍵詞:TMS320F28016;OV2640;ecap捕捉單元;I2C接口;IO口模擬采集;SCI串口
該設(shè)計(jì)采用DSP型號(hào)為TMS320F28016,配合OV2640模組實(shí)現(xiàn)攝像采集,并通過SCI串口將采集圖像發(fā)送出去,支持QCIF(176*144),QVGA(320*240),VGA(640*480)等不同像素輸出,最大支持200萬像素。
1 系統(tǒng)主要硬件接口設(shè)計(jì)
OV2640模組的管腳接口如圖1所示,該設(shè)計(jì)使用時(shí)將OV2640的HREF和PLCK接入與非門器件再輸出為一個(gè)管腳信號(hào)H/P。
TMS320F28016的XCLOUT對(duì)OV2640模組提供時(shí)鐘,其I2C接口的SDAA和SCLA管腳用來模擬SCCB接口,對(duì)OV2640進(jìn)行初始化和相關(guān)圖像輸出配置。使用兩個(gè)ecap中斷捕捉信號(hào),一個(gè)捕捉模組的場同步VSYNC,另外一個(gè)捕捉HERF和PCLK的的與非輸出。最后利用SCI串口將采集到的圖像數(shù)據(jù)進(jìn)行發(fā)送輸出。DSP管腳接口的連接簡易圖如圖2所示。
2 系統(tǒng)軟件程序介紹
程序設(shè)計(jì)重點(diǎn)首先在于通過DSP的I2C管腳模擬SCCB接口時(shí)序,包括起始、終止、無應(yīng)答、讀寫字節(jié)等操作,然后按照OV2640的數(shù)據(jù)手冊(cè)進(jìn)行正確初始化和參數(shù)配置。
其次需要通過捕捉單元來準(zhǔn)確捕捉圖像幀的起始和結(jié)束時(shí)刻,當(dāng)VSYNC為上升沿時(shí),OV2640開始輸出圖像數(shù)據(jù);當(dāng)HREF為高電平時(shí),JPEG數(shù)據(jù)便在像素時(shí)鐘的同步下輸出數(shù)據(jù),所以VSYNC和HREF都是高電平有效。OV2640的像素時(shí)鐘是上升沿有效,它與HREF做與非邏輯后變?yōu)橄陆笛赜行А?/p>
最后利用IO口模擬讀取圖像數(shù)據(jù)時(shí)IO的讀取速度一定要比OV2640的數(shù)據(jù)輸出速度快才行。
系統(tǒng)主要功能函數(shù)包括:
unsigned char OV2640_init(void) //初始化OV2640并配置圖像輸出格式,先配置分辨率,然后配置YUV輸出,最后配置JPEG輸出
interrupt void ecap1_isr(void)//產(chǎn)生中斷,觸發(fā)圖像數(shù)據(jù)讀取并將數(shù)據(jù)送入串口發(fā)送緩沖區(qū)
interrupt void ecap2_isr(void)//產(chǎn)生中斷,判斷照片幀輸出時(shí)刻,等第3幀照片輸出后,再讀取,一般設(shè)置完后,前兩幀的都不正常
interrupt void SCIATXINTA_ISR(void)// 利用串口中斷方式進(jìn)行數(shù)據(jù)發(fā)送
3 結(jié)束語
經(jīng)驗(yàn)證,該系統(tǒng)采用DSP28016+OV2640模組方案,設(shè)置10W像素JPEG輸出,采用8個(gè)I/O口模擬圖像采集口接收J(rèn)PEG圖像數(shù)據(jù),不進(jìn)行存儲(chǔ)直接利用串口(最高速率115200bit/s)上傳圖像,可達(dá)到圖像穩(wěn)定采集效果。
參考文獻(xiàn)
[1]林志琦,張修謙,富麗,等.基于TMS320F2812和CPLD的200萬像素?cái)?shù)字圖像采集系統(tǒng)接口設(shè)計(jì)[J].長春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(02).
[2]黃健,羅國平,杜麗君.基于STM32F407平臺(tái)OV2640驅(qū)動(dòng)程序設(shè)計(jì)[J].通訊世界,2015(19).