基于32位低端嵌入式系統(tǒng)的圖像采集模塊
引言
本文引用地址:http://m.butianyuan.cn/article/80228.htm
目前,在嵌入式系統(tǒng)中,圖像采集可以采用模擬攝像頭、CCD圖像傳感器或CMOS數(shù)字圖像傳感器來實現(xiàn)。CMOS數(shù)字圖像傳感器由于其高性價比和直接輸出數(shù)字圖像數(shù)據(jù)而得到最為廣泛的應用。MT9V011就是一個這樣的CMOS數(shù)字圖像傳感器。本文將介紹MT9V011 CMOS數(shù)字圖像傳感器在一個低端ARM7處理器系統(tǒng)中的應用。
在低端嵌入式系統(tǒng)中增加圖像采集系統(tǒng)
實時圖像采集系統(tǒng)已經廣泛應用于手機、PDA、實時監(jiān)控系統(tǒng)等高端嵌入式系統(tǒng)中。在這類系統(tǒng)中,處理器具有以下特點:具有較高的處理速度可以實時處理采集回來的大量圖像數(shù)據(jù);具有較大的內存可以存放若干幀完整的圖像數(shù)據(jù);具有豐富的外設接口可以比較容易地擴展大容量的存儲設備如CF卡、SD存儲卡等來備份一些圖像數(shù)據(jù)。然而在一些測控領域也需要采集圖像,以使管理人員能夠直觀地監(jiān)控被測對象。由于被測量的變化比較緩慢,因此不需要實時采集圖像,每隔一段時間傳回監(jiān)控中心一幅圖像就能滿足要求。在這類系統(tǒng)中,處理器主要面向控制領域,它們的特點是內存比較小,處理速度比較慢,外設接口也不多。因此在這類低端嵌入式系統(tǒng)中增加圖像采集功能要面臨處理器處理能力有限和硬件資源受限制的問題。
CMOS圖像傳感器MT9V011
基于創(chuàng)新的CMOS活躍像素技術,美光的超低功耗MT9V011圖像傳感器融合了VGA分辨率和CCD所不具備的很多優(yōu)越功能。它能以高達30fps的幀頻輸出高質量的逐行掃描圖像,同時,與CCD產品相比,其電池壽命得到了大幅度延長,因此成為手機、PDA和PC機USB攝像頭的理想選擇。MT9V011將多種相機功能(包括窗口化、行鏡像變換、左右和上下圖像翻轉、電子旋轉快門(ERS)、列鏡像變換)直接集成到芯片上,從而減少了CCD通常需要的額外組件,最大程度地縮小了產品尺寸和主板空間。其變量功能如可編程增益、幀頻和曝光控制等可以在默認模式下操作,也可由最終用戶通過一個簡單的兩線I2C接口進行編程實現(xiàn)。
MT9V011默認輸出的是一幅640×480像素的圖像。MT9V011芯片的工作時序如圖1所示。其中,LINE_VALID是行有效信號,PIXCLK是像素時鐘信號,DOUT9~DOUT0是10位的圖像數(shù)據(jù),F(xiàn)RAME_VALID是幀有效信號。LINE_VALID有效期間共有640個PIXCLK時鐘周期,F(xiàn)RAME_VALID有效期間共有480個LINE_VALID有效信號。默認情況下圖像數(shù)據(jù)從第1行第1列開始在PIXCLK信號的上升沿順序輸出。MT9V011輸出的圖像格式是RGB Bayer類型。
系統(tǒng)設計方案
本圖像采集系統(tǒng)基于飛利浦的低端ARM7嵌入式微處理器LPC2104,CMOS攝像頭芯片采用美光公司的MT9V011。MT9V011的圖像輸出速率最大可達30fps,而LPC2104處理器的I/O口讀寫速度遠遠不夠,循環(huán)將它的某一個I/O口置為高后,隨即置低,輸出的方波頻率也不超過4MHz。另外,傳輸圖像的數(shù)據(jù)量相對于資源有限的嵌入式系統(tǒng)來說太大了,MT9V011默認情況下輸出一幅圖像的數(shù)據(jù)量大小為300KB,而LPC2104處理器的內存大小僅為16KB,而且沒有開放存儲器擴展總線,在處理器外部擴展存儲器很不方便。其它的低端控制處理器如AVR單片機、MCS51單片機等都存在這樣的問題,但是由于它們具有較高的性價比、開發(fā)調試比較方便和能夠比較快速地組建應用系統(tǒng),因此它們在許多領域都有廣泛的應用。
針對此類處理器的一些資源和性能限制,可以采取一些輔助措施來解決。由于可編程邏輯器件具有處理速度快和能夠在線編程等諸多優(yōu)點,十分適合與此類低端處理器相結合來解決一些純處理器系統(tǒng)無法解決的問題。隨著可編程邏輯器件技術的發(fā)展和相關技術的進步,此類系統(tǒng)得到了越來越廣泛的應用。本文就是采用這種方案來解決單一處理器無法完成圖像采集的問題。具體方案是由一片可編程邏輯器件來與MT9V011接口,控制圖像數(shù)據(jù)緩存到一片SRAM中,然后通知處理器讀取數(shù)據(jù)。這樣就同時解決了處理器I/O傳輸速度慢和內存不足兩個問題,能夠組建系統(tǒng),完成圖像采集功能。圖像采集系統(tǒng)框圖如圖2所示。系統(tǒng)由四大部分組成:CMOS攝像頭電路、攝像緩存控制邏輯電路、SRAM存儲器和32位嵌入式系統(tǒng)總線接口。系統(tǒng)攝像緩存控制邏輯電路由CPLD EPM7128S實現(xiàn)。
CPLD控制邏輯設計
因為受到I/O傳輸速率和內存的限制,系統(tǒng)主處理器LPC2104無法完成采集圖像并存儲的功能。因而,只能借助于在系統(tǒng)中擴展1片CPLD來協(xié)作完成系統(tǒng)功能。由CPLD片內的控制邏輯電路完成讀取圖像數(shù)據(jù)并緩存到SRAM中的功能。因為系統(tǒng)不是實時圖像采集與處理,可以改變輸入時鐘,來降低CMOS數(shù)字圖像傳感器輸出圖像的速率。系統(tǒng)中CPLD的時鐘采用40MHz,將經過10分頻后的時鐘作為CMOS圖像傳感器的時鐘。這樣降低了圖像輸出的速率,減輕了處理器進行圖像數(shù)據(jù)處理的負擔,使處理器有空閑時間進行其它控制操作。由于CPLD要讀取CMOS圖像傳感器輸出的圖像數(shù)據(jù)并緩存到SRAM中,因此CPLD的片內邏輯主要是根據(jù)圖像傳感器輸出圖像數(shù)據(jù)的時序和SRAM的讀寫時序來編寫。CPLD片內的控制邏輯電路主要由Verilog語言編寫的狀態(tài)機實現(xiàn)。另外還有一些附加的門電路、多路選擇器和加法器,它們和狀態(tài)機共同組成了系統(tǒng)的攝像頭緩存控制邏輯電路。CPLD控制邏輯流程圖如圖3所示。
功能驗證
為了驗證系統(tǒng)的圖像采集功能,需要對CPLD緩存的數(shù)據(jù)進行處理及顯示。由于PC機具有 豐富的軟硬件資源,因此本文利用PC機來顯示圖像,驗證圖像采集功能的正確性。具體方法是:系統(tǒng)主處理器LPC2104讀取SRAM中的圖像數(shù)據(jù)并通過串口傳送給PC機,在PC機上編寫軟件接收數(shù)據(jù)并做簡單的處理就可以在PC機屏幕上顯示出圖像,從而能夠驗證系統(tǒng)的功能。
結語
本文通過在一個低端的嵌入式處理器系統(tǒng)中添加CMOS數(shù)字圖像傳感器,并編寫硬件描述語言程序、嵌入式處理器程序,實現(xiàn)了采集圖像的功能。文中給出了一個在低端嵌入式系統(tǒng)中增加圖像采集功能的實現(xiàn)方案,該方案具有性價比高,通用性強等優(yōu)點,可廣泛應用于各種基于低端嵌入式處理器的監(jiān)控系統(tǒng)中,使監(jiān)控管理人員可以直觀地了解被監(jiān)控的對象。該方案還可以進一步實現(xiàn)許多擴展功能,如圖像對比和圖像識別等。
評論