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