基于ARM和CPLD的嵌入式視覺系統設計


原標題:基于ARM和CPLD的嵌入式視覺系統設計
基于ARM和CPLD的嵌入式視覺系統設計是一種結合了ARM處理器的強大計算能力和CPLD(Complex Programmable Logic Device,復雜可編程邏輯器件)的高靈活性的設計方案。以下是對該系統的詳細設計介紹:
一、系統方案與原理
在嵌入式視覺系統的設計中,目前主流的方案有兩種:
圖像傳感器+微處理器(ARM或DSP)+SRAM:該方案系統結構緊湊,功耗低。在圖像采集時,圖像傳感器輸出的同步時序信號的識別需要借助ARM的中斷。然而,中斷處理時微處理器需要完成程序跳轉、保存上下文等工作,這降低了圖像采集的速度,因此該方案更適合對采集速度要求不高、功耗低的場合。
圖像傳感器+CPLD/FPGA+微處理器+SRAM:該方案借助CPLD來識別圖像傳感器的同步時序信號,不必經過微處理器的中斷,因此系統的采集速度得以提高。但CPLD的介入會使系統的功耗相應提高。
為了綜合以上兩種方案的優勢,可以采用“ARM+CPLD+圖像傳感器+SRAM”的硬件組合方案。該方案充分利用了CPLD的可編程性,通過軟件編程來兼有兩種方案的優勢。
二、系統硬件設計
系統的硬件部分主要包括CMOS圖像傳感器、可編程器件CPLD、SRAM和微處理器。以下是對各硬件部分的詳細介紹:
CMOS圖像傳感器:如OV6620,是美國OmniVision公司生產的CMOS圖像傳感器,以其高性能、低功耗適合應用在嵌入式圖像采集系統中。OV6620集成在一個板卡上,有獨立的17MHz晶振,可以輸出3個圖像同步的時序信號(像素時鐘PCLK、幀同步VSYNC和行同步HREF),同時還可以通過8位或16位的數據總線輸出RGB或YCrCb格式的圖像數據。
可編程器件CPLD:如Altera公司的EPM7128S,可以通過Verilog硬件編程語言在QuartusII下編寫程序。在硬件設計上,所有總線均與CPLD相連;在軟件設計上,不同的模塊單獨按功能封裝。這樣以CPLD為中心,系統的其他器件均可更換而無需對CPLD部分程序進行改動,有利于系統的功能升級。
SRAM:作為系統的數據緩沖,如IS61LV5128,其隨機訪問的特性為圖像處理程序提供了便利。
微處理器:如32位微處理器LPC2214,在PLL(鎖相環)的支持下最高可以運行在60MHz的頻率下,為圖像的快速處理提供了硬件支持。
三、系統軟件設計
在軟件設計上,主要需要解決兩個問題:圖像采集的嚴格時序同步和雙CPU共享SRAM的總線仲裁。
圖像采集的嚴格時序同步:關鍵在于如何實時、準確地讀取OV6620的時序輸出信號,并據此將圖像數據寫入SRAM中。解決方案是用CPLD來實現時序信號的識別以及圖像數據的寫入。CPLD在硬件上可以識別信號的邊沿,速度更快,通過Verilog語言編寫Mealy狀態機來實現圖像數據的SRAM寫入,更加穩定。
雙CPU共享SRAM的總線仲裁:可以通過合理的連接方式來解決。考慮到CPLD的可編程性,將OV6620的數據總線、LPC2214的地址和數據總線以及SRAM的總線都連接到CPLD上。通過編程來控制總線之間的連接,只要在軟件上保證總線的互斥性,即在同一時刻有且僅有一個控制器(CPLD或者LPC2214)來操作SRAM的總線,就可以有效地避免總線沖突。這樣,硬件上的仲裁就可以通過軟件來保證,該過程可以通過在CPLD中編寫多路數據選擇器來實現。
四、系統應用與功能
該系統可以應用于多種場合,如移動機器人等領域。作為該系統的一種應用,可以開發視覺跟蹤的程序,該程序可以在目標和背景顏色對比強烈的情況下對物體進行跟蹤。通過對CMOS攝像頭采集來的數據進行實時處理,根據物體的顏色計算出被追蹤物體的質心坐標。
此外,該系統還可以根據不同的需要提供兩種模式可供選擇:一種是行處理模式,該模式可以得到關于跟蹤目標的更多信息,但每行處理的方式增大了處理器的負擔,處理速度相對較慢;另一種是幀處理模式,該模式處理速度較快,但可能無法獲取到關于跟蹤目標的所有詳細信息。
五、優化建議
為了提高系統的性能和效率,可以采取以下優化建議:
在ARM系統中,函數調用過程中參數個數應限制為4個或更少,以減少額外的指令和慢速的存儲器操作。如果參數個數不可避免地超過4個,則可以把常用的前4個參數放在R0~R3中。
在循環語句中,用“減到0”代替“加到某個值”,以減少指令數量和提高執行效率。
由于ARM核不含除法硬件,除法運算通常用一個運行庫函數來實現,運行需要很多個周期。因此,一些除法操作可以在編譯時作為特例來處理,例如除以2的操作用左移代替。
避免使用大的局部結構體或數組,可以考慮用malloc/free代替,以減少內存占用和提高內存訪問效率。
避免使用遞歸,以減少函數調用的開銷和提高程序的可讀性。
綜上所述,基于ARM和CPLD的嵌入式視覺系統設計結合了ARM和CPLD的優勢,具有結構緊湊、功耗低、采集速度快等特點。通過合理的硬件和軟件設計,該系統可以實現對物體的實時跟蹤和圖像處理等功能,并適用于多種應用場合。
責任編輯:David
【免責聲明】
1、本文內容、數據、圖表等來源于網絡引用或其他公開資料,版權歸屬原作者、原發表出處。若版權所有方對本文的引用持有異議,請聯系拍明芯城(marketing@iczoom.com),本方將及時處理。
2、本文的引用僅供讀者交流學習使用,不涉及商業目的。
3、本文內容僅代表作者觀點,拍明芯城不對內容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關結果。
4、如需轉載本方擁有版權的文章,請聯系拍明芯城(marketing@iczoom.com)注明“轉載原因”。未經允許私自轉載拍明芯城將保留追究其法律責任的權利。
拍明芯城擁有對此聲明的最終解釋權。