《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于ARM和FPGA的嵌入式高速圖像采集存儲(chǔ)系統(tǒng)
基于ARM和FPGA的嵌入式高速圖像采集存儲(chǔ)系統(tǒng)
電子科技
孫 浩
摘要: 文中介紹了用ARM和FPGA實(shí)現(xiàn)的一個(gè)嵌入式實(shí)時(shí)圖像采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)方案,,本系統(tǒng)的工作溫度為O~60℃,,可以實(shí)現(xiàn)每秒20~30幀的視頻流灰度圖像采集和存儲(chǔ),,能夠滿足嵌入式實(shí)時(shí)圖像采集存儲(chǔ)的應(yīng)用要求,,系統(tǒng)的持續(xù)工作時(shí)間取決于CF卡的存儲(chǔ)容量,。在本系統(tǒng)中,,圖像的采集存儲(chǔ)脫離了PC機(jī),,使圖像的采集存儲(chǔ)真正達(dá)到了實(shí)時(shí)性和嵌入式的要求,。本系統(tǒng)可以應(yīng)用在軍事射擊評(píng)價(jià),、工業(yè)產(chǎn)品質(zhì)量檢測(cè),、醫(yī)療和生物等領(lǐng)域。
Abstract:
Key words :

現(xiàn)代化生產(chǎn)和科學(xué)研究對(duì)圖像采集系統(tǒng)要求日益提高,。傳統(tǒng)圖像采集系統(tǒng)大都是基于PC機(jī)上,,而在一些特殊的場(chǎng)合,尤其是在實(shí)時(shí)性要求較高時(shí),,普通的PC機(jī)顯然無法滿足應(yīng)用要求,。文中設(shè)計(jì)了一種基于ARMFPGA的嵌入式的圖像采集存儲(chǔ)系統(tǒng),可以很好地解決實(shí)時(shí)的嵌入式圖像采集和存儲(chǔ)問題,。它主要包括圖像采集模塊,、圖像處理模塊以及圖像存儲(chǔ)模塊等。

1 系統(tǒng)結(jié)構(gòu)及工作原理
    本系統(tǒng)的結(jié)構(gòu)模型,,如圖1所示,。圖像采集模塊負(fù)責(zé)采集原始圖像,并將原始圖像數(shù)據(jù)送給FPGA,,采用了可編程視頻輸入處理器SAA7113H,。原始圖像數(shù)據(jù)送到FPGA后,,F(xiàn)PGA將原始圖像數(shù)據(jù)暫存于兩個(gè)SRAM中,系統(tǒng)采用了Alter公司的EPlK30TCl44—3和ICSI公司的IS6LV25616AL,。一幀圖像采集完成后,,ARM將圖像數(shù)據(jù)通過FPGA取出,進(jìn)行必要的處理,,并形成圖片文件存到CF卡中,,本系統(tǒng)選用了Philips公司的LPC2214

    圖像采集芯片將原始圖像數(shù)據(jù)傳到FPGA,,F(xiàn)PGA將圖像原始數(shù)據(jù)暫存于SRAMl中,,當(dāng)一幀圖像存儲(chǔ)完后,下一幀圖像數(shù)據(jù)存于SRAM2中,。同時(shí),,將SRAMl中的數(shù)據(jù)送給ARM,ARM在對(duì)原始圖像進(jìn)行必要的處理后,,將圖像數(shù)據(jù)以圖片文件的方式存儲(chǔ)在CF卡中,。這樣就實(shí)現(xiàn)了嵌入式高速圖像采集和存儲(chǔ)功能,用戶可以很方便地將CF卡上的圖片上傳到PC機(jī)中進(jìn)行進(jìn)一步的分析和處理,。

2 系統(tǒng)硬件設(shè)計(jì)
2.1 圖像采集模塊
   
用可編程視頻輸入處理器SAA7113H進(jìn)行視頻信號(hào)處理。SAA7113H內(nèi)部集成了強(qiáng)大圖像色度,、亮度處理功能以及多種輸出模式,;有32個(gè)工作寄存器,在系統(tǒng)復(fù)位時(shí),,必須通過I2C總線對(duì)其進(jìn)行初始化,。本系統(tǒng)使用灰度圖像,沒有使用色度信號(hào),,所以數(shù)據(jù)線為8位,。SAA7113H與FPGA的接口,如圖2所示,。
2.2 FPGA模塊
    FPGA主要作用是把圖像采集芯片傳過來的圖像原始數(shù)據(jù),,采取乒乓操作的方式,暫存于兩片SRAM中,。當(dāng)FPGA開始接收第一幀圖像時(shí),,把該幀圖像根據(jù)FPGA內(nèi)部生成的地址存儲(chǔ)在SRAMl中,一幀圖像接收完畢后,,向ARM傳送,。同時(shí),把下一幀圖像暫存于SRAM2中,,然后傳給ARM,,依次循環(huán),。這樣就可以實(shí)現(xiàn)圖像的高速采集。本系統(tǒng)選用了Altera公司的EPlK30TCl44—3,,它采用EECMOS技術(shù),,144引腳TQFP封裝,容量為10萬門,,具有高密度,、低成本、低功耗的特點(diǎn),。FPGA的內(nèi)部結(jié)構(gòu)包括時(shí)鐘驅(qū)動(dòng)模塊,、SAA7113H控制模塊、SRAM控制模塊,、ARM數(shù)據(jù)交換模塊等,。SAA7113H控制模塊主要負(fù)責(zé)對(duì)視頻采集芯片SAA7113H的初始化和啟停等功能控制;SRAM控制模塊則主要進(jìn)行讀寫地址生成,、“乒乓”讀寫控制等,;ARM數(shù)據(jù)交換模塊負(fù)責(zé)向ARM申請(qǐng)中斷和數(shù)據(jù)傳輸。這些模塊在設(shè)計(jì)中利用VHDL語言,,在Quartus II環(huán)境下進(jìn)行編程和調(diào)試,,具體實(shí)現(xiàn)方法參見文獻(xiàn)。本系統(tǒng)中,,主要針對(duì)640×480的灰度圖像的采集和存儲(chǔ),,所以選用了ISSI公司的IS6lIN25616AL,它是一種高速度,、低功耗的256 kB×16的CMOS靜態(tài)隨即存儲(chǔ)器,,能夠滿足系統(tǒng)的實(shí)際要求。SRAM控制模塊的內(nèi)部結(jié)構(gòu)框圖,,如圖3所示,。

2.3 ARM模塊
    ARM模塊的主要作用是,從SRAM中取出圖像原始數(shù)據(jù),,然后進(jìn)行必要的處理,,再存儲(chǔ)在大容量的CF卡上,方便用戶在PC機(jī)上對(duì)圖像進(jìn)行必要的處理操作,。FPGA接收完一幀圖像后,,向ARM發(fā)出中斷請(qǐng)求,ARM收到請(qǐng)求后,,通過FP—GA將SRAM中的數(shù)據(jù)讀入,。一幀數(shù)據(jù)發(fā)送完畢后,F(xiàn)PGA發(fā)出發(fā)送完畢信號(hào),ARM對(duì)接收到的數(shù)據(jù)進(jìn)行必要的處理后,,將數(shù)據(jù)存儲(chǔ)在大容量的CF卡上,。本系統(tǒng)選用了Philips公司的LPC2214,它是基于ARM7TDSI體系的嵌入式微處理器,,內(nèi)部具有16 kB的靜態(tài)隨機(jī)存儲(chǔ)器和256 kB的Flash程序存儲(chǔ)器,,可實(shí)現(xiàn)高達(dá)60 MHz的工作頻率。ARM與FPGA及CF卡的接口電路分別,,如圖4,,圖5所示。

3 系統(tǒng)的工作原理及實(shí)現(xiàn)
3.1 FPGA圖像采集及暫存的實(shí)現(xiàn)

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

4 結(jié)束語
    文中介紹了用ARM和FPGA實(shí)現(xiàn)的一個(gè)嵌入式實(shí)時(shí)圖像采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)方案,,本系統(tǒng)的工作溫度為O~60℃,可以實(shí)現(xiàn)每秒20~30幀的視頻流灰度圖像采集和存儲(chǔ),,能夠滿足嵌入式實(shí)時(shí)圖像采集存儲(chǔ)的應(yīng)用要求,,系統(tǒng)的持續(xù)工作時(shí)間取決于CF卡的存儲(chǔ)容量。在本系統(tǒng)中,,圖像的采集存儲(chǔ)脫離了PC機(jī),,使圖像的采集存儲(chǔ)真正達(dá)到了實(shí)時(shí)性和嵌入式的要求。本系統(tǒng)可以應(yīng)用在軍事射擊評(píng)價(jià),、工業(yè)產(chǎn)品質(zhì)量檢測(cè),、醫(yī)療和生物等領(lǐng)域。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。