嵌入式設計系統(tǒng)范文
時間:2023-05-04 13:14:24
導語:如何才能寫好一篇嵌入式設計系統(tǒng),這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
關鍵詞:嵌入式系統(tǒng);開發(fā)環(huán)境
中圖分類號:TP311 文獻標識碼:A文章編號:1009-3044(2011)07-1649-02
A Reseach on Design of Embedded System
FANG Jian-gang
(Computer College, Wuhan University of Technology, Wuhan 473000, China)
Abstract: Embedded technique as a new and great development force's science technique has been concerned by more and more people.The article discusses the feature of embedded system,embedded software and hardware developing process and design methods.
Key words: embedded system; development environment
嵌入式系統(tǒng)已經廣泛的應用到通信、家電、汽車、工業(yè)控制等領域,極大的便利了人們的生活。嵌入式系統(tǒng)是指以應用為核心,以計算機技術為基礎,軟硬件可裁剪,對功能、可靠性、成本、體積和功耗嚴格要求的專用計算機系統(tǒng),,也是為實現(xiàn)對象體系智能化控制的計算機系統(tǒng)。嵌入式系統(tǒng)如圖1。
嵌入式系統(tǒng)由硬件和軟件兩大部分組成,其分類可以從硬件和軟件進行劃分。從硬件方面來講,各式各樣的嵌入式處理器是嵌入式系統(tǒng)硬件中的最核心的部分,而目前世界上具有嵌入式功能特點的處理器已經超過1000種,流行體系結構包括MCU,MPU等30多個系列。很多半導體制造商都大規(guī)模生產嵌入式處理器,并且公司自主設計處理器也已經成為了未來嵌入式領域的一大趨勢,從軟件方面劃分,主要可以依據操作系統(tǒng)的類型。目前嵌入式系統(tǒng)的軟件主要有兩大類:實時系統(tǒng)和分時系統(tǒng)。其中實時系統(tǒng)又分為兩類:硬實時系統(tǒng)和軟實時系統(tǒng)。
嵌入式系統(tǒng)應該具備4個特性:1) 執(zhí)行特定的功能;2) 以微處理器和設備構成核心;3) 需要嚴格的時序與穩(wěn)定性;4)全自動操作。
1 嵌入式處理器
嵌入式處理器可以分成下面幾類:嵌入式微處理器(Micro Processor Unit,MPU)、嵌入式微控制器(Microcontroller Unit, MCU)、嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)、嵌入式片上系統(tǒng)(System On Chip),其中采用RISC架構的ARM微處理器以它優(yōu)越的性能被廣泛的應用與嵌入式開發(fā)各個領域。
2 嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)負責嵌入式系統(tǒng)的全部軟、硬件資源的分配、調度、控制、協(xié)調;它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過加載卸載某些模塊來達到系統(tǒng)所要求的功能。實時操作系統(tǒng)是嵌入式系統(tǒng)目前最主要的組成部分。
Linux是目前最為流行的一款開放源代碼的操作系統(tǒng),在當今開發(fā)嵌入式系統(tǒng)中,70%以上的項目選擇的Linux作為嵌入式系統(tǒng)。另一種常見的嵌入式Linux是UcLinux,它去掉了內存管理單元,該系統(tǒng)直接訪問內存,所有的程序中訪問的地址都是物理地址。嵌入式Linux有以下特點:精簡的內核,性能高、穩(wěn)定,支持多任務、多種體系結構等。
3 嵌入式系統(tǒng)的設計方法
3.1 嵌入式系統(tǒng)的總體結構
一個嵌入式系統(tǒng)一般都由嵌入式微處理器系統(tǒng)和被控制對象組成,其中微處理器系統(tǒng)是整個系統(tǒng)的核心,由硬件層、中間層、軟件層和功能層組成。硬件層是嵌入式微處理器、電路和外設,軟件層主要是操作系統(tǒng),功能層是基于操作系統(tǒng)開發(fā)的應用程序組成,用來完成對被控對象的控制功能。中間層是將系統(tǒng)軟件與底層硬件部分隔離,使系統(tǒng)的底層設備驅動程序與硬件無關。
3.2 嵌入式系統(tǒng)的開發(fā)特點和流程
開發(fā)特點:1) 采用宿主機|目標機的方式。2) 生成的代碼需要固態(tài)化存儲。3) 軟件代碼具有高質量、高可靠性。
開發(fā)流程一般由5個階段構成:需求分析、體系結構設計、硬件|軟件設計、系統(tǒng)集成和代碼固化。各個階段之間往往要求不斷地反復和修改,直至完成最終設計目標。
3.3 嵌入式系統(tǒng)調試
在嵌入式系統(tǒng)中系統(tǒng)調試是非常困難的,不同于傳統(tǒng)軟件的調試,因為開發(fā)程序平臺和目標平臺是分開的。一般來說,大部分的工作是在RAM中進行的,只有當程序完成并能運行后才切換到ROM上。調試方法有多種,可分為模擬器方式、在線仿真器方式、在線調試器方式、監(jiān)控器方式。
4 嵌入式Linux應用程序開發(fā)
4.1 開發(fā)環(huán)境的建立
進行項目開發(fā)前,首先要搭建一套基于Linux操作系統(tǒng)的應用開發(fā)環(huán)境,一般由目標機和宿主機所構成。目標板用于運行操作系統(tǒng)和系統(tǒng)應用軟件,而目標板所用到的操作系統(tǒng)的內核編譯、應用程序的開發(fā)和調試則需要通過宿主機來完成。雙方之間通過關鍵接口如串口、以太網口或USB口建立連接關系。個人進行嵌入式開發(fā)可以在自己的PC上安裝一套Linux,使用系統(tǒng)中的工具來編譯、調試。多人開發(fā)的最好建立個Linux服務器,使用服務器的Linux系統(tǒng)的gcc編譯生成目標代碼,通過ftp傳到每個開發(fā)人員的PC,然后通過串口或網絡下載開發(fā)板上。開發(fā)人員也可以在Windows下安裝模擬Linux環(huán)境的軟件(如Cygwin、虛擬機等)來開發(fā)。
交叉編譯環(huán)境是一個由編譯器、連接器和解釋器組成的綜合開發(fā)環(huán)境。交叉編譯工具主要包括針對目標系統(tǒng)的編譯器gcc、目標系統(tǒng)的二進制工具binutils、目標系統(tǒng)的標準c庫glibc、gdb代碼調試器和目標系統(tǒng)的Linux內核頭文件。
4.2 引導程序
一個嵌入式軟件系統(tǒng)通??梢苑譃橐龑С绦駼ootLoader、操作系統(tǒng)內核、文件系統(tǒng)和用戶程序4個層次。
BootLoader和PC機中的BIOS很相似,整個系統(tǒng)的加載啟動任務完全由它來完成。BootLoader是在操作系統(tǒng)內核或用戶應用程序運行之前運行的一段小程序,可以初始化硬件設備,建立內存的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶來一個合適的狀態(tài),為最終調用內核和應用程序準備好正確的環(huán)境。大多數(shù)BootLoader都包含兩種不同的操作模式:啟動加載模式和下載模式。
BootLoader的啟動過程大多數(shù)分兩個階段,第一階段主要包含依賴于CPU的體系結構硬件的初始化代碼,通常是用匯編語言實現(xiàn)的,這一階段任務是硬件設備初始化,為加載BootLoader的階段2準備RAM空間,拷貝BootLoader階段2的代碼到RAM中,設置好堆棧,跳轉到階段2的C程序入口。階段2通常是用C語言來實現(xiàn),這階段任務是初始化本階段要使用的硬件設備,檢測系統(tǒng)的內存映射,將內核映像和跟文件系統(tǒng)映射從FLASH上讀到RAM空間中,為內核設置參數(shù),調用內核。
4.3 Linux操作系統(tǒng)的移植
Linux系統(tǒng)實際上由兩個比較獨立的部分組成,即內核部分和系統(tǒng)部分。Linux系統(tǒng)的移植分為內核移植和系統(tǒng)移植,內核可以視為由5個功能部分組成:進程管理、內存管理、設備管理、虛擬文件系統(tǒng)、網絡。由于Linux內核良好的分層結構將硬件相關的代碼獨立出來,在做系統(tǒng)移植時,只需要改動進程管理、內存管理和設備管理中被獨立出來的那部分與硬件相關的代碼,開發(fā)者要將自己開發(fā)的代碼加到Linux內核中,需要確定代碼放入到內核的位置,了解Linux的內核配置系統(tǒng),把開發(fā)功能增加到Linux的配置選項中,使用戶能夠選擇此功能。
4.4 應用程序的移植和調試
在開發(fā)環(huán)境和操作系統(tǒng)建立后,就可以開始應用程序的開發(fā)了,應用程序的開發(fā)一般先在宿主機上調試完成,然后下載到目標板,宿主機和目標板必須建立可靠的連接,連接主要方式是串口連接、網絡連接和JTAG口連接。
Linux中可以使用應用程序資源非常豐富,可將現(xiàn)成的程序移植到嵌入式系統(tǒng)中,可以極大加快開發(fā)流程,提高開發(fā)效率。
調試應用程序:Linux包含一個gun調試程序gdb,它是一個用來調試C和C++程序的調試器。通過gdb還可以在程序運行時觀察內部結構和內存的使用情況。
5 嵌入式Linux驅動程序開發(fā)
由于嵌入式設備硬件種類豐富,對于Linux系統(tǒng)的開發(fā),很大工作量是為各種設備編寫驅動程序。操作系統(tǒng)一般提供設備驅動程序來完成對特定硬件的控制,以建立應用程序和設備之間的抽象接口。設備驅動程序實際是處理和操作硬件控制器的軟件,從本質上講是內核中具有最高特權硬件的、駐留內存的、可共享的底層硬件處理例程。驅動程序是內核的一部分,屏蔽了硬件的細節(jié),Linux操作系統(tǒng)將所有的設備全部看成文件,都納入文件系統(tǒng)的范疇,并通過文件的操作界面進行操作。
5.1 驅動程序的開發(fā)過程
實現(xiàn)一個嵌入式Linux設備驅動的流程:
1) 查看原理圖,理解設備工作原理。2) 定義設備號。3) 實現(xiàn)初始化函數(shù),在驅動程序中實現(xiàn)驅動的注冊和卸載。4) 設計所要實現(xiàn)的文件操作。5) 實現(xiàn)所要的文件操作調用。6) 實現(xiàn)中斷服務,并用request-irq向內核注冊。7) 編譯該驅動程序到內核中,或者用insmod命令加載模塊。8) 測試該設備,編寫應用程序,對驅動程序進行調試。
5.2 模塊化驅動程序
當談到軟件時,我們通常稱執(zhí)行態(tài)為內核空間和用戶空間,模塊是在內核空間中運行的,而應用程序則是在用戶空間中運行。
Linux通過系統(tǒng)調用和硬件中斷完成從用戶空間到系統(tǒng)空間的控制轉換。模塊的作用就是擴展內核的功能,是運行在內核空間的模塊化的代碼,模塊的某些函數(shù)作為系統(tǒng)調用執(zhí)行,而某些函數(shù)負責中斷。內核模塊的一部分保存在Kernel中,另一部分在Modules包中,模塊就像一個插件,內核提供一個插槽,在需要時,插入內核中使用,不需要時從內核拔出,這一切都由一個稱作Kernel的守護進程自動處理。內核模塊的這種動態(tài)加載具有以下優(yōu)點:將內核映像的尺寸保持在最小,并具有最大的靈活性。這便于檢驗新的內核代碼,而不需要重新編譯內核并重新引導。
6 總結
本文對嵌入式系統(tǒng)設計的進行了深入淺出的探討,分析了嵌入式系統(tǒng)的組成和特點,描述了嵌入式系統(tǒng)開發(fā)流程以及嵌入式Linux下驅動程序開發(fā)特點。
參考文獻:
[1] 馬忠梅,李善平,葉楠.ARM&Linux嵌入式教程[M].北京:北京航天航空出版社,2004.
[2] 孫天澤,袁文菊,張海峰.嵌入式設計及l(fā)iunx驅動開發(fā)指南―基于ARM9處理器[M].北京:電子工業(yè)出版社,2005.
篇2
關鍵詞:傳感器網絡;道路監(jiān)控系統(tǒng);圖像識別;車載嵌入式系統(tǒng)
一、概述
如今,數(shù)量眾多的車輛都嵌入了GPS。作為車載模塊,GPS可以相對有效地儲存一些靜態(tài)興趣點(staticPointsOfInterest)的位置信息(如家庭,公司和商場信息等等)。然而,GPS還不能獲得更多的信息用來判定一些動態(tài)興趣點(dynamicalPointsOfInterest)的位置信息(如動態(tài)的車輛信息,路人信息或動態(tài)的車位空閑狀態(tài)信息)[1]。隨著嵌入式技術的發(fā)展,越來越多的感知模塊也被嵌入到車輛當中,用以輔助提升整車的智能化。我們可以將車輛的GPS模塊和攝像模塊進行整合再開發(fā),用以偵測動態(tài)的興趣點。更進一步的,借助諸如車載自組網等類似技術,將分散用戶采集的數(shù)據快速有效收集至云端處理,進而分析得出實時的空閑車位,事故狀況等詳細信息可以被共享給更多用戶。
二、理論設計
首先,裝備了車載攝像系統(tǒng)的車輛負責采集原始圖像,并搜尋最佳的數(shù)據鏈路將圖像數(shù)據傳送至路邊基站(RSU:RoadSideUnit)。圖像信息再由RSU轉送至云服務器(CCS:CloudComputingSystem)。根據客戶不同的需求,實時的圖像可以被分類解析出不同的結果,以滿足不同的需求。系統(tǒng)可用于尋找可用的空閑車位。車輛巡弋道路的同時,通過攝像模塊捕捉街景用以搜尋可用的空閑停車位(圖中扇形探索區(qū)域),通過GPS模塊采集地理位置等相關信息。這些圖像信息經由RSU被上傳至CCS,云端程序將對圖像進行分析,并據此更新數(shù)據庫中可用空閑車位的時間和位置。在客戶端,那些激活車位搜尋功能的車輛可以接收到實時的信息,并由系統(tǒng)引導至可用的停車位。
三、系統(tǒng)實現(xiàn)
為協(xié)助客戶搜尋目標車輛和目標人物,描述了數(shù)據傳輸和數(shù)據分析的過程:車載端完成對圖像的實時采集、地理坐標的標注和圖像的加密壓縮;路邊基站RSU接收車載端的數(shù)據,并將這些數(shù)據合理上傳至CCS;在CCS中,數(shù)據首先需要被解密解壓,而后車牌的識別,人臉的識別等相關算法可以對數(shù)據進行處理分析,再由各自動化腳本對處理所得的結果,進行數(shù)據比對和數(shù)據庫更新的工作。整個車載端模型以RaspberryPi微處理器為中心,擴展以攝像模塊進行圖像采集,GPS模塊地理位置采集,以及電源、網卡等其他模塊。RSU將由兩臺PC進行模擬,多個自動化腳本進行網絡配置、文件管理和流量控制。圖像信息將經由此上傳至CCS。CCS采用AmazonElasticComputeCloud實現(xiàn),服務器將配置數(shù)據庫、網頁服務器和文件管理等諸多系統(tǒng),同時核心的圖像解析程序,也將由服務器自動調用,并根據處理結果,更新數(shù)據庫信息。圖像處理部分,使用C#語言和Emgu庫解析圖像,提取人臉信息,讀取車牌信息。車載端將拍攝的街景經由RSU上傳至云端,云系統(tǒng)將對采集的圖像數(shù)據進行分析。之后,系統(tǒng)將解析出的人臉和車牌,與客戶所要搜尋的目標進行比對,反饋一組可能的人或車輛,以及相應的地理位置和時間信息。如果某一目標得到客戶的確認,則根據其GPS信息和時間標簽等數(shù)據,系統(tǒng)會將目標出現(xiàn)的軌跡繪制在以GoogleMap為基礎的網頁上。
四、結束語
文中設計了一款新穎的道路監(jiān)控系統(tǒng)構架,據此完成了實驗室模型,并為模型開發(fā)了車牌識別和人臉讀取的應用。通過這些實踐,表明了該理論設計可以支持對動態(tài)興趣點的檢測和定位。
參考文獻:
[1]曹沖.國內外車載GPS系統(tǒng)的應用現(xiàn)狀和發(fā)展趨勢[J].全球定位系統(tǒng),2000(01):4-8.
[2]ObstM,HobertL,ReisdorfP.Multi-sensordatafusionforcheckingplausibilityofV2Vcommunicationsbyvision-basedmultiple-objecttracking[C]//VehicularNetworkingConference(VNC),2014IEEE.IEEE,2014:143-150.
[3]PauG,WengJT,GerlaM.Pics-on-wheels:Photosurveillanceinthevehicularcloud[C]//2013InternationalCon-ferenceonComputing,NetworkingandCommunications(ICNC).IEEEComputerSociety,2013:1123-1127.
[4]SharefBT,AlsaqourRA,IsmailM.Vehicularcommu-nicationadhocroutingprotocols:Asurvey[J].JournalofNetwork&ComputerApplications,2014,40(2):363-396.
[5]WhaiduzzamanM,SookhakM,GaniA,etal.Asurveyonvehicularcloudcomputing[J].JournalofNetwork&ComputerApplications,2014,40(1):325-344.
篇3
【關鍵詞】嵌入式電路;熱插拔;接口設計
熱插拔的概念來源于我們的桌面PC,其一般定義為將設備板卡或模塊等帶電接入或移出正在工作的電腦[1]。嵌入式系統(tǒng)中的熱插拔是指對正在運行的嵌入式電路板,在不關閉電源情況下對某些部件進行插入(連接)或拔出(斷開)操作。下面要談的正是在一個嵌入式單片機系統(tǒng)中對其擴展部件或板卡的硬件熱插拔技術,將根據接口上的信號類型等探討熱插拔的危害產生原因及防止危害發(fā)生的一般性措施。本文以下部分將把要插拔的兩塊電路板分別稱為主電路板(正在運行的嵌入式主電路板)和擴展板。
一、熱插拔設計的重要性
對正在工作的電路板進行熱插拔通常都是不被許可的,但在有些時候卻是難于避免的,比如使用者疏忽或特殊功能要求等。對未采取任何保護措施的嵌入式電路板進行熱插拔操作,其將帶來的損害通常是很嚴重的,包括電源電路損壞,單片機IO口燒壞,單片機復位或死機,或者與接口相連的IC出現(xiàn)部分或全部管腳燒壞等。這些故障將導致嵌入式電路板產生永久性損害,或在重新上電之前系統(tǒng)無法再正常工作。因此,在嵌入式系統(tǒng)的擴展接口設計中加入一定的熱插拔保護措施是十分必要的。熱插拔操作對嵌入式電路板的危害通常表現(xiàn)在三方面:過電流沖擊、瞬態(tài)過電壓、靜電釋放[1]。進行熱插拔設計的目標應是在不增加太多硬件成本的前提下,使設計出的電路板不因熱插拔操作造成系統(tǒng)復位、死機或對元器件產生永久性損害。
二、電源與地接口的防過電流沖擊熱插拔設計
當把擴展板插入正在工作的嵌入式主電路板中時,擴展板上的各類電容和IC需要瞬間從主電路板的電源處上吸走大量電荷,給電源造成一個短暫的低阻抗路徑,造成一次浪涌電流[1]。此浪涌電流可以把系統(tǒng)電壓拉低到系統(tǒng)重置閾值以下,造成單片機復位,甚至燒毀電源電路。在硬件設計時通常采取如下措施進行應對:
1.在擴展接口的電源網絡上使用大容量電容(可以用并聯(lián)方式獲得)減輕擴展板上電過程中對主電路板電源電壓的影響。主電路板電源電路中的電容量最好要比擴展板的蓄能電容量之和稍大。
2.在擴展接口的電源網絡上串入電源專用的磁珠以減少上電瞬間的電流尖峰,并阻斷高頻噪聲信號的干擾。
3.如果浪涌電流特別大并且系統(tǒng)允許復位,為保護主電路板上的電源電路可以考慮在電源入口處加自恢復保險絲讓電源在過流瞬間自動切斷。如果系統(tǒng)對熱插拔時的穩(wěn)定性要求更高可以使用目前市面上的專用熱插拔控制器LM5069等,這些器件具有功率和電流限制的能力[2]。
在熱插拔操作時為提高設備的熱插拔壽命,熱插拔動作應避免來回抖動,并且兩次熱插拔之間的時間間隔不要太短;如果擴展板的負荷可以先行卸除,最好不要帶負荷進行熱插拔。
三、電源與地接口的防過電壓沖擊熱插拔設計
進行熱插拔操作前不同設備的接口之間可能存在一定的電位差,尤其是使用了隔離電源或共模電感的“浮地”系統(tǒng)。雖然這類電位差是瞬間的且沒有多大的電流能力,但此電位差通常會超出各類IC的最高工作耐壓而損壞IC。如果在熱插拔同時還伴隨著靜電釋放,在接口接觸瞬間產生的過電壓和過電流沖擊會更加厲害,可以瞬間燒毀電路板中脆弱環(huán)節(jié)上的IC。應對此類危害的唯一辦法是快速鉗位電壓,即在接口附近的電源與地之間以及比較脆弱的信號與地之間使用具有浪涌能量吸收能力和內部散熱能力的壓敏電阻或TVS管之類的浪涌電壓抑制器等保護措施。
四、電源與地接口在結構上的熱插拔設計
現(xiàn)在CMOS器件已經在各種電路上廣泛使用,CMOS器件的一個缺點是容易產生閂鎖效應而燒毀。在熱插拔過程中VCC和GND的突然變化或者芯片I/O口電壓超出VDD-GND的范圍時很容易發(fā)生閂鎖效應。如果接口結構設計不合理造成在熱插拔過程中I/O口信號已經連接上而GND或VCC還沒有連接上,這時極易發(fā)生閂鎖效應而燒毀芯片。因此,在接口結構設計時必須保證接口在帶電插入過程中要先讓GND和VCC連接上再連接I/O口;反之在帶電拔出過程中則需要先拔出I/O口再斷開VCC和GND。在實際應用時可以采取如下措施:把GND和VCC放在接口兩端、并在接口上多放幾個GND信號,或者把GND和VCC的插針做得比其它信號插針稍微長些等。圖一是按一般熱插拔要求設計的一款主電路板電源與地的接口實例。
五、常見信號接口的熱插拔設計
對嵌入式電路板上單片機的片上外設(on-chip peripheral)類信號口(比如SPI輸出口),通常其耐電壓和電流沖擊能力并不是很強,如果需要把這些信號接口在電路板上擴展出去最好先把這些信號經過外部邏輯門電路處理后(比如兩次反相)再接到擴展接口上。
對耐電壓和電流沖擊能力較強的單片機GPIO信號接口可使用阻容電路進行簡單保護。其中的電阻能起到限流作用,電阻值可根據信號辨識的需求選在幾歐到幾百歐之間;而對地的小濾波電容則能起到濾除瞬間電壓尖峰的作用,電容值可根據信號線上傳遞的信號頻率特性選在幾百pF到幾nF之間。
對比較脆弱而又關鍵的重要信號接口(比如SPI輸入口、并行總線接口等)可以在信號端口與電源和地之間使用雙向二極管對信號電壓進行精準鉗位。這樣可確保此類接口上的電壓不會超出芯片的工作電壓范圍,能起到非常好的保護作用。圖二是一款常見信號接口的熱插拔設計實例(電源和地部分參見圖一)。
嵌入式系統(tǒng)電路的接口熱插拔設計通常是一個反復和復雜的過程。在設計時通常需要通過熱插拔實驗把接口電路中的脆弱環(huán)節(jié)找出來,然后采取針對性的措施進行應對,要做到既不增加太多硬件成本又能滿足一般的熱插拔需要。熱插拔問題是各類電子設備中都會面臨到的一個問題,本文探討的熱插拔設計技術在電路設計中具有一定的現(xiàn)實意義。
參考文獻
[1]凌有慧,張胡.熱插拔的硬道理[J].微型計算機,2003(23):107-111.
[2]National Semiconductor Corporation.LM5069 Positive High Voltage Hot Swap/Inrush Current Controller with Power Limiting data sheet,2008.
作者簡介:
篇4
嵌入式系統(tǒng)是一種具有專業(yè)用途的計算機系統(tǒng),系統(tǒng)以計算機技術作為技術支撐,軟件和硬件可以根據實際的應用需求進行設置,適用于對系統(tǒng)功能、穩(wěn)定性、成本、占用空間以及功耗有較高要求的條件。為了追求系統(tǒng)的高性能,嵌入式系統(tǒng)的軟件和硬件都要盡可能的設計為最佳性能,減少冗余部分,在有限的空間,有限的硅片上,實現(xiàn)軟硬件的性能最大化。32位ARM嵌入式處理器的性能高于同類,且其能耗很低,其可編程性和可操作性,讓系統(tǒng)軟件的設計更加方便,能夠在現(xiàn)有的硬件基礎上,根據所需自由設計軟件。目前,32位ARM嵌入式處理器已經在電子產品、無線通信以及網絡通信等各個領域得到了非常普遍的應用。嵌入式Linux是一種小型操作系統(tǒng),其內核經過特殊剪裁,系統(tǒng)模塊也是對應功能要求而定制的。嵌入式Linux具有以下特點:內核相對很小,僅占用不到1M的空間;同時支持包括X86在內的三十多種8bit-64bit的MPU和MCU;支持ROM等各類存儲器;可以多任務多進程同時進行,具備一定的實時性;全面支持通信網絡,具有良好的軟件開放性,Linux主機中的軟件應用可以自由導入到嵌入式Linux系統(tǒng)中;嵌入式Linux經過多年研發(fā),具備堅實的技術支撐?;贏RM的嵌入式Linux系統(tǒng),硬件方面主要包括32位ARM內核處理器,存儲器以及相關的外部接口和設備,在設計過程中,最需要注意的是ARM選型、Bootloader開發(fā)、系統(tǒng)初始化、操作系統(tǒng)固化以及存儲器管理等。
2 ARM選型
目前,能夠適用于嵌入式系統(tǒng)設計的ARM微處理器存在許多系列,ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel的Xscale以及StrongARM。前四個系列是通用型處理器,每一個系列的處理器具備獨特的功能和性能,能夠應用于各個領域,滿足對應的需求。SecurCore系列的處理器的安全性很高,可用于保密程度高的情況。ARM微處理器的內核結構各式各樣,能夠在不同領域和條件下發(fā)揮作用,用戶需要根據自己的實際需求,來選擇最合適的芯片。例如,如果用戶想要在系統(tǒng)中使用標準Linux等操作系統(tǒng)來更方便快捷的進行軟件設計,那么最佳的選擇是ARM720T以上,并且具備MMU功能的ARM芯片。此外,諸如uCLinux一類的不需要MMU功能支持的操作系統(tǒng)已經研發(fā)出來,并在不具備MMU功能的微處理器上獲得了成功應用,而且其系統(tǒng)穩(wěn)定性和功能,都具有較高水平。
3 Bootloader開發(fā)
Bootloader是嵌入式系統(tǒng)的芯片引導程序,由開發(fā)人員應用匯編語言設計出來。Bootloader固化在目標板的ROM中,其功能是啟動ROM或RAM中的嵌入式軟件程序。在CPU支持的情況下,bootloader在開發(fā)時可以在RAM中運行。在基于ARM的嵌入式系統(tǒng)設計過程中,需要結合硬件目標板的相關特性來設計相應的bootloader程序,從而達到初始化處理器和相關硬件的目的。初始化處理器是通過bootloader對處理器中的配置寄存器進行初始化,這很容易實現(xiàn),例如,在使用ARM處理器的MMU時,只需通過bootloader調用控制命令打開MMU。對于嵌入式系統(tǒng)必備硬件的初始化,一般是對系統(tǒng)內存、Flash ROM以及終端控制器的初始化,此外,從主機下載系統(tǒng)映像需要在硬件板和主機之間通過接口設備連接,系統(tǒng)的接口設備初始化也是由bootloader完成的。例如,一些嵌入式系統(tǒng)硬件板是通過以太網從主機下載系統(tǒng)映像文件的,在這里,bootloader就會使用以太網卡驅動程序來對相關硬件進行初始化,然后再與bootloader客戶端程序進行連接,下載映像文件。
4 系統(tǒng)初始化
基于ARM的嵌入式系統(tǒng)芯片大多屬于復雜的片上系統(tǒng),這種系統(tǒng)的硬件部分很多都是可以自由配置的,其工作狀態(tài)和參數(shù)屬性也是由一定的軟件進行設置的。用戶在使用應用程序前,需要首先使用對應的啟動代碼對系統(tǒng)硬件進行初始化,這種初始化任務可由bootloader完成。在系統(tǒng)的初始化中,主要包括三個部分。其一,初始化中斷向量表。ARM處理器對中中斷向量表的位置有特殊要求,一般來說必須在從0地址開始的32字節(jié)的空間內。在ARM處理器的工作過程中,每當發(fā)生一個中斷,ARM處理器都會將PC指針置為向量表中對應的中斷類型的地址值。由于每個中斷都只占據向量表一個字節(jié)的存儲器空間,所以只能存放一條ARM指令,在一般情況下,向量表中并不直接存放ARM指令,而是跳轉指令,程序可以由向量表在指令作用下跳轉到寄存器的其他地址,然后再進行中斷處理。其二,初始化堆棧。ARM具有7種不同的執(zhí)行狀態(tài),每一種狀態(tài)對應的堆棧指針寄存器都是相互獨立的。所以,在程序中調整ARM執(zhí)行狀態(tài)需要給每個寄存器定義堆棧地址。寄存器堆棧地址的定義很簡單,只要將處理器執(zhí)行狀態(tài)輪流切換,每個狀態(tài)分別賦值。其三,改變處理器模式。ARM處理器有7種模式,在初始化時,需要先在6權模式下進行相關的修改,最后再切換到用戶模式。
5 下載系統(tǒng)映像
系統(tǒng)映像是通過bootloader從主機載入到目標板上的。系統(tǒng)映像文件的下載位置是通過bootloader的指令代碼或者交互shell界面來確定的,通過目標端的bootloader程序得到接收映像文件的程序,而主機端的程序則負責發(fā)送映像文件數(shù)據。這里一般可以通過串口和以太網卡等多種方式進行映像文件的傳輸。在成功接收系統(tǒng)映像后,如果具有相應的硬件模塊,bootloader還能將映像寫入到flash中。然后根據相應的啟動地址,bootloader就能夠將下載完畢的系統(tǒng)映像文件啟動,并將程序流程轉入主應用程序中。
6 存儲器管理
嵌入式系統(tǒng)的軟件平臺是由系統(tǒng)引導程序、嵌入式操作系統(tǒng)內核以及文件系統(tǒng)三個部分構成的。軟件平臺固化在Flash中,對于Flash地址空間的分區(qū),一般分為三個,分別用于存放bootloader、Linux內核以及文件系統(tǒng)。Bootloader的代碼量相對較小,但也是非常重要的。嵌入式操作系統(tǒng)內核則是嵌入式系統(tǒng)的管理中心,負責各類任務和進程的切換和運行。文件系統(tǒng)則是嵌入式系統(tǒng)軟件平臺占用存儲空間最大的,負責存儲系統(tǒng)配置文件、系統(tǒng)程序、用戶程序以及相關的驅動等。此外,如果嵌入式系統(tǒng)的結構較為復雜,就可能出現(xiàn)各種存儲類型的接口,這些接口不能直接發(fā)揮作用,還需要一定的配置。就算是同類型的存儲器,也需要根據訪問速度來設置不同的時序配置。例如Flash和SRAM屬于靜態(tài)存儲器類型,其端口可以共用,而DRAM則具有動態(tài)刷新和地址線復用的特性,需要配備專用存儲器端口。
嵌入式系統(tǒng)作為計算機技術應用的一種,在社會的很多領域都能夠得到有效的應用。對于嵌入式系統(tǒng)的設計也一直受到相關人士的關注。文章探討了基于ARM的嵌入式系統(tǒng)的設計方法,以此為參考,再設置一定的硬件和程序即可發(fā)揮效用。
參考文獻:
[1]黃克彬 葉梧 馮穗力.基于ARM-ucLinux嵌入式系統(tǒng)啟動引導的實現(xiàn)[J].電子技術應用,2014,(3):23-24.
[2]費浙平.基于ARM的嵌入式系統(tǒng)程序開發(fā)要點(二)――系統(tǒng)的初始化過程{J].單片機與嵌入式系統(tǒng)應用,2013,(9):16-17.
[3]樂燕芬.ARM嵌入式系統(tǒng)啟動過程分析及實現(xiàn)[J].儀器儀表學報,2015,27(z3):56-57.
作者簡介:
篇5
【關鍵詞】嵌入式系統(tǒng) 低功耗 設計
1 引言
嵌入式系統(tǒng)的應用非常的廣泛,在當今智能化電氣的推廣中也是應用到了嵌入式系統(tǒng)的開發(fā),比如在冰箱、手機、GPS等等設備中嵌入式發(fā)揮著非常強大的作用。嵌入式的設計開發(fā)主要實現(xiàn)的就是對于電子設備以及電子信息的智能化,從而實現(xiàn)操作方便,智能控制。在嵌入式系統(tǒng)設計中存在著一個問題,就是低功耗設計問題,嵌入式系統(tǒng)在應用當中很多都應用到移動設備當中,這就需要考慮耗電問題,移動產品能夠保持充足的工作時間對于電子產品是非常受到人們喜愛的。
2 嵌入式系統(tǒng)功耗
嵌入式系統(tǒng)包括硬件、軟件以及集成電路等等設計方面,各個模塊都發(fā)揮著自身的作用,每部分都需要電源的作用,嵌入式系統(tǒng)的功耗問題也就應運而生。為了解決嵌入式節(jié)能問題以及在移動設備中超長的工作時間,我們需要進行嵌入式低功耗設計的研究。
當今人們對于綠色環(huán)保追求越來越看重,因此電子產品的耗電問題也是非常的突出,電子設備一般都應用到了嵌入式系統(tǒng),電池的供電相應的也是問了解決嵌入式系統(tǒng)的電量的提供。延長電池壽命,降低電池的功耗是提高系統(tǒng)性能的有效的手段。
3 硬件低功耗設計
3.1 低功耗芯片、元器件
低功耗元器件是改善嵌入式硬件系統(tǒng)的最直接的手段,通過選擇功耗低且性能良好的元器件,將硬件電量的耗電性能做到改善是實現(xiàn)低功耗的第一步。當前的芯片中,CMOS芯片具有很低的功耗,在當前也是非常的熱門。在使用CMOS應用時,不能將輸入端懸空??罩玫妮斎攵舜嬖陔娖街担赡軙绊懙礁叩碗娖睫D換,我們知道在數(shù)字電路中高低電平的轉換代表的就是二進制中的0和1的表示。
3.2 電源管理設計
在模擬電路中會有功放、運放等放大器件,這些器件一般有兩種供電方式,及正負極供電和單電源供電。在電源管理中,我們能傾向于單電源供電,單電源會有兩倍的供電電壓,因此作用范圍就會增大,但是由于高電壓的應用,會造成功耗大的問題出現(xiàn)。所以我們在設計電源模塊的時候要盡量保持低電壓設計,在設計中現(xiàn)在有一種比較實用的方法,就是采用不同步的供電技術。通過對各個模塊實現(xiàn)低電壓供電,將不同的模塊實現(xiàn)不同步供電,模塊不是一直都在供電狀態(tài),通過智能的設計,在模塊需要工作的時間內設置為供電狀態(tài),不需要工作時設置為斷開狀態(tài),這樣通過對模塊的分時供電,可以實現(xiàn)節(jié)能低功耗。
3.3 合理利用I/O口資源
嵌入式處理器供電時,I/O口會帶有高電平的輸出值,所以可以充分利用這些I/O口作為其他模塊的供電電源,這就是對于I/O口充分的利用。嵌入式I/O口的供電大概能提供20mA的電流值,當外部模塊的值低于該值的時候,就可以通過電路設計達到對于外部低電壓的供電,另外就是I/O口最為電源指是要提供電能,如果外模塊的設計對于I/O口產生反饋作用則不能應用,否則就會 因為反饋導致I/O口對嵌入式處理器產生作用,影響嵌入式系統(tǒng)的正常工作。
3.4 智能電源設計
功耗問題也體現(xiàn)在對于電源的設計上,通過智能設計電源的供電情況對于不必要電量的節(jié)約是解決功耗問題的有效手段。智能電源就是對于電源供電模塊的優(yōu)化作用,智能電源的作用形式是通過對電源的智能化處理,實現(xiàn)自動檢測芯片的供電情況,確保電能不被浪費。另外通過電源的設計,將處理器以及外設模塊的供電進行合理的電能提供,并且采用時分形式,不同的時間段實現(xiàn)不同的工作狀態(tài)。
4 軟件低功耗設計
4.1 軟件編譯優(yōu)化
軟件編譯對于低功耗的實現(xiàn)時通過不同的軟件算法,將程序運行周期降低,這樣的話實現(xiàn)的就是模塊的運行時間縮短,也就使得電量消耗的時間減小。通過高級語言編寫的面相對象的或者面相問題的很難控制低功耗問題,但是通過匯編、HTML語言編寫的就可以實現(xiàn)通過選擇性的指令實現(xiàn)編譯中對于模塊的供電作用的功耗問題。
4.2 軟件硬件的合理運用
嵌入式系統(tǒng)實現(xiàn)的是對于單片機以及搭載的嵌入式軟件系統(tǒng)的綜合應用,在設計當中考慮的是硬件和軟件雙方面的作用,這種作用就是通過軟件指令的設計實現(xiàn)的。如果再軟件設計上實現(xiàn)將不必要的硬件操作減少的話就會直接減少功耗。當然要考慮軟件和硬件分別的處理時間,通過合理的分配軟件和硬件的工作量實現(xiàn)功耗的降低。另外在對于高性能處理器的作用時,如果過多的使用軟件作用,則高性能處理器體現(xiàn)出的就是大量的功率損耗,所以要針對不同的嵌入式系統(tǒng)進行不同的減少功耗的合理設計。
4.3 時鐘程序設計
軟件在進行編譯時,要引入硬件的時鐘,這就是對于軟件的延時以及硬件的定時器的設計方面。軟件的延時相對硬件來說是消耗功耗多的,所以在降低功耗上還是盡量使用硬件時鐘延時。在功耗問題上我們應當注意,雖然很多措施都可以實現(xiàn)功耗的降低,但是也要考慮到工作效率,如果以降低工作效率來實現(xiàn)低功耗,那么這就不是正常的發(fā)展模式了。
5 結束語
嵌入式的開發(fā)注意的問題非常的多,其中低功耗的設計思想是非常需要考慮的,但是在設計當中我們應當綜合考慮各方面的因素,在保持工作效率的高效性的同時實現(xiàn)低功耗才是我們所追求的目標。通過綜合因素的考慮,實現(xiàn)軟硬件的合理分配,將先進的電源管理應用到其中,是實現(xiàn)低功耗的有效途徑。
參考文獻
[1]楊全新,王仁波.嵌入式系統(tǒng)設計中的低功耗技術[J].電子元器件應用,2010(10).
[2]卜愛國,王超,李杰.嵌入式系統(tǒng)動態(tài)電壓調節(jié)設計技術[J].單片機與嵌入式系統(tǒng)應用,2009(02).
[3]王志超,王宜懷.基于硬件構件的嵌入式系統(tǒng)低功耗研究[J].信息化研究,2010(10).
[4]卜愛國,李杰,王超.嵌入式系統(tǒng)動態(tài)電源管理技術研究[J].單片機與嵌入式系統(tǒng)應用,2008(10).
篇6
本文通過對嵌入式數(shù)據庫系統(tǒng)進行詳細介紹,對嵌入式數(shù)據庫進行內涵介紹,并且對嵌入式數(shù)據庫的各種應用特點進行全面分析,結合嵌入式數(shù)據庫的發(fā)展情況,對嵌入式數(shù)據庫系統(tǒng)選擇進行闡述,對嵌入式數(shù)據庫對于數(shù)據的處理以及存儲過程進行詳細的分析,并且對嵌入式數(shù)據庫的主體架構進行介紹,望可以對我國嵌入式數(shù)據庫的發(fā)展給予支持。
關鍵詞:嵌入式;數(shù)據庫;系統(tǒng)設計
1 嵌入式數(shù)據庫系統(tǒng)介紹
1.1 嵌入式數(shù)據庫系統(tǒng)內涵
隨著計算機技術的不斷發(fā)展,數(shù)據處理系統(tǒng)中也逐漸將嵌入式進行融合,對該系統(tǒng)自身功能進行全面完善,根據軟硬件的不同的需求進行應用實現(xiàn), 能夠滿足系統(tǒng)在進行應用過程中對數(shù)據庫系統(tǒng)的功能以及可靠性進行一定程度的提升。在嵌入式數(shù)據庫系統(tǒng)中毫無疑問的融入了計算機高新技術、電子操作技術以及更加先進的半導體技術,將這些先進的技術進行融合無疑是對數(shù)據庫系統(tǒng)處理數(shù)據的時候進行速度提升。另外融合了嵌入式技術的數(shù)據庫系統(tǒng)并不和傳統(tǒng)的數(shù)據庫桌面相同,因為嵌入式系統(tǒng)內存比較小,所以這種類型的數(shù)據庫系統(tǒng)所需要的內存以及磁盤空間都比較小,同時因為這種數(shù)據庫系統(tǒng)總是需要將不同類型的數(shù)據進行模型建造,所以可以將其分為層次性、網狀性以及關系型等集中類型。
從我國目前所制定的嵌入式數(shù)據庫系統(tǒng)的標準數(shù)據模型以及同步技術來看,嵌入式數(shù)據庫系統(tǒng)已經成為同類型中的新興焦點,該系統(tǒng)中不管是嵌入式的操作程序還是數(shù)據管理系統(tǒng),所需要的內存都比較小,所以運行效率一般都比較高。但是因為在嵌入式環(huán)境中使用數(shù)據庫系統(tǒng)方面還是存在部分難度,因為不同的嵌入式應用模塊具備獨特的特點以及應用條件,而普通的數(shù)據處理系統(tǒng)只能夠完成相對比較簡單的數(shù)據查詢以及處理流程,所以在這方面還得加深研究。
1.2 嵌入式數(shù)據庫系統(tǒng)特點分析
嵌入式數(shù)據庫系統(tǒng)之所以能夠被廣泛運用,與其自身所具備的有點是有很大的關系的,根據同類型的數(shù)據庫系統(tǒng)相比較,這種新型的數(shù)據庫系統(tǒng)占有的系統(tǒng)資源很小,但卻能保證高度可靠性,安全性也不低,系統(tǒng)自身可移植性也比較很高,系統(tǒng)所具備的易用性也是相當成功的,所以結合我國嵌入式數(shù)據庫系統(tǒng)發(fā)展的實際情況,對其自身所具備的特點進行分析,現(xiàn)總結為下文所述。
1.2.1 系統(tǒng)資源占有量較小
由于嵌入式系統(tǒng)內部存儲資源很是有限,所以一般內部不會設置一些存儲空間比較大的設備,所以嵌入式數(shù)據庫系統(tǒng)就組織結構就必須設計合理,以便能夠在有限的內部存儲空間中儲存更多有用的數(shù)據,與此同時,嵌入式系統(tǒng)內部存儲空間一般都比較小,所以就決定著嵌入式數(shù)據庫體積比較小,并且運行效率很高的特點。另外影響嵌入式數(shù)據庫系統(tǒng)占有很小的系統(tǒng)資源是因為必須為其他應用程序預留一些磁盤空間,所以必須對系統(tǒng)占有資源進行最小化,這樣才能保證系統(tǒng)能夠正常運行。
1.2.2可靠性
因為嵌入式數(shù)據庫在運行過程中通常需要在移動環(huán)境中進行操作,就注定工作人員不能夠對嵌入式數(shù)據庫進行現(xiàn)場技術支持,所以注定嵌入式數(shù)據庫必須可靠,并且還必須保證在沒有工作人員進行維護的情況下也能夠保證嵌入式數(shù)據庫進行正常運行,所以對于嵌入式數(shù)據庫來說,必須具備可靠性。
1.2.3良好的可移植性
因為一般的嵌入式數(shù)據庫系統(tǒng)是根據具體情況進行需求滿足之后才設計出來的,所以為了能夠保證與其他軟件能夠進行數(shù)據通信,所以嵌入式數(shù)據庫開發(fā)人員必須在進行系統(tǒng)開發(fā)的時候提供必備的模塊,以實現(xiàn)嵌入式數(shù)據庫的可移植性,在應用對象有所變化的時候可以根據需求進行功能實現(xiàn),可移植性能夠保證資源不好出現(xiàn)大范圍的浪費。
2 嵌入式數(shù)據庫系統(tǒng)設計方案
2.1 嵌入式數(shù)據庫系統(tǒng)選擇
嵌入式數(shù)據庫在進行設計的時候,通常都是選擇嵌入式Linux系統(tǒng),該系統(tǒng)是一種源代碼完全公開的嵌入式操作系統(tǒng),它是對標準Linux操作系統(tǒng)經過小型化裁剪后,能夠固化在容量只有幾百千字節(jié)或者幾兆字節(jié)的存儲器芯片中,并且應用于特定嵌入式環(huán)境的專用Linux操作系統(tǒng)。而且,Linux操作系統(tǒng)具有穩(wěn)定性好、網絡能力優(yōu)異、支持多種文件系統(tǒng)等優(yōu)點。因此,嵌入式Linux一般具有性能可靠、軟件資源豐富、網絡功能強大、使用成本低等優(yōu)點,而且支持多任務多線程,支持實時性擴充。同時,其內核可以靈活地進行配置,因此具有很強的適用性。
Linux的內核小、效率高,內核的更新嵌入式Linux速度很快,Linux是可以定制的,其系統(tǒng)內核最小只有約134KB。第三,Linux是免費的OS,在價格上極具競爭力。 Linux還有著嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應于多種CPU和多種硬件平臺,是一個跨平臺的系統(tǒng)。到目前為止,它可以支持二三十種CPU。而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。很多CPU包括家電業(yè)芯片,都開始做Linux的平臺移植工作。移植的速度遠遠超過Java的開發(fā)環(huán)境。也就是說,如果今天用Linux環(huán)境開發(fā)產品,那么將來換CPU就不會遇到困擾。同時,Linux內核的結構在網絡方面是非常完整的,Linux對網絡中最常用的TCP/IP協(xié)議有最完備的支持。提供了包括十兆、百兆、千兆的以太網絡,以及無線網絡,Toker ring(令牌環(huán)網)、光纖甚至衛(wèi)星的支持。
2.2 系統(tǒng)處理過程分析
由嵌入式應用程序的界面控制部分等待使用設備用戶的輸入。當?shù)鹊揭粭l用戶輸入的數(shù)據請求時,首先分析該數(shù)據請求是否能夠在本地使用設備數(shù)據庫中得到滿足。若能夠借助本地使用設備數(shù)據庫實現(xiàn)數(shù)據請求,則將數(shù)據請求交給使用設備嵌入式數(shù)據庫管理系統(tǒng):否則,將數(shù)據請求交給使用設備同步程序。當使用設備嵌入式數(shù)據庫管理系統(tǒng)接到數(shù)據請求時,它首先分析數(shù)據請求的合法性,若合法,則響應請求,訪問嵌入式數(shù)據庫,得到處理結果,并將其返回給嵌入式應用程序;否則,向嵌入式應用程序返回出錯信息。當使用設備同步程序接收到數(shù)據請求時,它與PC同步程序聯(lián)系,建立連接后,將數(shù)據請求發(fā)送過去,由PC同步程序進行后續(xù)處理。PC同步程序的監(jiān)聽線程監(jiān)視串口狀態(tài),發(fā)現(xiàn)來自PDA的數(shù)據請求便將該請求交給PC同步程序的主線程。主線程接到數(shù)據請求后,將其交給ODBC接口模塊進行處理。ODBC接口接到來自PC同步程序的數(shù)據請求后,解析數(shù)據請求,并判別其合法性,若合法,則訪問ODBC主數(shù)據源,得到處理結果,并將該處理結果交給PC同步程序,由其回饋給PDA;若非法,則通知PC同步程序向PDA報告出錯信息。
2.3 系統(tǒng)數(shù)據存儲過程分析
當前流行的數(shù)據庫管理系統(tǒng)基本上都采用關系數(shù)據模型。關系模型己經成為數(shù)據庫中數(shù)據模型事實上的標準,采用關系數(shù)據模型有利于為廣大開發(fā)社區(qū)接受。同時關系模型的描述能力比較強,效率高。對于嵌入式計算,數(shù)據庫應該是輕量級的,不宜采用面向對象模型。嵌入式設備的一個主要特征是其資源緊張性。另外,嵌入式數(shù)據庫本質上還是面向個人服務的數(shù)據庫管理系統(tǒng),數(shù)據管理的功能相對于傳統(tǒng)的企業(yè)級數(shù)據庫來說要求相對較弱?;谏鲜鲈?,這里我們將采用效率更高的關系模型。存儲組織包括數(shù)據表示和存儲空間管理兩個方面。數(shù)據表示是數(shù)據庫中應用數(shù)據的物理存儲的表現(xiàn)方式,它受到數(shù)據庫系統(tǒng)所采取的存儲模型的制約。存儲空間組織是對存儲設備可用存儲空間的應用組織策略,它的目標有兩個:高效利用存儲空間和為快速的數(shù)據存取提供便利。在嵌入式數(shù)據庫中,數(shù)據將分為“永久版本”和“臨時版本”。
數(shù)據庫在運行的大部分時間中都只關心臨時版本,只在系統(tǒng)空閑或顯式要求的情況下才將臨時版本中的數(shù)據更新到永久版本中。這是一種樂觀的持久化策略。因此,對嵌入式數(shù)據庫來說,我們首先關注的是數(shù)據在主存中的高效的存取,其次,才會考慮數(shù)據的文件組織形式,盡可能地提高數(shù)據在內外存之間的調入、調出效率。因此,嵌入式數(shù)據庫避免直接操作外存,而使用操作系統(tǒng)提供的文件系統(tǒng)接口實現(xiàn)外存處理;同時,不再使用數(shù)據緩沖區(qū),而使用高活躍度數(shù)據存儲區(qū)域替代,兩者的不同在于前者在內存中按頁面來組織緩沖區(qū),每個頁面對應磁盤上的一個存儲塊,后者則以記錄為單位存儲頻繁被存取的數(shù)據。同時,因為數(shù)據字典占用空間很小且存取頻繁,所以將其常駐內存。
2.4 系統(tǒng)主題架構
由于嵌入式系統(tǒng)地存儲量有限,因此在終端嵌入式數(shù)據庫中的數(shù)據不能存儲大量的數(shù)據,同時,由于嵌入式系統(tǒng)處理器的主頻較低,運行速度較慢,以及網絡速度的原因,系統(tǒng)也不可能將每次的用戶請求都提交到服務器端后臺數(shù)據庫處理數(shù)據,因此這就要求我們將大多數(shù)的數(shù)據處理放在終端數(shù)據庫系統(tǒng)中處理,為了保證終端嵌入式數(shù)據庫數(shù)據的有效性和實時性,我們必須保證嵌入式數(shù)據庫和服務器端數(shù)據庫的數(shù)據同步復制。 當終端數(shù)據庫發(fā)生更新時,立即將更新的請求發(fā)送給終端同步程序,由終端同步程序和服務器端同步程序建立連接,再由服務器端同步程序將該請求交給服務器端數(shù)據庫實現(xiàn)后臺數(shù)據庫的更新。
由于嵌入式系統(tǒng)地存儲量有限,因此在終端嵌入式數(shù)據庫中的數(shù)據不能存儲大量的數(shù)據,同時,由于嵌入式系統(tǒng)處理器的主頻較低,運行速度較慢,以及網絡速度的原因,系統(tǒng)也不可能將每次的用戶請求都提交到服務器端后臺數(shù)據庫處理數(shù)據,因此這就要求我們將大多數(shù)的數(shù)據處理放在終端數(shù)據庫系統(tǒng)中處理,為了保證終端嵌入式數(shù)據庫數(shù)據的有效性和實時性,我們必須保證嵌入式數(shù)據庫和服務器端數(shù)據庫的數(shù)據同步復制。當終端數(shù)據庫發(fā)生更新時,立即將更新的請求發(fā)送給終端同步程序,由終端同步程序和服務器端同步程序建立連接,再由服務器端同步程序將該請求交給服務器端數(shù)據庫實現(xiàn)后臺數(shù)據庫的更新。
結論
隨著信息技術的不斷發(fā)展,各行業(yè)中所需要處理的數(shù)據大量化,并且對于數(shù)據具體的處理結果保密性也在逐步要求保密,而嵌入式系統(tǒng)因其強大的保密性、可移植性以及體積小等特點,在數(shù)據處理過程中被廣泛運用,嵌入式數(shù)據庫由此誕生。通過對嵌入式數(shù)據庫系統(tǒng)特點進行全面分析,對其系統(tǒng)選擇過程進行分析,并且結合嵌入式數(shù)據庫運行范圍進行處理過程分析,對嵌入式數(shù)據庫在對具體數(shù)據進行處理之后的存儲過程進行分析,對嵌入式數(shù)據庫的主題架構進行全面了解,由此可以將嵌入式數(shù)據庫系統(tǒng)進行全面分析,對該系統(tǒng)與傳統(tǒng)數(shù)據庫進行對比,可以將其優(yōu)越性進行全面展示。相信隨著相關科技技術的不斷發(fā)展,嵌入式數(shù)據庫一定會發(fā)展的更為迅速,更為全面。鑒于本人學識有限,在本文撰寫過程中存在一些不足之處,望各位同仁能夠及時指出,以便日后及時作出修正。
參考文獻
[1]張永.嵌入式數(shù)據庫系統(tǒng)的設計與實現(xiàn)[D].清華大學,2012.
[2]殷曉偉,楊尚霖.關于嵌入式數(shù)據庫系統(tǒng)設計的研究[J].科技創(chuàng)新與應用,2014.
[3]張媛媛.嵌入式數(shù)據庫管理系統(tǒng)的研究與實現(xiàn)[D].華東師范大學,2011.
篇7
關鍵詞: 物聯(lián)網 嵌入式 ARM驅動 教學研究
隨著計算機技術的不斷進步發(fā)展,人們的生活方式發(fā)生極大改變,計算機及其相關技術已經成為一門熱門學科,特別是近年來物聯(lián)網技術[1]的提出,使用嵌入式及驅動程序開發(fā)成為目前計算機專業(yè)在校學生學習的一個重要目標。無論是嵌入式系統(tǒng)[2]應用還是物聯(lián)網技術應用,最終均需要使用設備達到用戶的要求,實現(xiàn)特定的功能。由此可見,計算機嵌入式方向的學生學習好《嵌入式系統(tǒng)驅動設計》課程是非常有意義的,但在實際教學中,學生對于該門課程的掌握情況并不理想,學習方向體系、教材選用、教師授課方式及課程實踐安排成為制約學生掌握就業(yè)核心能力的主要問題。針對這些問題,特提出解決方案,希望對于本課程的教育教學和學生就業(yè)有所幫助。
1.存在問題分析
因為計算機專業(yè)嵌入式系統(tǒng)目前尚屬于一門較新的學科,嵌入式方向課程教學正處于探索階段,所以作為該方向對應的核心課程《嵌入式系統(tǒng)驅動設計》在教學實施中還存在一些明顯的問題。
1.1學習方向體系
目前很多高校在高考招生階段就明確了學生學習的方向,這種做法本身無可厚非,是各個高校明確招生計劃的一種手段。但實際上很多學生對專業(yè)本身并不了解,在懵懂地進入高校開始學習時,并沒有足夠的激情和興趣,從而導致目前高校普遍存在諸如學生經常翹課、學生在其他方向花費時間多卻又不得不應付本方向課程考試的問題,教師教與學生學的效果均不理想。
1.2教材選用
因為嵌入式系統(tǒng)方向目前畢業(yè)生就業(yè)情況比較樂觀,所以針對該方向的各門課程的教材也越來越多,如何挑選一本適合學生理論學習和提高實踐能力的教材并非易事。因為從目前市場所有的本科教材分析,有些偏重理論,基本上是各種知識點的匯總,學生學習時動手少,缺乏興趣,并不能真正掌握獨自解決實際問題的能力;有些教材比較偏重實踐,實例比較多,但是理論知識講解相對淺薄,學生學習后解決小問題還可以,但遇到綜合性案例的時候往往由于沒有理論支持導致分析解決問題的能力不夠,學生信心缺失。
1.3教師授課方式
學生對一門課程的接受程度往往很大程度上依賴教師的授課方式,在傳授課本知識的同時如果緊密聯(lián)系行業(yè)背景及實際案例,就可以最大限度地激發(fā)學生的學習興趣和學習熱情,達到更好的效果。而在目前的狀況下,大多數(shù)嵌入式方向的教師缺乏相關知識,且在授課過程中往往采用簡單羅列知識點和針對性實驗驗證的方式,雖有對目標板程序的代碼分析,但內容枯燥,并不能給學生日后的開發(fā)工作帶來實踐性指導,效果不好。
1.4課程實踐安排
在實際教學中,通常對計算機課程的設計為多媒體教室理論演示加實驗室實驗驗證[3],雖然設置了專門的實驗時間,但理論學習和實驗驗證相對隔離時間較長,學生容易忘記重要步驟,導致雖有興趣但實現(xiàn)困難,效果不好。
2.對問題的思考
以上提到的各種問題確實反映了目前很多高校存在的尷尬狀況,一些走在前列的高校雖然在某些方面對這些問題做了改進,但效果并不理想。對此,特將我校對嵌入式方向的改革及我個人針對《嵌入式系統(tǒng)驅動設計》課程的教學心得做一匯報,以供兄弟院校及授課教師參考。
2.1針對性方向劃分
學生入校后第一年按照招生錄取專業(yè)進行公共基礎知識平臺課程的學習,第二年學習學科教育平臺課程的內容,主要是計算機專業(yè)學習的一些前導課程,包括C語言、java程序設計、計算機網絡等。此時,學生對計算機已經有了相當?shù)牧私?,可以?lián)系一些不同方向的計算機相關企業(yè)的講師進行宣講,提高學生對不同方向的認識和學習興趣。從第五學期開始,根據學生的志愿進行專業(yè)方向的劃分,然后針對性地展開相應的課程體系[4],這樣才能真正激發(fā)學生的學習熱情,為后期諸如《嵌入式系統(tǒng)驅動設計》等課程的進一步學習打好基礎。
2.2選用從業(yè)人員編寫的半工具書
目前市場上有相當一部分教材是由從事驅動開發(fā)的專業(yè)人員編撰的,非常適合用做高校本科對應專業(yè)課程的教材,因為這些書籍具有如下特點:(1)知識點涵蓋全面并且更新速度快,這就彌補了以往教材知識點陳舊、更新慢的弱點;(2)實踐環(huán)節(jié)突出,知識點蘊含在實踐步驟中,生動易學習;(3)行業(yè)規(guī)則和公共規(guī)范明確。由于很多高校教師在編寫教材時并沒有在相關行業(yè)解決實際案例的經驗,編寫時偏重于知識點的強調,并不注重行業(yè)普遍遵循的一些規(guī)則和規(guī)范,這導致學生畢業(yè)工作后還要花費大量時間加以適應,效果不好。而這些從業(yè)人員編寫的半工具書能很好地解決這幾個問題。
2.3案例式教學方法
學院定期組織教師參加相關課程對應企業(yè)的項目開發(fā)交流,并聘請一些業(yè)內從業(yè)人員到校進行行業(yè)背景和規(guī)范的宣講,這在一定程度上提高了教師的素質,最終對課堂教學產生深遠影響。針對《嵌入式系統(tǒng)驅動設計》這門課程,可以在教學時盡量避免簡單羅列知識點,而是將要教授的內容蘊含在案例中,這樣學生學習時興趣濃厚,掌握知識點牢固。
2.4打段授課配合興趣小組學習
目前理論和實踐分離的教學方式在高校普遍存在,這樣做的弊端往往是學生在實踐時忘記某些內容而導致實驗效果不理想。我采用打段授課的方式,將一學期的授課時間壓縮到半個學期,每個星期的課程時間加倍,這樣做的優(yōu)勢是學習時間集中,便于加深學生記憶,同時理論和實踐結合緊密,學生印象深刻。實踐證明,學生上課時注意力集中,興趣濃厚且接受效果好。為了使學生更好地掌握《嵌入式系統(tǒng)驅動設計》課程內容,設立多個興趣小組,在課余時間利用現(xiàn)有的實驗設備和條件進行課題研究,培養(yǎng)學生初步的科研能力、創(chuàng)新能力、同學間的協(xié)作能力和工程實踐能力,并更有效地將所學知識應用于實際中。定期進行專題討論,拓展學生在驅動開發(fā)領域的知識面,進而增強課程教學效果[5]。
3.結語
對于計算機專業(yè)嵌入式方向的學生,《嵌入式系統(tǒng)驅動設計》這門課程的重要性是不言而喻的,要更好地掌握該門課程需要結合多個方面認真考量,是一個系統(tǒng)的過程,其他課程的學習也應遵循同樣的規(guī)律。改革教學方法,在方向劃分、教材選擇、授課方式、實踐安排等各個環(huán)節(jié)創(chuàng)新求變,才能更好地讓學生掌握課程的精髓,提高學生就業(yè)的核心能力,增加學生擇業(yè)的競爭優(yōu)勢[5]。希望我對該門課程的一些實踐經驗能對高校同仁起到一定的交流提高作用,我也會在今后的教學實踐中進一步進行總結和完善。
參考文獻:
[1]趙庶旭.物聯(lián)網技術[M].成都:西南交通大學出版社,2012.
[2]戴勝華.嵌入式系統(tǒng)[M].北京:中國鐵道出版社,2008.
[3]尚久慶.計算機教育改革的認識[J].科技信息,2010(9):51-53.
篇8
為了滿足航空電子對高可靠性、高可用性以及高服務性的要求, 1997年1月ARINC了ARINC653(航空電子應用軟件標準接口),并于2003年7月ARINC653 Supplement 1,對區(qū)間管理、區(qū)間通信及健康監(jiān)測部分進行了補充說明,用以規(guī)范航空電子設備和系統(tǒng)的開發(fā)。
隨即,國外各大嵌入式開發(fā)商相繼推出此類支持ARINC653,具有內核和應用保護機制的操作系統(tǒng)。但在國內的嵌入式領域,這樣的研究還有一定差距?;诖?,本文提出了一種航空電子嵌入式實時操作系統(tǒng)(A-RTOS,Avionics RTOS)的一種設計思路,并在具有MMU和支持高級保護模式的目標板上完成了實現(xiàn)。
航空電子標準ARINC653
ARINC653主要闡述了模塊化綜合航空電子設備IMA(Integrated Modular Avionics)使用的應用軟件的基線操作環(huán)境。它定義了航空應用與下層操作環(huán)境之間的接口和數(shù)據交換的模式以及服務的行為,并描述了嵌入式航空電子軟件的運行時環(huán)境。
ARINC653 Supplement 1對ARINC653的補充主要包括以下幾點:在系統(tǒng)結構上,提出了System Partition的概念,明確區(qū)間上的應用調度應該是區(qū)間級別的,這些應用共享區(qū)間資源;區(qū)間管理方面,闡述區(qū)間調度中主時間框架的定義原則,并補充了區(qū)間模式的變遷過程;對區(qū)間間通信的原則進行更為詳盡的說明;增加關于健康監(jiān)測的錯誤級別和錯誤處理的解釋。
軟件構成
航空電子中的核心模塊軟件包括兩類:應用軟件和核心軟件。位于應用軟件和操作系統(tǒng)OS之間的APEX(APplication EXecutive)接口,定義了系統(tǒng)為應用軟件提供的一個功能集合。利用這個功能集合,應用軟件可以控制系統(tǒng)的調度,通信和內部狀態(tài)信息。APEX接口相當于為應用提供的一種高層語言。而對于OS來說,是關于參數(shù)和入口機制的定義。
圖1給出了ARINC653中各部分之間的關系。
圖1 核心模塊軟件結構
分區(qū)和區(qū)間管理
分區(qū)(Partitioning)是ARINC653中一個核心概念。在IMA(Integrated Modular Avionics)系統(tǒng)中,一個核心模塊會包含一個或多個航空電子應用,并且這些應用要能夠獨立運行。分區(qū)就是航空電子應用中的一個功能劃分。分區(qū)的單位稱為區(qū)間,區(qū)間內的每一個執(zhí)行單元稱為進程。每一個區(qū)間具有自己獨立的數(shù)據、上下文和運行環(huán)境,這樣做的好處是能夠防止一個區(qū)間的錯誤影響到其他區(qū)間。另外,它能使得整個系統(tǒng)容易驗證、確認和認證。
區(qū)間化以及區(qū)間的管理和調度是由OS來實現(xiàn)的。ARINC653為區(qū)間的調度規(guī)定了一種基于時間窗的循環(huán)調度算法。這種調度算法的原理如圖2所示。
圖2 基于時間窗的循環(huán)調度算法原理
為了完成各區(qū)間的周期性調度,由OS維護一個固定時間長度的主時間框架,該時間框架在模塊的運行期內周期性的重復。每個時間框架可以劃分為若干個時間窗口。系統(tǒng)利用一個事先確定的配置表,在規(guī)定的時間窗口內激活對應區(qū)間的運行。這樣就能夠保證每個應用在分配給它的時間周期內訪問公共資源不被打斷。
ARINC supplement 1對主時間框架的時間定義原則進行了補充。它規(guī)定主時間框架的大小應該是核心模塊中所有區(qū)間周期的最小公倍數(shù)的正整數(shù)倍,并應考慮到每個區(qū)間每次執(zhí)行的時間長度和執(zhí)行頻率。
在ARINC653 Supplement 1時又增加了系統(tǒng)區(qū)間屬性和啟動條件屬性。區(qū)間的工作模式包括空閑,冷啟動,熱啟動和正常四種,如圖3所示。每個區(qū)間所需資源在系統(tǒng)構建時指定,在區(qū)間初始化完成時區(qū)間對象創(chuàng)建。OS在進入運行模式時啟動應用區(qū)間,然后區(qū)間進入正常運行模式。監(jiān)測管理功能在響應致命錯誤時將重啟區(qū)間或者停止區(qū)間的運行。
圖3 區(qū)間狀態(tài)轉化模型
A-RTOS系統(tǒng)設計與實現(xiàn)
A-RTOS的系統(tǒng)結構如圖4所示。在此系統(tǒng)中,各個應用工作在所屬區(qū)間的環(huán)境中,并且應用和內核及各個應用之間都被保護墻隔離,無法相互破壞,從而保證了核心模塊的可靠性。
圖4 A-RTOS的系統(tǒng)結構
隔離和保護機制
隔離和保護是ARINC653首要強調的特性,也是必須解決的重點之一。A-RTOS主要采用兩種方式來實現(xiàn)應用與內核以及應用之間的隔離和保護。
第一種方式是使用內存管理單元MMU。通過MMU能夠實現(xiàn)邏輯地址到物理地址的轉化,并且對訪問權限進行控制。這樣可以保護操作系統(tǒng)內核不受應用軟件有意或無意的破壞,也有效的防止了各應用軟件之間的相互破壞。圖5給出了MMU的頁目錄/頁表方式的地址轉換流程。
圖5 頁目錄/頁表方式的地址轉換流程
第二種方式就是系統(tǒng)調用。A-RTOS為了實現(xiàn)對內核及應用之間的保護,提供了兩種運行形態(tài):用戶態(tài)和系統(tǒng)態(tài)。其中操作系統(tǒng)內核是運行在系統(tǒng)態(tài)的。因此用戶態(tài)的應用是不能夠直接調用系統(tǒng)內核提供的功能接口的,必須通過TRAP系統(tǒng)調用方式來進行。
此種方式下,當用戶態(tài)的應用需要調用內核提供的系統(tǒng)調用時,首先要執(zhí)行一組特殊的指令使系統(tǒng)進入系統(tǒng)態(tài)以便執(zhí)行需要的系統(tǒng)調用,當調用完成后,內核將執(zhí)行另一組特征指令將系統(tǒng)返回到用戶態(tài)。
每種支持保護模式的系統(tǒng)都提供了專門的軟中斷命令來完成從用戶態(tài)進入系統(tǒng)態(tài)的功能。系統(tǒng)掛接一個軟中斷處理函數(shù),所有的系統(tǒng)調用都通過這個軟中斷進入并以不同的參數(shù)值(即系統(tǒng)調用號)來加以區(qū)分。
系統(tǒng)調用的另一種形式是稱為CALL-LIB的調用庫機制。此種機制類似于windows系統(tǒng)的動態(tài)鏈接庫,可以滿足動態(tài)加載和更新組件的需要,也是A-RTOS的特點之一。
區(qū)間調度機制
ARINC653規(guī)定,區(qū)間調度模式的主要特征是:1)調度單元是區(qū)間;2)區(qū)間沒有優(yōu)先級;3)調度算法是預先確定的,按照固定的周期重復,并且只能由系統(tǒng)集成者進行配置。每個循環(huán)中,至少要為區(qū)間分配一個區(qū)間窗口。
在A-RTOS中,為了方便系統(tǒng)處理和能更好符合ARINC653規(guī)范,對以上規(guī)定進行了一定程度的修訂:調度單元是區(qū)間和系統(tǒng)進程;區(qū)間具有優(yōu)先級。但這些修訂不影響操作系統(tǒng)區(qū)間層POS以及應用程序使用者,所以在外部特性上并不與ARINC653規(guī)定違背。
除此之外, A-RTOS還引入兩個系統(tǒng)區(qū)間:Kernel區(qū)間和Idle區(qū)間。Kernel區(qū)間優(yōu)先級最高,用于為整個系統(tǒng)的運行提供支持;并且一些系統(tǒng)級進程,也屬于Kernel區(qū)間,方便調度。Idle區(qū)間具有最低的優(yōu)先級,用于填充系統(tǒng)時間。當系統(tǒng)中沒有其他區(qū)間可以運行,就運行Idle區(qū)間。
A-RTOS區(qū)間的調度原則是首先基于優(yōu)先級調度,對同一優(yōu)先級的區(qū)間可使用時間片輪轉調度或者基于時間窗的循環(huán)調度策略。
A-RTOS采用兩級調度機制。系統(tǒng)中具有區(qū)間的優(yōu)先級位圖和每個優(yōu)先級對應的就緒鏈表,每個區(qū)間中也包含系統(tǒng)進程的優(yōu)先級位圖和對應的就緒鏈表。利用優(yōu)先級位圖和就緒鏈表,可以很容易的實現(xiàn)對區(qū)間和系統(tǒng)進程的調度。圖6給出了這種調度模型。
圖6 A-RTOS的區(qū)間調度模型
調度模塊首先根據系統(tǒng)中的區(qū)間優(yōu)先級位圖和區(qū)間就緒鏈表來進行區(qū)間調度,被調度到的區(qū)間再根據區(qū)間內的進程優(yōu)先級位圖和進程就緒鏈表進行系統(tǒng)進程的調度。此方法相對于一級調度方式而言,能夠保證調度時間的確定性,系統(tǒng)調度時間不會因為區(qū)間和系統(tǒng)進程的多少而發(fā)生變化,符合實時操作系統(tǒng)的定義。
在進行基于時間窗調度時,兩個系統(tǒng)區(qū)間實際上也會參與調度。Kernel區(qū)間的運行時間會計算在區(qū)間調度配置表中當前區(qū)間的運行時間上。因此對于某應用區(qū)間而言,它的運行時間實際上會包含系統(tǒng)區(qū)間的運行。
進程池機制
在A-RTOS中,進程池是指一組由系統(tǒng)進行維護的進程,這些進程能夠為應用提供一組服務。應用通過系統(tǒng)提供的調用接口對系統(tǒng)提出應用請求,系統(tǒng)把應用的請求交給進程池,進程池自動選擇一個空閑進程對其進行服務,當服務完畢以后,系統(tǒng)會回收該系統(tǒng)進程。
進程池主要應用在時鐘定時器服務、中斷服務和異步IO操作。
異步信號和異步IO機制
A-RTOS支持異步信號機制,允許在某種情況下COS以異步方式發(fā)送信號到上層的POS。異步信號的一個典型使用就是異步IO。這是由于在ARINC653的應用中,POS中的進程通過系統(tǒng)調用產生阻塞性IO請求的時候,如果IO不是異步的,則此時該進程就會阻塞,等待系統(tǒng)調用的返回。但是COS并不知道POS中的應用進程的存在,當其中的一個進程阻塞的時候,整個區(qū)間都會被阻塞。采用異步IO方式可避免這種情況的發(fā)生。
圖7 異步IO工作流程示意圖
篇9
【關鍵詞】ARM;嵌入式系統(tǒng);硬件設計研究
一、前言
研究了數(shù)控系統(tǒng)中所能用到的各類控制接口,將接口控制邏輯語言做了進一步的改換更新。并且,通過將這些研究成果進行整合與設計,實現(xiàn)了嵌入式數(shù)控系統(tǒng)硬件平臺的總體設計內容。將該方案付諸實踐應用以后,系統(tǒng)通過了穩(wěn)定性測評,符合實際生產操作的要求。經仔細測試與研究而知,基于ARM的嵌入式系統(tǒng)硬件設計具備可行性,針對該內容的研究有一定的實踐價值。
二、基于ARM的嵌入式系統(tǒng)硬件平臺的整體方案設計
對于數(shù)控系統(tǒng)的方案設計過程來說,該項設計內容要能夠符合整體數(shù)控操作系統(tǒng)的要求,才能稱之為完善的設計方案。數(shù)控裝置實質上是通過計算機技術的支撐來搭建的操作控制硬件平臺。在傳統(tǒng)的數(shù)控系統(tǒng)構造的基礎上,基于ARM的嵌入式數(shù)控系統(tǒng)硬件平臺的功能有了較大的改善,為實際生產工作帶來了諸多便利。
(一)嵌入式系統(tǒng)硬件架構概述
近年來,隨著我國傳統(tǒng)制造行業(yè)改革進程的不斷推進,數(shù)控機床設備的應用對于實際生產能效至關重要,提高了生產單位的綜合生產效率,保障了各項生產管理環(huán)節(jié)的有序進行??梢?,自動化的數(shù)控系統(tǒng)及相關設備的應用給社會創(chuàng)造出了更多的價值。通常情況下,數(shù)控機床系統(tǒng)是由多個裝置與程序所組成,該系統(tǒng)實際上是經多個子系統(tǒng)整合而成,包括有數(shù)控裝置(系統(tǒng))、驅動裝置(系統(tǒng))、輸入/輸出系統(tǒng)及程序,其中驅動系統(tǒng)還包括主軸驅動、邏輯控制、位置控制三項內容,分別對應機床設備中的主軸電機、邏輯數(shù)據控制與進給電機部分[1]。另外,通過系統(tǒng)檢測環(huán)節(jié)的處理為數(shù)控裝置系統(tǒng)提供必要的反饋結果,以備數(shù)據輸出或進入下一個數(shù)控循環(huán)系統(tǒng)中進行操作處理。
(二)嵌入式系統(tǒng)硬件平臺設計
從整個系統(tǒng)的實際功能來看,嵌入式系統(tǒng)硬件平臺的設計是系統(tǒng)運作的物質基礎,而軟件系統(tǒng)則是系統(tǒng)裝置的靈魂[2]。嵌入式系統(tǒng)硬件平臺的設計原則要遵循系統(tǒng)的實用性與穩(wěn)定性,而且要與軟件系統(tǒng)互相兼容,共同維護整個系統(tǒng)的正常運轉。現(xiàn)今,我國在某些重點行業(yè)采用的嵌入式系統(tǒng)硬件設備的性能極高,不僅采用了高性能多處理器裝備,還運用了高速工業(yè)現(xiàn)場總線的硬件結構,進而令整體嵌入式系統(tǒng)的性能更加完善。
三、基于ARM的嵌入式系統(tǒng)硬件的設計細節(jié)內容研究
現(xiàn)階段,我國專家學者對于數(shù)控系統(tǒng)內容的探究一直在繼續(xù),因其對社會生產實踐具有極大的研究價值。隨著電子計算機技術及網絡信息技術的迅猛發(fā)展,嵌入式數(shù)控系統(tǒng)的硬件設計內容也進行了多次的改革,使得升級后的硬件系統(tǒng)更能夠符合現(xiàn)代工農業(yè)生產對技術領域的要求。
(一)ARM及數(shù)控系統(tǒng)運行
ARM是微處理器的代名詞,ARM體系結構從構建伊始至今發(fā)生了較大的變化,且仍在不斷的探索之中[3]。一段時期以來,ARM的變革制約著嵌入式系統(tǒng)的整體設計內容的革新。目前,傳統(tǒng)的八位單片機已經暴露了本身資源有限的發(fā)展劣勢,越加不適應日漸復雜的實際應用需求,而隨著三十二位處理器價格的不斷萎縮,采取更高性能的三十二位處理器作為嵌入式系統(tǒng)的核心成為更加合理的選擇。
(二)ARM接口設計
ARM接口設計的內容主要包含了顯示器接口、太網接口及USB接口等,通過各類接口的設計來實現(xiàn)嵌入式系統(tǒng)的功能對接[4]。
(三)針對嵌入式系統(tǒng)硬件平臺測試過程的研究
長久以來,我國相關領域對于嵌入式數(shù)控系統(tǒng)硬件平臺的研究成果為社會生產實踐提供了諸多有利的幫助,令生產實踐更加現(xiàn)代化,實現(xiàn)了自動化系統(tǒng)與智能裝置的有序運轉。從對嵌入式系統(tǒng)硬件平臺的測試及研究過程而知,開發(fā)一個集嵌入式控制、高效數(shù)據采集和網絡通信于一體的綜合系統(tǒng)平臺,能夠在一定程度上提升生產效率[5]。另外,通過提供友好的人機操作界面的硬件平臺,對于提高智能嵌入式系統(tǒng)可靠性、組網靈活性具有絕佳的現(xiàn)實意義。
四、結束語
通過對數(shù)控系統(tǒng)的運作機理進行研究,并結合國內外在實踐過程中常用的數(shù)控系統(tǒng)硬件結構的設計內容,提出了基于ARM的嵌入式數(shù)據控制系統(tǒng)硬件平臺的設計方案。該設計能夠將ARM、FPGA低功率的特征發(fā)揮出來,采用低功率的設備及器件組合,構建了低功耗的硬件系統(tǒng)電路。研究數(shù)控系統(tǒng)的整個運作過程,將基于ARM的嵌入式數(shù)控系統(tǒng)硬件進行更為周全的細節(jié)處理,進而實現(xiàn)了較為先進的接口控制邏輯,提升了系統(tǒng)的整體效率??傊撓到y(tǒng)設計的內容符合當前工業(yè)生產所需達到的標準,具備一定的實踐價值。
參考文獻
[1]王維新.基于ARM的嵌入式系統(tǒng)的應用技術[J].西安文理學院學報(自然科學版),2010,11(11):155-157.
[2]林雋生.基于ARM的嵌入式系統(tǒng)教學平臺的設計與實現(xiàn)[J].漳州師范學院學報(自然科學版),2010,10(05): 188-189.
[3]石廣治,劉波,姜秀杰,劉成.基于ARM的嵌入式系統(tǒng)以太網通訊設計[J].微計算機信息,2010,12(06):196-197.
篇10
(1.杭州科技職業(yè)技術學院信息工程學院,浙江杭州311402;2.杭州奕霖傳感科技有限公司,浙江杭州310012;3.浙江大學控制科學與工程學系,浙江杭州310027)
摘要:IPPBX利用包交換原理,在以太網上實現(xiàn)傳統(tǒng)PBX的功能,有效地解決了傳統(tǒng)PBX的不足,具有功能更強大、服務更全面、成本更低廉等優(yōu)勢。在此介紹IPPBX典型組網模式,給出基于MPC8250的IPPBX硬件系統(tǒng)各模塊系統(tǒng)設計原理和系統(tǒng)軟件設計原理,并對主控模塊的協(xié)議轉換軟件做了相關分析。測試表明,該設計能夠達到200路的并發(fā)使用,語音質量優(yōu)秀。
關鍵詞 :IPPBX;MPC8250;硬件系統(tǒng);協(xié)議轉換軟件
中圖分類號:TN911-34 文獻標識碼:A 文章編號:1004-373X(2015)12-0066-04
收稿日期:2014-12-18
基金項目:國家自然科學基金項目(61433006);浙江大學工業(yè)控制技術國家重點實驗室開放課題(ICT1241)
0 引言
PBX(專用交換機)被廣泛地運用在企業(yè)辦公機構中,極大地提高了企業(yè)的辦事效率。但傳統(tǒng)的PBX 存在對新興的CTI 和VoIP 支持不夠、缺乏開放性和標準性、價格昂貴等缺點。隨著Internet及IP的發(fā)展,IPPBX應運而生,其有效地解決傳統(tǒng)PBX的不足。IPPBX基于TCP/IP 協(xié)議,利用包交換原理,在以太網上實現(xiàn)傳統(tǒng)PBX 的功能。IPPBX 相比較傳統(tǒng)PBX,具有功能更強大、服務更全面、成本更低廉、增值服務更加方便、互通性強、擴展性、通用性和實用性更強等優(yōu)勢。
IPPBX 其實就是一個小型的NGN 系統(tǒng),它集NGN的各種部件功能于一體,如Soft Switch軟交換、TG中繼媒體網關、SG信令網關、MRS媒體資源服務器等。它可以接入普通PSTN 用戶,也可以下掛傳統(tǒng)PBX 或集團電話;可以接入SIP Phone,也可以接入H.323 終端。IPPBX 可向用戶提供基本呼叫業(yè)務,國標補充業(yè)務,常用新業(yè)務以及智能業(yè)務、IP新業(yè)務、語音門戶/智能呼叫中心等業(yè)務。IPPBX系統(tǒng)可以接入話務臺,除支持基本呼叫業(yè)務及補充業(yè)務外,還可以進行用戶維護和對用戶計費。系統(tǒng)還能處理較復雜的呼叫分配和排隊,提供一定的呼叫中心功能(不提供復雜的呼叫中心)。IPPBX提供詳細的通話記錄CDR,并支持向第三方開放話單接口,使之可以設計第三方的計費和其他應用軟件。
1 IPPBX 典型組網模式
在通信網絡中,IPPBX 作為軟交換中心節(jié)點,實現(xiàn)節(jié)點之間的SIP/H.323協(xié)議互連互通。軟交換中心節(jié)點通過MGCP/H.248協(xié)議與下級設備(AG/IAD)相連,并通過它與電話終端連接;IPPBX 通過環(huán)路中繼和E1 接入PSTN,在E1接口上可以提供中國No.1信令或者PRI信令。典型的IPPBX組網圖如圖1所示。
圖1中,局域網A中IPPBX01一方面管理本局域網內AG001,另一方面可以通過城域網來連接局域網B,并管理其中的AG002;而局域網C中IPPBX02管理本局域網內AG1。IPPBX01通過廣域網與IPPBX02互通,采用SIP 或者H.323 作為呼叫控制的互通協(xié)議,完成AG001和AG002下用戶以及AG1用戶間的呼叫控制。
2 IPPBX 硬件系統(tǒng)設計
IPPBX硬件采用框架式結構,其系統(tǒng)結構如圖2所示。其硬件系統(tǒng)由主控模塊、資源管理模塊、數(shù)字中繼模塊、模擬中繼模塊和背板以及電源板組成,所有的硬件模塊都有背板連接,背板為高速連接板包含HW,F(xiàn)E和UART 總線??紤]采購材料單一性和軟件平臺的一致性,主控模塊、資源管理模塊、數(shù)字中繼模塊主芯片均采用了MPC8250。
模擬中繼模塊和數(shù)字中繼模塊分別提供模擬中繼和數(shù)字中繼的接口功能,把各種接口中的數(shù)據轉化成TDM信號,業(yè)務數(shù)據通過TDM接口連接到主控模塊上,主控模塊的交換網片把數(shù)據都交換到資源管理模塊上,資源管理模塊對數(shù)據進行編解碼等工作,并在主控模塊的控制下打成RTP包,通過FE送回主控模塊上,主控模塊通過外網口FE送到廣域網或者局域網中的IP-PHOTO終端。
2.1 主控模塊
主控模塊的組成如圖3 所示,其主要完成呼叫控制、連接管理、資源管理、用戶管理、話務臺管理等業(yè)務功能;完成跟蹤、統(tǒng)計、計費、告警、命令行等維護統(tǒng)計功能;完成SIP,H.323,AT0,MGCP,PRI,中國No.1 信令的Q.931 部分等多種協(xié)議的協(xié)議處理功能。內嵌的ARP(Address Resolution Protocol)模塊在系統(tǒng)內部構建了一個ARP,用于響應資源管理模塊、數(shù)字中繼模塊等的ARP請求。
主控模塊提供Soft Switch 功能、GK 功能、計費功能,也對媒體控制協(xié)議進行處理,可以處理H.323,SIP,MGCP 協(xié)議,同時可以進行協(xié)議間的轉換。同時GK 的數(shù)據庫包括各個分機號和局域網IP地址的對應表。主控模塊還提供二層交換和TDM交換功能。
2.2 資源管理模塊
資源管理模塊的組成如圖4所示,其主要完成語音編解碼、RTP 打包、會議等功能,從背板過來的TDM 信號經過網片IDT72V70840分發(fā)給M82510-14,進行語音編碼后通過LOCALBUS 口送給資源管理模塊主芯片MPC8250,在MPC8250 中打成RTP 包然后通過BCM5328芯片轉發(fā)到背板。
2.3 數(shù)字中繼模塊
數(shù)字中繼模塊的組成如圖5 所示,其主要完成E1接入功能,用于連接PSTN網,能夠處理中國No.1信令,PRI信令,處理HDLC。
2.4 模擬中繼模塊
模擬中繼模塊的組成如圖6所示,其主要完成AT0接入功能,用于連接PSTN。
3 IPPBX 軟件系統(tǒng)設計
IPPBX最主要功能就是處理多通道多協(xié)議,其軟件代碼分布在數(shù)字中繼模塊、主控模塊和資源管理模塊上。各模塊之間的業(yè)務流程和控制流程如圖7所示。
上行的各種TDM數(shù)據流由接口板通過主控模塊上的網片交換到資源管理模塊上,資源管理模塊上的編解碼芯片M82510 將其轉換為RTP/RTCP 包,再通過主控模塊上的L2(BCM5328)交換芯片交換后進入外部IP網絡。其間還由主控模塊內部的FPGA 完成IP 地址的轉換。下行媒體流則正好相反,先根據IP 數(shù)據包的類型和端口號進行地址轉換,語音數(shù)據包由L2交換芯片交換到相應的資源管理模塊上,資源管理模塊將IP 語音包轉換為TDM 數(shù)據流后,由網片交換到指定接口板的端口上。
上行控制流(如各種呼叫控制信息等)由各接口板通過串口或者FE(Fast Ethernet)接口發(fā)給主控模塊,主控模塊將其轉換為MGCP/SIP/H.323 協(xié)議,并進行地址轉換后發(fā)到IP 網絡。下行控制流由IP 網絡通過主控模塊上的IP 接口進入主控模塊,主控模塊進行協(xié)議解析和處理后,轉換為AT0、中國一號或者PRI信令消息發(fā)到接口板,或者又轉換為MGCP協(xié)議,轉發(fā)到外部IP網絡。
3.1 主控模塊系統(tǒng)軟件
主控模塊的操作系統(tǒng)采用Linux,便于移植開源IPPBX。主控模塊的軟件模塊結構如圖8所示。軟件采用分層式結構,最底下為驅動層與硬件相關,有LinuxKERNEL 管理,KERNEL層上為業(yè)務模塊和控制模塊。其中協(xié)議轉換層為業(yè)務管理層,匯聚各通道來的消息,對各種不同的協(xié)議標準調用相應的處理。
3.2 主控模塊協(xié)議控制
協(xié)議內容由各消息體和消息頭組成,消息頭結構如下:
typedef struct tagMSGHEAD{
UCHAR8 ucSenderDidFlag:1;
/* 發(fā)送域主備板標志,0表示主板,1表示備板*/
UCHAR8 ucReceiverDidFlag:1;
/* 接收域主備板標志,0表示主板,1表示備板*/
UCHAR8 ucSenderUid:1;
/* 發(fā)送者CPU單元號,0表示主CPU */
UCHAR8 ucReceiverUid:1;
/* 接收者CPU單元號,0表示主CPU */
UCHAR8 ucReserve:4; /* 保留字段*/
UCHAR8 wMsgType;
/* 消息類型*/ /* 一個PID最多支持256種消息類型*/
USHORT16 wForwardBoardNo; /* 轉發(fā)板板號*/
USHORT16 wSenderDid; /* 發(fā)送者域標識*/
USHORT16 wReceiverDid; /* 接收者域標識*/
USHORT16 dwSenderpid; /* 發(fā)送者模塊號*/
USHORT16 dwReceiverPid; /* 接收者模塊號*/
USHORT16 wMsgLen; /* 消息長度*/
USHORT16 wDataLen;
/* 數(shù)據長度,從wDataLen后開始計算*/
} IPPBX _MSGHEAD,*P IPPBX _MSGHEAD;
協(xié)議控制層通過判斷消息頭結構來判斷屬于何種協(xié)議,并根據消息頭的內容做出相應的處理。下面是協(xié)議控制層主處理函數(shù)的部分代碼。
Function Name :IPPBX _MsgProc
Description :主模塊消息處理函數(shù)
Input :消息包指針
Output :無
Return : OS_OK 成功
OS_ERROR 失敗
ULONG32 IPPBX_MsgProc(IPPBX_MSGHEAD *pstMsg)
{
ULONG32 dwRet = OS_OK;
switch( MSG_GET_TYPE(pstMsg))
{
case EN_PFORWARD_MGCP_MSG:
case EN_PFORWARD_H248_MSG:
pstPTMsg=(ST_PFORWARD_PROTOCOL_MSGHEAD-
ER *)MSG_GET_DATA(pstMsg);
/* 在SS 和TG 都是內部部件時才有可能走虛擬板間消息Baggio */
i(f (IfMeSSX()&& IfComponentTGX(pstPTMsg->
wComponentID))||
( IfMeTGX()&& IfComponentSSX(pstPTMsg->
wComponentID)))
{
i(f g_ucIfTgcpSendByFakeComponentMsg)
{
dwRet = PForward_MgcpH248FakeMsgProc
(pstMsg);
break;
}
}
else i(f (IfMeSSX()&& IfComponentMRX(pstPT-
Msg->wComponentID))||
( IfMeMRX()&& IfComponentSSX(pstPT-
Msg->wComponentID)))
{
i(f g_ucIfMrscpSendByFakeComponentMsg)
{
dwRet = PForward_MgcpH248FakeMsgProc
(pstMsg);
4 結語
IPPBX的發(fā)展為VoIP和現(xiàn)有PSTN網絡的互聯(lián)互通帶來了廣闊的前景?;诒疚乃o出的嵌入式IPPBX,經測試證明能夠實現(xiàn)200個用戶的同時呼叫,語音質量優(yōu)秀,還可以實現(xiàn)級聯(lián),并能添加額外的增值業(yè)務如呼叫中心等,對于中小型企業(yè)的VoIP 通信建設和辦公信息智能化建設具有重要意義。未來的IPPBX 將會提供更多豐富的業(yè)務包括:來電彈屏、客戶信息記錄、電話會議、IVR、免打擾、點擊呼叫等,圍繞著中小企業(yè)的應用需求,將有更多更便捷的應用會被開發(fā)和推廣。
作者簡介:楊悅梅(1972—),女,江蘇泰州人,副教授,工學碩士。主要從事物聯(lián)網及自動化相關專業(yè)的教學、科研和社會服務等方面的工作。
陳平山(1974—),男,工程師,工學碩士。主要從事嵌入式技術應用產品的研發(fā)工作。
馮冬芹(1968—),男,教授,博士生導師。研究方向為工業(yè)通信網絡、工業(yè)控制系統(tǒng)智能儀器儀表等。
參考文獻
[1] 韓永遠,蔡德林.嵌入式IPPBX 的研究與實現(xiàn)[J].通信技術,2010(8):15-17.
[2] 呂增元.中小企業(yè)軟交換IPPBX 解決方案[J].甘肅科技,2013(11):17-19.
[3] 桂海源,張碧玲.軟交換與NGN[M].北京:人民郵電出版社,2009.
[4] 毛京麗.寬帶IP 網絡[M].北京:人民郵電出版社,2010.