基于ARM和FPGA的嵌入式高速圖像采集存儲系統(tǒng)
3 系統(tǒng)的工作原理及實現(xiàn)
3.1 FPGA圖像采集及暫存的實現(xiàn)
系統(tǒng)上電后,FPGA首先通過I2C總線對視頻采集模塊(SAA7113H)進行初始化,以確定其工作模式。初始化結(jié)束后,等待圖像采集命令。當(dāng)接收到FPGA發(fā)出的圖像采集命令時,視頻采集模塊開始工作,F(xiàn)PGA依靠像素時鐘和行場同步信號采集灰度圖像。由于SAA7113H輸出的灰度圖像是8位的,而外部的SRAM是16位的,因此在FPGA中必須對采集到的灰度圖像進行處理,將兩個字節(jié)的數(shù)據(jù)組合,一起輸出到外部SRAM中。一幀圖像采集結(jié)束后,SAA7113H停止圖像采集,等待下一次的采集命令。
3.2 FPGA與ARM的數(shù)據(jù)交換
為了實現(xiàn)圖像數(shù)據(jù)的實時采集與處理,應(yīng)使圖像數(shù)據(jù)的采集與外部圖像數(shù)據(jù)的讀取同時進行。因此本系統(tǒng)采用雙SRAM緩存結(jié)構(gòu)。這樣,在同一時刻,一片可用于存儲圖像數(shù)據(jù),另一片可用于外部ARM對圖像數(shù)據(jù)的讀取。兩塊SRAM存儲區(qū)乒乓式切換。當(dāng)圖像數(shù)據(jù)寫滿SRAMl時,F(xiàn)PGA向ARM發(fā)送一個中斷信號,然后,AlRM響應(yīng)中斷并讀取SRAMl中的圖像數(shù)據(jù),同時將其寫入到CF卡中,圖像數(shù)據(jù)將寫入SRAM2,當(dāng)圖像數(shù)據(jù)寫滿SRAM2時,F(xiàn)PGA也向ARM發(fā)送一個中斷信號。ARM響應(yīng)中斷并讀取SRAM2中的圖像數(shù)據(jù),同時將其寫入到CF卡中。之后,圖像傳感器的數(shù)據(jù)將再次寫入SRAMl。
3.3 圖像數(shù)據(jù)在CF卡上的存儲
CF卡內(nèi)部控制器設(shè)計完全模擬硬盤,使用標(biāo)準(zhǔn)的ATA/IDE接口界面,可通過IDE接口與電腦連接,而且早已實現(xiàn)無驅(qū)動設(shè)計,使用非常方便。在本系統(tǒng)中,圖像數(shù)據(jù)通過ARM存入CF卡,因此必須實現(xiàn)ARM對CF卡的配置、讀寫控制等操作。ARM對CF卡驅(qū)動的接口函數(shù)由硬件接口函數(shù)和用戶使用函數(shù)組成,硬件接口函數(shù)是與系統(tǒng)硬件相關(guān)的函數(shù)集。主要包括硬件復(fù)位函數(shù)、ATA寄存器操作函數(shù)和ATA設(shè)備探測函數(shù);用戶使用函數(shù)包括ATA設(shè)備驅(qū)動初始化函數(shù)、查找ATA接口設(shè)備函數(shù)、讀扇區(qū)函數(shù)、寫扇區(qū)函數(shù)、獲取設(shè)備信息、使設(shè)備立即進入待機狀態(tài)和使設(shè)備立即進入空閑狀態(tài)。由于篇幅所限,這里不再一一介紹,讀者可以根據(jù)CF卡的具體參數(shù)編寫相應(yīng)的函數(shù)。
4 結(jié)束語
文中介紹了用ARM和FPGA實現(xiàn)的一個嵌入式實時圖像采集存儲系統(tǒng)的設(shè)計方案,本系統(tǒng)的工作溫度為O~60℃,可以實現(xiàn)每秒20~30幀的視頻流灰度圖像采集和存儲,能夠滿足嵌入式實時圖像采集存儲的應(yīng)用要求,系統(tǒng)的持續(xù)工作時間取決于CF卡的存儲容量。在本系統(tǒng)中,圖像的采集存儲脫離了PC機,使圖像的采集存儲真正達到了實時性和嵌入式的要求。本系統(tǒng)可以應(yīng)用在軍事射擊評價、工業(yè)產(chǎn)品質(zhì)量檢測、醫(yī)療和生物等領(lǐng)域。
評論