時間:2023-07-10 16:33:16
序論:好文章的創作是一個不斷探索和完善的過程,我們為您推薦十篇嵌入式設計系統范例,希望它們能助您一臂之力,提升您的閱讀品質,帶來更深刻的閱讀感受。
中圖分類號: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
近年來,數字家電、汽車電子、MP3、Smart Phone等躍居電腦產業的主流地位,數字整合的需求日益增長,嵌入式軟件(Embedded Software)系統愈來愈復雜,涉及到的接口越來越多,這種軟、硬件結合的協同設計(Hardware/Software Co-design)需要不同技術背景的人共同開發,如何使這些具有不同技術背景和專長的人聯合開發、協同設計?UML可以解決這個問題。統一建模語言UML(Unified Modeling Language)采用一種簡單而直觀的圖形化方式描述系統設計中的各個問題和細節。不同技術背景的設計師只需懂得UML 符號就可以與對方交流、共同設計。
本文將重點討論如何在嵌入式系統設計中使用 UML 技術,并結合實例“微波爐小燈”演示采用 UML 的嵌入式系統設計過程。
1 UML OOD建模
1.1 UML基本概念介紹
1.1.1 UML事物
UML中事物是實體抽象化的最終結果,是模型中的基本成員,UML中包含結構事物、行為事物、分組事物和注釋事物。
1.1.2 UML建模圖
圖是事物集合的分類,UML中包含多種圖:1)類圖(Class Diagram);2)對象圖(Object Diagram);3)包圖(Package Diagram);4)組件圖(Compoment Diagram,也稱構件圖);5)部署圖(Deployment Diagram);6)用例圖(Usecase Diagram);7)時序圖(Sequence Diagram);8)協作圖(Collaboration Diagram);9)狀態圖(Statechart Diagram);10)活動圖(Activity Diagram)。
由于篇幅原因,本文將結合一個需求非常簡單的“微波爐小燈”的實例,給出幾個重要的圖。本文介紹的圖采用業界使用最廣泛的UML建模工具Rational Rose。Rational Rose為團隊開發和規范的開發過程管理提供了良好的支持。
1.2 UML OOD建模
從應用的角度上來講,面向對象的系統設計一般需要完成如下工作:
1)描述需求;2)根據需求建立系統的靜態模型;3)建立系統的動態模型:即描述系統的行為。
1.2.1 描述需求
“微波爐小燈”的實例需求很簡單,即微波爐里有個小燈,微波爐門打開時,它就亮起來,一旦關上門,就熄掉了。本文將根據此需求說明,采用UML設計一個控制程序來感應微波爐對象的狀態變化,并且觸發小燈對象的狀態變化。
1.2.2 建立系統的靜態模型
用例圖(Use Case Diagram):UML的Use Case圖1描述User對整體系統的功能需求,本例中,User會有兩項動作――“開微波爐”與“關微波爐”,而且期待開微波爐時會亮小燈,關微波爐時小燈會自動熄掉。
類圖(Class Diagram):如圖2,類是OOD中一個重要概念。軟件組件的模塊通稱為組件的類(Class),OOD設計理念是程序指令寫在類里,其所檢驗測試的對象都是類,等到電腦執行時才由電腦在內存中定義實體組件(對象)。
1.2.3 建立系統的動態模型
建立系統的動態模型實質就是描述系統的行為。
時序圖(Sequence Diagram):圖3這個時序圖反映了開微波爐過程中觸發小燈亮的詳細執行過程。
狀態轉換圖4(Statechart Diagram):對對象行為做詳細的描述。就小燈而言,消息的傳達是個事件(Event),這事件令小燈改變狀態(亮或熄)。
2 雙向工程
2.1 正向工程
Rational Rose中可實現正向(為模型產生相應的代碼,即程序框架)、逆向(從用戶原來的軟件系統導出該系統的模型)和雙向工程(實現模型和代碼之間的循環工程),從而保證模型與代碼的高度一致,這個功能意味著降低了開發人員編寫程序的復雜度和工作量。
Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等語言和開發工具,并能為CORBA 應用生成接口定義語言(IDL),為數據庫應用生成數據庫描述語言(DDL)等。Rational Rose默認支持的語言是Java。
本例中,在完成了“微波爐小燈”類圖制作后,選擇菜單“Tools” “Java/J2EE”“generate code”即可生成Java代碼,當原建模文件更新時,代碼會同步更新。
2.2 逆向工程
前面所述正向工程雖然只是得到了代碼框架,實現功能部分的代碼仍需開發人員輸入。隨著軟件功能的實現及新的用戶需求的加入,原建模文件在需要更新時,可不需要重新畫圖,只需進行逆向工程操作即可。本例中,在完成了“微波爐小燈”代碼后,選擇菜單“Tools”“Java/J2EE”“reverse engineer”即可生成新的建模文件。
3 小結
在軟、硬件設計領域中,采用UML進行軟件組件設計及其架構(Architecture)規劃技術逐漸成為業界關注的焦點。根據本文及“微波爐小燈”實例,顯然從UML設計圖到Java(C及C++)代碼的過程很流暢。
參考文獻:
引言
黑盒測試是從用戶觀點出發的測試,依據需求功能說明書中的預期用途、定時和性能的要求,推斷測試結果。黑盒測試根據測試階段可分為單元測試、集成測試、確認測試、系統測試四個階段[1]。嵌入式計算機系統具有與傳統軟件測試不同的新特性,因此需要采取針對性的測試方法。通用的測試方法可分為靜態時間分析和動態時間分析。
1嵌入式軟件測試的環境分析
在線仿真配備了CPU芯片接口,提供和應用程序交流信息橋,不足之處在于對硬件的依賴性較強,測試范圍較窄;目標機仿真測試結果真實,但由于實際運行中連接外部設備,很難辨識軟件和硬件錯誤。在實際測試中,根據測試效率、成本、可靠性、自動化程度等因素選擇測試環境[2]。
2嵌入式測試系統的技術實現
CodeTest一方面吸取軟件插樁技術,另一方面從硬件測試那里吸取從總線獲取數據的技術,并進行升級改造。在硬件測試時,CodeTest選擇插入點的方式為主動獲取關鍵數據。和CodeTest相比,純軟件測試對目標測試的影響大大降低。因此選用Cereal仿真器。嵌入式軟件測試系統由功能測試模塊、代碼測試模塊、數據分析和文檔報告模塊、通信接口轉換模塊組成。對于黑盒測試來說,功能測試模塊居主導地位,它主要通過接收目標系統輸出信號和需要的信號進行比對來判定目標系統在功能上是否達到最優[3]。
3詞法語法分析的設計與實現
3.1Lex⁃Yacc
Lex是檢測字符匹配性的詞法生成程序,Yacc是測定語法的生成程序。一個Lex程序由三段組成:首先是C和Lex定義;第二段是C代碼;第三段是C函數。一個Yacc程序也是由三段組成,分別是聲明、語法規則和C代碼。Lex同Yacc的工作原理如圖1所示。
3.2Lex⁃Yacc之間的聯系
Lex程序用來計算數字字符串,能對各種符號進行識別,當插碼時可以以注釋的形式插入插樁代碼,等程序完成,可以自行取消代碼插樁,不影響整體進程。Yylval用來傳遞Lex與Yacc之間數字字符串轉化后的數值,利用lineno傳遞正在處理的代碼行號和標號。本次設計全程在Linux下,通過Lex編譯后生成詞法分析程序的C代碼,通過Yacc編譯后生成語法分析程序的C程序代碼。兩者通過gcc命令進行編譯形成綜合分析。最后運行該綜合分析器就可以對51系列的匯編語言進行分析[4⁃5]。
3.3被測源程序靜態結構分析
Lex⁃Yacc工具對單文件逐行掃描,得出當前語句各類參數類型,不同參數類型分別進入不同的單鏈表中。其中除了順序單鏈表外,其他四種處理方式基本相同。待詞法、語法分析完畢,五個單鏈表中存儲了對應的匯編程序。因為單鏈表本身只是一個轉換器,無法顯示匯編程序之間的邏輯關系,所以需要對程序進行二次分析,確定所有邏輯關系。其中五個單鏈表形成的流程圖如圖2所示。針對程序流程圖的建立,首先搜索匹配節點,根據節點不同進入相應分支處理。當前語句在順序節點,則進入順序處理模塊。從關鍵字“結束行號+1”開始遍歷單鏈表,存在兩種結果:一是算法出錯;另外一種就是在主程序中時則表明當前分支分析完成。接著要判斷條件跟蹤鏈表中的順序分支(規定為右分支)是否都已分析完畢。
4覆蓋率分析及評測
4.1被測源程序覆蓋率分析
虛擬插樁技術就是在匯編語言基本結構的特點上,在源程序的插樁點處設置斷點,在源程序執行到斷點處,響應斷點處指令,給出具體的PC地址,自動記錄并打印出來,接連下去形成PC值的數據鏈。通過查詢五類單鏈表與之建立對應關系,就可以獲得到源程序的真實運行軌跡,進而計算出各類覆蓋指標。
4.2基于代碼的覆蓋評測
在仿真測試平臺原型系統上,基于代碼的覆蓋測試首先需要選定適合用作黑盒測試的子過程模塊。提取的子過程模塊必須具備獨立運行的能力,根據覆蓋測試的標準和要求對代碼邏輯結構進行認真分析,設計出多個測試用例,然后通過手工運行該子程序的方式,在某一特定測試用例驅動下運行,測定出運行路徑,通過計算得出兩種覆蓋率理論評測指標,與仿真測試平臺上實現的兩種覆蓋率相對比,得出覆蓋率分析法與虛擬插樁的正確性驗證結果。
5嵌入式系統平臺設計
設計一個可以代替人工進行黑盒測試的平臺系統,見圖3,其基本原理是通過腳本語言記錄狀態信息,之后通過PC回放測試信息以判斷結果是否與記錄腳本一致,以此決定本次測試是否通過。為此,在編輯源代碼時就需要滿足錄制腳本和腳本回放兩個階段的需求。
5.1插裝代碼分析
在PC上運行插裝系統最重要的原則就是要保證軟件原有功能的穩定性和完整性。因此在設計嵌入式系統的插裝代碼時不能改變程序的原有邏輯和原有執行流程,應盡量降低在嵌入式系統所占的資源,盡可能將部分功能和操作交付于PC進行。嵌入式系統中的模擬用戶輸入模塊的主要功能是將計算機發送的命令進行分析,并將結果回復到處理模塊中,其操作模擬流程見圖4。
5.2系統狀態的定義和獲取
(1)聲音信息的獲取嵌入式系統中對聲音信息的獲取主要是通過識別每個聲音惟一的ID編號和固定的音頻編碼進行的。工作時,由系統中的服務函數獲得ID聲音的音頻編碼并發送到PC中。(2)獲取LED信息LED的運行方法和聲音相似,都有一套惟一的LED編碼,并由LED控制器控制。常用的設計方法是將LED中的編碼放到嵌入式系統中的緩沖區內,通過定時刷新函數提取LED信息[6]。(3)獲取LCD信息由于LCD需要顯示的信息較多,且各消息屬性復雜,因此較難提取。目前常用的提取方法是點陣截取法和消息截取法。由于點陣截取法操作簡單、測試結果準確率高,因此本文使用點陣截取法獲取LCD信息。(4)系統狀態的獲取主動請求和被動獲取是嵌入式系統獲取信息的主要方式。主動請求是指嵌入式系統在處理完PC發出的操作命令時,主動將搜集好的信息發送到PC上。被動獲取是指嵌入式系統并不主動發送檢測信息,而是當狀態出現時才決定是否繼續后續操作。
5.3自動化比較和測試
軟件是否準確輸出結果,需要經過多次測試實際輸出和預期輸出的差別。本文在設計嵌入式系統時綜合考慮了一些智能比較思想來優化設計流程。由于實際的嵌入式系統會產生上百個復雜的狀態信息[7],為便于比較,本文采用了相對比較的辦法對錄制腳本時的狀態變遷進行比較。最后設計完成的嵌入式系統需對腳本進行測試,這是交互式應用的重要組成部分。腳本測試的準確度主要依賴于所選用的測試工作和腳本技術。當前主要的腳本技術有共享腳本、數據驅動腳本、結構化腳本等。這些腳本都包括了三個命令,即人工操作命令、狀態檢查命令、邏輯控制命令。測試腳本主要就是對這三個命令進行檢查,其中在自動化檢測中采用何種腳本記錄測試結果可依據模塊要求進行選定。
6結語
黑盒測試技術的匯編語言測試系統用例研究在我國已經很多,本文最大的亮點是引入虛擬插樁技術,實現真正插樁,即在被測源程序的插樁點處設置中斷指令,當源程序運行到該點處時自動運行斷點指令,給出具體的PC地址,進而給出一系列地址數據,根據事先設定的用例判定運行效果,得出黑盒測試的正確驗證結果。此方法最大的優點在于高效、精確、成本較低,在實際運用中具有較高的實用價值。
參考文獻
[1]孫昌愛,靳若明,劉超,等.實時嵌入式軟件的測試技術[J].小型微型計算機系統,2000,21(9):920⁃924.
[2]杜曉東.面向嵌入式系統的測試工具研究[D].成都:電子科技大學,2003.
[3]蘇銘,宋宗宇,王華.多計算機的自動插樁與監測系統[J].計算機工程與應用,2002(4):79⁃82.
[4]楊作梅,張旭東.1ex與yacc[M].北京:電子工業出版社,2003.
[5]鄧支益,何亦征,田翼.嵌入式軟件測試研究[J].航空電子技術,2003,34(1):37⁃42.
中圖分類號:TP274;TP3680
引 言
經過近幾年的快速發展,嵌入式系統(Embedded System)已經成為電子信息產業中最具增長力的一個分支。隨著手機、PDA,GPS、機頂盒等新興產品的大量應用,嵌入式系統的市場正在以每年30%的速度遞增(IDC預測),嵌入式系統的設計也成為軟硬件工程師越來越關心的話題。
在嵌入式系統設計中,低功耗設計(Low Power Design)是許多設計人員必須面對的問題。其原因在于嵌入式系統被廣泛應用于便攜式和移動性較強的產品中,而這些產品不是一直都有充足的電源供應,往往是靠電池來供電的;而且大多數嵌入式設備都有體積和質量的約束。另外,系統部件產生的熱量和功耗成比例,為解決散熱問題而采取的冷卻措施進一步增加了系統的功耗。為了得到最好的結果,降低系統的功耗具有下面的優點:
(1) 電池驅動的需要。在強調綠色環保時期,許多電子產品都采用電池供電。對于電池供電系統,延長電池壽命,降低用戶更換電池的周期,提高系統性能與降低系統開銷,甚至能起到保護環境的作用。
(2) 安全的需要。在現場總線領域,本安問題是┮桓霆重要話題。例如FF的本安設備,理論上每個網段可以容納32個設備,而實際應用中考慮到目前的功耗水平,每個網段安裝10個比較合適。因此降低系統功耗是實現本安要求的一個重要途徑。
[JP2](3) 解決電磁干擾。系統功耗越低,電磁輻射能量越小,對其他設備造成的干擾也越小。如果所有的電子產品都能設計成低功耗,那么電磁兼容性設計會變得容易。[JP]
(4) 節能的需要。特別是對電池供電系統,功耗與電壓的平方成正比即:P=V2fC+P┆static,б虼私諛芨為重要。
1 功耗產生的原因
[BT3]1.1 集成電路的功耗
目前的集成電路工藝主要有TTL和CMOS兩大類,無論哪種工藝,只要電路中有電流通過,就會產生功耗。通常,集成電路的功耗主要有4個:
(1) 開關功耗。對電路中的電容充放電而形成,其表達式為:
(2) 靜態功耗和動態功耗。當電路的狀態沒有進行翻轉(保持高電平或低電平)時,電路的功耗屬于靜態功耗,其大小等于電路電壓與流過電流的乘積;動態功耗是電路翻轉時產生的功耗,由于電路翻轉時存在跳變沿,在電路翻轉瞬間,電流比較大,存在較大的動態功耗。目前大多數電路都采用CMOS工藝,靜態功耗很小,可以忽略。起主要作用的是動態功耗,因此從降低動態功耗入手來降低功耗。
(3) 短路功耗。因開關時由電源到地形成的通路造成的,其表達式為:
(4) 漏電功耗。由亞閾值電流和反向偏壓電流造成。目前大多數電路都采用CMOS工藝,故漏電功耗很小,可以忽略。
1.2 電阻的功耗和有源器件的功耗
通常為負載器件和寄生元件產生的功耗。有源開關器件在狀態轉換時,電流和電壓比較大,將引起功率消耗。另外, CMOS電路中最大的功耗來自于內部和外部的電容充放電產生的功耗。
2 硬件低功耗設計
[BT3]2.1 選擇低功耗的器件
選擇低功耗的電子器件可以從根本上降低整個硬件系統的功耗。目前的半導體工藝主要有TTL工藝和CMOS工藝,CMOS工藝具有很低的功耗,在電路設計上盡量選用,使用CMOS系列電路時,其不用的輸入端不要懸空,因為懸空的輸入端可能存在感應信號,它將造成高低電平的轉換。轉換器件的功耗很大,盡量采用輸出為高的原則。
嵌入式處理器是嵌入式系統的硬件核心,消耗大量的功率,因此設計時選用低功耗的處理器;另外,選擇低功耗的通信收發器(對于通信應用系統)、低功耗的訪存部件、低功耗的電路,目前許多通信收發器都設計成節省功耗方式,這樣的器件優先采用。
2.2 選用低功耗的電路形式
完成同樣的功能,電路的實現形式有多種。例如,可以利用分立元件、小規模集成電路,大規模集成電路甚至單片實現。通常,使用的元器件數量越少,系統的功耗越低。因此,盡量使用集成度高的器件,以減少電路中使用元件的個數,減少整機的功耗。
2.3 單電源、低電壓供電
一些模擬電路如運算放大器等,供電方式有正負電源和單電源兩種。雙電源供電可以提供對地輸出的信號。高電源電壓的優點是可以提供大的動態范圍,缺點是功耗大。例如,低功耗集成運算放大器LM324,單電源電壓工作范圍為5~30 V。當電源電壓為15 V時,功耗約為220 mW;當電源電壓為10 V時,功耗約為90 mW;當電源電壓為5 V時,功耗約為15 mW。可見,低電壓供電對降低器件功耗的作用十分明顯。因此,處理小信號的電路可以降低供電電壓。
2.4 分區/分時供電技術
一個嵌入式系統的所有組成部分并非時刻在工作,基于此,可采用分時/分區的供電技術。原理是利用“開關”控制電源供電單元,在某一部分電路處于休眠狀態時,關閉其供電電源,僅保留工作部分的電源。
2.5 I/O引腳供電
嵌入式處理器的輸出引腳在輸出高電平時,可以提供約20 mA的電流,該引腳可以直接作為某些電路的供電電源使用,如圖2所示。處理器的引腳輸出高電平時,外部器件工作;輸出低電平時,外部器件停止工作。需要注意,該電路需滿足下列要求:外部器件的功耗較低,低于處理器I/O引腳的高電平輸出電流;外部器件的供電電壓范圍較寬。
2.6 電源管理單元設計
處理器全速工作時,功耗最大;待機狀態時,功耗比較小。常見的待機方式有兩種:空閑方式(Idle)和掉電方式(Shut Down)。其中,Idle方式可以通過中斷的發生退出,中斷可以由外部事件供給。掉電方式指的是處理器停止,連中斷也不響應,因此需要進入復位才能退出掉電方式。
為了降低系統的功耗,一旦CPU處于“空轉”,可以使之進入Idle狀態,降低功耗;期間如果發生了外部事件,可以通過事件產生中斷信號,使CPU進入運行狀態。對于Shut Down狀態,只能用復位信號喚醒CPU。
2.7 智能電源設計
既要保證系統具有良好的性能,又能兼顧功耗問題,一個最好的辦法是采用智能電源。在系統中增加適當的智能預測、檢測,根據需要對系統采取不同的供電方式,以求系統的功耗最低。許多膝上型電腦的電源管理采用智能電源,以筆記本電腦為例,在電源管理方面,Intel公司采取Speed Step技術;AMD公司采取Power Now技術;Transmeta公司采取Long Run技術。雖然這三種技術涉及到的具體內容不同,但基本原理是一致的。以采用Speed Step技術的筆記本電腦為例,系統可以根據不同的使用環境對CPU的運行速度進行合理調整。如果系統使用外接電源,CPU將按照正常的主頻率及電壓運行;當檢測到系統為電池供電時,軟件將自動切換CPU的主頻率及電壓至較低狀態運行。
2.8 降低處理器的時鐘頻率
處理器的功耗與時鐘頻率密切相關。以SAMSUNG S3C2410X (32 b ARM 920T內核)為例[8],它提供了四種工作模式:正常模式、空閑模式、休眠模式、關機模式,各種模式的功耗如表1所示。[HJ1][HJ]
由表1可見,CPU在全速運行的時候比在空閑或者休眠的時候消耗的功率大得多。省電的原則就是讓正常運行模式遠比空閑、休眠模式少占用時間。在類似PDA的設備中,系統在全速運行的時候遠比空閑的時候少,所以可以通過設置,使CPU盡可能工作在空閑狀態,然后通過相應的中斷喚醒 CPU,恢復到正常工作模式,處理響應的事件,然后再進入空閑模式。因此設計系統時,如果處理能力許可,可盡量降低處理器的時鐘頻率。
另外,可以動態改變處理器的時鐘,以降低系統的總功耗。CPU空閑時,降低時鐘頻率;處于工作狀態時,提高時鐘頻率以全速運行處理事務,實現這一技術的方法。通過將I/O引腳設定為輸出高電平,加入電阻R1,將增加時鐘頻率;將I/O引腳輸出低電平,去掉電阻R1,可降低時鐘頻率,以降低功耗。
2.9 降低持續工作電流
在一些系統中,盡量使系統在狀態轉換時消耗電流,在維持工作時期不消耗電流。例如,IC卡水表、煤氣表、靜態電能表等,在打開和關閉開關時給相應的機構上電,開關開和關狀態通過機械機構或磁場機制保持開關的狀態,而不通過電流保持,可以進一步降低電能的消耗。[JP]
3 軟件低功耗設計
3.1 編譯低功耗優化技術
編譯技術降低系統功耗是基于這樣的事實:對于實現同樣的功能,不同的軟件算法,消耗的時間不同,使用的指令不同,因而消耗的功率也不同。對于使用高級語言,由于是面向問題設計的,很難控制低功耗。但是,如果利用匯編語言開發系統(如對于小型的嵌入式系統開發),可以有意識地選擇消耗時間短的指令和設計消耗功率小的算法來降低系統的功耗。
3.2 硬件軟件化與軟件硬件化
通常的硬件電路一定消耗功率,基于此,可以減少系統的硬件電路,把數據處理功能用軟件實現,如許多儀表中用到的對數放大電路、抗干擾電路,測量系統中用軟件濾波代替硬件濾波器等。
需要考慮,軟件處理需要時間,處理器也需要消耗功率,特別是在處理大量數據的時候,需要高性能的處理器,這可能會消耗大量的功率。因此,系統中某一功能用軟件實現,還是用硬件實現,需要綜合計算后進行設計。3.3 采用快速算法
數字信號處理中的運算,采用如FFT和快速卷積等,可以大量節省運算時間,從而減少功耗;在精度允許的情況下,使用簡單函數代替復雜函數作近似,也是減少功耗的一種方法。
3.4 軟件設計采用中斷驅動技術
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9599 (2012) 21-0000-02
1 項目背景
越來越多的卷煙加工企業通過MES系統實現了對整個卷煙生產過程的優化管理,并掌握了大量的生產過程數據,特別是為保證產品質量所記錄下的水分、溫度、流量、質量檢驗等過程工藝數據。如何把整合了實時與核心業務流程并最大限度地利用生產資本的MES系統和SPC有效集成起來,不但同時收集實時生產數據和執行實時統計分析,建立動態反饋和閉環控制流程,還可以為生產決策人員和管理人員提供定制的控制圖表以及提醒實時潛在的質量問題,成為了卷煙企業信息化項目實施過程中的一個重要課題。
2 設計思路
卷煙生產屬于流程性材料加工方式,如何才能科學地區分出生產過程中產品質量的偶然波動與異常波動,發現過程異常及時告警,并及時采取措施,消除和避免異常波動,使過程處于正常波動狀態,恢復過程的穩定,從而持續優化和改進產品質量。要解決這個艱巨的挑戰,可以通過建立結合工業技術、靈活的MES并集成在線統計過程控制系統(SPC)的制造基礎結構來實現。我們提出把SPC作為MES的一個功能模塊嵌入MES系統,共享基礎數據和各業務數據表,從而實現嵌入式SPC系統與MES系統的真正有效集成。
3 業務需求
我們在MES系統整體功能設計時就提出要把數據的統計和深入分析放在同等重要的地位,將MES和SPC進行深度整合,MES通過自動采集或人工補充的方式對過程數據進行全面收集,嵌入式SPC實現對實時過程數據進行采集、分析,同時還應強調對質量檢驗結果、質量評價結果等事后數據進行分析,最終達到改進生產操作的目的。關鍵需求如下:
Abstract: based on embedded system design of the structure of the geographic information system, and puts forward the comprehensive GIS architecture using a variety of modern technology, they include GIS technology and embedded technology, and RS technology, GPS technology, mobile computing technology and communication technology, etc.
Keywords: geographic information systems; Embedded; Global positioning system; Spatial data
中圖分類號:S611文獻標識碼:A 文章編號:
1.引言
隨著GIS技術的不斷成熟和它給人們帶來的巨大便利,以及嵌入式設備性能的提高和普及,兩者的結合成為一種必然的發展趨勢。近年來,嵌入式GIS技術正成為GIS發展的熱點之一,它的應用包括了汽車導航、野外測繪、物流運輸、軍事指揮等眾多的領域。我國也已經開發出了自己的嵌入式GIS產品,比如武漢中地軟件的MAPGIS-Embedded和北京超圖公司的eSuperMap等。本章提出了一種基于嵌入式設備的地理信息系統的完整的體系架構,對于架構中涉及到的技術以及每一個模塊都做了比較詳細的說明。同時需要指出的是:這個架構不僅具有一定的理論價值,還具有很強的現實意義。我們已經按照此架構中提出的思想進行了代碼實現,當然由于時間和精力的關系,只是實現了其中的一些基本的功能,但這卻是自主開發嵌入式地理信息系統的一次有意的嘗試,并具體介紹實現的過程和步驟,以及實現過程中一些難點、關鍵問題的解決。
2.嵌入式GIS體系架構
嵌入式地理信息系統的體系架構如圖1所示。從圖中可以看出,整個系統是基于C/S模式的,它由嵌入式設備、高性能計算機、全球定位系統(GPS)和空間數據庫四個部分組成。
嵌入式設備由嵌入式硬件系統和嵌入式軟件系統構成,其中嵌入式硬件系統要集成GPS定位信息的接收功能;在嵌入式硬件之上的一層是嵌入式操作系統(如ARM-Linux等),它是嵌入式軟、硬件之間的橋梁,主要負責文件管理、進程調度等功能;運行在嵌入式設備上的GIS軟件(也就是客戶端程序)包括地圖的顯示、縮放、漫游、緩沖分析、通訊等幾個模塊,通訊模塊可以通過無線網絡與高性能計算機(服務器)進行通信和數據傳輸。
高性能計算機(服務器)要實現最短路徑、最優路徑的查詢等地理信息系統中比較復雜的功能,同時還要實現與客戶端進行通訊、文件格式的轉換,以及訪問數據庫服務器等功能。
對于系統中數據的存儲,我們采取的是客戶端-服務器兩級數據存儲模式,大部分的數據存放在服務器端(高性能計算機),客戶端(嵌入式設備)只保留少量常用的數據;如果系統中的數據量過于龐大,甚至可以由一個具有海量存儲器的計算機專門來存儲服務器端的數據,并向服務器提供訪問接口,這樣可以減輕服務器的負擔,提高整個系統的效率和處理數據的速度。在必要時,客戶端可以向服務器提出更新數據的請求,服務器在接到請求后把相應的數據文件回傳給客戶端。
圖1 基于嵌入式設備的GIS架構示意圖
對系統的功能模塊進行了劃分,把地圖顯示、圖層管理、緩沖分析、縮放和漫游等比較簡單,對硬件資源消耗小的應用放在客戶端,而把最優路徑、最短路徑的分析等復雜的應用放在服務器端。這樣做的原因在于嵌入式硬件本身的資源非常有限,如存儲空間偏小、處理器的速度也不是十分理想等,所以它不可能發展較為復雜的GIS空間分析功能。當客戶端需要調用最短(優)路徑查詢等復雜的GIS分析功能時,就向服務器發出請求(其中包括客戶端當前的位置、目的地等參數),服務器根據客戶端傳遞的參數,對數據庫進行一系列的查詢、檢索等操作后,將分析的結果回傳給客戶端,從而為客戶提供決策支持,同時也減輕了嵌入式設備的負擔,提高了它的工作效率。
3.全球定位系統及3S集成技術
3S技術為科學研究、政府管理、社會生產提供了新一代的觀測手段、描述語言和思維工具。3S的結合應用,取長補短,是一個自然的發展趨勢,三者之間的相互作用形成了“一個大腦,兩只眼睛”的框架,即RS和GPS向GIS提供或更新區域信息以及空間定位,GIS進行相應的空間分析(圖2),以從RS和GPS提供的浩如煙海的數據中提取有用信息,并進行綜合集成,使之成為決策的科學依據。RS、GIS、GPS集成的方式可以在不同的技術水平上實現,最簡單的辦法是三種系統分開而由用戶綜合使用,進一步是三者有共同的界面,做到表面上無縫的集成,數據傳輸則在內部通過特征碼相結合,最好的辦法是整體的集成,成為統一的系統。
圖2 3S的相互作用與集成
4.空間數據的無線傳輸
空間數據無線傳輸技術是完善嵌入式GIS 功能的重要技術之一。但是目前該技術的發展受到諸多因素的制約,下面就這些制約因素加以闡述和分析,并針對無線傳輸網絡提出相應的解決方案。雖然GPRS是作為現有GSM網絡向第三代移動通信演變的過渡技術,但是它相對于原來GSM的撥號方式的電路交換數據傳送方式,在許多方面都具有顯著的優勢。正是由于GPRS具有以上的這些特點和優勢,在我們設計的基于嵌入式設備的GIS系統架構中,采用了GPRS作為空間數據的無線傳輸網絡。
5.試驗結果
ECI GIS的開發嚴格遵循了軟件工程的思想,并且針對嵌入式軟件開發的特點,對軟、硬件平臺以及專業需求等因素也進行了綜合的分析和考慮。但由于時間、技術等方面的原因,我們的軟件只是實現了GIS中的一些基本功能。本節將重點向您介紹這些功能的實現,即程序運行的結果。說明:地圖中的當前圖層為上海市區縣和主要河流。
圖3全圖顯示
圖4屬性數據庫的顯示
結束語
ECI GIS1.0是一個基于嵌入式設備的地理信息系統軟件,它經過了架構的搭建、模塊設計、代碼實現、軟件移植和應用檢驗幾個階段,具備了地圖縮放、信息查詢等基本的功能。ECI GIS與其他的嵌入式地理信息系統相比,最大的特點就是它沒有借助任何商業的操作系統(如WinCE)和GIS系統軟件,實現過程中用到的Linux和GDAL函數庫的源代碼都是免費開放的。ECI GIS1.0是我們為開發出中國擁有自己完全版權的GIS軟件而進行的有意的嘗試和探索,這一點或許遠遠大于其在商業上的價值。
參考文獻:
[1] 龔健雅. 地理信息系統基礎[M]. 北京:科學出版社,2001.
[2] 張超,陳丙咸,鄔倫.地理信息系統[M]. 北京:高等教育出版社,1995.
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)32-7230-02
隨著電子信息技術的發展,計算機在不同領域中得到了廣泛的應用,人們根據不同領域的實際需求,針對性的開發了具有相應功能的軟件,從而提高實際的工作效率,但是在計算機出現的早期,受到其體積和性能上的限制,其應用的范圍很小,隨著晶體管和集成電路的出現,計算機的體積和性能得到了極大的提升,從計算機的發展可以看出,每次技術的更新,都是為了減小其體積,同時提高其性能。計算機的出現是革命性的,由于其能夠自行的處理任務,如果應用在實際的工業生產中,就能夠實現生產的自動化,這也是近些年計算機應用發展的方向,但是通過實際的調查發現,計算機在應用的過程中,雖然經過了多年的發展,出現了筆記本電腦,在體積上得到了極大的控制,但是在工業控制領域中,這樣的體積依然很龐大,在這種背景下,人們發明了單片機這種微型計算機,并在工業控制中得到了廣泛的應用。
1 嵌入式架構簡述
1.1 嵌入式架構的概念
嵌入式架構是隨著計算機的發展,逐漸形成的一門學科,現在很多高校中,都開設了這門課程,為社會培養大量的相關人才,學生在畢業后,能夠掌握到充足的嵌入式架構知識,從而能進行計算機系統的設計,我國受到特殊的歷史因素影響,經濟和科技發展的起步較晚,與西方發達國家相比,存在較大的差距,尤其是在電子信息領域。雖然近年來隨著國家的重視,出臺了很多優惠的政策法規,鼓勵和扶持我國相關產業的發展,經過了多年的發展,現在我國嵌入式架構的研究,已經得到了很大的提高,但是通過實際的調查發現,嵌入式架構使用的單片機等設備,目前還都是國外的公司生產的,我國技術人員在完成系統的開發后,都需要采用國外的設備,由于我國一直受到西方國家的技術封鎖,很多先進的設備都無法進口,在很大程度上影響了我國嵌入式架構的發展。對于嵌入式架構的概念,國際電氣和電子工程師協會給出了具體的解釋,是控制、監視等輔助設備工作的系統,目前對于嵌入式架構的理解,主要基于計算機技術,一般情況下,可以把帶有控制程序的處理器,看成是一個嵌入式架構,在不同的時期,人們對于嵌入式架構概念的理解,也存在一定的差異,但是從根本上來說,都是為了更好的使用嵌入式系統。
1.2 嵌入式架構的特點
與傳統的計算機技術相比,嵌入式架構具有鮮明的特點,首先就是體積更小,在嵌入式架構出現的早期,主要是在計算機的基礎上,進行系統的開發,但是隨著相關技術的發展,嵌入式架構自身有了很大的進步,尤其是單片機等微型計算機的出現,使得其應用的范圍更加廣泛,從某種意義上來說,單片機的出現,就是由于嵌入式架構應用的需要。其次嵌入式架構具有控制的特點,隨著電子信息化的發展,很多機械設備都采用了智能芯片,通過這些芯片的使用,可以寫入特定的控制程序,從而達到相應的控制目的,近幾年軟件技術有了很大的發展,尤其是在人工專家模塊出現后,計算機軟件可以實現一定的智能化,在遇到一些問題時,可以通過檢索以前的經驗,對問題自行進行處理,如果將這個技術應用到嵌入式架構中,就可以實現工業生產的自動化控制。從根本上來說,工業的自動化控制技術,就是在單片機等微型計算機的基礎上發展起來的,而單片機的使用,大多都是在嵌入式架構,通過硬件和軟件的針對性設計,可以最大程度的提高單片機應用的效率。
2 單片機系統設計的現狀
2.1 單片機系統設計的發展
單片機的出現,主要是由于實際應用的需要,傳統的計算機受到體積上的限制,雖然在很多領域中得到了應用,但是在實際的工業生產中,要想對生產過程中的每個環節進行控制,必須將所有的環節通過特定的方式連接起來,然后設置一個中央服務器,通過硬件和軟件等方式,對生產進行實時的控制,只有這樣才能夠最大程度提高生產的效率。由此可以看出,單片機系統的發展,可以分成硬件和軟件兩個部分,而這兩個部分都受到計算機技術的影響,尤其是軟件方面,在初期使用機器語言進行編程時,還沒有單片機的出現,而匯編等低級語言使用,單片機程序的編寫,也采用這些低級語言,隨著計算機軟件技術的發展,逐漸的出現了C語言等高級語言,相應的單片機系統設計,也開始使用這些高級語言,極大的提高了軟件編寫的效率。單片機系統硬件的發展,由于其出現和發展都在西方發達國家,而且由于社會和經濟的體制不同,這些國家對我國一直存在技術上的封鎖,因此我國很難接觸到先進的單片機系統知識,在很大程度上影響了我國單片機技術的發展,目前使用的單片機設備,都是國外公司生產的,而且一些最新的單片機,對我國還存在進口的限制。
2.2 單片機系統設計中存在的問題
單片機從出現開始,到現在已經使用了多年,在應用的過程中,其自身的理論在不斷的完善,通過單片機系統的使用,可以輕松的實現工業生產的自動化,進而提高生產的效率,正是由于單片機系統的這個特點,使得每個企業都希望能夠通過這樣的方式,來提高自身的生產效率,但是在實際應用的過程中,不同公司加工的產品不同,生產設備也存在一定的差異,如果使用同樣的單片機系統,顯然無法最大程度的提高生產效率。因此現在單片機系統的使用,都會根據實際的需求,對單片機系統的功能,進行針對性的設計,但是通過實際的調查發現,目前單片機系統設計中,還存在著一些問題,使得設計的系統不是很完善,在實際使用的過程中,經常會出現一些漏洞,影響產品的加工效率,由于單片機系統設計可以分成軟件和硬件兩個部分,因此對系統設計存在的問題,也可以從這兩個方面進行分析。首先就是硬件性能不合格,在設計完實際的電路后,對各個元器件的性能,都有具體的要求,如果這些器件的性能達不到相應的指標,那么電路顯然就無法正常的運行,其次就是軟件設計的不完善,由于軟件自身的特殊性,無法編寫出完美的程序,程序自身越復雜,存在的漏洞也就越多,如果在程序編寫完成之后,沒有經過科學的測試,那么在應用時,就可能會出現問題。
3 基于嵌入式架構的單片機系統設計分析
3.1 基于嵌入式架構的單片機系統硬件設計
在單片機出現的早期,由于還沒有形成嵌入式架構的概念,因此在實際的系統設計中,而且單片機系統的使用,都是對現有的生產線進行改進,通過在生產設備上增加一些線路,然后用單片機對其進行控制,在這種模式下,硬件設備的選擇,主要是根據環境來進行,對硬件設備的體積要求比較嚴格。隨著硬件設備的發展,現在生產單片機的公司有很多,可以實現同樣功能的元器件有很多,而自動化技術的出現,使得生產線在設計的過程中,會根據控制的需求,進行相應的變化,這種單片機系統使用方式上的轉變,極大的促進了其應用的發展,為了達到更高的控制效率,人們將單片機放到生產線的每個環節中,然后將這些單片機連接到一個服務器上,就能夠實現對生產的全面控制。現在單片機系統設計中,首先進行的就是硬件上的設計,通常情況下,會根據生產的實際情況,對控制的功能進行需求分析,單片機系統硬件的設計,會和生產線的硬件設計同步進行,如果控制系統的硬件出現問題,可以根據需要,對生產線進行一定的修改。
3.2 基于嵌入式架構的單片機系統軟件設計
嵌入式系統與傳統的應用方式相比,最明顯的特點就是多了輔助設備,如以往應用計算機的過程中,都是計算機的單獨使用,人們直接利用計算機來處理一些問題,或者利用計算機來控制某些設備的工作,沒有任何的輔助設備,而嵌入式架構下,需要借助單片機等設備,如一條生產線通常包括多個加工工藝,如果采用計算機的統一控制,就無法實現對每個環節的單獨控制,而利用單片機系統,在每個加工環節中,都嵌入一個單片機,然后將這些單片機連接到一個計算機服務器中,就可以實現局部的控制。而要想完成這個過程,就要通過相應的軟件功能,對于同樣的單片機系統,如果根據實際應用的需要,設計不同的程序,能夠實現不同的控制功能,由此可以看出,軟件設計是單片機系統工作的核心。
4 結束語
作為以計算機為基礎的技術,嵌入式架構的發展,很大程度上受到計算機技術的影響,如在計算機剛出現時,由于其性能比較,甚至還不如現在的電子計算器,因此實際的應用很少,只是在實驗室中進行科研使用,但是人們從計算機的特點能夠看出,隨著技術的進步,將來計算機一定會得到普及應用。在這種背景下,很多專家和學者對計算機進行了研究,通過大量的實踐,極大的推動了計算機的發展,于是計算機越來越多的用來處理實際問題,為了提高控制的效率,人們對程序進行了完善,經過全文的分析可以知道,嵌入式架構和單片機的出現,都是由于實際應用的需要,而單片機在實際應用的過程中,還存在很多問題,如果能夠采用嵌入式架構,那么就能夠極大的提高單片機系統的使用效果。
參考文獻:
[1] 金玉濤,馬軍勇.基于80C52的三相可控整流電路觸發脈沖的實現[J].河南教育學院學報:自然科學版,2007(3):37-39.
[2] 何兵.基于MCS-51單片機的步進電機正反轉控制實現[J].瀘州職業技術學院學報,2008(1):56-59.
中圖分類號:TP274 文獻標識碼:A 文章編號:1007-9416(2016)04-0000-00
網絡控制系統并不僅僅為一個進行數據傳輸的通信系統,更是一個利用網絡來實現控制功能的自控系統,在滿足數據傳輸的基礎上,還需要通過所傳輸數據與指令,來完成各項計算、操作以及控制等功能。網絡控制系統設計具有較高的難度,而嵌入式網絡控制系統的設計,必須要明確系統設計需求,從整體上確定系統構架,然后以實現各項功能為目的完成設計。
1嵌入式Linux操作系統分析
對嵌入式Linux操作系統進行分析,可以確定其具有多項特點如具有高效可裁剪微小內核、開放源代碼,且可支持多種硬件運行,具有優秀的網絡功能,操作運行更安全可靠。Linux操作系統內核最小可以達到134KB,運行時產生的消耗非常少,并且資源運用具有很高的可靠性與穩定性。在實際應用中其可以支持多種CPU與硬件平臺運行,并且可以無故障運行多年,現在已經被廣泛的應用到數據中心[1]。另外,嵌入式Linux操作系統在網絡應用方面具有良好的效果,可以向TCP/IP協議提供可靠的支持,以及可以支持以太網、令牌網、無線網絡以及光纖等。
2嵌入式網絡控制系統設計需求分析
2.1 服務器可行性
主要包括兩個方面,即應用可行性與技術可行性。隨著計算機網絡技術的快速發展,以太網現在已經被廣泛的應用到生活工作中,嵌入式技術在網絡產品中的應用具有廣闊的發展前景。就嵌入式技術與以太網技術連接進行分析,勢必會推動嵌入式設備遠程控制與管理效果的發展。
2.2數據采集功能
嵌入式網絡控制服務器可以通過以太網來滿足現場數據采集的要求,以太網選擇用UDP協議,則應保證其能夠按照指定數據通信協議,對現場數據進行采集與分析,且還應實現與數據節點的連接,并保證通信鏈路的正常運行。另外,嵌入式網絡的設計,還應保證數據的有效性,對于未按照指定通信協議祖幀傳送的數據,應將其丟棄。
2.3 數據存儲功能
應建立指定需求數據庫以及數據庫表,且此創建工作只有在嵌入式網絡控制服務器相關功能運行前完成,并確定數據庫能夠穩定運行。嵌入式網絡控制系統數據存儲功能的實現,還需要保證數據的完整性,確保收集到的數據不會被丟失。在對設備節點所發數據接收后,及時對數據進行存儲,并且要做好數據采集相關信息的記錄。
3嵌入式網絡控制系統設計方式
3.1 系統結構設計
嵌入式網絡控制系統的設計,其中服務器通過HTTP協議與Web瀏覽器實現信息交互,并提供設備控制頁面與數據查詢頁面。并且嵌入式網絡控制服務器還可以支持多個Web瀏覽器訪問與數據同步,并對系統用戶進行設限,提高系統運行安全性。系統控制服務器需要滿足四項功能,即實時采集網絡節點數據、遠程控制設備節點、Web瀏覽器用戶配置與動態采集和顯示以及數據庫存儲。為實現各項目功能,需要進行模塊設計,且利用多線程技術來對應各功能模塊,接受并處理各項業務,如圖1所示。
3.2 模塊功能設計
3.2.1主模塊設計
(1)數據變量初始化。執行主函數時,需要對部分重要數據進行初始化處理,如服務端與網絡節點端套接字描述符、網絡地址結構等變量、程序運行狀態標志位等。(2)設備節點表緩存。設備節點表緩存為嵌入式網絡控制系統服務器中關鍵的全局變量,其中緩存主要存放設備節點實時采集的數據。(3)線程池初始化。能夠對線程池進行初始化處理,其中包括內存設置、線程創建以及線程屬性設置等。
3.2.2網絡采集節點模塊
嵌入式網絡控制服務器與設備節點選擇利用UDP協議進行通信,因此在系統設計時,需要對線程建立UDP網絡,實現與各節點間的數據交換。
3.2.3通信模塊
積極嵌入式網絡控制服務器與Web界面通信模塊設計,兩部分主要通過Java Applet程序進行通信的線程,線程選擇用TCP協議進行通信,能夠提高程序運行的穩定性。其中,利用socket()函數建立TCP流式套接字描述符,bind()函數進行網絡地址結構綁定,以及listen()函數進行網絡監聽。
4結語
嵌入式網絡控制系統的設計,需要明確系統各功能模塊,以滿足實際應用需求為目的,建立系統結構并完成對所有模塊的設計。嵌入式系統現在已經有著廣泛的應用,在基于嵌入式技術進行網絡控制系統設計時,可以提高系統可靠性與適應性。
參考文獻
中圖分類號:TP273.5 文獻標識碼:A 文章編號:1674-7712 (2014) 12-0000-01
當前時代,科學技術快速發展,信息技術被應用于我們日常生活的各個方面。高科技為我們的生活帶來了無限的便利,目前采用高科技手段為人們提供一個安全的生活和工作環境。本文針對嵌入式系統在門禁卡的應用上進行研究,解決了傳統門禁卡很多的不便功能。為實現門禁卡自動、智能化管理提供建議,以此來對門禁卡功能與嵌入式系統軟件設計與實現相關問題進行研究[1]。
一、嵌入式門禁系統設計
(一)嵌入式系統設計介紹。隨著科學技術的快速發展,嵌入式門禁卡系統已經逐漸進入人們的生活,逐漸由傳統的門禁卡系統轉變為現代的生物特征識別技術門禁卡系統。嵌入式系統的門禁卡主要分為了圖像采集、自動照明、語音提示、申請功能、無人監測等具體功能實現[2]。其具體的架構如圖1所示。
圖1 門禁系統功能圖示
(二)系統硬件設計概述。如果要設計出完善的門禁系統,不僅需要軟件系統的支持,還需要硬件支撐,否則整個軟件系統難以實現。嵌入式多功能門禁系統其本質由嵌入式技術與圖像處理技術融合應用。其中嵌入式的硬件支撐硬件結構主要有照明控制、網絡接口、攝像頭、按鍵、CF卡、音頻接口、LVDS以及DDR2等。
二、嵌入式系統在門禁卡中的實現
(一)圖像采集實現。量化后的數字圖像信號和連續信號取樣的數字圖像信號是數字圖像處理的對象,當這些最原始的信號經過圖像處理后即可獲得可觀測的連續信號。對連續信號進行取樣其本質是將信號的空間離散化,而量化則是將離散后的圖像信號幅度上進行離散化,所以量化和取樣后的圖像信號應該是原始連續圖像信號。
對于視頻圖像的獲取方法通常有兩種,一是利用視頻捕捉卡中的SDK工具獲取,二是使用Video for Windows,這給視頻捕獲編程帶來了很大的福利,對視頻捕獲的靈活性有很大的提高。視頻數據的實時采集主要是調用AVICap32.dll來穿件一個AVICap窗口類,它給應用程序提供了一個簡單而方便的數據接口,使用戶能夠訪問音頻和視頻,并且還能在硬盤上對視頻捕獲進行控制,它在捕獲視頻的能力很強,可以直接訪問視頻緩沖區,也不生成中間文件,視頻捕獲的速度快,及時性高,也可以將視頻保存在設置好的文件夾中,整個視頻捕捉過程都可以實現控制[3]。
(二)自動照明實現。整個照明系統主要分為了兩個部分,照明系統通過發送指令給單片機實現對整個電路進行調整。整個照明系統分為控制部分和圖像亮度檢測部分,照明系統中的圖像檢測與電路照明具有很強的聯系。嵌入式軟件系統進行照明攝像控制時,通過采集信息的亮度,而其亮度與圖像的象素有關,將圖像做為一個二維圖像,橫坐標表示圖像各個像素點的灰度級r;縱坐標則表示弧度制出現的概率Pr(r);那么對于某一個灰度值ri的象素個數為ni。則概率密度為:Pr(r)= ; =1。
(三)語音提示實現。該系統運用的是ALC655音頻解碼器,Mic用于連接麥克風,Line用于錄制聲源的聲音,Audio_Out用于揚聲器或者耳機。本系統主要根據不用的命令來實現功能,通過調用不同文件得到不同的效果,根據不同情況播放不同的提示音。系統中的MFC附帶的音頻播放組可以有效的提高開發是速度,通過媒體控制接口API實現停止功能MCI提供了控制媒體接口的能力,對波形音頻設備、CD/視頻播放設備等媒體進行控制。系統對音頻的播放采用的是DirectX,作為低級應用程序的編程接口,在開發上降低難度。對于聲音,主要的API是DirectSound,具備播放、處理混音、錄音等功能,Microsoft DirectSound API為聲音的捕獲、播放、混音的處理、錄音提供了鏈接,DirectSound可以給多媒體提供直接訪問聲音設備、低延遲混合、硬件加速。
(四)申請功能實現。所謂的申請來訪功能主要門禁卡在進行檢測的時候如果遇到不相匹配者,則需要進行申請之后才能夠進入。系統通過語音告知模塊的主人,采取系統中斷方式來進行受訪申請。受訪者來進行訪問申請時,需要按下按鈕然后系統給予語音提示,并且顯示出來訪者的面貌,以此來進行判斷,決定通過或者拒絕。嵌入式軟件系統在門禁卡的顯示上將來訪者的信息顯示在LVDS屏幕桑,然后通過系統對來訪人員進行判斷[4]。
(五)無人監測功能實現。無人監測功能則是當受訪者進行訪問時,遇到公司無人的時候,由門禁卡系統提示訪問者內部無人,并且拍下來訪者的照片,發送到系統設定的郵箱之中。在此自動發送郵件的功能中,該系統主要采取以太網作為接口進行數據通訊,并且根據TCP/IP協議來發送報文,實現信息交換。
三、結束語
隨著科學技術的不斷發展,新型的軟件技術被應用到我們日常的生活之中,本文主要針對嵌入式系統在門禁卡中的應用情況,以及在系統設計過程中所占據的地位進行研究。實現嵌入式軟件系統在門禁卡中的應用探索,主要針對門禁卡的各項功能的設計與實現進行了詳盡的介紹,希望為采用嵌入式方法進行門禁卡開發的企業提供借鑒。
參考文獻:
[1]周海龍.嵌入式門禁系統的設計與實現[D].西安電子科技大學,2012.
1.背景
如今嵌入式系統在日常生活中扮演著越來越重要的角色。從消費電子產品到航天工業,從熱門的電子應用(如智能手機和平板電腦等)到相對不起眼的應用(如人造衛星等),嵌入式系統直接或間接地影響人們生活的方方面面。嵌入式系統的巨大潛力使得教育工作者對它的討論從來沒有停止過。世界無數的教育工作者提出了大量新穎和具有創造性的方法和理論,以促進嵌入式系統教育水平的提高,他們大都贊同嵌入式系統具有與實際應用緊密聯系的顯著特點。
嵌入式系統應用在一個廣闊的領域,如簡單的微控制應用、控制系統、分布式嵌入式控制、片上系統、網絡、嵌入式PC、關鍵系統、機器人、計算機設備、無線數據系統和信號處理。同時,一些交叉領域知識對于嵌入式系統設計者也同樣重要,如安全、可靠性、節能、軟件/系統工程、實時計算和人機交互等。
對于想成為合格嵌入式系統設計者的學生來說,他們希望能夠親手接觸這些嵌入式應用,因此設計一個高效的實驗系統非常重要。實驗平臺應該能聯系抽象的理論知識和實際應用,以幫助學生領會嵌入式系統的知識奧秘。
2.嵌入式系統實驗教學的特點
嵌入式系統實驗教學與其他課程實驗教學有兩個方面的不同:軟硬件高度結合、知識和技術更新速度快。嵌入式系統實驗教學的特點如圖1所示。
嵌入式系統實驗教學的第一個特點是軟硬件高度結合。一個完整的嵌入式系統需要在軟硬件基礎之上工作。在嵌入式實驗教學中,任何一個環節的缺失或弱化都是錯誤的。我們過去就犯過這方面的錯誤。嵌入式系統是清華大學計算機科學與技術系大四本科生的一門專業必修課。學生希望在課程結束后對嵌入式系統有一個完整的認識,但是發現在學習完這個僅有2個學分的課程后,依然無法設計出一個軟硬件兼備的完整嵌入式系統。因此,我們讓學生使用開源軟件工具設計諸如鼠標或鍵盤等設備的驅動程序,但是效果并不理想,岡為學生僅僅熟悉了他們所實驗的部分內容,而這些內容只是他們應該掌握內容的一小部分,這不僅是由于實驗任務的限制,還因為學牛無法接觸硬件層面的操作,無法全面領會嵌入式系統。
嵌入式系統實驗教學的另一個特點是嵌入式系統知識和技術更新速度快。在第1節我們曾提到過,緊跟實際應用是嵌入式實驗教學的一個關鍵元素。由于嵌入式系統技術日新月異,嵌入式實驗課程講述的知識和技能以及嵌入式實驗設備和組件都必須不斷發展。我們在對清華大學計算機科學與技術系學生的調查問卷中發現,對傳統嵌入式實驗平臺的主要批評是實驗設備和組件過于陳舊,實驗平臺與當前技術聯系不夠緊密,實驗內容缺乏吸引力。
綜上所述,設計一個高效的嵌入式實驗平臺必須考慮軟硬件結合和嵌入式技術飛速發展這兩個因素。
3.當代學生的特點
除了嵌入式實驗課程本身,學生是不可忽略的另一個關鍵因素。學生是實驗的參與者,他們對實驗的感受影響著實驗課程教學的成敗,但是我們發現傳統的實驗方法令當代學生逐漸失去學習興趣,這主要是因為學生一代一代地不斷發展與進步,而傳統的實驗方法卻多年不變。
文獻[2]指出當代學生與過去的學生有所不同:缺乏鉆研精神、缺乏耐心和依賴于軟件。當代學生的特點如圖2所示。
當代學生的第1個特點是缺乏鉆研精神絕大多數學生成長于用戶至上主義日益流行的社會環境。相對于基礎原理,他們更關注功能;相對于架構,他們更關注表象。簡而言之,當代學生中很少有人理解嵌入式系統的基本原理,另一方面,傳統的實驗平臺專門為演示和驗證書本中講述的原理而設計,因此學生漸漸地無法將實際應用與特別設計的實驗相聯系,產生的問題是如果學生無法預見所學知識的未來應用前景,就會將關注點轉移到其他方面。由此可見,將實驗平臺與時興技術相結合非常重要。
當代學生的第2個特點是缺乏耐心。生活節奏的日益加快和互聯網絡的日益普及,使得當代學生漸漸缺乏耐心。他們習慣在實驗開始后急于見到結果,就好像點擊鼠標后立刻能在屏幕上看見反應,但是在傳統的教學方法中,教學總是從對課程的全面描述分析開始。實踐證明這種描述很必要,它可以幫助學生全面了解課程的知識結構,但是這些內容有時會讓學生退卻,因為學生感覺課程非常抽象與枯燥。鑒于這些問題,新實驗平臺應該在嵌入式系統的第一堂課就引起學生的興趣,同時提供一個吸引人的“結果”。
當代學生的第3個特點是依賴于軟件。嵌入式系統的發展通常被認為是民眾賦予的。在某種程度上,這種發展是電子工程向更智能化發展的結果。然而,電子工程這種不可見的層面,通常被復雜的用戶界面和其他圖標所偽裝,使得大家將其歸功于計算機科學,而不是電子工程。許多大學并沒有意識到這個問題,而將大部分注意力放在嵌入式軟件設計,忽略硬件層次的介紹。這種在嵌入式系統教學中的錯誤關注導致出現“軟件比硬件更加重要”的錯誤認識。為了糾正這個偏見,我們應該重視硬件并將其引入嵌入式系統課程。
總之,為了設計一個高效的實驗平臺,當代學生的特點不容忽視。
4.設計嵌入式實驗平臺的原則
基于上述討論,我們提出嵌入式系統教學實驗平臺的幾項設計原則。
完整性:實驗平臺應該相對完整。學生不但能接觸軟件,而且能操作硬件。這個原則主要解決兩個問題:首先糾正學生偏重于軟件的錯誤;其次在第一節課就能吸引學生,告訴他們課程最后能夠建立一個基本的卻相對完整的系統。
開發性:實驗平臺應該能幫助學生自由地實現創新思想。實驗平臺在軟件和硬件上都應為學生預留足夠數量和種類的接口,使學生能夠以此為基礎構建自己的嵌入式系統。在實踐過程中,越來越多的基于實際應用的嵌入式系統由學生實現,同時學生的創造熱情也被激發出來。
從教學的角度看,實驗平臺應包含以下特點。
可升級性:平臺的軟硬件應該能分別擴展和升級,而無需對整個平臺進行修改。如第2節所述,嵌入式系統技術升級速度快,尤其是硬件設備。為了滿足經常升級的需要,可升級性原則應該被放在關鍵位置。
靈活性:實驗內容應該能根據課程的要求而裁剪,以便于實驗平臺的廣泛推廣。大多數定制的實驗平臺在靈活性上有所欠缺,其實驗內容無法增加或減少,而為了適應課程學時的變化不得不重新設計實驗。
為了達到上述目標,我們提出一個完整的概念模型。目標系統的概念模型如圖3所示。
這個概念模型由3個中間層和2個層組成。中間層包括主系統層、中間通道層和從系統層。層包括應用層和組件層。我們將解釋這個模型如何能實現前面提出的目標。
完整性:把中間3層看作一個整體,這個基本模型由一個典型嵌入式系統中的主要元素組成,從最頂層的應用層到最底層的功能組件層。學生可以接觸完整系統的每一個組件。
開放性:模型的最頂層和最底層向學生開放。實驗平臺的設計者將足夠多的軟硬件接口提供給學生,這些接口必須是完整的和用戶友好的。使用硬件接口,學生能夠通過連接所需的硬件模塊構建一個創新的嵌入式設備;使用軟件接口,學生可以方便地加載硬件模塊所需的軟件資源。
可升級性:實驗平臺設計應該模塊化和層次化,每一層為上一層提供上層接口,為下一層提供下層接口。每一層可獨立地進行擴展和升級,與相鄰層次的接口保持兼容。模型的中間層被設計為3層結構,這個靈感來自于Phidgets的設計,它能為實際設備的實現提供更多可能性。
靈活性:每個層次都能根據課程的重點而被加強或削弱,因此實驗內容可根據課程要求而變化。實驗課可被安排在兩層或更多層之上。基礎實驗要求學生建立一個基本的嵌入式系統,而在高級實驗中,學生能深入研究模型中的各個層,以實現創意設計。
1 引言
隨著經濟的發展和城市化速度的加快,汽車的數量每天都在以指數倍數遞增,同時交通事故也在與日遞增。智能交通系統是解決這一問題的關鍵措施之一,智能交通系統涵蓋了交通信息服務、交通管理、公共交通、車輛控制、貨運管理、緊急救援等等一系列內容。其中車牌識別系統是智能交通系統中一項很重要的內容,對它的研究可以維護我國交通的順暢和安全,對于車輛的自動化管理具有很重大的意義。本文通過對車牌識別系統的闡述和分析,研究和實現了一種基于嵌入式的車牌識別系統。
2 車牌識別系統的現狀
由于車輛的劇增,車牌識別系統具有很大的實用價值并且具有很遠大的意義。從上個世紀八十年代開始,人們就對車牌識別系統進行和關注和研究,車牌識別系統最主要的內容就是利用圖像處理技術對車牌的圖像進行識別和分析,提取出車牌的信息。現今,人們已經利用不同的方法實現了車牌識別,并且取得了很大的成就,但是軟件實現的成本相對較高。本文將車牌識別和嵌入式系統結合在一起,能夠有效的節省設計的成本,提高系統的性能。
3 車牌識別系統的構成
3.1 車牌識別系統的圖像識別
一個完整的車牌識別系統必須包括五個部分,分別是獲取圖像、信息預處理、定位車牌、分割字符、字符識別。
在采集車牌信息時,必須采集到完整的車牌圖樣,我們可以使用手機、攝像頭、相機等等電子產品來收集車牌圖片。當有車輛經過時,系統采集車輛的車牌信息并將車牌信息傳輸到電腦端。
在采集到車牌的信息時,我們需要定位我們需要的那一部分車牌信息,對它進行分割和讀取。在這里,對車牌定位的精度要求是很高的,這也關乎我們后期對圖片的處理結果。
車牌包含的信息是多個字符,想要對車牌進行識別,首先我們需要將車牌的多個字符進行分割處理。
字符分割技術將車牌的多個字符分割為單一字符,我們利用識別技術對字符進行識別。主要的識別技術有神經網絡法和模塊匹配法等。目前最重要的是必須提高系統的識別率。
3.2 車牌的底色檢測
車牌顏色不是單一的,所以在識別的過程中我們還需要對車牌的顏色予以區分。通過我們對車輛車牌的研究發現,車牌的底色一般為藍色或者黃色,而車牌上字符的顏色一般為白色或者是黑色。我們根據RGB模型對車牌的色進行檢測,通過檢測區域的像素點與RGB模型的關系我們就可以區分出檢測區域的顏色。因為車牌底色和字符顏色所在區域的位置和比例是不一樣的,我們可以根據各個顏色面積和位置的不同區分出底色和字符的顏色。
3.3 車牌字符分割
車牌分割就是將一連串的字符分割成單獨的一個一個的字符。車牌字符的分割在車牌識別系統中占據了很重要的地位。
字符的邊框區域對字符識別存在很大的影響,所以在字符分割中需要將多余的區域分割出去。本文中采用了字符分割算法對車牌的字符進行分割。字符分割算法是通過對圖形的掃描確定進入到字符區域的第一個像素點的坐標和出去圖像區域的第一個像素點的坐標,以這兩點的坐標確定字符的大致位置以及字符的高度。
我們采取同樣的方法確定字符的左右坐標和寬度。在確定了字符的高度和寬度之后,對字符進行分割。
3.4 車牌字符識別
我國的車牌字符是由24個英文字母、10個阿拉伯數字和各地的省會簡稱組成的。同時每一類的字符在車牌上都對應著不同的位置。所以我們將字符分為漢字、字母和數字三類進行區分。字符識別的方法有很多,本文采用的識別方法是神經網絡,通過構造一個三層的神經網絡對分割的字符進行識別。字符識別中對特征值的選取是非常重要的,特征值選取的好壞直接關系到識別的準確度。
4 車牌識別系統的硬件結構
車牌識別系統的主要工作流程就是對獲取車牌圖像,通過嵌入式系統對車牌圖像進行預處理、對圖像進行分割和識別。為了完成整個系統流程,系統硬件結構包括以下模塊,攝像頭、CPU、RAM、LCD顯示屏、各種網絡接口等等。其中攝像頭是用來捕捉圖像的,CPU是用來處理圖像信息的,RAM是用來存儲信息的,LCD顯示屏是用來顯示我們捕捉到的車牌圖片信息的,各種網絡接口是用來實現程序下載、在線監控等功能的。
5 總結
本文通過對車牌識別系統現狀的分析,發現現今車牌識別系統雖然發展較為成熟但是成本較為昂貴。所以本文在其基礎上提出了基于嵌入式的車牌識別系統,此系統能夠提高識別系統的識別性能和降低設計的成本。然后,文章從車牌識別系統的圖像識別、底色檢測、字符分割、字符識別四個方面論述了車牌識別系統的結構。最后,文章對車牌識別系統的硬件結構進行了介紹和分析。通過實驗表明,本文采用的基于嵌入式的車牌識別系統設計安全可靠,在提高字符識別正確率的同時還能提高字符識別的速度。這一方法的實現對車牌識別系統的研究具有很重大的意義。
參考文獻
[1]張洪濤,鄭浩,葉聲華.基于目標邊緣的圖象二值化方法研究[J].理論與實踐,2002(04):3-5.
[2]趙雪春,戚飛虎.基于彩色分割的車輛牌照自動識別技術[J].上海交通大學學報,1998,32(10):4-9.
[3]楊明,劉強,尹忠科,等.基于輪廓追蹤的字符識別特征提取[J].計算機工程與應用.
[4]張引,潘云鶴.工程圖紙自動輸入字符識別的二維隱性馬爾可夫模型方法[J].計算機輔助設計與圖形學報,1999,11(05):403-406.