首頁 > 精品范文 > 嵌入式設(shè)計系統(tǒng)
時間:2023-05-26 17:45:29
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內(nèi)心深處的真相,好投稿為您帶來了七篇嵌入式設(shè)計系統(tǒng)范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創(chuàng)作。
關(guān)鍵詞:UML;嵌入式系統(tǒng);OOD建模;雙向工程
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)34-9742-02
The Design on UML Embedded Systems
YU Hai-wen
(College of Information Engineering Nanchang University(Pre-Lake Campus), Nanchang 33000, China)
Abstract: UML is the the most popular standard modeling language, embedded systems are professional computer system on the centre of application and the base of computer technology, embedded systems are the integrity of software and hardware; The design's quality of embedded systems is the key of success about digital products. The paper discuss the important conception of UML,and how to use the technology of UML OOD in the design of embedded systems, then show us the steps based on the example of microwave light.
Key words: UML; embedded systems; OOD modeling; two-way engineering
近年來,數(shù)字家電、汽車電子、MP3、Smart Phone等躍居電腦產(chǎn)業(yè)的主流地位,數(shù)字整合的需求日益增長,嵌入式軟件(Embedded Software)系統(tǒng)愈來愈復雜,涉及到的接口越來越多,這種軟、硬件結(jié)合的協(xié)同設(shè)計(Hardware/Software Co-design)需要不同技術(shù)背景的人共同開發(fā),如何使這些具有不同技術(shù)背景和專長的人聯(lián)合開發(fā)、協(xié)同設(shè)計?UML可以解決這個問題。統(tǒng)一建模語言UML(Unified Modeling Language)采用一種簡單而直觀的圖形化方式描述系統(tǒng)設(shè)計中的各個問題和細節(jié)。不同技術(shù)背景的設(shè)計師只需懂得UML 符號就可以與對方交流、共同設(shè)計。
本文將重點討論如何在嵌入式系統(tǒng)設(shè)計中使用 UML 技術(shù),并結(jié)合實例“微波爐小燈”演示采用 UML 的嵌入式系統(tǒng)設(shè)計過程。
1 UML OOD建模
1.1 UML基本概念介紹
1.1.1 UML事物
UML中事物是實體抽象化的最終結(jié)果,是模型中的基本成員,UML中包含結(jié)構(gòu)事物、行為事物、分組事物和注釋事物。
1.1.2 UML建模圖
圖是事物集合的分類,UML中包含多種圖:1)類圖(Class Diagram);2)對象圖(Object Diagram);3)包圖(Package Diagram);4)組件圖(Compoment Diagram,也稱構(gòu)件圖);5)部署圖(Deployment Diagram);6)用例圖(Usecase Diagram);7)時序圖(Sequence Diagram);8)協(xié)作圖(Collaboration Diagram);9)狀態(tài)圖(Statechart Diagram);10)活動圖(Activity Diagram)。
由于篇幅原因,本文將結(jié)合一個需求非常簡單的“微波爐小燈”的實例,給出幾個重要的圖。本文介紹的圖采用業(yè)界使用最廣泛的UML建模工具Rational Rose。Rational Rose為團隊開發(fā)和規(guī)范的開發(fā)過程管理提供了良好的支持。
1.2 UML OOD建模
從應(yīng)用的角度上來講,面向?qū)ο蟮南到y(tǒng)設(shè)計一般需要完成如下工作:
1)描述需求;2)根據(jù)需求建立系統(tǒng)的靜態(tài)模型;3)建立系統(tǒng)的動態(tài)模型:即描述系統(tǒng)的行為。
1.2.1 描述需求
“微波爐小燈”的實例需求很簡單,即微波爐里有個小燈,微波爐門打開時,它就亮起來,一旦關(guān)上門,就熄掉了。本文將根據(jù)此需求說明,采用UML設(shè)計一個控制程序來感應(yīng)微波爐對象的狀態(tài)變化,并且觸發(fā)小燈對象的狀態(tài)變化。
1.2.2 建立系統(tǒng)的靜態(tài)模型
用例圖(Use Case Diagram):UML的Use Case圖1描述User對整體系統(tǒng)的功能需求,本例中,User會有兩項動作――“開微波爐”與“關(guān)微波爐”,而且期待開微波爐時會亮小燈,關(guān)微波爐時小燈會自動熄掉。
類圖(Class Diagram):如圖2,類是OOD中一個重要概念。軟件組件的模塊通稱為組件的類(Class),OOD設(shè)計理念是程序指令寫在類里,其所檢驗測試的對象都是類,等到電腦執(zhí)行時才由電腦在內(nèi)存中定義實體組件(對象)。
1.2.3 建立系統(tǒng)的動態(tài)模型
建立系統(tǒng)的動態(tài)模型實質(zhì)就是描述系統(tǒng)的行為。
時序圖(Sequence Diagram):圖3這個時序圖反映了開微波爐過程中觸發(fā)小燈亮的詳細執(zhí)行過程。
狀態(tài)轉(zhuǎn)換圖4(Statechart Diagram):對對象行為做詳細的描述。就小燈而言,消息的傳達是個事件(Event),這事件令小燈改變狀態(tài)(亮或熄)。
2 雙向工程
2.1 正向工程
Rational Rose中可實現(xiàn)正向(為模型產(chǎn)生相應(yīng)的代碼,即程序框架)、逆向(從用戶原來的軟件系統(tǒng)導出該系統(tǒng)的模型)和雙向工程(實現(xiàn)模型和代碼之間的循環(huán)工程),從而保證模型與代碼的高度一致,這個功能意味著降低了開發(fā)人員編寫程序的復雜度和工作量。
Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等語言和開發(fā)工具,并能為CORBA 應(yīng)用生成接口定義語言(IDL),為數(shù)據(jù)庫應(yīng)用生成數(shù)據(jù)庫描述語言(DDL)等。Rational Rose默認支持的語言是Java。
本例中,在完成了“微波爐小燈”類圖制作后,選擇菜單“Tools” “Java/J2EE”“generate code”即可生成Java代碼,當原建模文件更新時,代碼會同步更新。
2.2 逆向工程
前面所述正向工程雖然只是得到了代碼框架,實現(xiàn)功能部分的代碼仍需開發(fā)人員輸入。隨著軟件功能的實現(xiàn)及新的用戶需求的加入,原建模文件在需要更新時,可不需要重新畫圖,只需進行逆向工程操作即可。本例中,在完成了“微波爐小燈”代碼后,選擇菜單“Tools”“Java/J2EE”“reverse engineer”即可生成新的建模文件。
3 小結(jié)
在軟、硬件設(shè)計領(lǐng)域中,采用UML進行軟件組件設(shè)計及其架構(gòu)(Architecture)規(guī)劃技術(shù)逐漸成為業(yè)界關(guān)注的焦點。根據(jù)本文及“微波爐小燈”實例,顯然從UML設(shè)計圖到Java(C及C++)代碼的過程很流暢。
參考文獻:
[1] 徐寶文. UML與軟件建模[M]. 北京:清華大學出版社,2006.
關(guān)鍵詞:傳感器網(wǎng)絡(luò);道路監(jiān)控系統(tǒng);圖像識別;車載嵌入式系統(tǒng)
一、概述
如今,數(shù)量眾多的車輛都嵌入了GPS。作為車載模塊,GPS可以相對有效地儲存一些靜態(tài)興趣點(staticPointsOfInterest)的位置信息(如家庭,公司和商場信息等等)。然而,GPS還不能獲得更多的信息用來判定一些動態(tài)興趣點(dynamicalPointsOfInterest)的位置信息(如動態(tài)的車輛信息,路人信息或動態(tài)的車位空閑狀態(tài)信息)[1]。隨著嵌入式技術(shù)的發(fā)展,越來越多的感知模塊也被嵌入到車輛當中,用以輔助提升整車的智能化。我們可以將車輛的GPS模塊和攝像模塊進行整合再開發(fā),用以偵測動態(tài)的興趣點。更進一步的,借助諸如車載自組網(wǎng)等類似技術(shù),將分散用戶采集的數(shù)據(jù)快速有效收集至云端處理,進而分析得出實時的空閑車位,事故狀況等詳細信息可以被共享給更多用戶。
二、理論設(shè)計
首先,裝備了車載攝像系統(tǒng)的車輛負責采集原始圖像,并搜尋最佳的數(shù)據(jù)鏈路將圖像數(shù)據(jù)傳送至路邊基站(RSU:RoadSideUnit)。圖像信息再由RSU轉(zhuǎn)送至云服務(wù)器(CCS:CloudComputingSystem)。根據(jù)客戶不同的需求,實時的圖像可以被分類解析出不同的結(jié)果,以滿足不同的需求。系統(tǒng)可用于尋找可用的空閑車位。車輛巡弋道路的同時,通過攝像模塊捕捉街景用以搜尋可用的空閑停車位(圖中扇形探索區(qū)域),通過GPS模塊采集地理位置等相關(guān)信息。這些圖像信息經(jīng)由RSU被上傳至CCS,云端程序?qū)D像進行分析,并據(jù)此更新數(shù)據(jù)庫中可用空閑車位的時間和位置。在客戶端,那些激活車位搜尋功能的車輛可以接收到實時的信息,并由系統(tǒng)引導至可用的停車位。
三、系統(tǒng)實現(xiàn)
為協(xié)助客戶搜尋目標車輛和目標人物,描述了數(shù)據(jù)傳輸和數(shù)據(jù)分析的過程:車載端完成對圖像的實時采集、地理坐標的標注和圖像的加密壓縮;路邊基站RSU接收車載端的數(shù)據(jù),并將這些數(shù)據(jù)合理上傳至CCS;在CCS中,數(shù)據(jù)首先需要被解密解壓,而后車牌的識別,人臉的識別等相關(guān)算法可以對數(shù)據(jù)進行處理分析,再由各自動化腳本對處理所得的結(jié)果,進行數(shù)據(jù)比對和數(shù)據(jù)庫更新的工作。整個車載端模型以RaspberryPi微處理器為中心,擴展以攝像模塊進行圖像采集,GPS模塊地理位置采集,以及電源、網(wǎng)卡等其他模塊。RSU將由兩臺PC進行模擬,多個自動化腳本進行網(wǎng)絡(luò)配置、文件管理和流量控制。圖像信息將經(jīng)由此上傳至CCS。CCS采用AmazonElasticComputeCloud實現(xiàn),服務(wù)器將配置數(shù)據(jù)庫、網(wǎng)頁服務(wù)器和文件管理等諸多系統(tǒng),同時核心的圖像解析程序,也將由服務(wù)器自動調(diào)用,并根據(jù)處理結(jié)果,更新數(shù)據(jù)庫信息。圖像處理部分,使用C#語言和Emgu庫解析圖像,提取人臉信息,讀取車牌信息。車載端將拍攝的街景經(jīng)由RSU上傳至云端,云系統(tǒng)將對采集的圖像數(shù)據(jù)進行分析。之后,系統(tǒng)將解析出的人臉和車牌,與客戶所要搜尋的目標進行比對,反饋一組可能的人或車輛,以及相應(yīng)的地理位置和時間信息。如果某一目標得到客戶的確認,則根據(jù)其GPS信息和時間標簽等數(shù)據(jù),系統(tǒng)會將目標出現(xiàn)的軌跡繪制在以GoogleMap為基礎(chǔ)的網(wǎng)頁上。
四、結(jié)束語
文中設(shè)計了一款新穎的道路監(jiān)控系統(tǒng)構(gòu)架,據(jù)此完成了實驗室模型,并為模型開發(fā)了車牌識別和人臉讀取的應(yīng)用。通過這些實踐,表明了該理論設(shè)計可以支持對動態(tài)興趣點的檢測和定位。
參考文獻:
[1]曹沖.國內(nèi)外車載GPS系統(tǒng)的應(yī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.
【關(guān)鍵詞】嵌入式;系統(tǒng);低功耗;研究
一、嵌入式系統(tǒng)設(shè)計
嵌入式系統(tǒng)由軟件模塊以及硬件模塊組成,其中軟件模塊需要在硬件模塊中運行才可以實現(xiàn)其功能。嵌入式系統(tǒng)中的硬件部分是嵌入式系統(tǒng)的基礎(chǔ)部分,主要提供嵌入式系統(tǒng)的I/O端口、外設(shè)接口等,而軟件是嵌入式系統(tǒng)的控制核心,通過運行,給硬件提供指令,指示硬件進行相應(yīng)的動作,也就是說軟件必須在硬件部分上運行,才可以起到很好的作用。
二、嵌入式系統(tǒng)趨向低功耗的必要性
1.節(jié)能的需求
嵌入式系統(tǒng)是一個相對復雜的系統(tǒng),各個模塊工作時工作量是很大的,這就需要電源供應(yīng)正常,保證系統(tǒng)的正確運行。而隨著系統(tǒng)的不斷擴大,各個模塊會造成更大的功耗,因此,為了更有效的利用嵌入式系統(tǒng),延長嵌入式系統(tǒng)的工作時間,需要采取節(jié)能措施。
2.增強抵抗能力
在嵌入式系統(tǒng)工作的過程中,難免會受到外界的干擾,特別是嵌入式系統(tǒng)中敏感電子元器件,更應(yīng)該做好防磁的措施,如果處理不當,不能很好的增強抵抗力,將嚴重影響系統(tǒng)的正常工作。嵌入式系統(tǒng)的功耗越高的話,電磁輻射能量就會越大,這樣嵌入式系統(tǒng)自身以及外設(shè)都會受到影響,造成精度的降低。
三、利用嵌入式系統(tǒng)硬件設(shè)計方法降低功耗
對于嵌入式系統(tǒng)而言,硬件功耗問題是主要原因,對于嵌入式系統(tǒng)低功耗設(shè)計的影響因素最大,處理好硬件低功耗設(shè)計,會對嵌入式系統(tǒng)低功耗做出重大貢獻。
1.優(yōu)先選擇低功耗芯片、元器件
在嵌入式系統(tǒng)工作的過程中,芯片元器件對電源的消耗非常的大,因此,在嵌入式系統(tǒng)設(shè)計前,對于元器件的選擇,除了滿足設(shè)計性能指標的需求,還需要滿足功耗問題,盡量選擇低功耗芯片。現(xiàn)在比較成熟的工藝主要有兩種,一個是TTL工藝,另一種是CMOS工藝,其中CMOS工藝耗能很少,可以優(yōu)先選擇。對于芯片的設(shè)計或者焊接時,需要注意的是芯片引腳不要出現(xiàn)懸空端,懸空端容易引進外界噪聲信號,對嵌入式系統(tǒng)的電源會產(chǎn)生很大的影響,造成高低電平的轉(zhuǎn)換。在默認的情況下,如果高低電平轉(zhuǎn)換,功耗會很大,這個時候,最好選擇高電平輸出,確保耗能降到最低。
2.采用不同步供電技術(shù)
一個完整的嵌入式系統(tǒng)包含很多部分,比如說包含AD采樣、DA轉(zhuǎn)換、UART異步串行通信等等,這些模塊在系統(tǒng)工作時不會同時工作,有可能在進行完一個模塊后才進行下個模塊,為了降低功耗,可以選擇不同步,即采取分時方法,當某一模塊工作完后如果需要隔很長時間才會再執(zhí)行操作,那就可以選擇執(zhí)行完后將此模塊設(shè)置為休眠狀態(tài),從而降低功耗。
3.合理利用I/O端口資源
嵌入式系統(tǒng)工作時,需要頻繁的使用I/O口,I/O口在輸出的情況下可以輸出約為20mA的電流,對于次,可以采取有效的措施,很好的利用這一電流,對其他外設(shè)采取供電的辦法,當然,外設(shè)對電流的需求需要小于20mA。采取這種辦法,可以很好的利用這一資源,得到充分的利用,更好的降低功耗。
4.加強智能電源設(shè)計工作
解決好嵌入式系統(tǒng)低功耗的問題,需要注意的就是減少耗能問題,而解決好耗能問題,還可以從另一個角度解決,優(yōu)化電源設(shè)計,趨向于智能化方向發(fā)展。在智能電源中安裝自動檢測芯片,這樣可以確保系統(tǒng)處于不同的情況下時,采取不同的策略,及時的做出處理,這樣就可以對CPU以及外設(shè)模塊采取不同的處理措施。比如說,當系統(tǒng)在外部正常供電時,這個時候電源供應(yīng)可以采取正常供電的方法,提供正常的工作頻率,保證電壓的正常使用;而如果電源模塊檢測到系統(tǒng)工作在外部電池狀態(tài)下,那這個時候,根據(jù)檢測的結(jié)果,可以降低系統(tǒng)主頻率,將電壓降低到最小運行值,確保嵌入式系統(tǒng)工作在低功耗的狀態(tài)下。
四、利用嵌入式系統(tǒng)軟件設(shè)計方法降低功耗
1.減少編譯運行時間
嵌入式系統(tǒng)的工作離不開軟件的執(zhí)行,一個小模塊的正常運行往往需要很多條代碼執(zhí)行編譯。嵌入式系統(tǒng)在運行中需要幾個模塊先后都運行,也就是說,需要大量的代碼執(zhí)行編譯過程,這樣的話,就會直接造成功率極大消耗。針對于此,可以對程序進行優(yōu)化,因為代碼有單周期、雙周期、四個周期之分,對代碼優(yōu)化,盡量選擇與底層密切、周期短的指令,這樣,程序代碼在編譯的過程中,會提高處理速度,降低功耗。一般來講,低級語言,比如說匯編語言,相對高級語言,比如說C語言、C++語言功耗要低很多。
2.鼓勵使用軟件代替硬件,硬件代替軟件的方法
嵌入式系統(tǒng)在執(zhí)行某個指令或者為了實現(xiàn)某個功能某塊時,可以既選擇硬件模塊實現(xiàn),也可以用軟件方法實現(xiàn),比如說軟件程序FIR濾波與硬件設(shè)計模擬低通濾波,這兩種方法都可以實現(xiàn)濾掉高頻信號,確保低頻信號全部通過。這個時候,可以比較這兩種方法,哪一種最優(yōu),最節(jié)省功耗。軟件中處理器需要時間,編譯消耗功率,而硬件中電路工作也會消耗功率,因此,通過比較,可以做出最佳選擇。
3.采用快速運算處理的計算方法
嵌入式系統(tǒng)在處理接收到的數(shù)據(jù)時,往往需要大量的運算,才會得到期望的結(jié)果。為了有效的降低功耗,提高處理速度,對一些算法可以進行優(yōu)化。比如說在進行DFT傅立葉變換時,傳統(tǒng)的思想是利用DFT設(shè)計,求出結(jié)果,但是這種設(shè)計相對FFT快速傅立葉變換而言,運算量大,時間也很長,這個時候就可以采用FFT的方法。在進行設(shè)計時,對各種算法都進行充分比較,在需求的精度都滿足的情況下,優(yōu)先選擇算法處理快的。
4.軟件設(shè)計建議多采用中斷程序
嵌入式系統(tǒng)在工作時,當系統(tǒng)上電初始化時,主程序只會實現(xiàn)系統(tǒng)的初始化,這其中包括各個模塊寄存器的初始化,外部設(shè)備的初始化。對于系統(tǒng)軟件降低功耗,還可以采取的辦法就是當程序沒有動作需要執(zhí)行的時候,可以將系統(tǒng)設(shè)置在低功耗狀態(tài),而當系統(tǒng)有動作要發(fā)生時,這個時候,可以利用中斷程序,讓系統(tǒng)跳到要執(zhí)行動作的程序中,也就是說此時僅僅中斷程序會消耗功率,其他模塊不會。待中斷程序執(zhí)行完之后,系統(tǒng)繼續(xù)回到低功耗的狀態(tài),節(jié)省電量的消耗。
五、結(jié)束語
隨著社會的發(fā)展,科技不斷進步,嵌入式系統(tǒng)日益趨向于智能化、自動化方向發(fā)展。在各行各業(yè)中,嵌入式系統(tǒng)都得到了很好的應(yīng)用。不過隨著功能的增強,應(yīng)用增多,電源供應(yīng)成了問題,很多嵌入式系統(tǒng)的耗能都很嚴重。考慮到嵌入式系統(tǒng)由軟件以及硬件兩大部分組成,因此,為了降低嵌入式系統(tǒng)的功耗,可以通過硬件措施以及軟件措施,實現(xiàn)目的。對硬件方法主要考慮到硬件的電源、芯片選擇以及I/O的有效利用;而對于軟件而言,主要就是對程序進行很好的優(yōu)化,充分將軟件與硬件結(jié)合,只有這樣,才能更好的解決嵌入式系統(tǒng)的功耗問題,促進嵌入式系統(tǒng)更好的發(fā)展。
參考文獻
[1]鄭杰.嵌入式系統(tǒng)中的低功耗設(shè)計[J].設(shè)計技術(shù),2005(2).
[2]王懷瑞.嵌入式系統(tǒng)中的低功耗設(shè)計研究[J].河北省科學院學報,2008(4).
[3]王志超.基于硬件構(gòu)件的嵌入式系統(tǒng)低功耗研究[J].信息化研究,2010(5).
[4]楊天池.嵌入式系統(tǒng)的低功耗設(shè)計[J].儀器儀表學報,2006(6).
[5]張健.嵌入式系統(tǒng)低功耗電路設(shè)計[J].光電技術(shù)應(yīng)用,2005(6).
[6]姚偉.嵌入式系統(tǒng)低功耗軟件技術(shù)研究[J].計算機技術(shù)與發(fā)展,2011(1).
本文通過對嵌入式數(shù)據(jù)庫系統(tǒng)進行詳細介紹,對嵌入式數(shù)據(jù)庫進行內(nèi)涵介紹,并且對嵌入式數(shù)據(jù)庫的各種應(yīng)用特點進行全面分析,結(jié)合嵌入式數(shù)據(jù)庫的發(fā)展情況,對嵌入式數(shù)據(jù)庫系統(tǒng)選擇進行闡述,對嵌入式數(shù)據(jù)庫對于數(shù)據(jù)的處理以及存儲過程進行詳細的分析,并且對嵌入式數(shù)據(jù)庫的主體架構(gòu)進行介紹,望可以對我國嵌入式數(shù)據(jù)庫的發(fā)展給予支持。
關(guān)鍵詞:嵌入式;數(shù)據(jù)庫;系統(tǒng)設(shè)計
1 嵌入式數(shù)據(jù)庫系統(tǒng)介紹
1.1 嵌入式數(shù)據(jù)庫系統(tǒng)內(nèi)涵
隨著計算機技術(shù)的不斷發(fā)展,數(shù)據(jù)處理系統(tǒng)中也逐漸將嵌入式進行融合,對該系統(tǒng)自身功能進行全面完善,根據(jù)軟硬件的不同的需求進行應(yīng)用實現(xiàn), 能夠滿足系統(tǒng)在進行應(yīng)用過程中對數(shù)據(jù)庫系統(tǒng)的功能以及可靠性進行一定程度的提升。在嵌入式數(shù)據(jù)庫系統(tǒng)中毫無疑問的融入了計算機高新技術(shù)、電子操作技術(shù)以及更加先進的半導體技術(shù),將這些先進的技術(shù)進行融合無疑是對數(shù)據(jù)庫系統(tǒng)處理數(shù)據(jù)的時候進行速度提升。另外融合了嵌入式技術(shù)的數(shù)據(jù)庫系統(tǒng)并不和傳統(tǒng)的數(shù)據(jù)庫桌面相同,因為嵌入式系統(tǒng)內(nèi)存比較小,所以這種類型的數(shù)據(jù)庫系統(tǒng)所需要的內(nèi)存以及磁盤空間都比較小,同時因為這種數(shù)據(jù)庫系統(tǒng)總是需要將不同類型的數(shù)據(jù)進行模型建造,所以可以將其分為層次性、網(wǎng)狀性以及關(guān)系型等集中類型。
從我國目前所制定的嵌入式數(shù)據(jù)庫系統(tǒng)的標準數(shù)據(jù)模型以及同步技術(shù)來看,嵌入式數(shù)據(jù)庫系統(tǒng)已經(jīng)成為同類型中的新興焦點,該系統(tǒng)中不管是嵌入式的操作程序還是數(shù)據(jù)管理系統(tǒng),所需要的內(nèi)存都比較小,所以運行效率一般都比較高。但是因為在嵌入式環(huán)境中使用數(shù)據(jù)庫系統(tǒng)方面還是存在部分難度,因為不同的嵌入式應(yīng)用模塊具備獨特的特點以及應(yīng)用條件,而普通的數(shù)據(jù)處理系統(tǒng)只能夠完成相對比較簡單的數(shù)據(jù)查詢以及處理流程,所以在這方面還得加深研究。
1.2 嵌入式數(shù)據(jù)庫系統(tǒng)特點分析
嵌入式數(shù)據(jù)庫系統(tǒng)之所以能夠被廣泛運用,與其自身所具備的有點是有很大的關(guān)系的,根據(jù)同類型的數(shù)據(jù)庫系統(tǒng)相比較,這種新型的數(shù)據(jù)庫系統(tǒng)占有的系統(tǒng)資源很小,但卻能保證高度可靠性,安全性也不低,系統(tǒng)自身可移植性也比較很高,系統(tǒng)所具備的易用性也是相當成功的,所以結(jié)合我國嵌入式數(shù)據(jù)庫系統(tǒng)發(fā)展的實際情況,對其自身所具備的特點進行分析,現(xiàn)總結(jié)為下文所述。
1.2.1 系統(tǒng)資源占有量較小
由于嵌入式系統(tǒng)內(nèi)部存儲資源很是有限,所以一般內(nèi)部不會設(shè)置一些存儲空間比較大的設(shè)備,所以嵌入式數(shù)據(jù)庫系統(tǒng)就組織結(jié)構(gòu)就必須設(shè)計合理,以便能夠在有限的內(nèi)部存儲空間中儲存更多有用的數(shù)據(jù),與此同時,嵌入式系統(tǒng)內(nèi)部存儲空間一般都比較小,所以就決定著嵌入式數(shù)據(jù)庫體積比較小,并且運行效率很高的特點。另外影響嵌入式數(shù)據(jù)庫系統(tǒng)占有很小的系統(tǒng)資源是因為必須為其他應(yīng)用程序預(yù)留一些磁盤空間,所以必須對系統(tǒng)占有資源進行最小化,這樣才能保證系統(tǒng)能夠正常運行。
1.2.2可靠性
因為嵌入式數(shù)據(jù)庫在運行過程中通常需要在移動環(huán)境中進行操作,就注定工作人員不能夠?qū)η度胧綌?shù)據(jù)庫進行現(xiàn)場技術(shù)支持,所以注定嵌入式數(shù)據(jù)庫必須可靠,并且還必須保證在沒有工作人員進行維護的情況下也能夠保證嵌入式數(shù)據(jù)庫進行正常運行,所以對于嵌入式數(shù)據(jù)庫來說,必須具備可靠性。
1.2.3良好的可移植性
因為一般的嵌入式數(shù)據(jù)庫系統(tǒng)是根據(jù)具體情況進行需求滿足之后才設(shè)計出來的,所以為了能夠保證與其他軟件能夠進行數(shù)據(jù)通信,所以嵌入式數(shù)據(jù)庫開發(fā)人員必須在進行系統(tǒng)開發(fā)的時候提供必備的模塊,以實現(xiàn)嵌入式數(shù)據(jù)庫的可移植性,在應(yīng)用對象有所變化的時候可以根據(jù)需求進行功能實現(xiàn),可移植性能夠保證資源不好出現(xiàn)大范圍的浪費。
2 嵌入式數(shù)據(jù)庫系統(tǒng)設(shè)計方案
2.1 嵌入式數(shù)據(jù)庫系統(tǒng)選擇
嵌入式數(shù)據(jù)庫在進行設(shè)計的時候,通常都是選擇嵌入式Linux系統(tǒng),該系統(tǒng)是一種源代碼完全公開的嵌入式操作系統(tǒng),它是對標準Linux操作系統(tǒng)經(jīng)過小型化裁剪后,能夠固化在容量只有幾百千字節(jié)或者幾兆字節(jié)的存儲器芯片中,并且應(yīng)用于特定嵌入式環(huán)境的專用Linux操作系統(tǒng)。而且,Linux操作系統(tǒng)具有穩(wěn)定性好、網(wǎng)絡(luò)能力優(yōu)異、支持多種文件系統(tǒng)等優(yōu)點。因此,嵌入式Linux一般具有性能可靠、軟件資源豐富、網(wǎng)絡(luò)功能強大、使用成本低等優(yōu)點,而且支持多任務(wù)多線程,支持實時性擴充。同時,其內(nèi)核可以靈活地進行配置,因此具有很強的適用性。
Linux的內(nèi)核小、效率高,內(nèi)核的更新嵌入式Linux速度很快,Linux是可以定制的,其系統(tǒng)內(nèi)核最小只有約134KB。第三,Linux是免費的OS,在價格上極具競爭力。 Linux還有著嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應(yīng)于多種CPU和多種硬件平臺,是一個跨平臺的系統(tǒng)。到目前為止,它可以支持二三十種CPU。而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。很多CPU包括家電業(yè)芯片,都開始做Linux的平臺移植工作。移植的速度遠遠超過Java的開發(fā)環(huán)境。也就是說,如果今天用Linux環(huán)境開發(fā)產(chǎn)品,那么將來換CPU就不會遇到困擾。同時,Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,Linux對網(wǎng)絡(luò)中最常用的TCP/IP協(xié)議有最完備的支持。提供了包括十兆、百兆、千兆的以太網(wǎng)絡(luò),以及無線網(wǎng)絡(luò),Toker ring(令牌環(huán)網(wǎng))、光纖甚至衛(wèi)星的支持。
2.2 系統(tǒng)處理過程分析
由嵌入式應(yīng)用程序的界面控制部分等待使用設(shè)備用戶的輸入。當?shù)鹊揭粭l用戶輸入的數(shù)據(jù)請求時,首先分析該數(shù)據(jù)請求是否能夠在本地使用設(shè)備數(shù)據(jù)庫中得到滿足。若能夠借助本地使用設(shè)備數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)請求,則將數(shù)據(jù)請求交給使用設(shè)備嵌入式數(shù)據(jù)庫管理系統(tǒng):否則,將數(shù)據(jù)請求交給使用設(shè)備同步程序。當使用設(shè)備嵌入式數(shù)據(jù)庫管理系統(tǒng)接到數(shù)據(jù)請求時,它首先分析數(shù)據(jù)請求的合法性,若合法,則響應(yīng)請求,訪問嵌入式數(shù)據(jù)庫,得到處理結(jié)果,并將其返回給嵌入式應(yīng)用程序;否則,向嵌入式應(yīng)用程序返回出錯信息。當使用設(shè)備同步程序接收到數(shù)據(jù)請求時,它與PC同步程序聯(lián)系,建立連接后,將數(shù)據(jù)請求發(fā)送過去,由PC同步程序進行后續(xù)處理。PC同步程序的監(jiān)聽線程監(jiān)視串口狀態(tài),發(fā)現(xiàn)來自PDA的數(shù)據(jù)請求便將該請求交給PC同步程序的主線程。主線程接到數(shù)據(jù)請求后,將其交給ODBC接口模塊進行處理。ODBC接口接到來自PC同步程序的數(shù)據(jù)請求后,解析數(shù)據(jù)請求,并判別其合法性,若合法,則訪問ODBC主數(shù)據(jù)源,得到處理結(jié)果,并將該處理結(jié)果交給PC同步程序,由其回饋給PDA;若非法,則通知PC同步程序向PDA報告出錯信息。
2.3 系統(tǒng)數(shù)據(jù)存儲過程分析
當前流行的數(shù)據(jù)庫管理系統(tǒng)基本上都采用關(guān)系數(shù)據(jù)模型。關(guān)系模型己經(jīng)成為數(shù)據(jù)庫中數(shù)據(jù)模型事實上的標準,采用關(guān)系數(shù)據(jù)模型有利于為廣大開發(fā)社區(qū)接受。同時關(guān)系模型的描述能力比較強,效率高。對于嵌入式計算,數(shù)據(jù)庫應(yīng)該是輕量級的,不宜采用面向?qū)ο竽P汀G度胧皆O(shè)備的一個主要特征是其資源緊張性。另外,嵌入式數(shù)據(jù)庫本質(zhì)上還是面向個人服務(wù)的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)管理的功能相對于傳統(tǒng)的企業(yè)級數(shù)據(jù)庫來說要求相對較弱。基于上述原因,這里我們將采用效率更高的關(guān)系模型。存儲組織包括數(shù)據(jù)表示和存儲空間管理兩個方面。數(shù)據(jù)表示是數(shù)據(jù)庫中應(yīng)用數(shù)據(jù)的物理存儲的表現(xiàn)方式,它受到數(shù)據(jù)庫系統(tǒng)所采取的存儲模型的制約。存儲空間組織是對存儲設(shè)備可用存儲空間的應(yīng)用組織策略,它的目標有兩個:高效利用存儲空間和為快速的數(shù)據(jù)存取提供便利。在嵌入式數(shù)據(jù)庫中,數(shù)據(jù)將分為“永久版本”和“臨時版本”。
數(shù)據(jù)庫在運行的大部分時間中都只關(guān)心臨時版本,只在系統(tǒng)空閑或顯式要求的情況下才將臨時版本中的數(shù)據(jù)更新到永久版本中。這是一種樂觀的持久化策略。因此,對嵌入式數(shù)據(jù)庫來說,我們首先關(guān)注的是數(shù)據(jù)在主存中的高效的存取,其次,才會考慮數(shù)據(jù)的文件組織形式,盡可能地提高數(shù)據(jù)在內(nèi)外存之間的調(diào)入、調(diào)出效率。因此,嵌入式數(shù)據(jù)庫避免直接操作外存,而使用操作系統(tǒng)提供的文件系統(tǒng)接口實現(xiàn)外存處理;同時,不再使用數(shù)據(jù)緩沖區(qū),而使用高活躍度數(shù)據(jù)存儲區(qū)域替代,兩者的不同在于前者在內(nèi)存中按頁面來組織緩沖區(qū),每個頁面對應(yīng)磁盤上的一個存儲塊,后者則以記錄為單位存儲頻繁被存取的數(shù)據(jù)。同時,因為數(shù)據(jù)字典占用空間很小且存取頻繁,所以將其常駐內(nèi)存。
2.4 系統(tǒng)主題架構(gòu)
由于嵌入式系統(tǒng)地存儲量有限,因此在終端嵌入式數(shù)據(jù)庫中的數(shù)據(jù)不能存儲大量的數(shù)據(jù),同時,由于嵌入式系統(tǒng)處理器的主頻較低,運行速度較慢,以及網(wǎng)絡(luò)速度的原因,系統(tǒng)也不可能將每次的用戶請求都提交到服務(wù)器端后臺數(shù)據(jù)庫處理數(shù)據(jù),因此這就要求我們將大多數(shù)的數(shù)據(jù)處理放在終端數(shù)據(jù)庫系統(tǒng)中處理,為了保證終端嵌入式數(shù)據(jù)庫數(shù)據(jù)的有效性和實時性,我們必須保證嵌入式數(shù)據(jù)庫和服務(wù)器端數(shù)據(jù)庫的數(shù)據(jù)同步復制。 當終端數(shù)據(jù)庫發(fā)生更新時,立即將更新的請求發(fā)送給終端同步程序,由終端同步程序和服務(wù)器端同步程序建立連接,再由服務(wù)器端同步程序?qū)⒃撜埱蠼唤o服務(wù)器端數(shù)據(jù)庫實現(xiàn)后臺數(shù)據(jù)庫的更新。
由于嵌入式系統(tǒng)地存儲量有限,因此在終端嵌入式數(shù)據(jù)庫中的數(shù)據(jù)不能存儲大量的數(shù)據(jù),同時,由于嵌入式系統(tǒng)處理器的主頻較低,運行速度較慢,以及網(wǎng)絡(luò)速度的原因,系統(tǒng)也不可能將每次的用戶請求都提交到服務(wù)器端后臺數(shù)據(jù)庫處理數(shù)據(jù),因此這就要求我們將大多數(shù)的數(shù)據(jù)處理放在終端數(shù)據(jù)庫系統(tǒng)中處理,為了保證終端嵌入式數(shù)據(jù)庫數(shù)據(jù)的有效性和實時性,我們必須保證嵌入式數(shù)據(jù)庫和服務(wù)器端數(shù)據(jù)庫的數(shù)據(jù)同步復制。當終端數(shù)據(jù)庫發(fā)生更新時,立即將更新的請求發(fā)送給終端同步程序,由終端同步程序和服務(wù)器端同步程序建立連接,再由服務(wù)器端同步程序?qū)⒃撜埱蠼唤o服務(wù)器端數(shù)據(jù)庫實現(xiàn)后臺數(shù)據(jù)庫的更新。
結(jié)論
隨著信息技術(shù)的不斷發(fā)展,各行業(yè)中所需要處理的數(shù)據(jù)大量化,并且對于數(shù)據(jù)具體的處理結(jié)果保密性也在逐步要求保密,而嵌入式系統(tǒng)因其強大的保密性、可移植性以及體積小等特點,在數(shù)據(jù)處理過程中被廣泛運用,嵌入式數(shù)據(jù)庫由此誕生。通過對嵌入式數(shù)據(jù)庫系統(tǒng)特點進行全面分析,對其系統(tǒng)選擇過程進行分析,并且結(jié)合嵌入式數(shù)據(jù)庫運行范圍進行處理過程分析,對嵌入式數(shù)據(jù)庫在對具體數(shù)據(jù)進行處理之后的存儲過程進行分析,對嵌入式數(shù)據(jù)庫的主題架構(gòu)進行全面了解,由此可以將嵌入式數(shù)據(jù)庫系統(tǒng)進行全面分析,對該系統(tǒng)與傳統(tǒng)數(shù)據(jù)庫進行對比,可以將其優(yōu)越性進行全面展示。相信隨著相關(guān)科技技術(shù)的不斷發(fā)展,嵌入式數(shù)據(jù)庫一定會發(fā)展的更為迅速,更為全面。鑒于本人學識有限,在本文撰寫過程中存在一些不足之處,望各位同仁能夠及時指出,以便日后及時作出修正。
參考文獻
[1]張永.嵌入式數(shù)據(jù)庫系統(tǒng)的設(shè)計與實現(xiàn)[D].清華大學,2012.
[2]殷曉偉,楊尚霖.關(guān)于嵌入式數(shù)據(jù)庫系統(tǒng)設(shè)計的研究[J].科技創(chuàng)新與應(yīng)用,2014.
[3]張媛媛.嵌入式數(shù)據(jù)庫管理系統(tǒng)的研究與實現(xiàn)[D].華東師范大學,2011.
關(guān)鍵詞:軟件測試控制系統(tǒng)嵌入式
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2012)05-0151-01
1、嵌入式系統(tǒng)的特點以及實現(xiàn)方法
嵌入式系統(tǒng)的主要特點如下:嵌入式系統(tǒng)的硬件和軟件的緊密結(jié)合,具有很強的依賴性之間的軟件和硬件,嵌入式系統(tǒng)的功能和性能通過軟件和硬件來實現(xiàn)。因此,在硬件平臺上的嵌入式軟件系統(tǒng)的測試。在硬件,嵌入式軟件系統(tǒng)測試。這是一個不同的主機平臺上的軟件,只能在電腦平臺的主機平臺軟件系統(tǒng)測試,不需要專門的硬件平臺測試。嵌入式系統(tǒng)的要求非常苛刻的時間。嵌入式系統(tǒng),實時控制系統(tǒng),為要求苛刻的實時場合。嵌入式系統(tǒng)的硬件資源有限,存儲容量和速度的嵌入式CPU和應(yīng)用環(huán)境的制約。
軟件測試的方法可以分為黑盒測試和白盒測試兩大類:黑盒測試是一種基于需求的測試,以驗證測試軟件是否滿足軟件的需求。白盒是基于結(jié)構(gòu)的測試,軟件控制流測試包括語句覆蓋,分支覆蓋,等等和數(shù)據(jù)流測試。覆蓋測試原理是:測試軟件,測試工具的使用靜態(tài)分析,以確定代碼中的分支點,并統(tǒng)一編號,分配給每個分支點。計劃執(zhí)行的歷史信息和路徑,你可以從這份文件中,為了計算的代碼覆蓋率。嵌入式軟件與主機平臺上的軟件有不同的特點,所以從主機平臺軟件測試,測試也明顯不同。
2、嵌入式系統(tǒng)的應(yīng)用
嵌入式系統(tǒng)為中心,基于計算機技術(shù),利用可定制的功能性,可靠性,成本,體積,功耗嚴格要求,設(shè)備專用計算機系統(tǒng)111硬件和軟件。它一般由嵌入式微處理器,硬件設(shè)備,嵌入式操作系統(tǒng)和用戶應(yīng)用程序,控制其他設(shè)備,監(jiān)事或管理由四部分。最典型的嵌入式系統(tǒng)的特點是與人民生活密切相關(guān)的,任何一個普通的人可能有各種使用嵌入式微處理器技術(shù)的電子產(chǎn)品,MP3,PDA等數(shù)字設(shè)備,數(shù)字家電,智能家電,地理信息系統(tǒng)的車輛。事實上,新的嵌入式設(shè)備的數(shù)量遠遠超過通用計算機。其硬件系統(tǒng)表現(xiàn)如右:
嵌入式操作系統(tǒng)和通用操作系統(tǒng)有許多功能,如可靠性,可削減,可擴展性,實時等。前三嵌入式應(yīng)用環(huán)境的要求。“實時”,以滿足系統(tǒng)內(nèi)容的實時性要求。通常在一些嵌入式操作系統(tǒng),通常被稱為“實時操作系統(tǒng),但它是操作系統(tǒng)的性能有一個更好的實時能力。在一個特定的嵌入式應(yīng)用系統(tǒng)中,沒有實時的結(jié)論。不同的嵌入式操作系統(tǒng),可以有不同的實時能力。嵌入式操作系統(tǒng)應(yīng)符合設(shè)計實時任務(wù)調(diào)度,運行速度快,實時性能的內(nèi)容嵌入式操作系統(tǒng)的能力,可以更容易地實現(xiàn)實時的應(yīng)用程序。
3、應(yīng)用航天業(yè)的條件和發(fā)展
今天的軟件和硬件技術(shù)的發(fā)展,嵌入式系統(tǒng)被廣泛用于航空航天,國防,軍工,電子通訊等行業(yè),其中軟件變得越來越復雜。應(yīng)用嵌入式系統(tǒng)的特點,這些地區(qū)往往是高安全性,關(guān)鍵任務(wù)系統(tǒng),軟件,小缺陷可能會嚴重威脅生命和國家安全的,巨大的天文財產(chǎn)損失。這使得它保證嵌入式軟件的質(zhì)量和可靠性變得至關(guān)重要。
4、航天業(yè)的應(yīng)用條件
嵌入式系統(tǒng)的任務(wù)有一定量的時間限制。據(jù)截止時間,實時系統(tǒng),實時被分為“硬實時時間”和“軟實時”。可以完全滿足硬實時應(yīng)用的需求,否則,導致發(fā)生重大安全事故,甚至造成了生命和生態(tài)破壞。
可預(yù)見性是一個系統(tǒng),能夠?qū)崟r執(zhí)行任務(wù)的時間來判斷,以確定它是否能滿足任務(wù)的期限。在航空航天工業(yè)實時系統(tǒng)需要嚴格的時間限制,稱為實時系統(tǒng)的可預(yù)測性是一個重要的性能要求也至關(guān)重要。除了硬件延遲的可預(yù)見性,也需要軟件系統(tǒng)的可預(yù)測性,包括應(yīng)用程序的可預(yù)測性的響應(yīng)時間可預(yù)測的,也就是說,在有限的時間內(nèi)完成必要的工作;和操作系統(tǒng),即實際運行時的開銷時間原語,調(diào)度功能應(yīng)范圍內(nèi),以確保應(yīng)用程序的執(zhí)行時間為界。
5、與外部環(huán)境的相互作用
航天業(yè)需要的外部環(huán)境是獨一無二的,這樣的外部環(huán)境是一個實時系統(tǒng)不可或缺的組成部分。空間計算機子系統(tǒng)控制系統(tǒng),它必須在規(guī)定時間內(nèi)作出回應(yīng)外部請求。外部物理環(huán)境經(jīng)常指責子系統(tǒng),兩個互動,以形成一個完整的實時系統(tǒng)。為此,該系統(tǒng)需要一個靜態(tài)的分析,并保留資源和冗余配置,系統(tǒng)可以工作在最壞的情況下,或避免損失。可靠性已成為航空航天工業(yè)的實時系統(tǒng)性能不可缺少的一個重要指標來衡量。
6、結(jié)語
隨著嵌入式系統(tǒng)的廣泛使用,其實時性已經(jīng)吸引了越來越多的關(guān)注。實時嵌入式系統(tǒng)是一個綜合性的問題,應(yīng)考慮在嵌入式系統(tǒng)設(shè)計,硬件不僅是軟件的選擇也應(yīng)注意。在這些領(lǐng)域的嵌入式系統(tǒng)應(yīng)用的特點,往往是高安全性,關(guān)鍵任務(wù)系統(tǒng),軟件,小缺陷可能會嚴重威脅生命和國家安全的一個巨大的天文數(shù)字的財產(chǎn)損失。這使得它變得至關(guān)重要,以確保嵌入式軟件的質(zhì)量和可靠性。
參考文獻
[1]謝東,李昌禧.基于LabVIEW的嵌入式軟件黑盒測試系統(tǒng)的研究[J].工業(yè)控制計算機,2005年12期.
[2]楊順昆,劉斌,陸民燕.WindowsNT下幾種定時器的實現(xiàn)原理及性能比較[J].測控技術(shù),2002年12期.
[3]崔小樂,劉斌,鐘德明,阮鐮,高小鵬.實時嵌入式軟件仿真測試平臺的體系結(jié)構(gòu)設(shè)計[J].測控技術(shù),2003年07期.
[4]崔小樂,劉斌,楊順昆,阮鐮.嵌入式軟件仿真測試平臺的建模環(huán)境設(shè)計[J].測控技術(shù),2004年02期.
關(guān)鍵詞:計算機技術(shù);嵌入式系統(tǒng);UML語言
UML語言又被稱為標準建模語言,主要是被用來進行軟件開發(fā)與支持模型化的計算機圖形化的語言。在軟件開發(fā)過程中,可以通過標準建模語言提供的可視化與模型化支撐進行軟件規(guī)格、配置及構(gòu)造的最優(yōu)化。與此同時,它還是一種易于表達、功能強大、定義良好的建模語言,基于這些優(yōu)勢,將UML語言應(yīng)用到嵌入式系統(tǒng)的開發(fā)設(shè)計中,能實現(xiàn)目前用戶對該系統(tǒng)的功能、體積、功耗及可靠性的要求。
1嵌入式系統(tǒng)應(yīng)用背景的產(chǎn)生
嵌入式系統(tǒng)是基于計算機技術(shù),融合了電子技術(shù)、半導體技術(shù),并對應(yīng)用領(lǐng)域?qū)嶋H需求產(chǎn)生的一種具有功能強大、可塑性強及應(yīng)用廣泛的知識集成系統(tǒng)。由于該系統(tǒng)自身的優(yōu)勢,因此,被廣泛應(yīng)用于技術(shù)、資金密集的工業(yè)生產(chǎn)中。目前,市場中的電子產(chǎn)品、汽車、數(shù)碼等都應(yīng)用了嵌入式系統(tǒng)進行生產(chǎn)。嵌入式系統(tǒng)最早形成時還形不成“系統(tǒng)”概念,因為最初的嵌入式系統(tǒng)主要是依靠單片機運行的,只能執(zhí)行單線程的工作程序[1]。隨著計算機技術(shù)及商業(yè)社會的發(fā)展需求,嵌入系統(tǒng)初步形成,可以運用計算機嵌入式系統(tǒng)進行應(yīng)用軟件的編輯,執(zhí)行任務(wù)管理和內(nèi)存管理等功能。發(fā)展到至今,嵌入式系統(tǒng)已經(jīng)可以實現(xiàn)實時的多任務(wù)操作,成為目前應(yīng)用軟件開發(fā)的主流,發(fā)展與應(yīng)用前景廣闊。
2UML語言及其框圖的應(yīng)用模式分析
UML語言是一種應(yīng)用于計算機系統(tǒng)編程的可視化建模語言,在具體應(yīng)用操作中可以實現(xiàn)滿足用戶對系統(tǒng)需求的刻畫、分析、設(shè)計集成以及實現(xiàn)和測試,實現(xiàn)系統(tǒng)功能的構(gòu)建更加合理[2]。UML建模語言可以將建立的模型數(shù)據(jù)信息運用標準的圖形元素直觀地展示在用戶、測試人員、管理人員以及開發(fā)人員或是其他項目相關(guān)人員面前,使他們可以對系統(tǒng)的功能、結(jié)構(gòu)設(shè)計進行更好的交流,實現(xiàn)對系統(tǒng)的良好構(gòu)建。目前,市場上最為常用的建模語言主要有Booch、OMT及UML三種語言,相較于其他兩種建模語言來講,UML語言更加簡化,操作簡單、適用范圍廣泛,因此,被許多企業(yè)采用。UML語言不僅可以對靜態(tài)的結(jié)構(gòu)進行建模,還可以對具有動態(tài)行為的系統(tǒng)進行建模,因此,適用于系統(tǒng)的全部開發(fā)階段。UML語言是一種可視化的建模語言,因此,該語言中的所有語素都是由一個個的框圖組成的。系統(tǒng)設(shè)計人員應(yīng)用在UML語言時,就是通過對框圖的描述來實現(xiàn)對整個系統(tǒng)的設(shè)計。UML語言的框圖有很多種,現(xiàn)針對幾種主要框圖進行分析。BusinessUseCase框圖與UseCase:這兩種框圖所對應(yīng)的語素不同,BUC框圖所代表的語素主要是對整個系統(tǒng)的機構(gòu)功能進行描述;而UC框圖則主要是根據(jù)用戶對系統(tǒng)的需求,進行系統(tǒng)功能描述。因此,經(jīng)常被用來與客戶之間進行交流,提取有效建構(gòu)信息。Class框圖:此種框圖是一種靜態(tài)圖,代表語素主要被用來對系統(tǒng)中的類進行描述。通過對該框圖的觀察,可以清楚地了解系統(tǒng)中類的內(nèi)容、功能以及結(jié)構(gòu)關(guān)系。StateChart框圖:該框圖主要被用來對建模對象的狀態(tài)及各個建模對象之間的轉(zhuǎn)換關(guān)系進行描述,主要用來提供建模系統(tǒng)的動態(tài)功能[3]。此種框圖在實際應(yīng)用中被廣泛運用到系統(tǒng)的實際建立中,可以生成系統(tǒng)構(gòu)建所需的全部代碼。Collaboration框圖與Sequence框圖:這兩種框圖都是對系統(tǒng)對象之間的相互關(guān)系進行描述的框圖。但Sequence框圖在進行描述時主要以時間順序進行,而Collaboration框圖則是針對系統(tǒng)角色與顯示對象之間的交互進行著重描述。通過Collaboration框圖,可以讓系統(tǒng)建筑師與質(zhì)量保證工程師及時了解分析對象的分布情況,若出現(xiàn)不合理狀況,系統(tǒng)建筑師便可及時進行調(diào)整或重新分配。UML語言中包含的這些框圖,在進行系統(tǒng)設(shè)計、建模以及分析的過程中,會提供多種不同的圖片表達形式,因此,可以用在系統(tǒng)開發(fā)的不同階段。將UML語言中的這些框圖應(yīng)用在嵌入式系統(tǒng)開發(fā)中,通過它們之間的有機結(jié)合可以構(gòu)建出一個功能完整、一致的高效系統(tǒng)。
3UML語言在嵌入式系統(tǒng)中的有效應(yīng)用
3.1以車載GPS終端為例
嵌入式系統(tǒng)在各個領(lǐng)域被廣泛應(yīng)用,在本文中,我們以車載GPS終端為例進行UML語言在嵌入式統(tǒng)中的有效應(yīng)用研究[4]。機動車的車載GPS終端是用來進行實時定位的裝置,被廣泛應(yīng)用在出租車或運輸車這類需要進行調(diào)度、定位的車隊中。該終端的功能實現(xiàn)主要通過車載GPS終端與衛(wèi)星進行實時的信號傳輸,實現(xiàn)對機動車位置的掌握,進而進行準確定位。準確定位后,再通過無線通訊網(wǎng)絡(luò)將機動車位置反饋給遠程的中心系統(tǒng)。此時,中心指揮系統(tǒng)就可以清楚掌握終端反饋的位置信息,實現(xiàn)對機動車的遠程控制與跟蹤。在機動車遇到特殊情況時,中心系統(tǒng)可以通過終端對車輛進行控制,實現(xiàn)車隊的正常運行。與此同時,若是車輛遇到險情,車載終端還可以起到電話功能,進行遠程報警。
3.2進行嵌入式設(shè)計時對UML語言的需求分析
運用UML語言對嵌入式車載GPS終端系統(tǒng)需求進行分析時,可以通過UseCase框圖進行系統(tǒng)功能分析。UseCase框圖在進行系統(tǒng)功能表達時,在圖中顯示的車載GPS終端系統(tǒng)功能需求將其分為兩部分來展示,即角色與案例。所謂的角色就是指與系統(tǒng)之間進行交互的人和物,而其中的案例則是用來表示系統(tǒng)所提供的功能塊。通過UseCase框圖對系統(tǒng)進行觀察,可以幫助人們將系統(tǒng)實現(xiàn)與系統(tǒng)目標進行分離,因此,可以使系統(tǒng)開發(fā)人員詳細了解系統(tǒng)的重要組成部分。最后,設(shè)計出的系統(tǒng)功能能實現(xiàn)用戶的需求,而不會使設(shè)計人員在系統(tǒng)細節(jié)實現(xiàn)上過多地浪費時間[5]。通過觀察UseCase框圖發(fā)現(xiàn),車載GPS終端中的角色定位主要有兩類,即車載終端的用戶與監(jiān)控中心的用戶。車載終端的用戶可以通過終端進行報警。而監(jiān)控中心系統(tǒng)的用戶則可以通過系統(tǒng)查詢車輛位置信息及發(fā)送調(diào)度信息。
3.3通過UML語言對產(chǎn)品進行規(guī)格說明
對系統(tǒng)的規(guī)格說明要求要比需求分析的顯示更為詳細,因此,運用UML語言進行嵌入式系統(tǒng)的設(shè)計,可以使系統(tǒng)規(guī)格說明更加清晰與直觀。在對車載終端系統(tǒng)中的規(guī)格進行說明時,首先、可以通過Class框圖進行描述。該框圖可以對系統(tǒng)處理的數(shù)據(jù)結(jié)構(gòu)進行描述,對接收到的GPS衛(wèi)星信號進行描述。其次,Class框圖在進行規(guī)格說明時,還要將系統(tǒng)進行功能模塊劃分,并且找出所有系統(tǒng),對主要對象進行識別。之后再通過UML語言中的Collaboration框圖對各對象之間的關(guān)系進行描述。最后,在進行規(guī)格說明的業(yè)務(wù)描述時,也就是對規(guī)范的操作系統(tǒng)完成主要功能流程的顯示,此時,可以運用UML語言中的Activity框圖進行展示。
4結(jié)語
通過對嵌入式系統(tǒng)開發(fā)需求以及UML語言的功能進行分析,發(fā)現(xiàn)利用UML語言進行嵌入式系統(tǒng)設(shè)計可以滿足提高該系統(tǒng)的開發(fā)速度與產(chǎn)品質(zhì)量要求。與此同時,還可以增加系統(tǒng)設(shè)計的可重復使用性,實現(xiàn)了對系統(tǒng)設(shè)計的優(yōu)化及利用,滿足了用戶對系統(tǒng)的各項需求,具有廣闊的應(yīng)用前景。
參考文獻
[1]禚百田.UML在空調(diào)嵌入式系統(tǒng)開發(fā)中的應(yīng)用研究[D].青島:山東科技大學,2010.
[2]王承啟.嵌入式系統(tǒng)設(shè)計方法研究與嵌入式避障機器人的實現(xiàn)[D].北京:北京交通大學,2009.
[3]廖曉文.基于UML與Petri網(wǎng)的嵌入式系統(tǒng)建模方法的研究[D].廣州:廣東工業(yè)大學,2005.
[4]曹雷,薛平貞.UML建模在嵌入式系統(tǒng)開發(fā)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2013(16):41-44.
關(guān)鍵詞:ARM;嵌入式系統(tǒng);linux;BootLoader
中圖分類號:TP274文獻標識碼:A文章編號:1009-3044(2008)09-11724-02
The Design and Realization of Embedded System Based on ARM
LIN Hua
(Computer Science College of Yangtze University, Jingzhou 434023, China)
Abstract: This paper designed a new embedded system based on ARM.Firstly, it introduced the embedded system hardware design, Secondly, it analyzed detailedly the compile and transplant course of the uCLinux, in the end it discussed on the communication software design for uCLinux.
Key words: ARM; Embedded System; Linux; BootLoader
隨著計算機技術(shù)和半導體技術(shù)的發(fā)展,嵌入式系統(tǒng)在個人數(shù)據(jù)處理、多媒體通信、在線事務(wù)處理、生產(chǎn)過程控制、交通控制等各個領(lǐng)域內(nèi)得到了廣泛的應(yīng)用,各種嵌入式相關(guān)的新產(chǎn)品紛紛涌現(xiàn)。嵌入式系統(tǒng)越來越引起人們的關(guān)注,對嵌入式系統(tǒng)的研究,是掌握信息技術(shù)的核心。本文以處理器S3C44B0為核心,設(shè)計出一個基于ARM+uCLinux的嵌入式系統(tǒng),對于嵌入式系統(tǒng)有獨到的研究。
1 嵌入式硬件方案設(shè)計
1.1 系統(tǒng)硬件平臺
系統(tǒng)的硬件平臺主要是由嵌入式處理器、FLASH、SDRAM、以太網(wǎng)接口、USB接口、UART接口、JTAG接口、I/O接口、I2C、系統(tǒng)電源、復位電路等組成。系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示:
1.2 主要硬件的設(shè)計
1.2.1 ARM嵌入式處理器的設(shè)計
處理器采用Samsung公司的S3C44B0微處理器,S3C44B0最突出的特點是它的CPU核使用ARM公司的16/32位ARM7TDMI RISC結(jié)構(gòu)。ARM7TDMI系統(tǒng)擴充包括Thumb協(xié)處理器、片上ICE中斷調(diào)試支持和32位硬件乘法器。S3C44B0通過在ARM7TDMI內(nèi)容基礎(chǔ)上擴展一系列完整的通用器件,主要包括:8KB的Cache,外部存儲器控制器,LCD控制器,2通道UART,4通道DMA, 71個通用I/O端口,8個外部中斷源等。
1.2.2 網(wǎng)絡(luò)接口的設(shè)計
采用RTL8019AS芯片作為網(wǎng)絡(luò)接口芯片,RTL8019AS是一種高度集成的以太網(wǎng)芯片,能簡單的實現(xiàn)Plug and Play并兼容NE2000,芯片內(nèi)部集成了DMA控制器、ISA總線控制器、16KSRAM,用戶可以通過DMA方式把需要發(fā)送的數(shù)據(jù)寫入片內(nèi)SRAM中,讓芯片自動將數(shù)據(jù)發(fā)送出去;而芯片在接收到數(shù)據(jù)后,用戶可以通過DMA方式將數(shù)據(jù)讀出。
1.2.3 USB接口的設(shè)計
采用PDIUSBD12作為USB接口芯片,PDIUSBD12是一款性價比很高的USB器件,完全符合USB1,1版的規(guī)范,它通常用作微控制器系統(tǒng)中實現(xiàn)與微控制器進行通信的高速通用并行接口,它還支持本地的DMA傳輸。
2 軟件體系的設(shè)計
軟件開發(fā)過程包括BootLoader設(shè)計、uCLinux的編譯和移植、uCLinux下的網(wǎng)絡(luò)編程和應(yīng)用程序開發(fā)等。
2.1 BootLoader的設(shè)計與實現(xiàn)
在嵌入式系統(tǒng)中,BootLoader的作用與PC機上的BIOS類似,BootLoader可以完成對系統(tǒng)板上的主要部件進行初始化,也可以下載文件到系統(tǒng)板、對CPU、SDRAM、Flash,通過串行口Flash進行擦除與編程。
BootLoader作為系統(tǒng)復位或上電后首先運行的代碼,一般應(yīng)寫入Flash存儲器中并從起始物理地址0x0開始。BootLoader根據(jù)實現(xiàn)的功能不同,其復雜程度也各不相同。一個簡單的BootLoader程序可以僅僅完成串行口的初始化,并進行通信,而功能完善的BootLoader可以支持比較復雜的命令集,對系統(tǒng)的軟硬件資源進行合理的配置與管理。因此,用戶可根據(jù)自身的需求實現(xiàn)相應(yīng)的功能。BootLoader的設(shè)計步驟一般如下:
2.1.1 系統(tǒng)初始化
系統(tǒng)初始化主要實現(xiàn)以下的幾個功能:
(1)進入SVC32工作模式(管理模式),以取得訪問一些系統(tǒng)資源的權(quán)限。
(2)禁止所有的中斷并清除所有中斷標志。
(3)初始化SYSCFG寄存器。
(4)導入鏈接器預(yù)定義的變量,為存儲器的重映射做準備。
2.1.2 Memory Remap的實現(xiàn)
Memory Remap就是地址重映射,即存儲空間的重新分配,主要分為以下幾個步驟:
2.1.2.1 初始化SDRAM
系統(tǒng)剛上電后,只有Flash是可用的, SDRAM沒有被初始化,是不可用的。此時Flash被映射到0-2M的地方。通過配置相關(guān)寄存器完成SDRAM的初始化后,SDRAM被映射到了2-18M的位置上。此時的Memory Map為:0-2M是Flash,2-18M是SDRAM
2.1.2.2 將BootLoader從Flash中復制到SDRAM中
在此之前,BootLoader一直是在Flash里面執(zhí)行的。為了實現(xiàn)Memory Remap,并且保證remap后BootLoader可以繼續(xù)執(zhí)行,需要把BootLoader自己全部復制到SDRAM里面去。BootLoader的大小利用鏈接器預(yù)定義的程序段變量。此時,在SDRAM里己經(jīng)有了一個BootLoader的拷貝,但是必須注意,BootLoader還是在Flash里面執(zhí)行。此時的Memory Map為:0-2M還是Flash,2-18 M還是SDRAM,但是SDRAM里面多了一個BootLoader的拷貝。
2.1.2.3 地址重映射
通過設(shè)置S3C44B0的相關(guān)寄存器,可以完成最后的地址重映射。SDRAM在0-16M的位置,而Flash被Map到了16-18M的位置。由于在SDRAM有一份BootLoader的拷貝,所以Remap以后BootLoader將轉(zhuǎn)到SDRAM里面來執(zhí)行。
2.1.3 Kernel的裝載
此處的Kernel即為uClinux的內(nèi)核映像,完成Kernel把控制權(quán)交給了uClinux來管理,Kernel將被裝載到的裝載后,系統(tǒng)就0x8000處。Kernel的裝載過程如下所示:
(1)將RW段復制到OxA0,0000處,ZI段清零。
(2)設(shè)置堆棧指針SP=0x80,0000。
(3)跳轉(zhuǎn)到函數(shù)loadkernel()中。
(4)將Kernel裝載到0x8000,同時將PC指向0x8000。
(5)Kernel獲得控制權(quán),接管整個系統(tǒng)。
2.2 嵌入式操作系統(tǒng)的編譯與移植
本系統(tǒng)采用uCLinux作為操作系統(tǒng),uCLinux包含一整套的編譯、調(diào)試等開發(fā)工具、內(nèi)核源代碼、各種文件系統(tǒng)、圖形接口、各種協(xié)議、驅(qū)動程序以及豐富的應(yīng)用程序。uCLinux操作系統(tǒng)主要由內(nèi)核、Shell、文件結(jié)構(gòu)組成;其中內(nèi)核是系統(tǒng)的心臟,是運行程序和管理磁盤、打印機等硬件設(shè)備的核心程序。Linux的內(nèi)核主要由5個子系統(tǒng)構(gòu)成:進程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口和進程間通信,在設(shè)計時,可以根據(jù)需要配置內(nèi)核選擇體系結(jié)構(gòu)和裁剪內(nèi)核。
2.2.1 uClinux交叉編譯環(huán)境
uClinux交叉編譯環(huán)境的建立可分為以下兩個步驟:
(1)要在宿主PC機上安裝標準Linux操作系統(tǒng)(也可以在Windows環(huán)境下安裝Cygwin,模擬Linux環(huán)境,但可能在開發(fā)過程中產(chǎn)生兼容性錯誤,因此不推薦),如RedHat Linux,并對計算機的硬件設(shè)備如網(wǎng)卡進行配置,確認網(wǎng)絡(luò)配置正確。
(2)要在宿主PC機上安裝交又編譯的一些工具鏈,主要有以下這些: arm-elf-binutils,arm-elf-gcc, genromfs,arm-elf-gdb, elf2flt等。
2.2.2 uClinux內(nèi)核的編譯和移植
uClinux內(nèi)核采用模塊化的組織結(jié)構(gòu),通過增減內(nèi)核模塊的方式來增減系統(tǒng)的功能,因此,通過正確合理的設(shè)置內(nèi)核的功能模塊,只編譯系統(tǒng)所需功能的代碼以減少內(nèi)核的大小。編譯工作的具體步驟下所示:
(1)解壓源代碼文件并進入到uClinux-Samsung目錄中。
(2)make menuconfig進行內(nèi)核配置。
(3)make dep尋找文件依賴關(guān)系。
(4)make clean清除無用文件。
(5)make lib only 編譯庫文件。
(6)make user_ only編澤用戶應(yīng)用程序文件。
(7)make image編澤內(nèi)核文件。
(8)make編譯完成,生成內(nèi)核文件。
編譯上述步驟后,會在images目錄下看到一些文件,如:linux.text,linux.data,romfs.img,image.bin,image.rom,image.ram,boot.rom。
最后,將image.rom燒寫入Flash存儲器的0x0處,當系統(tǒng)復位或上電時,內(nèi)核會自解壓到SDRAM,并開始運行。可以通過串行口觀察uClinux的啟動情況。
如果編譯和加載的過程都正確,就可以在超級終端中看到uClinux移植成功的相關(guān)提示。
2.3 uCLinux下的網(wǎng)絡(luò)編程
2.3.1 uCLinux下的網(wǎng)絡(luò)編程協(xié)議簡介
uCLinux下的TCP/IP網(wǎng)絡(luò)協(xié)議棧的各層之間是通過一系列互相連接層的軟件來實現(xiàn)Internet地址族的。其中BSD socket層由專門用來處理BSD socket的通用套接字管理軟件來處理,它由INET socket層來支持。INET socket為基于IP的協(xié)議TCP和UDP管理傳輸端點。 UDP是一個無連接協(xié)議,而TCP(傳輸控制協(xié)議)是一個,TCP靠的端對端協(xié)議。傳輸UDP包的時候,uCLinux不知道也不關(guān)心它們是否安全到達了口的地。TCP則不同。在TCP連接的兩端都需要加上一個編號,以保證傳輸?shù)臄?shù)據(jù)被正確接收。在IP層,實現(xiàn)了Internet協(xié)議代碼,這些代碼要給傳輸?shù)臄?shù)據(jù)加上一個IP頭,并且知道如何把傳入的IP包送給TCP或者UDP協(xié)議。在IP層以下,就是網(wǎng)絡(luò)設(shè)備來支持所有的uCLinux 網(wǎng)絡(luò)工作,如PLIP, SLIP和以太網(wǎng)。
2.3.2 uCLinux環(huán)境下的socket編程
網(wǎng)絡(luò)的socket數(shù)據(jù)傳輸是一種特殊的I/O,socket也是一種文件描述符,也具有一個類似文件的函數(shù)調(diào)用socket()。該函數(shù)返回一個整型的socket描述符,隨后的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^該socket函數(shù)實現(xiàn)的。常用的socket類型有兩種:流式socket和數(shù)據(jù)報式socket。兩者的去別在于:前者對應(yīng)于TCP服務(wù),后者對應(yīng)于UDP服務(wù)。uCLinux中socket編程中用到的函數(shù)有:
(1)socket函數(shù):為了執(zhí)行I/O,一個進程必須做的第一件事情就是調(diào)用socket函數(shù),指定期望的通信協(xié)議類型(使用IPv4的TCP、使用IPv6的UDP, Unix域字節(jié)流協(xié)議等)。
(2)connect函數(shù):TCP客戶用connect函數(shù)來建立一個與TCP服務(wù)器的連掛。
(3)bind函數(shù): 函數(shù)bind給套接口分配一個本地協(xié)議地址,對于網(wǎng)際協(xié)議,協(xié)議地址是非顛倒2位IPv4地址16位的TCP或UDP端口號的組合。
(4)listen函數(shù):僅被除數(shù)TCP服務(wù)器調(diào)用。將未連接的套接口轉(zhuǎn)換成被動套接口,指示內(nèi)核應(yīng)接受指向此套接口的連接請求。根據(jù)TCP狀態(tài)轉(zhuǎn)換調(diào)用函數(shù)listen導致套接口從CLOSED狀態(tài)轉(zhuǎn)換到LISEN狀態(tài)。listen函數(shù)還規(guī)定了內(nèi)核為此套接口排隊的最大連接個數(shù)。
(5)accept函數(shù):accept函數(shù)由TCP服務(wù)器調(diào)用,從已完成連接隊列頭返回下一個己完成連接。若己完成連接隊列為空,則進程睡眠。
3 小結(jié)
嵌入式系統(tǒng)是以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)已經(jīng)在各個領(lǐng)域 得到了廣泛的應(yīng)用,如遠程監(jiān)控、智能儀表、數(shù)控系統(tǒng)、消費產(chǎn)品等。隨著嵌入式系統(tǒng)軟硬件技術(shù)的飛速發(fā)展,其在行業(yè)的應(yīng)用領(lǐng)域必將更為廣闊,嵌入式系統(tǒng)的研究將會有非常廣泛的前景。
參考文獻:
[1] 魏忠,蔡勇,雷紅衛(wèi).嵌入式開發(fā)詳解[M].北京:電子工業(yè)出版社,2003.
[2] 王陳賾.ARM嵌入式技術(shù)實踐教程[M].北京:航空航天大學出版社,2005.