低端嵌入式系統(tǒng)的圖像采集
4 CPLD控制邏輯設(shè)計
圖4 CPLD控制邏輯流程圖
因為系統(tǒng)主處理器LPC2104的I/O速度和內(nèi)存的限制,無法完成采集一幀圖像并存儲的功能。這只能借助于在系統(tǒng)中擴展一片CPLD來協(xié)作完成系統(tǒng)功能。由CPLD片內(nèi)的控制邏輯電路完成讀取圖像數(shù)據(jù)并緩存到SRAM中的功能。因為系統(tǒng)不是實時圖像采集與處理,可以降低CMOS數(shù)字圖像傳感器輸出圖像的速率。這可以通過改變它的輸入時鐘來實現(xiàn)。系統(tǒng)中CPLD的時鐘采用40MHz,經(jīng)過10分頻以后的時鐘做為CMOS圖像傳感器的時鐘。這樣降低了圖像輸出的速率,減輕了處理器進行圖像數(shù)據(jù)處理的負擔,使處理器有空閑時間進行其它控制操作。由于CPLD要讀取CMOS圖像傳感器輸出的圖像數(shù)據(jù)并緩存到SRAM中,因此CPLD的片內(nèi)邏輯主要是根據(jù)圖像傳感器輸出圖像數(shù)據(jù)的時序和SRAM的讀寫時序來編寫。CPLD片內(nèi)的控制邏輯電路主要由一個用電子硬件描述語言verilog編寫的狀態(tài)機實現(xiàn)。另外還有一些附加的門電路、多路選擇器和加法器,它們和狀態(tài)機共同組成了系統(tǒng)的攝像頭緩存控制邏輯電路。CPLD控制邏輯流程圖如圖4所示。
5 功能驗證
為了驗證系統(tǒng)實現(xiàn)了圖像采集的功能,需要對CPLD緩存下來的數(shù)據(jù)進行處理并顯示出圖像。由于PC機具有豐富的軟硬件資源,因此我們利用PC機來顯示圖像,驗證圖像采集功能的正確性。具體方法是:系統(tǒng)主處理器LPC2104讀取SRAM中的圖像數(shù)據(jù)并通過串口傳送給PC機,在PC機上編寫軟件接收數(shù)據(jù)并做簡單的處理就可以在PC機屏幕上顯示出圖像,從而能夠驗證系統(tǒng)的功能。
6 結(jié)束語
通過在一個低端的嵌入式處理器系統(tǒng)中添加CMOS數(shù)字圖像傳感器,并編寫硬件描述語言程序、嵌入式處理器程序,實現(xiàn)了采集圖像的功能。
本文作者創(chuàng)新點:利用CPLD在一個低端嵌入式系統(tǒng)中實現(xiàn)了圖像采集功能。
參考文獻:
[1] (英)弗伯著,田澤等譯.ARM SoC體系結(jié)構(gòu).北京航空航天大學(xué)出版社,2002
[2] 杜春雷.ARM體系結(jié)構(gòu)與編程.清華大學(xué)出版社,2003
[3] 李現(xiàn)勇.Visual C++ 串口通信技術(shù)與工程實踐.人民郵電出版社,2002
[4] 李侃,廖啟征.基于S3C2410平臺與嵌入式Linux的圖像采集應(yīng)用.微計算機信息,2006,3-2:125-127
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論