基于BF533的圖像采集與顯示
通過設置BF533的FIO_DIR,F(xiàn)IO_FIAG_C,F(xiàn)IO_FLAG_S寄存器可使可編程I/O接口PF0為低電平,PF1為高電平,從而使LCD處于工作狀態(tài),圖像傳感器處于復位狀態(tài)。之后,可以用如下代碼對PPI接口進行配置。
*pPPI_CONTROL=0x009e;//POLSIPACK_EN |Ox0010 | XFR_TYPE | PORT_DIR;
*pPPI_DELAY=0xcb;//在進行寫操作前延時106個時鐘周期
*pPPI_COUNT=959;//每行傳輸960個數(shù)據(jù)點然后,可采用如下代碼對DMA0控制器進行配置,以將DAM0控制器配置為RESTART和FLOW_AUTO模式,從而使它能夠循環(huán)實現(xiàn)對緩沖區(qū)DisplavBuffer中的數(shù)據(jù)的輸出。
*pDMA0_PERIPHERAL_MAP=Ox0;//映射為PPI接口
*pDMA0_CONFIG=0x1030;//FLOW_AUTO |RESTART | DMA2D | WDSIZE_8;
*pDMA0_START_ADDR=DisplayBuffer[0][0];//要顯示數(shù)據(jù)的首地址
*pDMA0_X_COUNT=960;
*pDMA0_X_MODIFY=1;
*pDMA0_Y_COUNT=262;
*pDMA0_Y_MODIFY=1;
對定時器TIMER1,TIMER2進行配置,可以使其對TFTLCD提供行同步和幀同步信號,以將其設置為PWM_OUT輸出模式,并將定時時鐘設置為采用PPI_CLK接口輸入的20 MHz時鐘信號,其代碼如下:
*pTIMER1_PERIOD=1224;//TH
*pTIMER1_WIDTH=5;//THP,最小值
*pTIMER1_CONFIG=0x02a9;//EMU_RUN |CLK_SEL|TIN_SELIPERIOD_CNTlPWM_OUT
*pTIMER2 PERl0D=320688;//TV=262*TH=262*1224=320668
*pTIMER2_WIDTH=3672;//TVP=3*TH=3*1224=3672
*pTIMER2_CONFIG=0x02a9;
最后,再啟動PPI接口、DAM0控制器和相應的定時器,開始圖像的顯示,并延時5秒,以使圖像在LCD上穩(wěn)定的顯示5秒鐘。其顯示軟件流程圖如圖4所示。
4 結(jié)束語
經(jīng)過調(diào)試和修改,該系統(tǒng)能夠?qū)崿F(xiàn)對圖像的采集并正確顯示圖像的處理結(jié)果,本設計可以滿足預期的數(shù)據(jù)顯示需求。本文經(jīng)過對BF533的PPI接口進行合理應用,實現(xiàn)了對圖像采集和顯示的分時工作,能夠滿足一些情況下的應用。因為BF533只有一路PPI接口,所以無法實現(xiàn)對采集圖像的實時顯示。而要實現(xiàn)的對所采集數(shù)據(jù)的實時顯示,則可采用BF561DSP,該DSP可提供兩路PPI接口,因而能夠滿足圖像的采集與實時顯示。
評論