www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式硬件

  簡介:搭建一種低成本的嵌入式視覺系統(tǒng),系統(tǒng)由CMOS圖像傳感器、CPLD、ARM7微處理器以及SRAM構(gòu)成。其中,CPLD識別時序,解決了圖像采集系統(tǒng)存在的嚴格時序同步和雙CPU共享一片SRAM的總線競爭問題;用Verilog語言編寫Mealy狀態(tài)機控制圖像數(shù)據(jù)寫入SRAM,多路數(shù)據(jù)選擇器實現(xiàn)總線切換,避免了總線沖突。圖像處理算法注重效率,基于ARM實現(xiàn),系統(tǒng)最終工作速率為25幀/s。

  目前,關(guān)于視覺系統(tǒng)的研究已經(jīng)成為熱點,也有開發(fā)出的系統(tǒng)可供參考。但這些系統(tǒng)大多是基于PC機的,由于算法和硬件結(jié)構(gòu)的復雜性而使其在小型嵌入式系統(tǒng)中的應用受到了限制。上述系統(tǒng)將圖像數(shù)據(jù)采集后,視覺處理算法是在PC機上實現(xiàn)的。隨著嵌入式微處理器技術(shù)的進步,32位ARM處理器系統(tǒng)擁有很高的運算速度和很強的信號處理能力,可以作為視覺系統(tǒng)的處理器,代替PC機來實現(xiàn)簡單的視覺處理算法。下面介紹一種基于ARM和CPLD的嵌入式視覺系統(tǒng),希望能分享嵌入式視覺開發(fā)過程中的一些經(jīng)驗。

  1 系統(tǒng)方案與原理

  在嵌入式視覺的設計中,目前主流的有以下2種方案:

  方案1圖像傳感器+微處理器(ARM或DSP)+SRAM

  方案2圖像傳感器+CPLD/FPGA+微處理器+SRAM

  方案1系統(tǒng)結(jié)構(gòu)緊湊,功耗低。在圖像采集時,圖像傳感器輸出的同步時序信號的識別需要借助ARM的中斷,而中斷處理時,微處理器需要完成程序跳轉(zhuǎn)、保存上下文等工作[1],降低了圖像采集的速度,適合對采集速度要求不高、功耗低的場合。

  方案2借助CPLD來識別圖像傳感器的同步時序信號,不必經(jīng)過微處理器的中斷,因而系統(tǒng)的采集速度提高,但CPLD的介入會使系統(tǒng)的功耗提高。

  為了綜合以上2種方案的優(yōu)勢,在硬件上采用“ARM+CPLD+圖像傳感器+SRAM”。該方案充分利用了CPLD的可編程性,通過軟件編程來兼有方案1的優(yōu)勢,具體體現(xiàn)在以下方面:

  ① 功耗的高低可以控制。對于功耗有嚴格要求的場合,通過CPLD的可編程性將時序部分的接口與ARM的中斷端口相連,僅僅是組合邏輯的總線相連,可以降低CPLD的功耗從而達到方案1的效果;對于采集速度要求高而功耗要求不高的情況,可以充分發(fā)揮CPLD的優(yōu)勢,利用組合與時序邏輯來實現(xiàn)圖像傳感器輸出同步信號的識別,并將圖像數(shù)據(jù)寫入SRAM中。

 ?、?器件的選擇可以多樣。在硬件設計上,所有總線均與CPLD相連;在軟件設計上,不同的模塊單獨按功能封裝。這樣以CPLD為中心,系統(tǒng)的其他器件均可更換而無需對CPLD部分程序進行改動,有利于系統(tǒng)的功能升級。

  作為本系統(tǒng)的一種應用,開發(fā)了視覺跟蹤的程序,可以在目標和背景顏色對比強烈的情況下對物體進行跟蹤。通過對CMOS攝像頭采集來的數(shù)據(jù)進行實時處理,根據(jù)物體的顏色計算出被追蹤物體的質(zhì)心坐標。下面分別描述系統(tǒng)各部分的功能。

  2 系統(tǒng)硬件

  2.1 硬件組成及連接

  系統(tǒng)的硬件主要有4部分:CMOS圖像傳感器OV6620、可編程器件CPLD、512 KB的SRAM和32位微處理器LPC2214。

  OV6620是美國OmniVision公司生產(chǎn)的CMOS圖像傳感器,以其高性能、低功耗適合應用在嵌入式圖像采集系統(tǒng)中,本系統(tǒng)圖像數(shù)據(jù)的輸入都是通過OV6620采集進來的;可編程器件CPLD采用Altera公司的EPM7128S,用Verilog硬件編程語言在QuartusII下編寫程序;作為系統(tǒng)的數(shù)據(jù)緩沖,SRAM選用的是IS61LV5128,其隨機訪問的特性為圖像處理程序提供了便利;而LPC2214在PLL(鎖相環(huán))的支持下最高可以運行在60 MHz的頻率下,為圖像的快速處理提供了硬件支持。

  OV6620集成在一個板卡上,有獨立的17 MHz晶振。輸出3個圖像同步的時序信號:像素時鐘PCLK、幀同步VSYNC和行同步HREF。同時,還可以通過8位或16位的數(shù)據(jù)總線輸出RGB或YCrCb格式的圖像數(shù)據(jù)。

  在硬件設計上,有2個問題需要解決:

 ?、?圖像采集的嚴格時序同步;

  ② 雙CPU共享SRAM的總線仲裁。

  解決第一個問題的關(guān)鍵在于如何實時、準確地讀取OV6620的時序輸出信號,據(jù)此將圖像數(shù)據(jù)寫入SRAM中。這里采用的解決方案是用CPLD來實現(xiàn)時序信號的識別以及圖像數(shù)據(jù)的寫入。CPLD在硬件上可以識別信號的邊沿,速度更快,通過Verilog語言編寫Mealy狀態(tài)機來實現(xiàn)圖像數(shù)據(jù)的SRAM寫入,更加穩(wěn)定。

  對于雙CPU共享SRAM,可以通過合理的連接方式來解決。考慮到CPLD的可編程性,將OV6620的數(shù)據(jù)總線,LPC2214的地址、數(shù)據(jù)總線以及SRAM的總線都連接到CPLD上。通過編程來控制總線之間的連接,只要在軟件上保證總線的互斥性,即在同一時刻有且僅有一個控制器(CPLD或者LPC2214)來操作SRAM的總線,就可以有效地避免總線沖突。這樣,硬件上的仲裁就可以通過軟件來保證,該過程可以通過在CPLD中編寫多路數(shù)據(jù)選擇器來實現(xiàn)。

  各器件之間的連接關(guān)系如圖1所示。

  

  圖1 系統(tǒng)結(jié)構(gòu)框圖

  由圖1可見,微處理器的總線接在CPLD上,在對功耗有嚴格要求的場合中,只需要在CPLD中,將OV6620的同步時序信號所對應的引腳與LPC2214連接在CPLD上的中斷引腳相連,系統(tǒng)就可以轉(zhuǎn)換成方案1的形式。對CPLD而言,引腳相連的僅僅是組合邏輯,降低了功耗。方案1的具體工作過程可見參考文獻[1]。

  圖2 OV6620輸出時序圖

  在Verilog語言中,對上升沿的檢測是通過always語句來實現(xiàn)的。例如檢測時鐘信號cam_pclk的上升沿:

  圖3 行處理得到的線形圖

  根據(jù)得到的結(jié)果,可以計算出更多關(guān)于跟蹤物體的信息:

  ① 計算區(qū)域面積。計算每條線段的長度l(n),然后將l(n)進行累積疊加,即可獲得跟蹤區(qū)域面積值S。

  

  ② 計算質(zhì)心橫坐標。

  

  ③ 計算質(zhì)心縱坐標。

  

 ?、?識別物體的形狀。根據(jù)得到的每行跟蹤點的長度,以及同一行中有幾段符合要求的連續(xù)跟蹤點,可以得知物體從攝像頭角度看到的形狀。特別是在檢測平面上線條時,可以識別是否有分支,這一點是幀處理模式無法做到的。

  需要指出的是,行處理模式雖然會得到關(guān)于跟蹤目標的更多信息,但是每行處理的方式增大了處理器的負擔,處理速度也沒有幀處理快。

  簡介:搭建一種低成本的嵌入式視覺系統(tǒng),系統(tǒng)由CMOS圖像傳感器、CPLD、ARM7微處理器以及SRAM構(gòu)成。其中,CPLD識別時序,解決了圖像采集系統(tǒng)存在的嚴格時序同步和雙CPU共享一片SRAM的總線競爭問題;用Verilog語言編寫Mealy狀態(tài)機控制圖像數(shù)據(jù)寫入SRAM,多路數(shù)據(jù)選擇器實現(xiàn)總線切換,避免了總線沖突。圖像處理算法注重效率,基于ARM實現(xiàn),系統(tǒng)最終工作速率為25幀/s。

  目前,關(guān)于視覺系統(tǒng)的研究已經(jīng)成為熱點,也有開發(fā)出的系統(tǒng)可供參考。但這些系統(tǒng)大多是基于PC機的,由于算法和硬件結(jié)構(gòu)的復雜性而使其在小型嵌入式系統(tǒng)中的應用受到了限制。上述系統(tǒng)將圖像數(shù)據(jù)采集后,視覺處理算法是在PC機上實現(xiàn)的。隨著嵌入式微處理器技術(shù)的進步,32位ARM處理器系統(tǒng)擁有很高的運算速度和很強的信號處理能力,可以作為視覺系統(tǒng)的處理器,代替PC機來實現(xiàn)簡單的視覺處理算法。下面介紹一種基于ARM和CPLD的嵌入式視覺系統(tǒng),希望能分享嵌入式視覺開發(fā)過程中的一些經(jīng)驗。

  1 系統(tǒng)方案與原理

  在嵌入式視覺的設計中,目前主流的有以下2種方案:

  方案1圖像傳感器+微處理器(ARM或DSP)+SRAM

  方案2圖像傳感器+CPLD/FPGA+微處理器+SRAM

  方案1系統(tǒng)結(jié)構(gòu)緊湊,功耗低。在圖像采集時,圖像傳感器輸出的同步時序信號的識別需要借助ARM的中斷,而中斷處理時,微處理器需要完成程序跳轉(zhuǎn)、保存上下文等工作[1],降低了圖像采集的速度,適合對采集速度要求不高、功耗低的場合。

  方案2借助CPLD來識別圖像傳感器的同步時序信號,不必經(jīng)過微處理器的中斷,因而系統(tǒng)的采集速度提高,但CPLD的介入會使系統(tǒng)的功耗提高。

  為了綜合以上2種方案的優(yōu)勢,在硬件上采用“ARM+CPLD+圖像傳感器+SRAM”。該方案充分利用了CPLD的可編程性,通過軟件編程來兼有方案1的優(yōu)勢,具體體現(xiàn)在以下方面:

  ① 功耗的高低可以控制。對于功耗有嚴格要求的場合,通過CPLD的可編程性將時序部分的接口與ARM的中斷端口相連,僅僅是組合邏輯的總線相連,可以降低CPLD的功耗從而達到方案1的效果;對于采集速度要求高而功耗要求不高的情況,可以充分發(fā)揮CPLD的優(yōu)勢,利用組合與時序邏輯來實現(xiàn)圖像傳感器輸出同步信號的識別,并將圖像數(shù)據(jù)寫入SRAM中。

 ?、?器件的選擇可以多樣。在硬件設計上,所有總線均與CPLD相連;在軟件設計上,不同的模塊單獨按功能封裝。這樣以CPLD為中心,系統(tǒng)的其他器件均可更換而無需對CPLD部分程序進行改動,有利于系統(tǒng)的功能升級。

  作為本系統(tǒng)的一種應用,開發(fā)了視覺跟蹤的程序,可以在目標和背景顏色對比強烈的情況下對物體進行跟蹤。通過對CMOS攝像頭采集來的數(shù)據(jù)進行實時處理,根據(jù)物體的顏色計算出被追蹤物體的質(zhì)心坐標。下面分別描述系統(tǒng)各部分的功能。

  2 系統(tǒng)硬件

  2.1 硬件組成及連接

  系統(tǒng)的硬件主要有4部分:CMOS圖像傳感器OV6620、可編程器件CPLD、512 KB的SRAM和32位微處理器LPC2214。

  OV6620是美國OmniVision公司生產(chǎn)的CMOS圖像傳感器,以其高性能、低功耗適合應用在嵌入式圖像采集系統(tǒng)中,本系統(tǒng)圖像數(shù)據(jù)的輸入都是通過OV6620采集進來的;可編程器件CPLD采用Altera公司的EPM7128S,用Verilog硬件編程語言在QuartusII下編寫程序;作為系統(tǒng)的數(shù)據(jù)緩沖,SRAM選用的是IS61LV5128,其隨機訪問的特性為圖像處理程序提供了便利;而LPC2214在PLL(鎖相環(huán))的支持下最高可以運行在60 MHz的頻率下,為圖像的快速處理提供了硬件支持。

  OV6620集成在一個板卡上,有獨立的17 MHz晶振。輸出3個圖像同步的時序信號:像素時鐘PCLK、幀同步VSYNC和行同步HREF。同時,還可以通過8位或16位的數(shù)據(jù)總線輸出RGB或YCrCb格式的圖像數(shù)據(jù)。

  在硬件設計上,有2個問題需要解決:

 ?、?圖像采集的嚴格時序同步;

 ?、?雙CPU共享SRAM的總線仲裁。

  解決第一個問題的關(guān)鍵在于如何實時、準確地讀取OV6620的時序輸出信號,據(jù)此將圖像數(shù)據(jù)寫入SRAM中。這里采用的解決方案是用CPLD來實現(xiàn)時序信號的識別以及圖像數(shù)據(jù)的寫入。CPLD在硬件上可以識別信號的邊沿,速度更快,通過Verilog語言編寫Mealy狀態(tài)機來實現(xiàn)圖像數(shù)據(jù)的SRAM寫入,更加穩(wěn)定。

  對于雙CPU共享SRAM,可以通過合理的連接方式來解決??紤]到CPLD的可編程性,將OV6620的數(shù)據(jù)總線,LPC2214的地址、數(shù)據(jù)總線以及SRAM的總線都連接到CPLD上。通過編程來控制總線之間的連接,只要在軟件上保證總線的互斥性,即在同一時刻有且僅有一個控制器(CPLD或者LPC2214)來操作SRAM的總線,就可以有效地避免總線沖突。這樣,硬件上的仲裁就可以通過軟件來保證,該過程可以通過在CPLD中編寫多路數(shù)據(jù)選擇器來實現(xiàn)。

  各器件之間的連接關(guān)系如圖1所示。

  

  圖1 系統(tǒng)結(jié)構(gòu)框圖

  由圖1可見,微處理器的總線接在CPLD上,在對功耗有嚴格要求的場合中,只需要在CPLD中,將OV6620的同步時序信號所對應的引腳與LPC2214連接在CPLD上的中斷引腳相連,系統(tǒng)就可以轉(zhuǎn)換成方案1的形式。對CPLD而言,引腳相連的僅僅是組合邏輯,降低了功耗。方案1的具體工作過程可見參考文獻[1]。

  圖2 OV6620輸出時序圖

  在Verilog語言中,對上升沿的檢測是通過always語句來實現(xiàn)的。例如檢測時鐘信號cam_pclk的上升沿:

  圖3 行處理得到的線形圖

  根據(jù)得到的結(jié)果,可以計算出更多關(guān)于跟蹤物體的信息:

 ?、?計算區(qū)域面積。計算每條線段的長度l(n),然后將l(n)進行累積疊加,即可獲得跟蹤區(qū)域面積值S。

  

  ② 計算質(zhì)心橫坐標。

  

  ③ 計算質(zhì)心縱坐標。

  

 ?、?識別物體的形狀。根據(jù)得到的每行跟蹤點的長度,以及同一行中有幾段符合要求的連續(xù)跟蹤點,可以得知物體從攝像頭角度看到的形狀。特別是在檢測平面上線條時,可以識別是否有分支,這一點是幀處理模式無法做到的。

  需要指出的是,行處理模式雖然會得到關(guān)于跟蹤目標的更多信息,但是每行處理的方式增大了處理器的負擔,處理速度也沒有幀處理快。

  4 提高系統(tǒng)的工作速率

  目前,系統(tǒng)工作在幀處理模式下的工作速率是25幀/s,作為系統(tǒng)功能的驗證,這里采用的算法是顏色跟蹤。如果僅做純粹的圖像采集,而不做圖像處理,那么系統(tǒng)可以達到OV6620的最高工作速率,即60幀/s。而在圖像處理方面,不同的圖像處理程序效率對系統(tǒng)的工作頻率有較大的影響。下面給出在通用ARM處理器下提高程序效率的幾個建議:

  ① 內(nèi)嵌(inline)可通過刪除子函數(shù)調(diào)用的開銷來提高性能。如果函數(shù)在別的模塊中不被調(diào)用,一個好的建議是用static標識函數(shù);否則,編譯器將在內(nèi)嵌譯碼里把該函數(shù)編譯成非內(nèi)嵌的。

 ?、?在ARM系統(tǒng)中,函數(shù)調(diào)用過程中參數(shù)個數(shù)≤4時,通過R0~R3傳遞;參數(shù)個數(shù)>4時,通過壓棧方式傳遞(需要額外的指令和慢速的存儲器操作)。通常限制參數(shù)的個數(shù),使它為4或更少。如果不可避免,則把常用的前4個參數(shù)放在R0~R3中。

  ③ 在for(), while() do…while()的循環(huán)中,用“減到0”代替“加到某個值”。比如:

  for (loop = 1; loop <= total; loop++) //ADD和CMP

  替換為:for (loop = total; loop != 0; loop--) //SUBS

  第1種方式比較需要2條指令ADD和CMP,而第2種方式只需一條指令SUBS。

 ?、?ARM核不含除法硬件,除法通常用一個運行庫函數(shù)來實現(xiàn),運行需要很多個周期。一些除法操作在編譯時作為特例來處理,例如除以2的操作用左移代替余數(shù)的操作符“%”,通常使用模算法。如果這個值的模不是2的n次冪,則將花費大量的時間和代碼空間避免這種情況的發(fā)生。具體辦法是使用if()作狀態(tài)檢查。

  比如,count的范圍是0~59:

  count = (count+1) % 60;

  用下面語句代替:

  if (++count >= 60)

  count = 0;

 ?、?避免使用大的局部結(jié)構(gòu)體或數(shù)組,可以考慮用malloc/free代替。

 ?、?避免使用遞歸。

  結(jié)語

  本文介紹了一種基于ARM和CPLD的嵌入式視覺系統(tǒng),可以實現(xiàn)顏色跟蹤。在硬件設計上,圖像采集和圖像處理分離,更利于系統(tǒng)功能的升級。而視覺處理算法更注重處理的效率和實時性,同時根據(jù)不同的需要有兩種模式可供選擇。最后給出了提高程序效率的一些建議和方法。與基于PC機的視覺系統(tǒng)相比,該系統(tǒng)功耗低、體積小,適合應用于移動機器人等領(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

德國康佳特亮相上海工博會,展示多款應用就緒的嵌入式解決方案平臺

關(guān)鍵字: 嵌入式 傳感器 處理器

雙方攜手為客戶打造以存儲為核心的模塊化基礎(chǔ)架構(gòu),支持先進的多裸片架構(gòu)設計

關(guān)鍵字: 非易失性存儲 半導體 嵌入式

本屆年會將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設計工程師推出25門技術(shù)課程

關(guān)鍵字: 嵌入式 MCU 模擬

上海2025年9月5日 /美通社/ -- 由紐倫堡會展(上海)有限公司舉辦的上海國際嵌入式會議將于 2025 年 10 月 16-17 日在上海世博展覽館舉辦。 此次會議將由三個版塊組成:嵌入式技術(shù)會議、汽...

關(guān)鍵字: 嵌入式 CE CHINA EMBEDDED

從外部看,電子系統(tǒng)仿佛一個統(tǒng)一的學科或設備,各組成部分協(xié)同工作,渾然一體。然而揭開表象,其內(nèi)在卻是另一番景象:一個碎片化、多層次的世界——其中每一層都獨立且復雜,衍生出各自特有的工具、專家、工作流程,甚至哲學體系。

關(guān)鍵字: 嵌入式 電子系統(tǒng) 半導體

8位單片機在嵌入式設計領(lǐng)域已經(jīng)成為半個多世紀以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復雜,8位單片機依然不斷發(fā)展,積極應對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機系列,配備了先進的獨立...

關(guān)鍵字: 單片機 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳國際電子展盛大啟幕。本屆大會以"All for AI"為主題,深圳市德...

關(guān)鍵字: AI 工業(yè)級 SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博聞創(chuàng)意會展主辦的 第22屆深圳國際電子展暨嵌入式展(elexcon2025)在深圳(福田)會展中心隆重開幕。 作為中國電子與嵌入式技術(shù)領(lǐng)域的專業(yè)大展,本屆展會...

關(guān)鍵字: 嵌入式 電子 高通 AI

模塊化設計作為一種將系統(tǒng)拆分為獨立、可復用組件的方法,能夠在低代碼平臺中實現(xiàn)功能的靈活組合,并最大限度地提升系統(tǒng)性能。本文將探討如何通過模塊化設計,使得低代碼平臺既能快速適應變化,又能保持高效穩(wěn)定的運行。

關(guān)鍵字: 模塊化設計 嵌入式
關(guān)閉