時間:2023-06-01 08:56:11
序論:速發表網結合其深厚的文秘經驗,特別為您篩選了11篇嵌入式設計系統范文。如果您需要更多原創資料,歡迎隨時與我們的客服老師聯系,希望您能從中汲取靈感和知識!
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2012)12-0104-01
1、序言
本系統是設計一款基于ARM的嵌入式開發平臺,該嵌入式開發平臺是基于AT91SAM9263(基于ARM926EJ-S芯核)的嵌入式系統,可以在此系統上運行嵌入式操作系統,并在上運行嵌入式數據庫、人機窗口等應用程序,此系統包括硬件和軟件兩部分,本文主要介紹硬件部分。
2、系統硬件設計
本系統硬件由核心板和母板組成,核心板將系統擴展可能用到的總線都引出來,與母板之間通過針形接插件連接,為以后產品開發提供了穩定、經濟而又方便的平臺,此種設計的好處,其一把高速和低速分開,降低了硬件之間的干擾,提高了穩定性。其二是當系統需要擴展某些特殊接口時,則只需要對母板進行修改,縮短了開發周期。
其中核心板設計這部分是任何一個ARM系統要正常運行所必備的電路,因此稱為核心板,這些基礎電路,包括存貯程序用的Flash存貯器,運行程序和緩沖數據所必須的SDRAM、復位模塊、時鐘模塊、JTAG接口等。這部分電路集中在較小空間里,因此相對比較密集,而且這部分的信號是超高速信號,且電路的設計要求比較高,所以核心板采用購買成熟的核心板。
系統母板設計了大部分的電路,因為模板上的信號都是低速信號,所以從成本角度考慮,母板采用二層電路板設計,其主要電路包括了電源部分、USB接口部分、串口及10/100M以太網接口、LCD接口、CAN總線以及底板與核心板之間通過針形接插件相連的接口等,其結構如圖1所示。
下面將分模塊介紹電路原理。
2.1 串行接口電路設計
系統設計了一個RS-232、RS-485接口,方便與其他設備通信。具體的電路采用MAX3232作為電平轉換芯片,它本身提供兩組驅動器和接收器,并接有數字隔離器ADuM1201,此芯片提供了兩個信道的通道,具體電路如圖2。
系統的RS-485串行接口,是由ADM2483來實現,ADM2483本身是帶有隔離的高速RS-485轉換器,不需要其它額外的電路。
2.2 以太網接口設計
系統選用DM9161作為以太網的接口芯片,因為系統工作在100BASE-TX模式下,所以選擇RMII作為DM9161與AT91SAM9263的接口模式,具體電路如圖3所示。
2.3 CAN接口電路設計
本系統的CAN總線接口的實現,是通過外接CAN收發器來實現的,系統選用的是MCP2551作為系統的收發器,其特點是有差分發射和接收能力,自動檢測TXD輸入端接地錯誤及較強的抗噪聲特性。
3、結語
本系統設計了基于ARM系統的嵌入式硬件平臺,在此之上可以提供各種實時操作系統,從而構成一個完整的平臺,其硬件部分電路已經進行了信號完整性分析具有一定的可靠性。
參考文獻
關鍵詞:
公交清洗小車;嵌入式系統;超聲波測距;平臺升降控制
0引言
為解決公交車的高效便捷清洗問題,青島理工大學韓旭東教授的團隊設計了一款“垂直滾筒式公交清洗小車”[1]。但在該設計中,僅對機械結構與工作原理做了介紹,缺少相關的控制電路與控制程序的設計,給清洗小車的使用帶來了極大的不便。本文在原產品的基礎上,針對小車與公交車之間距離的控制不準確的問題,設計了超聲波測距系統;針對平臺升降控制不方便的問題,設計了手動/自動雙模平臺升降控制系統。有效地提高了該產品的實用性,完善了該產品的設計。
1超聲波測距系統
1.1設計目的
清洗小車由人力推動并控制方向,但由于路面不平,人力控制精度有限,會使小車與公交車車體間的距離發生改變,距離過近會使滾筒擠壓車體表面,阻礙滾筒旋轉;距離過遠,則會使滾筒毛刷與車體表面間間隙過大,影響清洗效果。需要一套測距系統使小車與公交車車體間的距離始終保持在一個合理范圍之內。
1.2測距方式的選擇
超聲波測距是利用機械波反射來測量距離,適用于短距離測距,原理簡單,成本低,遠距離測量精度較低。公交清洗小車的使用環境比較復雜,對測距系統的精度要求不高,測量的距離在1~2m,且要求結構簡單、成本低廉、性能穩定。根據需要和集中測距方式的特點,本文選擇超聲波測距方式。
1.3超聲波測距原理
超聲波在均勻介質中的傳輸速度為一恒定值,由發生器發射超聲波,在遇到測量目標后反射回來,由接收器接收并記錄由發射到接收經歷的時間,便可以計算出發生器與測量目標之間的距離[2]。公式如下:L=12C•Δt。式中:L為測量距離;C為超聲波在當前介質中的傳輸速度(空氣中常溫下速度為340m/s);Δt為從發射到接收經歷的時間。
1.4設計內容
本文利用AT89C51單片機、HC-SR04超聲波測距模塊、LED燈組成了一個超聲波測距警報系統。當距離過近時,指示距離過近的紅燈點亮;距離適中時,指示距離適中的綠燈點亮;當距離過遠時,指示距離過遠的紅燈點亮。工作人員可以根據燈光指示調整小車位置,使之與車體表面間的距離保持在一個合理范圍。1.4.1HC-SR04超聲波測距模塊工作原理本文所采用的HC-SR04超聲波測距模塊,具有成本低、體積小、精度高、使用簡單方便等優點,其基本工作原理為:1)采用I/O口TRIG觸發測距,提供至少10μs的高電平信號;2)模塊自動發送8個40kHz的方波,自動檢測是否有信號返回;3)有信號返回,通過I/O口ECHO輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間[3]。1.4.2程序控制過程利用AT89C51單片機自帶的定時計數器資源,通過I/O口給超聲波模塊一個發射信號并開始計時,當收到超聲波模塊的反饋信號時,結束計時并計算距離。
2手動/自動雙模平臺升降控制系統
2.1設計目的
現行大多數公交車的高度在3m左右,為能夠確保清洗整個車體表面,原產品采用雙絲杠旋轉驅動平臺升降的設計,并利用直流電動機產生動力。為方便用戶使用,能夠快捷高效操作平臺升降,提高清洗效率,本文設計了一套手動/自動雙模平臺升降控制系統。
2.2設計內容
根據計算,清洗平臺需調整2次高度才可將車體表面清洗完畢,為了方便工作人員操作,本文設計了手動/自動雙模控制系統。該系統采用AT89C51單片機,配合L289直流電動機驅動模塊,通過控制電動機的正反轉實現平臺的升降,設計原理圖見圖4[5]。操作過程為:啟動系統后,在自動模式下,按UP鍵,平臺會上升一個固定高度;按DOWN鍵,平臺會下降一個固定高度。該高度值是為實現最高清洗效率,以3m高的車身為標準,經優化計算得出的最適高度。因為公交車的型號差異,車身高度也各不相同,所以為滿足實際使用要求,我們又設計了手動控制模式。在手動模式下,按住UP鍵,平臺會上升,松開立即停止;按住DOWN鍵,平臺會下降,松開立即停止。為防止工作人員誤操作,本文增加了按鍵防抖動延遲,防止工作人員誤觸按鍵;如果UP和DOWN鍵同時按下,則電動機停轉,直至其中一個按鍵松開。
軟件的革命
近年行業中最大的變化是低成本微處理器的運用。微處理器最初用于實現計算器,然后用于個人電腦。由于具有動態重新配置特點,它們取代了許多硬連接數字系統電路,將真實的“嵌入人工智能”帶入先前“笨拙”的器件中。
微處理器成功的關鍵不在于器件本身,而在于它讓工程師們將重要的設計難題從硬連接環境轉換為“軟”領域的能力。板級硬件平臺設計繼續使用熟悉的“硬連接、現用器件”模式,但是平臺中的產品特性或智能的開發可以為“軟件”。使用這種基于平臺的方法,制造相同物理硬件的風險大大降低了,因為構建硬件后還可以修改其特性。
微處理器最初作為一種高效的可升級工具,現在最終改寫了電子器件的規則。它不再滿足于價格便宜、性能可靠、工作效率高,現在的電子器件需要“智能”。
將軟設計提升一個水平
FPGA本身是一個膠合邏輯應用,要超出這一應用需要更廣闊的視野,包括充分利用可編程器件,把盡可能多的硬件引入到軟領域之中。這包括引入處理器功能本身,目前FPGA內的軟處理器越來越普通。
根本上說,引入基于FPGA實現的軟處理器結構靈活、板卡尺寸更小、更簡單。但深層次的應用會帶來更引人注目的優點。嵌入式開發人員利用了FPGA的可編程特性獲得處理器頂層的抽象級別。不僅能在軟件中實現抽象級設計,而且也在硬件中實現抽象級設計。
考慮這樣一個系統:處理器通過可配置的硬件(本質上是一個硬件包)與其內存和外設連接。這就抽象了處理器的接口。簡單地對FPGA重新編程就改變了硬件包,系統設計師可以輕易改變處理器內核,甚至在硬的或軟的處理器間轉換,無需修改其他系統硬件。從系統角度來看所有處理器都是相似的,簡化了硬件設計流程。當然,把這延伸到應用軟件領域也需要可以在處理器之間提供C級別兼容性的編譯器。
這種系統的優點是不需要“事先”對處理器做出選擇。系統可能使用某種處理器開發,如果在開發階段發現需要更高的性能,則可再采用更快的器件。處理器可以是軟的、硬的甚至是FPGA內部的硬件處理器內核,而不會影像周圍的硬件。
在這個方案中,FPGA成為有效的系統互連結構,可為嵌入式系統的所有部件提供通用的連接性。
最后,在處理器之上引入透明的包裹層會創建出基于FPGA的開發環境,提供真正的處理器獨立性。軟件和硬件開發速度都提高了,處理器選擇可放到設計后期進行,有效的軟件/硬件協同設計成為可能。
傳統設計方案的失敗
關鍵一點是它導致了設計流程復雜性和相互依賴程度的增加。隨著更多設計轉入“軟”平臺,傳統設計領域如硬件、軟件和FPGA間的界限越來越模糊。采用不同工具獨立處理這些設計元素變得越來越困難且效率低下。
在單個流程中轉入到更高抽象級別可處理特定的復雜度問題。當然,最終這些單個的設計元素必須集成在一起創建一個最終產品,但每個組件的專業化程度的增加導致最終產品更難裝配。這將消耗大量設計時間并最終妨礙產品創新。
在本質上,與此相承的單點式工具電子產品設計方法已是昨日黃花。產品開發團隊面臨保持市場競爭力的壓力,因此不斷尋求新途徑來更快速地將更高級智能的設計推向市場,同時處理整個設計流程中不斷增加的設計復雜性。
硬件設計軟件化
隨著最近FPGA技術的發展,分析專家認為我們正處于電子設計的轉型中。FPGA剛一面世,就達到了這些器件的價格/容量曲線分水嶺。它們能提供ASIC的許多好處,而無需高昂的成本和長期的開發周期。
這些器件內在的可重新編程特性大量削減了設計時間,帶來了現場硬件升級的可能性。然而,要充分利用可編程硬件的潛力,工程師需要能在更廣的設計流程中發揮技術優勢的工具。
在對大型FPGA進行板級布線時,智能的管腳輸出流程自動化要求PCB設計編輯器十分了解目標FPGA器件的物理特性和功能,及FPGA設計師施加的優先約束條件,同時也需要FPGA和PCB設計環境間的緊密聯系,以便迅速重復FPGA和PCB級設計間的約束,達到優化方案,平衡FPGA內的時間需求和板卡可布線問題。
一體化的設計環境
諸如FPGA這樣的可編程技術的真正潛力在于其不再區分硬件和軟件。隨著我們不斷利用該潛力,硬件、軟件和可編程硬件的設計就不斷融合。從設計工具角度來看,這一融合將驅動傳統設計工具邊界間的自動流程需求。要成功做到這點需要的不僅是不同設計工具集表面的集成,而是要涉及到所有不同設計環境的完整統。
Altium在Altium Designer系統中體現了這一必然要求。AltiumDesigner提供單一、統一的環境,把PCB級的硬件設計、可編程邏輯設計和嵌入式軟件開發集成在一起。這樣工程師、設計師和開發人員就能充分利用可編程硬件的特點創造更加智能的電子產品,而不用考慮其FPGA水平如何。
統一的硬件設計框架
Altium Designer中實現了這一目標。它將硬件和軟件開發統一在平臺內,從而加快了軟件/硬件共同設計的進程。Altium De-signer的根本需求是開發人員能方便一致地操作分立和基于FPGA的“軟”硬件。這通過把傳統HDL方法轉為FPGA設計,并將現成易用的、基于組件的設計用于可編程器件來實現。在這種環境下,使用描述板級電路相同的方法和語言來描述FPGA內部實現的系統組件。
在開發時使用預先合成的邏輯塊(元件)而不是基于HDL的源庫,具有幾個優點:首先,在硬件綜合時把塊視為“黑盒”,從而加快進程的處理;第二,與板級的分立組件的使用一樣,在無需了解底層的代碼結構的情況下,基于FPGA的組件塊即可被使用。盡管,組件背后的原理很復雜,但設計者只需要知道基本的功能即可。
開發電子產品,提供當今市場上真正的差異化產品,其根本在于利用可編程器件,以軟件和“軟”硬件的形式為嵌入智能提供一個可重構的平臺。這需要有一個統一硬件、軟件和可編程硬件設計的系統和可重構的平臺,支持軟設計模式帶來的開發自由。
近年來,視頻監控系統已經遍布人們生活的各個角落,廣泛應用于交通、電力、銀行、商場等場所,在維護社會秩序方面起到了一定作用。然而,隨著科學技術的發展,一種基于嵌入式技術的視頻監控系統逐漸取代傳統的視頻監控系統。嵌入式系統開發的目的是強化其應用性,適用范圍更廣,通過對視頻流進行編碼、壓縮,可經過互聯網在獲得授權的數字終端上觀看視頻。
1 嵌入式視頻監控系統的框架
為達到實時監控的目的,設計人員將用于錄像的攝像頭放置于被監控點附近,通過視頻線纜將圖象傳送至監控室。因此,嵌入式視頻監控系統包括服務器端與客戶端兩大部分,服務器端的組成有硬件開發平臺、嵌入式計算機操作系統(以Linux為主)、應用層軟件、視頻采集卡、無線傳輸模塊,客戶端則由計算機、操作系統、應用軟件組成,嵌入式系統的框架如圖1所示。
服務器端是嵌入式視頻監控系統的核心,其硬件核心是嵌入式微處理器,結合多種外設(攝像頭、無線網卡等),為客戶端提供圖像資源??蛻舳藙t是將服務器端編碼、壓縮處理后的視頻進行解碼,并通過顯示器播放視頻圖像?;跓o線傳輸與互聯網技術的嵌入式視頻監控系統實現了視頻的遠距離傳輸、控制,這解決了嵌入式視頻監控系統在大面積假設過程中的布線問題。
2 嵌入式視頻監控系統應用軟件的設計
根據嵌入式視頻監控系統的組成,在設計相關應用軟件時,需要分別考慮服務端軟件與客戶端軟件的不同,通過軟件設計流程圖對比,不同組成部分的軟件設計思想存在明顯差異。
由此可以看出,服務器端應用軟件與客戶端應用軟件之間是相互關聯的,服務器端所采集到的視頻數據需要在客戶端應用軟件發出請求后進行傳輸。基于視頻處理方式的不同,服務器端應用軟件主要實現的視頻信號的壓縮、編碼,而客戶端應用軟件則是對受到的視頻信號進行解壓、解碼,并在顯示器上進行播放。
2.1 服務器端應用軟件的設計思想
根據視頻監控系統的實際需要,服務器端需具備多線程任務處理能力,其中有3個線程需要占用一定的系統資源,分別為主線程、視頻信號采集線程、視頻信號發送線程。其中,主線程的任務是對系統外設進行初始化,保證參數設置的正確性。視頻信號采集線程則負責將攝像頭錄制的視頻信號采集至視頻信號緩存區,同時經過視頻采集卡完成視頻的壓縮、編碼過程。視頻信號發送線程則將位于緩存區的視頻信號通過制定接口對外發送,這一過程的結束則意味著服務器端的主要任務完成。
2.2 客戶端應用軟件的設計
與服務器端相類似,嵌入式視頻監控系統的客戶端軟件依然需要同時運行多個線程,其中主要包括主線程、視頻信號接收線程和視頻信號解碼顯示線程。在客戶端通電之后,客戶端程序開始運行,完成相關配置的初始化過程,主線程保證客戶端軟件的正常工作,避免大數據流下導致的軟件崩潰,當主線程向服務器端發送視頻信號請求線程后,視頻信號接受線程開始工作,將接收到的視頻信號交由視頻信號解碼顯示線程,最終將視頻信號投放在顯示器上。在此過程中,客戶端應用軟件需要調用recvform()不斷接受服務器端發送來的UDP數據包,此類數據包被存放于客戶端計算機的緩存區,并按照一定的順序進行排列,以便于下一步的MJPEG解碼過程,解碼后的視頻通過調用SDL進行播放。
3 嵌入式視頻監控系統測試
為保證系統測試的準確性,關于嵌入式視頻監控系統的測試一般選擇有線傳輸和無線傳輸兩種模式,從使用的角度看,基于無線傳輸技術的嵌入式視頻監控系統將成為未來發展的主流,所以,這里以無線傳輸模式下的嵌入式視頻監控系統為例。
首先,在對嵌入式視頻監控系統進行測試之前,需要記錄服務器端與客戶端的IP地址;其次,檢測檢查客戶端應用軟件對攝像頭的控制命令;再次,在視頻監控系統客戶端的控制矩陣上對顯示畫面進行選擇性切換,檢查切換畫面是否正確;最后,將已經保存的錄像進行拷貝,檢查該錄像能否通過解碼在其它客戶端上播放。
檢查視頻錄像保存結果的主要原因在于無線網絡傳輸環境的不穩定性所帶來的數據包丟失問題,視頻傳輸過程中的數據包丟失較為普遍,然而,如果出現連續性的數據包丟失,則會導致視頻播放錯誤。以在無線傳輸環境下的視頻監控系統數據傳輸測試為例,具體如表1所示。
由此可見,無線傳輸環境下的嵌入式視頻監控系統的信號傳輸依然保持了較高的穩定性,丟包率維持在較低水平,四次測試的丟包率分別為0.0932%、0%、0.15%和0.181%,平均丟包率為0.1065%。
在畫質方面,由于無線傳輸模式通過互聯網進行數據的傳輸,相比較有線傳輸模式,無線傳輸模式下的嵌入式視頻監控系統畫質較好。導致這種情況的主要原因是有線傳輸模式存在能量的衰減,在無信號放大器的情況下,隨著服務器端與客戶端的距離增加,圖像質量將不斷下降。
總的來說,嵌入式視頻監控系統的穩定性較以往有所提高,無線傳輸技術的使用,在降低嵌入式視頻監控系統設計成本的同時,也實現了對嵌入式技術的有效利用,推動了嵌入式視頻監控系統在社會各領域的廣泛應用。
4 總結
嵌入式技術的廣泛使用,現了視頻監控系統的小型化、節能化和低成本化,這對于視頻監控系統的推廣應用有著積極意義。通過不斷完善嵌入式視頻系統的硬件設計,開發具有多種功能的應用軟件,使嵌入式視頻監控系統同時具有便攜性與靈活性的特點,結合無線傳輸技術,使視頻監控系統真正擺脫遠距離傳輸信號質量差、成本高等一系列問題。
參考文獻
[1]何蘇勤,楊美薈.嵌入式視頻監控系統實時性研究[J].計算機工程,2009(04).
[2]郭向勇,呂利昌,何曉青.基于嵌入式視頻多媒體集中控制系統實現的關鍵技術研究[J].現代電子技術,2008(04).
[3]張莉,周兵,柳松.嵌入式視頻監控組件的設計與實現[J].微計算機信息,2007(35).
[4]李豫東,金龍旭,任建岳.高分辨率嵌入式視頻監控設備的設計[J].微計算機信息,2009(08).
作者簡介
中圖分類號:TP311
嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式計算機系統與通用計算機系統有著本質上的不同,嵌入式計算機系統在很多情況下需要考慮的是為其產品性能,生命周期和商業驅動做優化,而不是努力提高其最大計算吞吐量。對于一個有市場適應能力的嵌入式計算機系統來說,產品的成功與否更重要的是其在性價比上的優勢。
嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。
由于嵌入式計算機系統自身功能和具體應用環境的限制,其在設計技術上會面臨如下兩個方面的挑戰:
1 系統自身發展升級挑戰
應用領域的不斷擴大和用戶要求的逐漸提高推動了嵌入式計算機系統功能的升級,而在升級過程中,嵌入式計算機系統設計技術作為系統開發的核心環節,無法避免的要面對來自整個系統的全面挑戰。
1.1 單片機向多模塊組合轉變
隨著用戶對備選方案數量要求的提高,嵌入式系統從過去單一的單片機應用模式,轉變為能夠提供更多不同層次方案的多樣化模式。通過重用和組合IP核構件技術實現的片上SoC系統,是目前嵌入式系統能夠實現的最高形式。通過利用FPGA和IP模塊進行功能組合PSoC/SOPC設計,徹底改變了過去單片機從底層全權包攬的單一設計局面。
1.2 對設計技術的要求更高
經過幾年發展,目前高端嵌入式系統都是建立在RTOS基礎之上的,所以很多非計算機專業技術人員就要學習全新的RTOS技術。這無疑是一次設計技術的重頭再來,需要設計人員做到從觀念認識到設計技術的一次徹底轉變。
1.3 運用新開發工具進行系統開發
嵌入式設計從8/16位轉向功能更強大的32位MCU,升級之后,開發工具的投入就成為了系統開發過程中最大的障礙。升級之后的開發環境不僅加大了系統投資數目,對其使用的技術有了更高要求,其開發工具較之前也有了更復雜的變化。使用新系統進行開發時,如何正確選擇處理器架構、評估嵌入式操作系統,以及使用陌生的開發工具,都是一個新的挑戰。
1.4 多種技術協同設計
嵌入式系統對軟硬件的協同配合有著超高的要求,所以在設計過程中,軟硬件設計的同步與集成是主要問題。由于技術細節處的不斷增加,控制軟硬件一致性與正確性需要消耗極大的時間。目前業界已經開發Polis、CosYma及Chinook等多種方法和工具來支持集成式軟硬件的協同設計。這使得系統可以跨越硬件和軟件平臺復用,并支持設計空間探索。是一種統一軟硬件的開發方法。
2 應對市場的重點性能挑戰
嵌入式計算機系統設計技術在滿足用戶多樣性需求和自身不斷升級方面的提升與完善是信息技術發展的必然趨勢,但是其最根本的基礎性能提高則是市場判定該系統是否卓越,亙古不變的標準。在設計過程中,基礎性能設計的重點如下:
2.1 操作實時響應
嵌入式計算機系統嵌入到對象系統中的計算機應用系統,嵌入系統在運行時不僅要求得到正確的結果,更要滿足時間交互過程的響應要求。在設計過程中,有時需要要求設計技術按照軟件運行最壞情況下的時間進行預留,因為軟件運行耗費的時間會立刻增加系統響應的時間,致使系統不能滿足嵌入對象系統提出的響應時間?!靶盘柼幚硐到y”、“緊急任務處理系統”就是典型的實時性要求很強的系統。
2.2 嵌入系統安全性
嵌入式計算機系統通常應用于安全性很高的情況下,這就要求設計技術能夠保證系統極高的安全性能和可靠性能。
(1)可靠性能。嵌入式計算機系統的可靠性是衡量其設計技術的重要標準,它要求設計技術滿足增長系統生命周期,拓寬系統適用范圍,減少系統中的錯誤,增加系統的穩定性,甚至要降低嵌入式系統的維護費用。為滿足如上諸多要求,嵌入式系統設計技術應該從工作溫度,抗震動,抗電磁干擾,抗輻射等方面著手進行全面加強。
(2)可用性能。嵌入式計算機系統為達到提供預期的功能要求提高系統的可靠性,在系統設計時,通常需要采用故障避免、故障檢測與故障容錯等設計技術。
(3)安全性能。嵌入式計算機系統的安全性,要求系統的設計技術盡量使系統能夠無錯誤的完成預期功能,同時降低系統的危害程度,安全完成運行任務。
(4)保密性能。保密性能在網絡嵌入式計算機系統中尤為重要。通過現有的保密技術和網絡安全措施基本可以保證數據的安全,但也無法做到完全保證。這就需要我們通過系統的設計技術加入入侵檢測模塊來提升嵌入系統的保密性。使入侵模塊成為整個系統的最后防線,在系統遭受威脅或被攻擊后,通過分析攻擊行為,有效保護系統免受同樣攻擊。
通常在設計時,都是利用技術通過提高嵌入系統的抗入侵能力來提高保密性,在遭到入侵時,嵌入計算機系統能夠進行安全的現場重編程及提供重建保護等。
3 結語
互聯網在日常生活與工作中的作用越來越大,信息技術的發展日益迅速。嵌入式計算機系統作為當今信息技術的核心部分,對我國的各行各業產生了深遠影響。嵌入式計算機系統設計技術,則是嵌入式計算機系統開發的核心環節。更高的應用需求,對嵌入式計算機系統的設計技術提出了更高的要求。與此同時,嵌入式系統本身的升級,也使得嵌入式計算機系統的設計技術面臨更大的挑戰。本文通過以上對嵌入式計算機系統設計技術的幾點分析,主要分析了嵌入式計算機系統的設計技術為更好的適應和滿足市場,而需要面對的諸多挑戰??梢钥闯觯度胧接嬎銠C系統在市場上的需求日益增大,用戶的要求也在向多樣化和高標準的趨勢發展。這就要求系統的設計技術,一方面要不斷與時俱進熟練掌握新升級技術,來適應市場滿足多樣化需求;另一方面要保證系統基本的實時性與安全性。只有這樣抓牢基礎,不斷提高才能在當今的信息化社會中站穩腳跟,不會被市場淘汰。
參考文獻:
[1]劉洪濤,孫天澤.嵌入式系統技術與設計[J].21世紀高等學校計算機規劃教材,2009,1:12-13.
[2]馮立杰,傅民倉,李文波.多CPU嵌入式系統的設計方法[J].現代電子技術,2006,6:33-34.
中圖分類號:TP336 文獻標識碼:A
嵌入式系統是以應用為中心、以計算機技術為基礎、軟硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統。其主要由嵌入式處理器、 相關支撐硬件、嵌入式操作系統及應用軟件系統等組成。使用嵌入式系統技術,不僅可以實現硬件和軟件的集成優化,而且具有多任務和網絡化功能。
嵌入式系統是將計算機技術、半導體技術、電子技術與各個行業的具體應用相結合后的產物 ,是一種技術密集、資金密集、高度分散、不斷創新的知識集成系統。
1嵌入式系統的技術特點
嵌入式系統由構成軟件基本運行環境的硬件和操作系統兩部分組成。其運行環境和應用場合決定了嵌入式系統有別于其它系統。
1.1嵌入式處理器
嵌入式處理器可以分為三類:嵌入式微控制器MCU、嵌入式微處理器MPU、嵌入式數字信號處理器DSP 。
嵌入式微控制器又稱為單片機,它將CPU、存儲器 、I/O接口封裝于同一片集成電路,常用的是以8051為內核的各種單片機。嵌入式微處理器就是和通用計算機的微處理器對應的CPU,應用中一般將微處理器裝配在專門設計的電路板上,在母板上保留與嵌入式有關的功能,以滿足嵌入式系統體積小和功耗低的要求。嵌入式DSP專門用來對離散時間信號進行高速處理 ,多用于數字濾波、FFT、圖像處理等領域 。
1.2微內核結構
多數嵌入式操作系統采用了微內核結構,內核只提供基本的功能,如:任務的調度、任務之間的通信與同步、內存管理、時鐘管理等。其它的應用組件,如:網絡功能、文件系統、GUI系統等均工作在用戶態,以系統進程或函數調用的方式工作。因而系統都是可裁減的,用戶可以根據自己的需要選用相應的組件。
1.3任務調度
大多數的嵌入式操作系統支持多任務,依靠CPU在多個任務之間切換、調度,每個任務都有其優先級。 任務的調度有三種方式:可搶占式調度、不可搶占式調度和時間片輪轉調度。多數嵌入式操作系統對不同優先級的任務采用基于優先級的搶占式調度法,對相同優先級的任務則采用時間片輪轉調度法。
1.4硬實時和軟實時
對時間要求較高的嵌入式系統,稱為實時系統。實時系統分為軟實時系統和硬實時系統。軟實時系統并不要求限定某一任務必須在一定的時間內完成,只要求各任務運行得越快越好;硬實時系統對系統響應時間有嚴格要求,一旦系統響應時間不能滿足,就可能引起系統崩潰或致命的錯誤。工業控制多采用硬實時系統。
1.5內存管理
多數嵌入式系統針對沒有內存管理單元MMU的處理器設計,故不能采用虛擬內存管理技術,而是實存儲器管理策略。對內存的訪問是直接的,對地址的訪問不需要經過MMU,而是直接發送至地址線輸出,所有程序中訪問的地址都是實際的物理地址。多數嵌入式操作系統對內存空間沒有保護,各個進程共享一個運行空間。一個進程在執行前系統必須為它分配足夠的連續地址空間,然后全部載入主存儲器的連續空間。
2嵌入式系統的基本設計思路
從圖1可知,嵌入式系統的工程設計分成三個階段:分析、設計和實現。
(1)分析階段:確定要解決的問題及需要完成的目標;
(2)設計階段:主要解決如何在給定的約束條件下完成用戶的要求;
(3)實現階段:主要解決如何在所選擇的硬件和軟件的基礎上進行整個軟、硬件系統的協調實現。
嵌入式系統的工程設計包括:處理器、硬件部件、操作系統、編程語言、軟件開發工具、硬件調試工具、軟件組件等內容。
2.1建立硬件平臺
2.1.1選擇處理器
嵌入式處理器是嵌入式系統的核心部件。目前全世界嵌入式處理器的品種總量已超過一千種,流行系列有三十多個,僅32位的CPU就有100種以上嵌入式微處理器。鑒于嵌入式系統設計的差異性很大,故而選擇是多樣化的。Motorola、Intel、AMD、ARM、MIPS等公司均生產微處理器,其中ARM是近年來在嵌入式系統有影響力的微處理器制造商。
選擇處理器時要考慮的主要因素有:
(1)處理性能
處理器的性能取決于時鐘頻率、內部寄存器、指令是否對等處理所有的寄存器等多個因素。要選取能夠完成作業的處理器和I/O子系統,不在于挑選速度最快的處理器。
(2)技術指標
許多嵌入式處理器都集成了設備的功能,減少了芯片的數量,降低了整個系統的開發費用。首先考慮的是,系統所要求的一些硬件能否無需過多的膠合邏輯(GL,Glue Logic)就可以連接到處理器上。其次是考慮該處理器的一些支持芯片,如DMA控制器、內存管理器、中斷控制器、串行設備、時鐘等的配套。
(3)功耗
嵌入式微處理器最大并且增長最快的市場是手持設備、電子記事本、PDA、手機、GPS導航器、智能家電等消費類電子產品。這些產品中選購的微處理器典型的特點是要求高性能、低功耗,使用普通電池供電即可。若用于工業控制領域,則可不考慮這方面因數。
(4)軟件支持工具
較好的軟件開發工具是必不可少的。 比如,交叉編譯器。
(5)內置調試工具
處理器如果內置調試工具,可以大大縮小調試周期,降低調試的難度。
(6)軟件對硬件的依賴性
軟件是否可以在硬件沒有到位的時候并行設計或先行開發。
2.1.2盡量選擇普通硬件
在 CPU 及架構的選擇上,總原則為:只要有可替代的方案,盡量不要選擇 Linux 尚不支持的硬件平臺。
2.2建立軟件平臺
嵌入式的軟件開發主要為:代碼編程、交叉編譯、交叉連接、下載到目標板和及調試等步驟,因此軟件平臺的選擇也涉及到以下幾個方面:低端無MMU(Memory Management Unit,存儲器管理單元)的CPU,要使用uClinux 操作系統;相對高端的硬件,則可以用普通的嵌入式 Linux 操作系統。
選擇操作系統應考慮的因素:
(1)操作系統提供的開發工具
有些實時操作系統(RTOS)只支持該系統供應商的開發工具,因此,還必須向操作系統供應商獲取編譯器、調試器等;而有些操作系統使用廣泛,且有第三方工具可用。
(2)操作系統向硬件接口移植的難度
操作系統到硬件的移植是關系到整個系統能否完成的一個關鍵因素。因此,要選擇那些可移植性程度高的操作系統,避免操作系統難以向硬件移植而帶來的種種困難,加速系統的開發進度。
(3)操作系統的內存要求
考慮是否需要擴充RAM或EEPROM來滿足操作系統對內存的需求。
(4)對操作系統的熟悉程度
(5)操作系統是否提供硬件的驅動程序
(6)操作系統的可剪裁性
有些操作系統具有較強的可剪裁性,如嵌入式Linux、Tornado/VxWorks。
(7)操作系統的實時性能
2.3選擇編程語言
編程語言的選擇主要考慮以下因素:
(1)通用性
匯編語言不通用;
高級語言與具體機器的硬件結構聯系較少,通用性較好。
(2)可移植性
匯編語言與具體的微處理器密切相關,移植性差;
高級語言對所有微處理器都是通用的,可移植性較好。
(3)執行效率
匯編語言來進行應用程序的開發,編程復雜、開發周期長;
越高級的語言,其編譯器和開銷就越大,應用程序就越大、越慢。
因此,必須在開發時間和運行性能間進行權衡、取舍。
(4)可維護性
匯編語言可維護性不高;
高級語言程序通常采用模塊化設計,各個模塊之間的接口是固定的,模塊化設計便于系統功能的擴充和升級。
應用較多的高級語言有:Ada、C/C++、Modula-2和Java等。C語言具有廣泛的庫程序支持,目前在嵌入式系統中是應用最廣泛的編程語言。
2.4集成開發環境的選擇
集成開發環境IDE(Integrated Development Environment)主要考慮以下因素:
(1)系統調試器的功能
系統調試及遠程調試。
(2)支持庫函數
庫函數和模板代碼。
(3)編譯器是否能持續升級
(4)連接程序是否支持所有的文件格式和符號格式。
2.5選擇硬件調試工具
好的硬件調試工具會有事半功倍之效。常用的硬件調試工具有:
(1)實時在線仿真器ICE (In-Circuit Emulator)
ICE是一個可被控制的MCU。ICE支持常規的調試操作,如單步運行、斷點、反匯編、內存檢查、源程序級的調試等。
(2)邏輯分析儀
邏輯分析儀常用于硬件調試,亦可用于軟件調試,主要用于監視系統總線的事件。
(3)ROM仿真器
ROM仿真器用于仿真ROM芯片。將程序下載到ROM仿真器中,然后調試目標程序。
(4)在線調試OCD(On-Chip Debugging)或在線仿真(on-chip emulator)
2.6軟件組件的選擇
免費軟件可靠性稍差;
授權軟件費用一般較高,但經過嚴格的測試,可靠性高,調試時間短。
3結語
嵌入式技術是計算機發展的一個重要分支,其設計、開發、應用是一個長期的課題。以信息家電為代表的互聯網時代,嵌入式產品不僅為嵌入式市場展現了美好前景,注人了新的生命,同時也對嵌入式系統技術提出了新的挑戰。隨著信息化、智能化、網絡化的發展,嵌入式系統技術也將獲得更廣闊的發展空間。
參考文獻
一、嵌入式系統設計
嵌入式系統由軟件模塊以及硬件模塊組成,其中軟件模塊需要在硬件模塊中運行才可以實現其功能。嵌入式系統中的硬件部分是嵌入式系統的基礎部分,主要提供嵌入式系統的I/O端口、外設接口等,而軟件是嵌入式系統的控制核心,通過運行,給硬件提供指令,指示硬件進行相應的動作,也就是說軟件必須在硬件部分上運行,才可以起到很好的作用。
二、嵌入式系統趨向低功耗的必要性
1.節能的需求
嵌入式系統是一個相對復雜的系統,各個模塊工作時工作量是很大的,這就需要電源供應正常,保證系統的正確運行。而隨著系統的不斷擴大,各個模塊會造成更大的功耗,因此,為了更有效的利用嵌入式系統,延長嵌入式系統的工作時間,需要采取節能措施。
2.增強抵抗能力
在嵌入式系統工作的過程中,難免會受到外界的干擾,特別是嵌入式系統中敏感電子元器件,更應該做好防磁的措施,如果處理不當,不能很好的增強抵抗力,將嚴重影響系統的正常工作。嵌入式系統的功耗越高的話,電磁輻射能量就會越大,這樣嵌入式系統自身以及外設都會受到影響,造成精度的降低。
三、利用嵌入式系統硬件設計方法降低功耗
對于嵌入式系統而言,硬件功耗問題是主要原因,對于嵌入式系統低功耗設計的影響因素最大,處理好硬件低功耗設計,會對嵌入式系統低功耗做出重大貢獻。
1.優先選擇低功耗芯片、元器件
在嵌入式系統工作的過程中,芯片元器件對電源的消耗非常的大,因此,在嵌入式系統設計前,對于元器件的選擇,除了滿足設計性能指標的需求,還需要滿足功耗問題,盡量選擇低功耗芯片?,F在比較成熟的工藝主要有兩種,一個是TTL工藝,另一種是CMOS工藝,其中CMOS工藝耗能很少,可以優先選擇。對于芯片的設計或者焊接時,需要注意的是芯片引腳不要出現懸空端,懸空端容易引進外界噪聲信號,對嵌入式系統的電源會產生很大的影響,造成高低電平的轉換。在默認的情況下,如果高低電平轉換,功耗會很大,這個時候,最好選擇高電平輸出,確保耗能降到最低。
2.采用不同步供電技術
一個完整的嵌入式系統包含很多部分,比如說包含AD采樣、DA轉換、UART異步串行通信等等,這些模塊在系統工作時不會同時工作,有可能在進行完一個模塊后才進行下個模塊,為了降低功耗,可以選擇不同步,即采取分時方法,當某一模塊工作完后如果需要隔很長時間才會再執行操作,那就可以選擇執行完后將此模塊設置為休眠狀態,從而降低功耗。
3.合理利用I/O端口資源
嵌入式系統工作時,需要頻繁的使用I/O口,I/O口在輸出的情況下可以輸出約為20mA的電流,對于次,可以采取有效的措施,很好的利用這一電流,對其他外設采取供電的辦法,當然,外設對電流的需求需要小于20mA。采取這種辦法,可以很好的利用這一資源,得到充分的利用,更好的降低功耗。
4.加強智能電源設計工作
解決好嵌入式系統低功耗的問題,需要注意的就是減少耗能問題,而解決好耗能問題,還可以從另一個角度解決,優化電源設計,趨向于智能化方向發展。在智能電源中安裝自動檢測芯片,這樣可以確保系統處于不同的情況下時,采取不同的策略,及時的做出處理,這樣就可以對CPU以及外設模塊采取不同的處理措施。比如說,當系統在外部正常供電時,這個時候電源供應可以采取正常供電的方法,提供正常的工作頻率,保證電壓的正常使用;而如果電源模塊檢測到系統工作在外部電池狀態下,那這個時候,根據檢測的結果,可以降低系統主頻率,將電壓降低到最小運行值,確保嵌入式系統工作在低功耗的狀態下。
四、利用嵌入式系統軟件設計方法降低功耗
1.減少編譯運行時間
嵌入式系統的工作離不開軟件的執行,一個小模塊的正常運行往往需要很多條代碼執行編譯。嵌入式系統在運行中需要幾個模塊先后都運行,也就是說,需要大量的代碼執行編譯過程,這樣的話,就會直接造成功率極大消耗。針對于此,可以對程序進行優化,因為代碼有單周期、雙周期、四個周期之分,對代碼優化,盡量選擇與底層密切、周期短的指令,這樣,程序代碼在編譯的過程中,會提高處理速度,降低功耗。一般來講,低級語言,比如說匯編語言,相對高級語言,比如說C語言、C++語言功耗要低很多。
2.鼓勵使用軟件代替硬件,硬件代替軟件的方法
嵌入式系統在執行某個指令或者為了實現某個功能某塊時,可以既選擇硬件模塊實現,也可以用軟件方法實現,比如說軟件程序FIR濾波與硬件設計模擬低通濾波,這兩種方法都可以實現濾掉高頻信號,確保低頻信號全部通過。這個時候,可以比較這兩種方法,哪一種最優,最節省功耗。軟件中處理器需要時間,編譯消耗功率,而硬件中電路工作也會消耗功率,因此,通過比較,可以做出最佳選擇。
3.采用快速運算處理的計算方法
嵌入式系統在處理接收到的數據時,往往需要大量的運算,才會得到期望的結果。為了有效的降低功耗,提高處理速度,對一些算法可以進行優化。比如說在進行DFT傅立葉變換時,傳統的思想是利用DFT設計,求出結果,但是這種設計相對FFT快速傅立葉變換而言,運算量大,時間也很長,這個時候就可以采用FFT的方法。在進行設計時,對各種算法都進行充分比較,在需求的精度都滿足的情況下,優先選擇算法處理快的。
4.軟件設計建議多采用中斷程序
嵌入式系統在工作時,當系統上電初始化時,主程序只會實現系統的初始化,這其中包括各個模塊寄存器的初始化,外部設備的初始化。對于系統軟件降低功耗,還可以采取的辦法就是當程序沒有動作需要執行的時候,可以將系統設置在低功耗狀態,而當系統有動作要發生時,這個時候,可以利用中斷程序,讓系統跳到要執行動作的程序中,也就是說此時僅僅中斷程序會消耗功率,其他模塊不會。待中斷程序執行完之后,系統繼續回到低功耗的狀態,節省電量的消耗。
五、結束語
隨著社會的發展,科技不斷進步,嵌入式系統日益趨向于智能化、自動化方向發展。在各行各業中,嵌入式系統都得到了很好的應用。不過隨著功能的增強,應用增多,電源供應成了問題,很多嵌入式系統的耗能都很嚴重??紤]到嵌入式系統由軟件以及硬件兩大部分組成,因此,為了降低嵌入式系統的功耗,可以通過硬件措施以及軟件措施,實現目的。對硬件方法主要考慮到硬件的電源、芯片選擇以及I/O的有效利用;而對于軟件而言,主要就是對程序進行很好的優化,充分將軟件與硬件結合,只有這樣,才能更好的解決嵌入式系統的功耗問題,促進嵌入式系統更好的發展。
參考文獻
[1]鄭杰.嵌入式系統中的低功耗設計[J].設計技術,2005(2).
[2]王懷瑞.嵌入式系統中的低功耗設計研究[J].河北省科學院學報,2008(4).
[3]王志超.基于硬件構件的嵌入式系統低功耗研究[J].信息化研究,2010(5).
[4]楊天池.嵌入式系統的低功耗設計[J].儀器儀表學報,2006(6).
[5]張健.嵌入式系統低功耗電路設計[J].光電技術應用,2005(6).
中圖分類號:TP391.41文獻標識碼:A文章編號:1009-3044(2010)08-1987-02
1 概述
隨著科學技術的發展,更高速,更可靠,更低成本成為各種技術開發的要求。因此,設計能實現實時視覺圖像采集、視覺圖像處理控制,使其結構更緊湊,甚至完全不需要計算機的介入,提高處理速度,并能有效降低成本的專用機器視覺控制系統,使得該系統具有安裝方便、配置靈活、便于攜帶等突出優點。為此,本課題提出了基于嵌入式機器視覺測控系統的研究,在嵌入式系統上實現實時視覺圖像采集、視覺圖像處理及控制,構成處理速度快,成本低,結構緊湊,不需要計算機介入的專用嵌入式機器視覺測控系統。
2 系統總體設計
2.1 設計方案
目前,用于圖像采集處理系統的嵌入式核心器件一般有FPGA、DSP和ARM芯片,出于成本控制與測控系統性能要求的考慮,這里選用FPGA方案。
FPGA內嵌的NiosII軟核處理器是32位的,主要包括CPU微處理器、I/O中斷、計時器、UART串口及大量通用寄存器。選用FPGA方案的優點在于,在單個芯片上既可以完成圖像采集等復雜邏輯的控制,又可以用內嵌的NiosII處理器完成對圖像的處理和識別,電路設計簡單,成本低。
對于機器視覺測控系統,在選用了嵌入式處理器實現圖像采集的功能之后,需要將視頻圖像進行數字化處理,這里采用標準工業攝像機+視頻圖像數字化模塊的方法實現。標準工業攝像機的輸出信號一般是PAL制式或NTSC制式的模擬信號,信號在進行數字圖像處理前必須經過刀D轉換,即視頻采集。視頻采集是整個系統中的一個重要組成部分,它是對模擬視頻信號實現數字圖像處理的第一個步驟。該方案具有通用性好、成本低的優點。
2.2 總體結構設計
1) 硬件設計
硬件設計包括系統硬件電路的連接和FPGA內部邏輯電路的設計。
FPGA內部邏輯電路的設計是以QuartusII為開發環境,用VHDL語言編程實現圖像采集、SRAM總線切換等模塊的功能,用SOPC Builder配置、產生NiosII軟核處理器及必要的外設(用戶自定義外設用VHDL編程實現),然后一起編譯并下載到FPGA的配置芯片中,再由配置芯片完成對FPGA的上電配置,由此形成硬件邏輯電路的連接,實現圖像采集、處理、存儲、顯示、實時控制等功能模塊。
2) 軟件設計
用SOPC Builder生成NiosII處理器系統的同時,也會生成相應的SDK軟件開發包。在這個軟件包的基礎上,開發者可以利用NiosII IDE,移植嵌入式實時操作系統μc/OS-II,編寫C或者C++程序來完成對圖像的二值化、區域分割、特征提取、模式識別等處理過程,最終實現對目標軌跡的跟蹤,實時控制機器人沿規定軌跡運行。
3 關鍵技術問題探討
3.1 圖像采集CCD模塊設計
圖像信息的獲取就是捕捉待處理目標的圖像信息并將其轉換成適合一體機處理的數字信號,這一過程主要包括圖像捕獲、光電轉換及數字化等幾個步驟。目前圖像信息獲取可以使用CCD、CMOS、CIS等傳感器,其中以CCD的應用最為廣泛。
本設計模塊采用1/3寸逐行掃描型黑白面陣CCD圖像傳感器ICX424AL。ICX424AL有效光敏單元為659×494,靈敏度高、暗電流小,帶有電子快門。由三相垂直脈沖(V1、V2、V3)和兩相水平脈沖(H1、H2)驅動工作,水平驅動時鐘頻率為24.154MHz,驅動電壓5V。曝光之后,每一列成像勢阱中的電荷在脈沖的驅動作用下被移至勢阱旁的垂直寄存器當中,然后垂直驅動脈沖發揮作用,每次脈沖驅動垂直寄存器組中的像素電荷向下移一行,而此時最下面一行的像素電荷則被移動到水平寄存器當中。之后水平驅動脈沖發揮作用,脈沖驅動水平寄存器中的像素的電荷向輸出口移動。被移出像素電荷,經過放大器后形成電壓信號輸出。水平寄存器被移空后,剩余電荷再次向下移一行,在水平驅動脈沖作用下,水平寄存器的電荷再次被依次移出。上述過程一直重復直至所有像素電荷被移出。
ICX424AL的驅動時序由CCD信號處理器AD9929產生。AD9929有一個三線式串行接的串行通信接口,通過該接口可以對AD9929時序發生器的相位寄存器組進行操作,發送配置信息或讀取AD9929的工作狀態。AD9929可直接與CCD傳感器相連接,CCD像素模擬電壓信號在AD9929驅動脈沖的作用下,由CCD_IN引腳輸入到AD9929中,經模擬前端采樣、放大和A/D轉換后,產生8位的數字信號由DOUT[0-11]引腳輸出,這些數字信號即為CCD圖像傳感器捕捉到的待測目標的原始圖像信息。
3.2 圖像實時跟蹤算法設計
由CCD模塊負責采集圖像,那么嵌入式系統必須要有完善的圖像跟蹤算法,才能夠實現智能機器人對目標的跟蹤,傳統的圖像跟蹤算法由于運算量較大而存在實時性較差的問題,因此,有必要對圖像跟蹤算法進行實時性優化設計。
目標圖像跟蹤是一個序列圖像處理、識別和測量過程。在跟蹤過程中,目標可能出現大小、形狀、姿態等變化,加上實際環境中的各種干擾,以及圖像處理最小計量單位的精度問題,相關跟蹤得不到絕對最佳的匹配位置,存在測量誤差。因此,為了保證跟蹤的穩定性,需要對圖像跟蹤模板進行自適應更新。圖像跟蹤模板的更新是目標跟蹤中要解決的重要問題之一,圖像跟蹤模板更新過快或過慢,都有可能丟失所跟蹤的目標。判斷圖像跟蹤模板是否需要更新要根據相關的置信度信號,如果相關匹配的置信度高,就可以根據本幀圖像的匹配點處的坐標來更新圖像跟蹤模板;如果置信度低,則說明匹配不穩定,要沿用以前的匹配圖像跟蹤模板對下一幀進行相關匹配。
相關置信度信號是在分析相關匹配算法的基礎上設計出來的,它是一個非常重要的參數。經過分析可知:若匹配點處的峰值很大,且峰值與其它非匹配點的均值之差越大,則表明跟蹤越可靠。定義幀內相關置信度為:
式中:C0是幀內相關置信度;maxR是當前幀匹配點處的誤差累加次數;R是同一幀內M個依次比maxR小的誤差累加次數的均值,如果maxR和R相差越大,則說明該匹配點越可靠。本算法可根據計算速度的需要對M取值,一般可以取M等于20~100的任何值。若C0大于閾值T0,則認為相關匹配值maxR符合幀內置信度,更新圖像跟蹤模板;否則,相關匹配不可靠,不更新圖像跟蹤模板。閾值T0根據圖像的質量和經驗來確定,這里我們取T0=0.6。
實踐證明,在序列圖像跟蹤過程中,若單純地利用當前圖像的最佳匹配位置處的圖像跟蹤模板作為依據進行下一幀圖像的匹配,則跟蹤結果很容易受某一幀發生突變的圖像的影響而偏離正確位置。因此,本系統采用基于置信度的加權自適應模板修正算法:如果當前幀匹配質量很差,則該幀圖像數據不進行修正;而若當前幀匹配質量很好,則該幀圖像數據進行修正,加權修正算法表示如下式:
上式中,T(i,j,t)為當前幀使用的圖像跟蹤模板,O(i,j,t)為當前幀最佳匹配位置的子圖像,T(i,j,t+1)為預測得到的下一幀圖像坐標,α為加權系數(0≤α≤1),該系數的大小根據幀內相關置信度C0,按照下式計算:
4 結束語
本文在嵌入式系統與機器視覺控制系統的交叉點展開研究,目的是將具有重要意義的機器視覺控制系統應用到具有廣泛基礎的嵌入式系統平臺上,拓展機器視覺的應用范圍。通過對機器視覺控制系統及嵌入式系統設計方案的選擇,并對基于嵌入式機器視覺控制系統的關鍵技術問題展開研究,以此為依據,設計了相應的硬件系統和軟件系統,并將其應用到智能機器人視覺的控制上。
參考文獻:
[1] 王耀南,李樹濤,毛建旭.計算機圖像處理與識別技術[M].北京:高等教育出版社,2001.
(四川信息職業技術學院,廣元 628017)
(Sichuan Information Technology College,Guangyuan 628017,China)
摘要:嵌入式技術是繼IT網絡技術之后,又一個新的信息技術發展方向。嵌入式技術發展潛力巨大,很多院校都開設嵌入式技術專業,但是由于專業門檻高,市場需求動手能力強的畢業生。所以,在嵌入式專業的課程中實踐訓練環節就必不可少。為此我們開發了一套智能家居系統實訓平臺來滿足師生及有關工程技術人員嵌入式項目開發、嵌入式綜合實訓、嵌入式競賽等。
Abstract: Embedded technology is a new development direction of information technology following IT network technology. Embedded technology has a huge potential for development, and embedded technology major is opened in many colleges, however, because of high professional threshold, the market demands graduates with strong hands-on ability. So, practice training is indispensable in curriculum of embedded technology major. On this base, we developed a set of training platform of intelligent household system so as to meet the teachers and students as well as related engineering and technical personnel's embedded project development, comprehensive training, competition and so on.
關鍵詞:嵌入式技術 智能家居系統 ARM開發板 傳感器
Key words: embedded technology;intelligent household system;ARM development board;sensor
中圖分類號:TP39文獻標識碼:A文章編號:1006-4311(2011)20-0129-02
0引言
嵌入式系統是嵌入到對象體系中的專用計算機系統,以嵌入式計算機為核心的嵌入式系統是繼IT網絡技術之后,又一個新的信息技術發展方向。目前,嵌入式設備已廣泛應用于制造業、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費電子等領域。巨大的嵌入式技術商業市場使許多高??吹搅税l展方向,紛紛開設嵌入式技術課程。高職院校進軍嵌入式領域已取得了不小成績,但目前高職院校在嵌入式人才培養方面,特別是綜合實訓環節的開展上,還存在很多不足,影響了人才培養質量。開發一套完整的嵌入式綜合實訓系統以及配套的實訓項目,對開展學生科學實踐活動具有積極意義。
1系統分析
智能家居系統由ARM開發板、系統擴展板、GSM模塊、USB攝像頭、無線網絡等接口設備組成,系統架構如圖1所示。其中:①開發板平臺基于ARM9的OK2440,主要完成視頻數據采集、無線視頻數據傳輸、對GSM收發的短消息進行解析和處理、以及對系統擴展板進行控制;②擴展板電路主要負責傳感器數據的采集、家用電器開關的控制、接收和處理來自開發平臺的控制信息以及將傳感器報警信息、家用電器開關狀態信息反饋給平臺;③GSM模塊負責短消息的收發;④USB攝像頭負責視頻數據的采集;所有的監視信息通過無線網絡系統傳輸到小區的服務器中,從而實現對危及人民生命和財產安全如火災、煤氣泄漏、外人非法入侵等情況需要有效的監視。下位機控制系統是STC89C52低功耗可在線編程單片機。ARM開發板以S3C2440嵌入式微處理器為主控制器,結合了光電傳感器、煤氣傳感器、溫度傳感器等傳感器技術及通信技術。
該系統中融入家電智能控制,GSM通信,視頻監控,傳感器監測,internet網絡通訊,是一個適用于多種環境的集成系統。
本系統使用VMware+Red hat linux操作系統,軟件開發平臺采用嵌入式Qt-2.3.7,用戶界面采用嵌入式Qtopia-1.7.0,視頻處理采用Intel開源的OpenCV,GSM通信采用SMS的AT指令集。
2用戶界面設計
為了使系統更加方便使用,我們使用QT編寫圖形用戶界面。Qt/Embedded是一個多平臺的C++圖形用戶界面應用程序框架,其對象容易擴展,可移植性好,支持多個GUI平臺的交互開發。Qtopia是Trolltech公司為采用嵌入式Linux操作系統的消費電子設備而開發的綜合應用平臺,它基于Qt/Embedded框架,所以在編譯Qtopia之前先要搭建好Qt/Embedded框架。
系統窗體界面包括:GSM窗體(設置接收手機號碼,短信服務中心號碼),傳感器狀態顯示窗體(包括紅外,煤氣,煙塵傳感器的狀態),攝像頭應用程序窗體(顯示現場圖像),網絡應用程序client窗體(設置服務器IP)。
要使窗體控件響應相應的事件,必須給控件添加相應的 “信號與槽函數”的映射。首先在類當中添加槽函數然后在cpp文件當中添加對應成員函數,最后添加信號與槽映射函數,即通過調用QObject對象的connect函數來將某個對象的信號與另外一個對象的槽函數相關聯。
3軟件設計
3.1 單片機與ARM串口通信(圖2、圖3)
串口通信主要是采集串口數據,內核通過提供read、write、select、open、close供應用程序調用,在設計串口通信類,就是對這幾個函數的運用。
3.2 網絡通信編程(圖4)Internet上的TCP/IP網絡編程,必須用到Socket接口。Socket接口是TCP/IP網絡的API,Qt Socket對Socket函數接口進行一個很好地封裝,使得程序員可以通過Qtsocket提供的接口,實現網絡編程。
3.3 視頻數據采集該功能模塊主要實現:數據的采集與顯示、視頻數據發送、發送視頻數據。采用OpenCV編程處理圖像,OpenCV是Intel資助的開源計算機視覺庫。它由一系列C函數和少量C++類構成,實現了圖像處理和計算機視覺方面的很多通用算法。構建OpenCV開發環境需要執行make install命令安裝,安裝后OpenCV將編譯好的的庫文件保存在/usr/local/lib目錄下,頭文件被復制在/usr/local/include/opencv目錄中。
主要的庫文件:libhighgui.so.0.9.7、libhighgui.la、libcxcore.so.0.9.7、libcxcore.la、libcvaux.so.0.9.7、libcvaux.la、libcv.so.0.9.7、libcv.la及相應的符號鏈接。攝像頭數據采集流程如圖5。
3.4 GSM 收發短信SMS協議規范:SMS(Short Messaging Service)是最早的短消息業務協議,而且也是現在普及率最高的一種短消息業務協議規范。目前,這種短消息的長度被限定在140字節之內,這些字節可以是文本的。
AT指令集是從終端設備(TE)或數據終端設備(DTE)向終端適配器(TA)或數據電路終端設備(DCE)發送的。通過TA,TE發送AT指令來控制移動臺(MS)的功能,與GSM網絡業務進行交互。用戶可以通過AT指令進行呼叫、短信、電話本、數據業務、傳真等方面的控制。對SMS的控制就是基于AT指令的PDUMode。GSM模塊與計算機之間的通信協議是一些AT指令集,AT指令是以AT作首,字符結束的字符串,AT指令的響應數據包在中。
5結語
本文討論了嵌入式實訓平臺的實現方法及應用的主要技術,主要使用飛凌嵌入式開發板再加單片機擴展板實現平臺監控室內的煤、氣、電、溫度、濕度等。由于僅僅滿足學生實訓的要求,所以該平臺還存在自身電路的局限,工業現場的環境干擾造成電路還不夠穩定,系統功能還有待于完善。
參考文獻:
[1]嵌入式Linux系統開發.深圳市億道電子技術有限公司,2009.
[2]OK2440 Linux實驗指導手冊.保定飛凌嵌入式技術有限公司,2009.
【文章摘要】
本文在針對當前嵌入式視頻監控系統發展的基礎上,介紹了一種基于ARM 的嵌入式視頻監控系統,并對系統的實現和嵌入式Linux 內核的編譯與移植等問題進行了詳細的分析和闡述。
【關鍵詞】
視頻監控;嵌入式;ARM
當前在我國的視頻監控市場當中主要包括兩種不同類型的監控系統,一類為數字控制的模擬視頻監控;另一類則為數字視頻監控。這兩類監控系統在技術方面都已經非常的成熟,性能也變得非常的穩定,并在實際的工程當中被廣泛的應用。而其中的數字監控系統是以計算機技術和圖像技術作為基礎,興起的一種新的視頻監控系統。該技術因為可有效的解決模擬系統的部分弊端而被廣泛的推廣和發展。目前,我國的視頻監控系統則正處在數值模擬和數字系統混合應用的轉變。
1 ARM 處理器
ARM 公司作為專門從事RISC 技術芯片設計的公司,主要為知識產品的提供商,并不直接從事對芯片的生產,而是將技術轉讓給許可的合作公司。各種不同的芯片被世界各大生產商購買,并從ARM 購買其設計的微處理器核,然后根據自己行業的特點,對外圍的電路進行設計,從而形成獨具特色的ARM 處理器芯片。ARM9 作為公司設計的一種類型的處理器,被廣泛的應用,其主要的原因在于該芯片其具有以下的特點:1) 具有5 級整數流水線, 指令執行效率高;2) 提供l.lMIPS/MHz 的哈弗結構;3) 支持32 位ARM 指令集和16 位Thumb 指令集;4) 支持32 位的高速AMBA 總線接口;5) 全性能的MMU, 支持Windows CE、Linux 等多種主流嵌入式操作系統;6) 支持數據cache 和指令cache, 具有更高的指令和數據處理能力。
2 系統整體設計
結合視頻監控系統的實際需求,本文設計的系統的整體結構如圖1 所示。包括S3C2440 處理器、Flash 閃存、USB 接口、LCD 顯示器等組成。
3 系統主控芯片簡介
3.1 S3C2440 處理器
在該系統中選用三星公司生產的ARM9 內核的S3C2440 處理器。該處理器其典型的優點在于其最高的主頻可達到400MHz, 為同類ARM 處理器當中最快的設備。該處理器其是基于ARM920T 內核的16/32 位RISC 嵌入式微處理器, 主要面向遠程監控終端、面向手持設備的高性價比和低功耗的應用。同時ARM920T 中, 其MMU 單元可以管理虛擬的內存,并擁有高速緩存獨立的16KB 地址和16KB 的數據高速Cache。
3.2 寄存器
在該主控芯片中,其包含37 個寄存器,其指令的數量不多,字長較大,并且其寄存器的數量也比較多。其中包括31 個32 為的通用的寄存器,6 個程序狀態的寄存器。
3.3 地址空間
在S3C2440 芯片的外部可以找到的存儲空間為1GB,其被分為8 個不同的存儲模塊,每個模塊的空間大小都為128MB,S3C2440 芯片其外部存儲空間主要存在著以下的特點:第一,其支持小端/ 大端的模式;第二,在系統的8 個外部存儲空間當中,其中的6 個主要用于ROM 和SRAM 存儲,其余的2 個可用于ROM、SRAM 和SDRAM 的存儲;第三,在8 個存儲空間中,其中的7 個為包含著固定的起始地址,而最后的一個起始地可以進行適當的調整,并且最后的2 個模塊空間的大小可編程;第四,所以存儲器塊的訪問可編程;第五,在其中的SDRAM 當中,其可以進行自主的刷新。
3.4 存儲器
存儲器作為系統整個開發的重點,其大多的應用程序等都放置在該存儲空間當中。本文主控芯片所采用的NAND Flash 具有容量大、價格低的特點。其在啟動的時候,存儲器上的前4KB 會被裝載到緩沖器當中,并執行對代碼的啟動。在啟動代碼后則將其復制到到SDRAM 中,組后主程序都全部在SDRAM 執行。
4 系統設計
4.1 存儲器設計
對存儲器的設計采用三星公司的K4S561632C,這是一款比較常用的SDRAM 存儲器,其時鐘的頻率則可以達到133MHz。其具體的電路圖設計如圖2 所示。
4.2 LCD 電路接口
S3C2440 芯片支持型號為TFT 型的LCD 的觸摸屏,其只需要在LCD 驅動板上根據其固定的標準從CPU 引出LCD 控制信號即刻進行使用。本文則主要采用的是LCD24 位,顯示時其RGB 則各位8 位。
4.3 網卡控制器
在本文中選擇DM9000 作為網卡,其主要原因在于該模塊為集成和符合成本效益的單芯片的快速以太網模塊。分別支持8 位,16 位和32 位接口訪問內部存儲器, 依次可以支持不同的處理器。同時, 在DM9000 網卡的物理協議層接口可支持10MBps 的3 類、4 類、5 類非屏蔽雙絞線和為100MBps 下的5 類非屏蔽雙絞線。
4.4 JTAG 接口
JTAG 技術作為嵌入式的一種調試技術,主要是在芯片的內部封裝一個專門的測試電路,通過其專用的JTAG 的測試工具,從而對系統內部的節點進行不同的測試。通過該JTAG 接口其可對芯片內部的所有的部件進行訪問,因此使得該技術成為一種對系統調試的高效的手段。本系統對NOR FLASH 的燒寫選用JTAG 進行, 對于NAND FLASH 的燒寫采用USB 進行。
5 結語
本文通過對ARM 和S3C2440 微處理器相關性能的了解,最后對存儲器、LCD 接口、網關控制等電路進行了設計,從而實現了視頻監控系統。
【參考文獻】
[1] 涂繼輝, 余厚全, 佘新平. 基于ARM 的視頻監控系統的設計與實現[J]. 長江大學學報( 自科科學版) 理工卷,2010,07(2).
[2] 紀波, 王輝, 張亞軍. 基于嵌入式Linux 的視頻監控系統的實現[J]. 電腦知識與技術,2011,07(8)
[3] 李浩. 基于嵌入式Limix 的視頻圖像采集系統設計[A]. 第二十屆全國測控、計量、儀器儀表學術年會論文集[C].2010.
[4] 葉琳, 邱龍輝. 基于ARM 的嵌入式手姿態跟蹤設備控制系統研究[J]. 新技術新工藝,2009,08:21- 23.
【作者簡介】
物聯網時代,物聯網系統中的嵌入式系統對互聯網開放。本質可靠的嵌入式系統有可能遭遇互聯網病毒或惡意入侵的攻擊事件而出現安全問題,這是物聯網時代嵌入式系統面臨的新挑戰。在物聯網系統的安全架構中,有一個明顯的非安全入侵界面,設立歸一化安全交互通道、實現交互通道界面的安全管理,是物聯網系統中嵌入式系統安全性設計的重要原則。
1電子系統的智能化與集群化
我們從電子系統的時代變革中,可以明顯看出電子系統的智能化、集群化趨勢。傳統電子系統,是孤立的泛性產品系統(沒有歸一化內核);智能電子系統,是歸一化微控制器內核基礎上智能產品系統,并從單個產品走向集群(分布式集群、總線集群、局域網集群);物聯網電子時代的嵌入式系統,是普遍具有互聯網接入功能的智能電子系統,有緊耦合與松耦合接入兩種狀態。松耦合的智能電子系統是一個獨立的產品系統,通常在網下使用,需要時接入,如手機、桌面電腦、智能家電等;緊耦合的智能電子系統與互聯網構成一個物聯網應用系統,如市政交通管理系統、小區物業安全管理的實時監視電子系統。目前,傳統電子系統基本被淘汰,智能電子系統與物聯網電子系統會長期并存。與3個電子時代相對應的開發環境變遷,是產品開發的平臺化與可靠性設計內容的變遷。傳統電子時代是電子工程師單打獨斗的時代,電子產品的功能性設計、低功耗設計、可靠性設計完全依靠電子工程師的聰明才智,由電子工程師獨立完成。智能電子時代,產品硬件體系設計是電子工程師在微控制器、大規模集成電路的功能模塊基礎上的配置設計;產品的軟件體系設計是集成開發環境、操作系統、計算機工程方法基礎上的應用程序設計。微控制器、集成電路、集成開發環境、操作系統、計算機工程方法等,構成了形形的知識平臺。這些平臺不只是簡單的知識集成,而是具有人工智能、可以代替人類個體腦力勞動的知識力量平臺。例如,原先設計一個數據采集系統時,電子工程師必須了解模擬信號到數字信號的轉換設計的知識與技術,如今,有了A/D轉換芯片,便可省去電子工程師的這部分腦力勞動。又如,沒有實時多任務操作系統時,電子工程師設計嵌入式程序時,必須認真考慮多任務系統程序的實時協調與管理,有了實時多任務操作系統,所有這些任務的協調與管理都由操作系統依靠協議自動實現。因此,智能電子時代的電子產品系統設計,進入到人工智能的平臺化開發時代。與智力替代的平臺開發模式相對應的是可靠性設計內容的變遷。傳統電子系統的可靠性完全依靠電子工程師的精心設計。智能電子時代,電子系統的可靠性、安全性設計進入到智能化、平臺化的設計時代,從而使智能電子系統的可靠性、安全性設計到達最高境界。物聯網電子時代,智能電子系統對互聯網開放,導致互聯網中各種不安全因素對智能電子系統的入侵。因此,物聯網電子系統安全性、可靠性設計的一個重要方法是對入侵窗口的管理設計。
2物聯網系統的安全性架構
物聯網安全體現在一個個具體的物聯網系統中,進行物聯網安全性設計時,應充分了解物聯網系統的安全性架構。
(1)物聯網與物聯網系統
通常,人們用應用層、網絡層、感知層來概括物聯網。應用層描述了物聯網應用中形形的物聯網應用系統,人們通常論及的物聯網都是一個個具體的物聯網系統。早期,人們用應用層、網絡層、感知層來描述物聯網,缺失了控制層,在許多物聯網系統中,控制層是必不可少的內容,我們可以用網絡層、感知層與控制層來構建物聯網系統模型。
(2)物聯網系統模型
圖1是一個由互聯網與嵌入式集群系統構成的物聯網系統最簡模型。嵌入式集群系統通常都是一個嵌入式系統的局域網,互聯網直接服務于物聯網的網絡層與管理層,每個局域網中的嵌入式應用系統都有可能直接與互聯網相連。感知層、控制層由嵌入式系統構成,嵌入式局域網將它們聯接起來,形成嵌入式集群系統。當這個嵌入式集群系統與互聯網相連后,便構成一個具體的物聯網系統。通常,嵌入式集群系統是一個安全、可靠的嵌入式系統局域網。接入互聯網時,會出現新的可靠性、安全性問題,即互聯網惡意入侵產生的安全性問題。在物聯網系統模型中,它體現為一個非安全的入侵界面。
(3)物聯網系統的安全性架構
從圖1的模型可以看出,物聯網系統是本質可靠的嵌入式系統與本質非可靠的互聯網構成的交互系統。嵌入式系統與互聯網可以有多個渠道交互(因為嵌入式系統都有獨立的互聯網接入功能),這些交互渠道都可能會帶來可靠性、安全性問題。在嵌入式系統的高可靠性基礎上,物聯網系統安全性設計的重點是入侵界面的管控與感知層、控制層的安全防護設計。
3物聯網系統的安全性設計原則
物聯網應用系統中,許多安全性問題最終都會反映在嵌入式系統的感知層與控制層上。嵌入式系統的安全性問題是由互聯網的安全性因素引起的。因此,最大限度地減少互聯網對嵌入式系統的入侵渠道,是物聯網應用系統安全性設計的重要原則。物聯網應用系統的安全性設計模型如圖2所示。物聯網系統的安全性設計目標,是要建立一個歸一化的安全性管理界面。所有交互行為都通過歸一化界面進行管理,可以大大減少互聯網的入侵渠道,有利于減少安全漏洞與實現系統安全性的集中管理,防止出現安全患。實現界面安全的防入侵管理是入口的驗證環節設計。密碼驗證是最常使用的一種方法,還有數符密碼與生物特征密碼(指紋、掌紋、人臉、虹膜等)。除此以外,在交互中實時使用的校驗碼也是行之有效的方法。感知層、控制層的安全防護設計也是物聯網系統安全設計的重要一環。感知層能迅速感知系統的應急狀態,并即時啟動系統的應急處理(關閉并進入安全狀態)。2016年3.15晚會,恰逢谷歌“AlphaGo”掀起的人工智能熱潮,央視在會上演示了讓人驚心動魄的智能電子系統的安全漏洞。畫面上演示了不法分子通過手中的設備侵入無人機系統,接管了無人機,而無人機機主無能為力;一位黑客在一戶人家的外面成功入侵該住宅的Wi-Fi,并控制了該家庭的所有智能設備,包括智能洗衣機、烤箱和智能攝像頭,可以讓滾筒洗衣機空轉、讓烤箱的溫度飆升到危險數值甚至引發火災,讓智能攝像頭隨意轉動拍攝,偷窺用戶的室內活動和隱私等。這些都是物聯網時代嵌入式系統的安全隱患。嵌入式系統本身是安全可靠的,因為它是一個是封閉型的本質安全系統。多年來,家庭中的洗衣機、電冰箱、烤箱、微波爐、電視機等智能設備從來沒有出現過上述的安全事故。只有嵌入式應用系統開放后,才會出現安全漏洞。上述安全事故是在智能設備接入Wi-Fi網絡或互聯網后,形成的非安全的入侵渠道所致。物聯網系統中智能硬件的安全漏洞在于對互聯網的開放,這個安全漏洞是可控的。只要減少互聯網接入的通道數量,在這些接入通道中設立可靠的校驗、準入管理環節,就能保證系統安全。