前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的嵌入式設(shè)計(jì)系統(tǒng)主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞:嵌入式芯片;FPGA;人機(jī)交互界面
嵌入式芯片是當(dāng)前一些主流數(shù)碼設(shè)備的核心部件,也是嵌入式系統(tǒng)的硬件基礎(chǔ)。嵌入式系統(tǒng)是以應(yīng)用為中心,軟硬件可裁減的,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等綜合性嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。簡(jiǎn)單地說(shuō),嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件與硬件于一體,類似于PC中BIOS的工作方式,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn),特別適合于要求實(shí)時(shí)和多任務(wù)的體系。
嵌入式芯片主要包括FPGA芯片(Field Programmable Gate Array 現(xiàn)場(chǎng)可編程門陣列),MCS-51系列芯片等等。本文主要介紹面向嵌入式芯片的指令測(cè)試系統(tǒng)。
一、系統(tǒng)架構(gòu)
測(cè)試系統(tǒng)的主體是面向嵌入式芯片的人機(jī)交互界面。它為用戶提供了檢測(cè)芯片指令集的各種便捷操作。
為了更好的實(shí)現(xiàn)測(cè)試體系的各項(xiàng)功能,筆者在編寫程序時(shí),將測(cè)試系統(tǒng)人為的分成了幾個(gè)模塊。這些模塊之間有著非常緊密的聯(lián)系,每一步的實(shí)現(xiàn)都是下一步成功運(yùn)行的基礎(chǔ)。
測(cè)試體系的主體架構(gòu)主要分為五個(gè)部分:
(一)源代碼的輸入與保存
用戶可以通過(guò)編輯框輸入代碼,實(shí)現(xiàn)程序的編寫。此外系統(tǒng)還為用戶提供了編輯框的清空操作,并可以自動(dòng)將編寫的代碼保存為.asm文件。
(二)源文件的讀取與顯示
用戶可以將已經(jīng)編寫好的源文件讀入系統(tǒng),并對(duì)其進(jìn)行編輯。
(三)交叉編譯
系統(tǒng)對(duì)讀入的源文件進(jìn)行編譯,期間用戶可以自動(dòng)配編譯工具,編譯完成后系統(tǒng)將自動(dòng)報(bào)錯(cuò)。
(四)串口的輸入輸出
系統(tǒng)可以將用戶指定的二進(jìn)制文件送到串行口中,并發(fā)送至連接到PC端的8051芯片中。發(fā)送成功后,系統(tǒng)將顯示已經(jīng)發(fā)送的信息。
系統(tǒng)可以自動(dòng)接收來(lái)自串口的消息,并顯示在相應(yīng)的列表框中。
(五)程序運(yùn)行日志
系統(tǒng)在用戶運(yùn)行了測(cè)試體系之后,即程序的出口處,自動(dòng)生成程序的運(yùn)行日志,它為用戶顯示了程序運(yùn)行的各項(xiàng)參數(shù),例如程序運(yùn)行時(shí)間,串口狀態(tài)等。
此外系統(tǒng)為了使用戶可以更加方便自如的使用本測(cè)試框架,在每一部分的實(shí)現(xiàn)過(guò)程中,都充分考慮了軟件的靈活性,盡可能的讓用戶自主配置測(cè)試體系的各項(xiàng)參數(shù)。
二、系統(tǒng)設(shè)計(jì)
(一)整體性
作為嵌入式測(cè)試系統(tǒng)的人機(jī)交互界面,在其設(shè)計(jì)的過(guò)程中必然要形成一套完備的軟件體系,即保證程序運(yùn)行的整體性。這關(guān)系到整個(gè)測(cè)試系統(tǒng)的完整性和穩(wěn)定性。
源代碼輸入和源文件讀取部分主要是將指令集測(cè)試代碼導(dǎo)入到系統(tǒng)中。交叉編譯部分的工作是對(duì)導(dǎo)入系統(tǒng)的測(cè)試代碼進(jìn)行編譯處理,以便用戶對(duì)測(cè)試代碼進(jìn)行調(diào)試。串口檢測(cè)部分是將編譯通過(guò)的測(cè)試程序所生成的二進(jìn)制文件以8位字符串的形式送入串口,經(jīng)過(guò)開(kāi)發(fā)板的運(yùn)行以后,將結(jié)果通過(guò)串口輸出到指定的LCD顯示屏或PC上,從而驗(yàn)證測(cè)試程序的可執(zhí)行性。程序運(yùn)行日志是對(duì)整個(gè)程序運(yùn)行的效率和穩(wěn)定性向用戶提供的反饋信息。
(二)靈活性
在保證程序運(yùn)行的整體性的同時(shí),為了使測(cè)試體系的使用更加的方便,提高測(cè)試體系進(jìn)一步完善的空間,就必須保證各功能模塊的靈活性。在源代碼輸入和源文件讀取的部分,系統(tǒng)默認(rèn)的輸入程序是匯編程序,但用戶也可以輸入C程序,JAVA程序,XML程序等多種程序語(yǔ)言。同時(shí),在交叉編譯部分也可以通過(guò)調(diào)用不同的編譯器和鏈接器對(duì)這些程序編譯調(diào)試,這無(wú)形中將單一的面向嵌入式芯片的匯編編譯器擴(kuò)展為集C語(yǔ)言編譯器,JAVA語(yǔ)言編譯器和XML語(yǔ)言編譯器等多種編譯器于一體的集成編譯環(huán)境,從而實(shí)現(xiàn)強(qiáng)大的編譯功能。串口檢測(cè)部分為用戶提供串口參數(shù)的配置框,并支持串口信息的發(fā)送與接收,從而使測(cè)試體系具有了類似超級(jí)終端的串口通信功能,這也為用戶對(duì)串口操作提供了極大的方便。
三、結(jié)束語(yǔ)
作為當(dāng)前主流的數(shù)碼產(chǎn)品的關(guān)鍵部件,嵌入式芯片必然會(huì)在未來(lái)的IT市場(chǎng)上占有越來(lái)越重要的地位。本文所探討的嵌入式芯片測(cè)試系統(tǒng)正是基于這樣的考量,不但從源代碼的輸入與保存,源文件的讀取與顯示,交叉編譯,串口的輸入輸出和程序運(yùn)行日志這五個(gè)模塊來(lái)構(gòu)建測(cè)試系統(tǒng),而且還從程序設(shè)計(jì)的整體性和靈活性兩個(gè)方面,對(duì)該系統(tǒng)進(jìn)行了評(píng)測(cè)。未來(lái)的嵌入式系統(tǒng)和普通的計(jì)算機(jī)系統(tǒng)在微型化和小型化方面將會(huì)趨于一致,而測(cè)試系統(tǒng)也可以進(jìn)一步擴(kuò)展為對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)進(jìn)行相應(yīng)的檢測(cè)。希望測(cè)試系統(tǒng)能為嵌入式芯片的發(fā)展做出一定的貢獻(xiàn)。
參考文獻(xiàn):
[1]胡振華.VHDL與FPGA設(shè)計(jì)[M].北京:中國(guó)鐵道出版社,2003.
[2]陳榮,陳華.VHDL芯片設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2006.
[3]張大波,吳迪,郝軍.嵌入式系統(tǒng)原理設(shè)計(jì)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005.
關(guān)鍵詞:軟件測(cè)試控制系統(tǒng)嵌入式
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2012)05-0151-01
1、嵌入式系統(tǒng)的特點(diǎn)以及實(shí)現(xiàn)方法
嵌入式系統(tǒng)的主要特點(diǎn)如下:嵌入式系統(tǒng)的硬件和軟件的緊密結(jié)合,具有很強(qiáng)的依賴性之間的軟件和硬件,嵌入式系統(tǒng)的功能和性能通過(guò)軟件和硬件來(lái)實(shí)現(xiàn)。因此,在硬件平臺(tái)上的嵌入式軟件系統(tǒng)的測(cè)試。在硬件,嵌入式軟件系統(tǒng)測(cè)試。這是一個(gè)不同的主機(jī)平臺(tái)上的軟件,只能在電腦平臺(tái)的主機(jī)平臺(tái)軟件系統(tǒng)測(cè)試,不需要專門的硬件平臺(tái)測(cè)試。嵌入式系統(tǒng)的要求非??量痰臅r(shí)間。嵌入式系統(tǒng),實(shí)時(shí)控制系統(tǒng),為要求苛刻的實(shí)時(shí)場(chǎng)合。嵌入式系統(tǒng)的硬件資源有限,存儲(chǔ)容量和速度的嵌入式CPU和應(yīng)用環(huán)境的制約。
軟件測(cè)試的方法可以分為黑盒測(cè)試和白盒測(cè)試兩大類:黑盒測(cè)試是一種基于需求的測(cè)試,以驗(yàn)證測(cè)試軟件是否滿足軟件的需求。白盒是基于結(jié)構(gòu)的測(cè)試,軟件控制流測(cè)試包括語(yǔ)句覆蓋,分支覆蓋,等等和數(shù)據(jù)流測(cè)試。覆蓋測(cè)試原理是:測(cè)試軟件,測(cè)試工具的使用靜態(tài)分析,以確定代碼中的分支點(diǎn),并統(tǒng)一編號(hào),分配給每個(gè)分支點(diǎn)。計(jì)劃執(zhí)行的歷史信息和路徑,你可以從這份文件中,為了計(jì)算的代碼覆蓋率。嵌入式軟件與主機(jī)平臺(tái)上的軟件有不同的特點(diǎn),所以從主機(jī)平臺(tái)軟件測(cè)試,測(cè)試也明顯不同。
2、嵌入式系統(tǒng)的應(yīng)用
嵌入式系統(tǒng)為中心,基于計(jì)算機(jī)技術(shù),利用可定制的功能性,可靠性,成本,體積,功耗嚴(yán)格要求,設(shè)備專用計(jì)算機(jī)系統(tǒng)111硬件和軟件。它一般由嵌入式微處理器,硬件設(shè)備,嵌入式操作系統(tǒng)和用戶應(yīng)用程序,控制其他設(shè)備,監(jiān)事或管理由四部分。最典型的嵌入式系統(tǒng)的特點(diǎn)是與人民生活密切相關(guān)的,任何一個(gè)普通的人可能有各種使用嵌入式微處理器技術(shù)的電子產(chǎn)品,MP3,PDA等數(shù)字設(shè)備,數(shù)字家電,智能家電,地理信息系統(tǒng)的車輛。事實(shí)上,新的嵌入式設(shè)備的數(shù)量遠(yuǎn)遠(yuǎn)超過(guò)通用計(jì)算機(jī)。其硬件系統(tǒng)表現(xiàn)如右:
嵌入式操作系統(tǒng)和通用操作系統(tǒng)有許多功能,如可靠性,可削減,可擴(kuò)展性,實(shí)時(shí)等。前三嵌入式應(yīng)用環(huán)境的要求?!皩?shí)時(shí)”,以滿足系統(tǒng)內(nèi)容的實(shí)時(shí)性要求。通常在一些嵌入式操作系統(tǒng),通常被稱為“實(shí)時(shí)操作系統(tǒng),但它是操作系統(tǒng)的性能有一個(gè)更好的實(shí)時(shí)能力。在一個(gè)特定的嵌入式應(yīng)用系統(tǒng)中,沒(méi)有實(shí)時(shí)的結(jié)論。不同的嵌入式操作系統(tǒng),可以有不同的實(shí)時(shí)能力。嵌入式操作系統(tǒng)應(yīng)符合設(shè)計(jì)實(shí)時(shí)任務(wù)調(diào)度,運(yùn)行速度快,實(shí)時(shí)性能的內(nèi)容嵌入式操作系統(tǒng)的能力,可以更容易地實(shí)現(xiàn)實(shí)時(shí)的應(yīng)用程序。
3、應(yīng)用航天業(yè)的條件和發(fā)展
今天的軟件和硬件技術(shù)的發(fā)展,嵌入式系統(tǒng)被廣泛用于航空航天,國(guó)防,軍工,電子通訊等行業(yè),其中軟件變得越來(lái)越復(fù)雜。應(yīng)用嵌入式系統(tǒng)的特點(diǎn),這些地區(qū)往往是高安全性,關(guān)鍵任務(wù)系統(tǒng),軟件,小缺陷可能會(huì)嚴(yán)重威脅生命和國(guó)家安全的,巨大的天文財(cái)產(chǎn)損失。這使得它保證嵌入式軟件的質(zhì)量和可靠性變得至關(guān)重要。
4、航天業(yè)的應(yīng)用條件
嵌入式系統(tǒng)的任務(wù)有一定量的時(shí)間限制。據(jù)截止時(shí)間,實(shí)時(shí)系統(tǒng),實(shí)時(shí)被分為“硬實(shí)時(shí)時(shí)間”和“軟實(shí)時(shí)”??梢酝耆珴M足硬實(shí)時(shí)應(yīng)用的需求,否則,導(dǎo)致發(fā)生重大安全事故,甚至造成了生命和生態(tài)破壞。
可預(yù)見(jiàn)性是一個(gè)系統(tǒng),能夠?qū)崟r(shí)執(zhí)行任務(wù)的時(shí)間來(lái)判斷,以確定它是否能滿足任務(wù)的期限。在航空航天工業(yè)實(shí)時(shí)系統(tǒng)需要嚴(yán)格的時(shí)間限制,稱為實(shí)時(shí)系統(tǒng)的可預(yù)測(cè)性是一個(gè)重要的性能要求也至關(guān)重要。除了硬件延遲的可預(yù)見(jiàn)性,也需要軟件系統(tǒng)的可預(yù)測(cè)性,包括應(yīng)用程序的可預(yù)測(cè)性的響應(yīng)時(shí)間可預(yù)測(cè)的,也就是說(shuō),在有限的時(shí)間內(nèi)完成必要的工作;和操作系統(tǒng),即實(shí)際運(yùn)行時(shí)的開(kāi)銷時(shí)間原語(yǔ),調(diào)度功能應(yīng)范圍內(nèi),以確保應(yīng)用程序的執(zhí)行時(shí)間為界。
5、與外部環(huán)境的相互作用
航天業(yè)需要的外部環(huán)境是獨(dú)一無(wú)二的,這樣的外部環(huán)境是一個(gè)實(shí)時(shí)系統(tǒng)不可或缺的組成部分??臻g計(jì)算機(jī)子系統(tǒng)控制系統(tǒng),它必須在規(guī)定時(shí)間內(nèi)作出回應(yīng)外部請(qǐng)求。外部物理環(huán)境經(jīng)常指責(zé)子系統(tǒng),兩個(gè)互動(dòng),以形成一個(gè)完整的實(shí)時(shí)系統(tǒng)。為此,該系統(tǒng)需要一個(gè)靜態(tài)的分析,并保留資源和冗余配置,系統(tǒng)可以工作在最壞的情況下,或避免損失??煽啃砸殉蔀楹娇蘸教旃I(yè)的實(shí)時(shí)系統(tǒng)性能不可缺少的一個(gè)重要指標(biāo)來(lái)衡量。
6、結(jié)語(yǔ)
隨著嵌入式系統(tǒng)的廣泛使用,其實(shí)時(shí)性已經(jīng)吸引了越來(lái)越多的關(guān)注。實(shí)時(shí)嵌入式系統(tǒng)是一個(gè)綜合性的問(wèn)題,應(yīng)考慮在嵌入式系統(tǒng)設(shè)計(jì),硬件不僅是軟件的選擇也應(yīng)注意。在這些領(lǐng)域的嵌入式系統(tǒng)應(yīng)用的特點(diǎn),往往是高安全性,關(guān)鍵任務(wù)系統(tǒng),軟件,小缺陷可能會(huì)嚴(yán)重威脅生命和國(guó)家安全的一個(gè)巨大的天文數(shù)字的財(cái)產(chǎn)損失。這使得它變得至關(guān)重要,以確保嵌入式軟件的質(zhì)量和可靠性。
參考文獻(xiàn)
[1]謝東,李昌禧.基于LabVIEW的嵌入式軟件黑盒測(cè)試系統(tǒng)的研究[J].工業(yè)控制計(jì)算機(jī),2005年12期.
[2]楊順昆,劉斌,陸民燕.WindowsNT下幾種定時(shí)器的實(shí)現(xiàn)原理及性能比較[J].測(cè)控技術(shù),2002年12期.
[3]崔小樂(lè),劉斌,鐘德明,阮鐮,高小鵬.實(shí)時(shí)嵌入式軟件仿真測(cè)試平臺(tái)的體系結(jié)構(gòu)設(shè)計(jì)[J].測(cè)控技術(shù),2003年07期.
[4]崔小樂(lè),劉斌,楊順昆,阮鐮.嵌入式軟件仿真測(cè)試平臺(tái)的建模環(huán)境設(shè)計(jì)[J].測(cè)控技術(shù),2004年02期.
關(guān)鍵詞:嵌入式;系統(tǒng)設(shè)計(jì);低功耗技術(shù)
一、硬件的低功耗設(shè)計(jì)
1、硬件電路器件
程序編寫后實(shí)現(xiàn)功能需要硬件電路的參與,因此硬件部分是電路設(shè)計(jì)的重點(diǎn),也關(guān)系到嵌入式模塊功能是否能夠?qū)崿F(xiàn)。電路中的電子元器件如果設(shè)計(jì)不合理或者焊接誤差,會(huì)導(dǎo)致使用階段斷連情況發(fā)生,目前多用集成技術(shù)來(lái)解決這些耗能隱患。CMOS技術(shù)應(yīng)用后使硬件電路的連接形式更合理,控制模塊運(yùn)轉(zhuǎn)階段的能源損耗量被控制在了標(biāo)準(zhǔn)范圍內(nèi),流經(jīng)電流如果出現(xiàn)異常變化,會(huì)調(diào)整穩(wěn)定后再流入到電路中。由于現(xiàn)在絕大部分電路均采用集成電路CMOS工藝技術(shù),這與以前的TTL工藝相比,本身就已經(jīng)起到了降低電子元器件和整體系統(tǒng)功耗的作用,因此,應(yīng)該繼續(xù)多采用CMOS集成電路工藝技術(shù)。另外,由于采用CMOS集成工藝技術(shù),其電路靜態(tài)功耗很?。珊雎圆挥?jì)),而動(dòng)態(tài)功耗較大,因?yàn)閯?dòng)態(tài)功耗是指電路高低電平翻轉(zhuǎn)時(shí)產(chǎn)生的功耗,在電路高低電平翻轉(zhuǎn)跳變沿期間,電流很大,存在較大功耗,所以,降低硬件電路功耗主要是降低電路動(dòng)態(tài)功耗。
2、低功耗器件的選用
實(shí)現(xiàn)低功耗還要對(duì)電子器件進(jìn)行挑選,對(duì)比不同類型元器件的節(jié)能指標(biāo),低功率環(huán)境下對(duì)器件的損害程度更小,在安全使用年限內(nèi)也不會(huì)發(fā)生功率損耗過(guò)大的現(xiàn)象。嵌入式技術(shù)中硬件部分設(shè)計(jì)與軟件程序編寫都同等重要,器件選擇時(shí)如果無(wú)法確定標(biāo)準(zhǔn),可以采用試驗(yàn)的方法來(lái)幫助計(jì)算功率損耗情況,對(duì)比階段也更容易進(jìn)行,在這樣的環(huán)境下,嵌入式技術(shù)應(yīng)用才能達(dá)到預(yù)期的目標(biāo)。完成同樣的功能,電路的實(shí)現(xiàn)形式有多種。例如,盡可能地將嵌入式系統(tǒng)的內(nèi)部存儲(chǔ)器RAM轉(zhuǎn)換為外部的閃存FLASH,因?yàn)樵谕瑯訔l件下,讀內(nèi)部RAM比讀外部FLASH會(huì)帶來(lái)更大的功耗。也可以利用分立元件、小規(guī)模集成電路,大規(guī)模集成電路甚至單片實(shí)現(xiàn)。通常使用的元器件數(shù)量越少,系統(tǒng)的功耗越低。因此,應(yīng)盡量使用集成度高的器件,以減少電路中使用元件的個(gè)數(shù),減少整機(jī)的功耗。
3、微處理器的選擇
微處理器能夠起到對(duì)治理程序控制的發(fā)現(xiàn)不合理現(xiàn)象也要及時(shí)采取調(diào)控方法,處理器運(yùn)行階段損耗的功率比較大,也是節(jié)能設(shè)計(jì)期間重點(diǎn)優(yōu)化的部分。選擇時(shí)首先要判斷功能是否能夠達(dá)到標(biāo)準(zhǔn),在此前提下進(jìn)行后續(xù)損耗的對(duì)比分析。要有明確的額定功率,這樣在損耗控制時(shí)技術(shù)應(yīng)用才更順利,技術(shù)應(yīng)用形成并不是固定的,可以根據(jù)實(shí)際使用需求對(duì)技術(shù)方法進(jìn)行組合應(yīng)用,將損耗降至最低。僅消耗少部分電能便能夠?qū)崿F(xiàn)系統(tǒng)的高效運(yùn)行,功能實(shí)現(xiàn)的流程也更合理,是嵌入式設(shè)計(jì)時(shí)首要遵從的標(biāo)準(zhǔn)。并且高效率的處理器都提供有多種時(shí)鐘頻率和工作電壓的選擇,以便于最大限度地節(jié)約功耗。此外,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),在工作電壓相差不大和系統(tǒng)處理能力許可的情況下,還應(yīng)盡可能降低微處理器的時(shí)鐘頻率,現(xiàn)以起到節(jié)能的作用。以SAMSUNGS3C2410(32位ARM920T內(nèi)核)為例,它就提供了四種工作模式:正常模式、空閑模式、休眠模式、關(guān)機(jī)模式。
二、軟件的低功耗設(shè)計(jì)
1、優(yōu)化編譯器
控制程序在運(yùn)行使用過(guò)程中,要定期檢驗(yàn),觀察控制功能是否高效實(shí)現(xiàn),并對(duì)使用中常常出現(xiàn)誤差的部分進(jìn)行調(diào)節(jié)控制,編譯器模塊是實(shí)現(xiàn)調(diào)控功能的部分,在此過(guò)程中,會(huì)涉及到頻繁的計(jì)劃變動(dòng),經(jīng)過(guò)多次試驗(yàn)后最終確定的編譯模式應(yīng)用后才不會(huì)出現(xiàn)誤差。但是,在某些情況下,這樣會(huì)影響程序的執(zhí)行性能。編譯器的有效性以及它所生成的代碼效率,可以與匯編語(yǔ)言代碼相比較得出。事實(shí)上,在一個(gè)程序中,每一條指令都將激活微處理器中的某些硬件部件,因此,正確選擇指令可以降低處理器的功耗。通過(guò)優(yōu)化編譯器可以進(jìn)行有效的軟件低功率化,從而生成效率更高的代碼,以降低嵌入式設(shè)備的功耗。
2、采用軟件代替硬件電路
軟件與硬件相比較功能更加豐富,也能在工作任務(wù)開(kāi)展階段形成更穩(wěn)定的控制體系。因此采用軟件來(lái)對(duì)復(fù)雜的電路進(jìn)行更換,才是更高效合理的,使用功能不受到影響的前提下達(dá)到降低功耗的目標(biāo),這樣的處理形式符合嵌入式設(shè)計(jì)標(biāo)準(zhǔn)。一般的硬件電路都存在功耗,所以,可以把具有數(shù)據(jù)運(yùn)算處理功能的硬件電路用軟件來(lái)實(shí)現(xiàn),例如濾波電路,指數(shù)、對(duì)數(shù)運(yùn)算電路、抗干擾電路等。但是,任何事情都不是絕對(duì)的,部分硬件電路到底能否通過(guò)軟件來(lái)實(shí)現(xiàn),此外,還要考慮處理大量的軟件數(shù)據(jù),需要提高處理器的性能和功耗等,同時(shí)要考慮這是否合算。
3、中斷驅(qū)動(dòng)技術(shù)設(shè)計(jì)
把整個(gè)嵌入式系統(tǒng)軟件設(shè)計(jì)成多個(gè)事件來(lái)處理,而在系統(tǒng)上電初始化時(shí),主程序只進(jìn)行系統(tǒng)的初始化(包括寄存器、外部設(shè)備等),初始化完成后,進(jìn)入低功耗狀態(tài),然后把CPU控制的設(shè)備都接到中斷輸入端上。當(dāng)外設(shè)發(fā)生了一個(gè)事件,即產(chǎn)生中斷信號(hào),使CPU退出節(jié)電狀態(tài)而進(jìn)入事件處理,事件處理完成后,繼續(xù)進(jìn)入節(jié)電狀態(tài)。在嵌入式程序設(shè)計(jì)時(shí),一個(gè)程序到底使用中斷方式還是查詢方式,對(duì)于一些簡(jiǎn)單的應(yīng)用并不那么重要,但在其低功耗特性上卻相去甚遠(yuǎn)。使用中斷方式,微控制器可以什么都不做,甚至可以進(jìn)入等待模式或停止模式;而在查詢方式下,微控制器必須不停地訪問(wèn)寄存器,這會(huì)帶來(lái)很多額外的功耗,所以,用軟件進(jìn)行設(shè)計(jì)時(shí),除非系統(tǒng)本身已要求采用查詢方式,否則應(yīng)盡可能采用中斷方式進(jìn)行編程。
4、定時(shí)器延時(shí)程序的采用
當(dāng)軟件設(shè)計(jì)中需要用到延時(shí)程序時(shí),設(shè)計(jì)人員應(yīng)多使用定時(shí)器延時(shí)方法來(lái)進(jìn)行設(shè)計(jì)。這是因?yàn)?,通常嵌入式處理器進(jìn)入待機(jī)模式后,CPU會(huì)停止工作,而定時(shí)器可以正常工作,由于定時(shí)器的功耗很低,故當(dāng)處理器調(diào)用延時(shí)程序后,嵌入式系統(tǒng)便可進(jìn)入待機(jī)模式,此時(shí)定時(shí)器可以繼續(xù)工作,定時(shí)時(shí)間一旦結(jié)束,即可喚醒CPU重新進(jìn)入工作,這樣不但降低了CPU功耗,還提高了CPU的工作效率。而如果采用查詢方式,則CPU會(huì)不斷地對(duì)系統(tǒng)進(jìn)行查詢,由于CPU時(shí)刻工作,這樣不但效率低下,同時(shí)處理器功耗也很大。
5、算法優(yōu)化
優(yōu)化算法多出現(xiàn)在嵌入式DSP中,采用大量現(xiàn)成的公式和計(jì)算方法,可以節(jié)省系統(tǒng)內(nèi)部運(yùn)算的時(shí)間,減少功耗;另外,在嵌入式系統(tǒng)允許的誤差情況下,也可以近似用比較簡(jiǎn)單的函數(shù)來(lái)取代復(fù)雜函數(shù)進(jìn)行運(yùn)算,從而減少功率消耗。
結(jié)語(yǔ):嵌入式系統(tǒng)的設(shè)計(jì)涉及到硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面,在實(shí)際系統(tǒng)應(yīng)用時(shí),低功耗的設(shè)計(jì)并非是單方面的因素,需要綜合考慮各種可能的原因、條件和狀態(tài),應(yīng)把硬件設(shè)計(jì)和軟件設(shè)計(jì)綜合起來(lái)進(jìn)行考慮,并對(duì)細(xì)節(jié)進(jìn)行認(rèn)真的分析,同時(shí)對(duì)多種可能的方案和方法進(jìn)行計(jì)算和總結(jié),這樣才可能取得較為滿意的效果,最終達(dá)到降低系統(tǒng)功耗的目的。
參考文獻(xiàn):
【關(guān)鍵詞】嵌入式 信息終端 通訊子系統(tǒng) 設(shè)計(jì) 實(shí)現(xiàn)
信息終端理論具有廣博的范疇,筆者則是側(cè)重PSTN網(wǎng)絡(luò)固化用戶來(lái)探究如何科學(xué)設(shè)計(jì)信息終端通訊子系統(tǒng)的。主體目標(biāo)就是打造一個(gè)通訊平臺(tái),借助這一平臺(tái)信息終端可以豐富信息服務(wù),增加服務(wù)項(xiàng)目與服務(wù)內(nèi)容,通過(guò)這一平臺(tái)信息所提供的通訊資源,業(yè)內(nèi)人士能夠發(fā)明更多新型服務(wù),打破傳統(tǒng)簡(jiǎn)單的普通電話語(yǔ)音服務(wù)的局限性,使用戶能夠享受到更多元化的服務(wù),滿足用戶的需求。
一、PSTN與嵌入式技術(shù)分析
(一)PSTN簡(jiǎn)單介紹
PSNT的全稱為:公共電話交換網(wǎng),主要是以語(yǔ)音服務(wù)為主的網(wǎng)絡(luò)系統(tǒng),在高端電信技術(shù)的支持下,網(wǎng)絡(luò)系統(tǒng)的絕大部分都達(dá)到了數(shù)字化高度,
當(dāng)前市場(chǎng)上對(duì)于PSTN用戶提供的服務(wù)多數(shù)帶有一定的局限性,而且所有的服務(wù)尚未被整理在同一個(gè)信息終端中,嵌入式技術(shù)作為一種時(shí)下流行的技術(shù),目前已經(jīng)被廣泛開(kāi)發(fā)與利用,將其應(yīng)用于PSTN能夠達(dá)到IP層的數(shù)據(jù)傳輸,這一技術(shù)具有更廣闊的功能與優(yōu)勢(shì)。
(二)嵌入式系統(tǒng)的簡(jiǎn)單介紹
嵌入式系統(tǒng)又被稱作:微處理器。這一系統(tǒng)目前被廣泛利用于多個(gè)領(lǐng)域。特別是將其應(yīng)用于PSTN系統(tǒng)上具有一定的可行性,具體體現(xiàn)在:1.嵌入式系統(tǒng)獲得飛快發(fā)展,具有功能全、體積小的特點(diǎn),促進(jìn)了微型信息系統(tǒng)的發(fā)展。2.對(duì)于PSTN在信號(hào)傳播過(guò)程中所用到的調(diào)制解調(diào)芯片,其協(xié)議具有高度的集成性,功能也更為健全,具有良好的開(kāi)發(fā)接口。3.由于嵌入式系統(tǒng)技術(shù)的持續(xù)發(fā)展進(jìn)步,將其同互聯(lián)網(wǎng)聯(lián)系起來(lái),有效地克服了internet 同計(jì)算機(jī)系統(tǒng)之間的矛盾,極大地降低了應(yīng)對(duì)與解決網(wǎng)絡(luò)協(xié)議時(shí)產(chǎn)生的負(fù)擔(dān),而且伴隨著嵌入式操作系統(tǒng)的引入,整個(gè)系統(tǒng)的功能擴(kuò)展性增強(qiáng),系統(tǒng)的穩(wěn)定性增強(qiáng),為用戶提供更為細(xì)致周到的服務(wù),服務(wù)項(xiàng)目也更加豐富。
二、嵌入式信息終端通訊子系統(tǒng)設(shè)計(jì)方法
(一)通訊子系統(tǒng)與嵌入式信息終端系統(tǒng)關(guān)系
信息終端中,應(yīng)用同服務(wù)是相互對(duì)應(yīng)的,通過(guò)設(shè)計(jì)來(lái)完善服務(wù),也就是說(shuō)要憑借系統(tǒng)所供應(yīng)的資源,參照服務(wù)特點(diǎn)來(lái)對(duì)應(yīng)策劃出應(yīng)用,在利用通訊子系統(tǒng)資源的條件下,應(yīng)用程序?qū)?yīng)提供各種服務(wù),應(yīng)該根據(jù)服務(wù)所需要的基本協(xié)議來(lái)對(duì)通訊子系統(tǒng)進(jìn)行設(shè)計(jì),充分發(fā)揮操作系統(tǒng)的作用,實(shí)現(xiàn)對(duì)終端通訊資源的管理,二者的關(guān)系圖如下所示:
以嵌入式系統(tǒng)為基礎(chǔ)構(gòu)建信息終端系統(tǒng)的通訊子系統(tǒng),需要引入嵌入式微處理器以及調(diào)制解調(diào)芯片。
(二)通訊子系統(tǒng)的設(shè)計(jì)方法:
通常情況,信息系統(tǒng)是從頂端向下來(lái)設(shè)計(jì)的。1、先明確客戶的服務(wù)需求,再來(lái)分析系統(tǒng)的工作流程,進(jìn)一步對(duì)系統(tǒng)的服務(wù)流程與結(jié)構(gòu)做出規(guī)劃,從而抉擇出功能模塊。2、對(duì)功能模塊進(jìn)行集中探究找出其內(nèi)部流程,在對(duì)內(nèi)部流程科學(xué)分析情況下,來(lái)決定針對(duì)硬件設(shè)備操作的底層模塊。3、對(duì)已經(jīng)選擇的硬件設(shè)備做出全面的總結(jié)與分析,確保底層模塊功能的發(fā)揮。
嵌入式信息終端系統(tǒng)的設(shè)計(jì)的核心所在就是要實(shí)現(xiàn)其應(yīng)用價(jià)值,所采用的設(shè)計(jì)方法也是直接針對(duì)于服務(wù),然而這些服務(wù)的實(shí)現(xiàn),則需要調(diào)動(dòng)通訊子系統(tǒng)功能模塊,而且必須有底層模塊做支撐。根據(jù)以上的分析可以看出:對(duì)信息終端通訊子系統(tǒng)的設(shè)計(jì)需要對(duì)服務(wù)做好分析,設(shè)計(jì)需要針對(duì)于服務(wù)來(lái)完成功能模塊的設(shè)計(jì),進(jìn)而根據(jù)功能模塊完成底層模塊的設(shè)計(jì)。
與此同時(shí),與子系統(tǒng)的設(shè)計(jì)類似,通訊子系統(tǒng)服務(wù)功能的實(shí)現(xiàn)也本著一樣的思路,然而,由于不同階段的預(yù)期目標(biāo)有所差異,需要針對(duì)服務(wù)展開(kāi)分析,明確在整個(gè)服務(wù)流程中,單個(gè)服務(wù)的詳細(xì)定位,其中針對(duì)于服務(wù)的功能模塊的設(shè)計(jì)就是要提供出與服務(wù)相對(duì)的功能模塊內(nèi)部程序;針對(duì)于功能模塊的底層模塊設(shè)計(jì)就是要通過(guò)參照通訊子系統(tǒng)中的信號(hào)底層模塊,達(dá)到對(duì)底層模塊的設(shè)計(jì),實(shí)質(zhì)上這其中無(wú)非是對(duì)設(shè)計(jì)的編輯與運(yùn)用。
(三)嵌入式信息終端通訊子系統(tǒng)設(shè)計(jì)的特點(diǎn)
在PSTN通訊子系統(tǒng)的設(shè)計(jì)方面已經(jīng)形成了多種方法,然而,幾乎所有的設(shè)計(jì)方案都是對(duì)應(yīng)某一特定服務(wù),其不足之處在于無(wú)法兼具新類型的服務(wù),就是說(shuō)不能夠更好地?cái)U(kuò)展服務(wù)項(xiàng)目與服務(wù)內(nèi)容,然而,對(duì)應(yīng)的嵌入式設(shè)計(jì)方案則有效地解決了這些問(wèn)題。這一設(shè)計(jì)方法能夠兼容新類型服務(wù)。
(四)嵌入式信息終端通訊子系統(tǒng)所能夠提供的服務(wù)類型
在嵌入式系統(tǒng)的有效支撐下,通訊子系統(tǒng)的服務(wù)類型更加多元化,這些服務(wù)類型也更具深刻的意義與典型性特征,以往的普通語(yǔ)音服務(wù)得以持續(xù),對(duì)應(yīng)又新增了一系列服務(wù)類型,那就是:固網(wǎng)短信服務(wù)、互聯(lián)網(wǎng)網(wǎng)絡(luò)服務(wù)以及遠(yuǎn)程控制服務(wù)等等,大大增加了服務(wù)類型,提高了對(duì)用戶的服務(wù)水平。
三、總結(jié)
嵌入式設(shè)計(jì)方法是一種科學(xué)有效的通訊子系統(tǒng)信息終端設(shè)計(jì)方法,這一設(shè)計(jì)方法在PSTN中的運(yùn)用,有效增加了信息服務(wù)項(xiàng)目,拓展了服務(wù)類型。
參考文獻(xiàn):
[1]梁衍學(xué) 基于DSP的VXI采集系統(tǒng)的研究與實(shí)現(xiàn)[學(xué)位論文].2003
[2]周建輝 6-PSS并聯(lián)機(jī)床實(shí)時(shí)數(shù)控系統(tǒng)應(yīng)用研究[學(xué)位論文].2003
關(guān)鍵詞: 嵌入式技術(shù); 無(wú)線傳感網(wǎng)絡(luò); 火災(zāi)檢測(cè); 時(shí)監(jiān)測(cè)
中圖分類號(hào): TN911.23?34; TP27 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)10?0168?04
Abstract: A fire detection system based on embedded technology is studied. The wireless technology and embedded technology are used to design the fire detection system. The system can collect the fire factor in real time, and uses the modes of wireless communication and route transmission to transmit the data to the processor, so as to generate a fire decision, and perform the early warning. The wireless communication method is adopted in Internet and mobile phone monitoring center to acquire the early warning information and environmental parameters timely. According to the monitored smoke, atmospheric pressure, temperature, relative humidity and other information, the environmental condition of the forest is analyzed comprehensively to forecast the fire effectively, and avoid the economic losses caused by forest fire. The experimental results show that the system has reached the expected target.
Keywords: embedded technology; wireless sensor network; fire detection; real?time monitoring
在特定環(huán)境以及人民活動(dòng)范圍逐漸提升的過(guò)程中我國(guó)的森林火災(zāi)事件頻頻出現(xiàn)。森林火災(zāi)具有危害性大以及難以預(yù)測(cè)的特性。由于森林火災(zāi)的危害性和普遍性以及森林資源的珍貴性使得森林防火的重要性越來(lái)越大,所以應(yīng)當(dāng)通過(guò)對(duì)高效精確技術(shù)手段的應(yīng)用來(lái)有效地預(yù)警和監(jiān)測(cè)森林火災(zāi)[1?2]。
通過(guò)對(duì)無(wú)線技術(shù)和嵌入式技術(shù)的應(yīng)用所設(shè)計(jì)的火災(zāi)檢測(cè)系統(tǒng),能夠?qū)崟r(shí)地采集火災(zāi)因子,采用無(wú)線通信和路由傳輸?shù)姆绞綄?shù)據(jù)傳輸?shù)教幚砥髦?,進(jìn)而生成火災(zāi)決策和預(yù)警?;ヂ?lián)網(wǎng)以及手機(jī)監(jiān)測(cè)中心可以采用無(wú)線通信方法及時(shí)地獲取預(yù)警信息和環(huán)境參數(shù),根據(jù)所監(jiān)測(cè)的煙塵、大氣壓、溫度以及相對(duì)濕度等信息來(lái)綜合分析森林環(huán)境狀況,進(jìn)而有效地預(yù)報(bào)火災(zāi),避免森林火災(zāi)產(chǎn)生較大的經(jīng)濟(jì)損失[3?4]。
1 火災(zāi)檢測(cè)系統(tǒng)總體設(shè)計(jì)
森林具有數(shù)目分布隨機(jī)、面積廣以及距離短的特點(diǎn),因此本文以ZigBee技術(shù)為基礎(chǔ)設(shè)計(jì)了一種無(wú)線傳感器網(wǎng)絡(luò)來(lái)監(jiān)控森林火災(zāi)。作為一種自組織、低復(fù)雜度、近距離、低功耗以及低成本的無(wú)線組網(wǎng)通信技術(shù),ZigBee技術(shù)具有有線系統(tǒng)所不具有的優(yōu)勢(shì),能夠以較為靈活的方式進(jìn)行安裝和布置,同時(shí)具有較高的可靠性、較低的能耗以及低廉的安裝費(fèi)用等優(yōu)勢(shì),因此在實(shí)時(shí)監(jiān)測(cè)森林火災(zāi)的過(guò)程中能夠發(fā)揮非常重要的作用[5?6]。
系統(tǒng)的整體結(jié)構(gòu)框圖如圖1所示。外部通信網(wǎng)絡(luò)、數(shù)據(jù)采集網(wǎng)絡(luò)、終端設(shè)計(jì)以及主控制器是本文所設(shè)計(jì)火災(zāi)檢測(cè)系統(tǒng)的主要組成部分。其中終端節(jié)點(diǎn)、路由器以及協(xié)調(diào)器是無(wú)線數(shù)據(jù)采集網(wǎng)絡(luò)的三種功能節(jié)點(diǎn),通過(guò)自組織這三種功能節(jié)點(diǎn)能夠組成無(wú)線通信網(wǎng)絡(luò),各種傳感器組成了終端設(shè)備,在風(fēng)力、煙霧濃度以及溫度等森林環(huán)境參數(shù)監(jiān)測(cè)的過(guò)程中能夠發(fā)揮非常重要的作用。
主控制器,也就是嵌入式網(wǎng)關(guān),該部分為系統(tǒng)的主要控制部分,需要將系統(tǒng)外部網(wǎng)絡(luò)與內(nèi)部網(wǎng)絡(luò)連接起來(lái);另外利用ZigBee無(wú)線網(wǎng)絡(luò)能夠?qū)崟r(shí)地監(jiān)測(cè)智能終端設(shè)備[7]。內(nèi)部網(wǎng)路,也就是無(wú)線數(shù)據(jù)采集網(wǎng)絡(luò),多個(gè) CC2530 模塊組成了這種網(wǎng)絡(luò)。模塊中包含終端節(jié)點(diǎn)、路由器以及解調(diào)器三種類型的節(jié)點(diǎn),通過(guò)ZigBee無(wú)線網(wǎng)絡(luò)能夠?qū)⒔K端節(jié)點(diǎn)上所采集的數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器,然后利用UART接口協(xié)調(diào)器能夠?qū)?shù)據(jù)傳輸?shù)角度胧骄W(wǎng)關(guān)中。傳感器主要包含風(fēng)力傳感器、氣體傳感器以及溫濕度傳感器等,主要在內(nèi)部網(wǎng)絡(luò)的終端節(jié)點(diǎn)上進(jìn)行安裝,主要對(duì)目標(biāo)區(qū)域的環(huán)境參數(shù)進(jìn)行采集。
外部網(wǎng)絡(luò), Internet,用戶通過(guò)外部網(wǎng)絡(luò)能夠遠(yuǎn)程訪問(wèn)整個(gè)系統(tǒng)[8]。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 嵌入式模塊硬件設(shè)計(jì)
作為一種中央處理器架構(gòu),ARM架構(gòu)和PC 常用的X86比較類似,這種架構(gòu)具有穩(wěn)定性高、效率高、成本低以及功耗低的特點(diǎn),因此在嵌入式設(shè)備的應(yīng)用非常廣泛[9]。本文在設(shè)計(jì)的過(guò)程中對(duì)S3C2440A 處理器進(jìn)行了應(yīng)用。
(1) 供電電路。本文設(shè)計(jì)的嵌入式系統(tǒng)中使用 5 V,3.3 V及1.25 V 三種電壓供電。5 V和3.3 V電壓為存儲(chǔ)器和外部設(shè)備供電,1.25 V電壓為S3C2440A 處理器的內(nèi)核供電。3.3 V電壓由5 V電壓經(jīng)過(guò)AS1117AR?3.3芯片轉(zhuǎn)換,1.25 V電壓由3.3 V電壓經(jīng)過(guò)MAX8860EUA 芯片轉(zhuǎn)換得來(lái)[10]。供電電路如圖2所示。
(2) USB 接口電路。本文使用4線制的USB連接方式,USB 的接口電路如圖3所示,D+,D-端用于傳輸數(shù)據(jù)。
(3) 以太網(wǎng)電路。本文研究的嵌入式檢測(cè)系統(tǒng)中使用DM9000 網(wǎng)卡芯片作為以太網(wǎng)連接,使用H1102 網(wǎng)絡(luò)變壓器作為電氣隔離以及保護(hù)芯片之用[11]。
2.2 無(wú)線通信模塊硬件設(shè)計(jì)
本文設(shè)計(jì)火災(zāi)檢測(cè)系統(tǒng)的無(wú)線通信模塊使用TI 公司的 CC2530 芯片作為射頻芯片。
(1) 主控器最小系統(tǒng)。最小系統(tǒng)電路是實(shí)現(xiàn)主控器基本功能的基礎(chǔ)電路,如圖4所示[12]。
2.3 傳感采集模塊硬件設(shè)計(jì)
(1) 溫濕度傳感器。本系統(tǒng)采用SHT10數(shù)字式溫濕度傳感器芯片對(duì)檢測(cè)區(qū)域內(nèi)的環(huán)境溫濕度進(jìn)行實(shí)時(shí)監(jiān)測(cè),該芯片抗干擾能力突出、功耗低、體積較小。SHT10數(shù)字式溫濕度傳感器芯片與CC2530主控模塊連接見(jiàn)圖6。
(2) 煙霧濃度傳感器 MQ?2。本系統(tǒng)采用MQ?2 煙霧濃度傳感器對(duì)檢測(cè)區(qū)域內(nèi)的環(huán)境煙霧濃度進(jìn)行實(shí)時(shí)監(jiān)測(cè),該芯片抗干擾能力突出、對(duì)烷類氣體檢測(cè)效果最優(yōu)。其工作電壓為DC 5 V,檢測(cè)范圍在100~1 000 ppm。MQ?2 煙霧濃度傳感器與CC2530主控模塊連接如圖7所示,傳感器需要經(jīng)過(guò)LM358 放大處理后與CC2530進(jìn)行連接[13]。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 采集節(jié)點(diǎn)的程序設(shè)計(jì)
在接通電源以后采集節(jié)點(diǎn)首先初始化整個(gè)系統(tǒng)。完成初始化以后就開(kāi)始對(duì)節(jié)點(diǎn)自身附近的可用信道進(jìn)行掃描,如果有可用信道就通過(guò)發(fā)送入網(wǎng)請(qǐng)求來(lái)進(jìn)入到網(wǎng)絡(luò)中。根據(jù)前面的描述,森林檢測(cè)環(huán)境非常復(fù)雜,只能采用池供電的方法對(duì)實(shí)際森林環(huán)境進(jìn)行檢測(cè),因此節(jié)點(diǎn)的能量會(huì)受到一定的限制。
為了減少節(jié)點(diǎn)采集過(guò)程中所耗費(fèi)的能量,在完成初始化后節(jié)點(diǎn)就進(jìn)入到休眠狀態(tài),利用定時(shí)采集數(shù)據(jù)的方法能夠喚醒采集節(jié)點(diǎn)。當(dāng)達(dá)到定時(shí)時(shí)間以后就會(huì)喚醒節(jié)點(diǎn),根據(jù)所設(shè)置的定時(shí)周期就可以周期性地采集森林環(huán)境數(shù)據(jù),然后直接或者間接地將采集到的數(shù)據(jù)傳輸?shù)骄W(wǎng)關(guān)節(jié)點(diǎn)中,就能夠不間斷地監(jiān)測(cè)森林環(huán)境,還能夠保證實(shí)時(shí)和高效地傳輸網(wǎng)關(guān)節(jié)點(diǎn)和采集節(jié)點(diǎn)之間的數(shù)據(jù)。另外還能夠有效地避免節(jié)點(diǎn)消耗過(guò)多的能量,對(duì)于整個(gè)系統(tǒng)生命周期的延長(zhǎng)有非常重要的作用。采集節(jié)點(diǎn)的程序流程如圖8所示[14]。
3.2 路由節(jié)點(diǎn)的程序設(shè)計(jì)
在對(duì)路由節(jié)點(diǎn)程序進(jìn)行設(shè)計(jì)的過(guò)程中,應(yīng)當(dāng)保證路由轉(zhuǎn)發(fā)數(shù)據(jù)功能的實(shí)現(xiàn)。在申請(qǐng)進(jìn)入網(wǎng)絡(luò)以后路由節(jié)點(diǎn)需要根據(jù)所設(shè)置的周期對(duì)森林環(huán)境數(shù)據(jù)進(jìn)行不間斷的采集,另外還要對(duì)其他路由節(jié)點(diǎn)和采集節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)行采集,最后將這些數(shù)據(jù)傳輸?shù)骄W(wǎng)關(guān)節(jié)點(diǎn)中。路由節(jié)點(diǎn)的流程如圖9所示[15]。
3.3 網(wǎng)關(guān)節(jié)點(diǎn)的主程序設(shè)計(jì)
在整個(gè)森林火災(zāi)檢測(cè)系統(tǒng)中網(wǎng)關(guān)節(jié)點(diǎn)是核心部分,能夠連接監(jiān)測(cè)中心和傳感器節(jié)點(diǎn)。既要對(duì)路由節(jié)點(diǎn)和傳感器節(jié)點(diǎn)發(fā)送過(guò)來(lái)的環(huán)境數(shù)據(jù)進(jìn)行接收,還要通過(guò)對(duì)通信模塊的控制將數(shù)據(jù)傳輸?shù)竭h(yuǎn)端監(jiān)測(cè)中心;另外一方面各個(gè)傳感器節(jié)點(diǎn)通過(guò)網(wǎng)關(guān)節(jié)點(diǎn)能夠獲取監(jiān)測(cè)中心的指令。在接通電源后網(wǎng)關(guān)節(jié)點(diǎn)首先初始化核心微處理器模塊,同時(shí)對(duì)無(wú)線通信模塊進(jìn)行初始化。初始化完成后通過(guò)對(duì)空閑信道的掃描來(lái)建立全新的網(wǎng)絡(luò),并對(duì)所建立的網(wǎng)絡(luò)進(jìn)行啟動(dòng)。
接下來(lái)節(jié)點(diǎn)的地址信息通過(guò)網(wǎng)關(guān)節(jié)點(diǎn)傳輸?shù)街車膫鞲衅髦?,如果傳感器處在有效的通信范圍?nèi),而且接收到了信息,才對(duì)網(wǎng)關(guān)所分配的地址成功獲取以后就能夠?qū)⒋_認(rèn)信息發(fā)送到網(wǎng)絡(luò)中,使得成功地組建系統(tǒng)網(wǎng)絡(luò)。這樣傳感器所發(fā)送的入網(wǎng)請(qǐng)求就能夠得到定時(shí)的響應(yīng)和監(jiān)測(cè),對(duì)于傳感器節(jié)點(diǎn)所采集到的環(huán)境數(shù)據(jù)也能夠順利的接收。網(wǎng)關(guān)節(jié)點(diǎn)的主程序流程如圖10所示[15]。
3.4 監(jiān)控組態(tài)軟件設(shè)計(jì)
基本上所有的工業(yè)軟硬件通信接口都能夠?qū)崿F(xiàn)與組態(tài)王的兼容,因此可以將其稱之為具有開(kāi)放性特點(diǎn)的監(jiān)控系統(tǒng)集成平臺(tái)。具有適應(yīng)性強(qiáng)以及展性強(qiáng)的特點(diǎn)。利用組態(tài)王能夠進(jìn)行網(wǎng)絡(luò)的,另外通過(guò)瀏覽器監(jiān)控端能夠在任意的位置對(duì)監(jiān)控畫面和監(jiān)控的數(shù)據(jù)進(jìn)行查看。圖11為組態(tài)王操作智能板卡的方法。設(shè)計(jì)人員利用組態(tài)王對(duì)所用板卡的驅(qū)動(dòng)程序進(jìn)行固定調(diào)用以后就能夠?qū)Π蹇ǖ倪壿嬯P(guān)系進(jìn)行使用,另外利用組態(tài)王能夠自動(dòng)的完成其他底層的操作。
嵌入式火災(zāi)檢測(cè)系統(tǒng)的組態(tài)界面如圖12所示。
4 結(jié) 論
本文研究一種基于嵌入式的火災(zāi)檢測(cè)系統(tǒng),通過(guò)對(duì)無(wú)線技術(shù)和嵌入式技術(shù)的應(yīng)用所設(shè)計(jì)的火災(zāi)檢測(cè)系統(tǒng)。對(duì)檢測(cè)系統(tǒng)的嵌入式模塊硬件、無(wú)線通信模塊硬件、傳感采集模塊硬件進(jìn)行了設(shè)計(jì)。對(duì)系統(tǒng)采集節(jié)點(diǎn)程序、路由節(jié)點(diǎn)程序、網(wǎng)關(guān)節(jié)點(diǎn)程序及組態(tài)軟件進(jìn)行了設(shè)計(jì)。結(jié)果表明,該設(shè)計(jì)達(dá)到了預(yù)期目標(biāo)。
參考文獻(xiàn)
[1] 蘇坡.基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的森林火災(zāi)監(jiān)測(cè)系統(tǒng)研究[D].西安:長(zhǎng)安大學(xué),2015.
[2] 楊磊.基于ZigBee和GPRS無(wú)線遠(yuǎn)程森林防火系統(tǒng)研究與設(shè)計(jì)[D].沈陽(yáng):沈陽(yáng)理工大學(xué),2015.
[3] 曹流圣.基于Android和ZigBee技術(shù)的室內(nèi)智能監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江大學(xué),2015.
[4] 陳靜.基于LabVIEW的校園宿舍消防安全管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.
[5] 鄧懿.基于ARM與ZigBee的礦井安全監(jiān)測(cè)系統(tǒng)研究與設(shè)計(jì)[D].蘭州:蘭州交通大學(xué),2015.
[6] 黎智成.基于Zigbee無(wú)線通信網(wǎng)絡(luò)的智能辦公綜合監(jiān)控系統(tǒng)[D].廣州:華南理工大學(xué),2012.
[7] 尹紅敏.基于ZigBee的礦井安全監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2013.
[8] 尹盼.基于ZigBee技術(shù)的礦井綜合監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與網(wǎng)絡(luò)節(jié)點(diǎn)開(kāi)發(fā)[D].長(zhǎng)沙:中南大學(xué),2009.
[9] 戰(zhàn)勝.基于組態(tài)王的變電站綜合監(jiān)控系統(tǒng)設(shè)計(jì)及應(yīng)用[D].北京:華北電力大學(xué),2014.
[10] 馬加名.基于GIS的高校學(xué)生宿舍火災(zāi)風(fēng)險(xiǎn)評(píng)估及應(yīng)急決策系統(tǒng)研究[D].武漢:武漢理工大學(xué),2014.
[11] 張志強(qiáng).高等學(xué)校學(xué)生宿舍安全管理研究[D].上海:上海師范大學(xué),2015.
[12] 張軍國(guó),李文彬,韓寧,等.基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的森林火災(zāi)監(jiān)測(cè)系統(tǒng)的研究[J].北京林業(yè)大學(xué)學(xué)報(bào),2007(4):41?45.
[13] 湯文亮,曾祥元,曹義親.基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的森林火災(zāi)監(jiān)測(cè)系統(tǒng)[J].實(shí)驗(yàn)室研究與探索,2010(6):49?53.
MicroBlaze嵌入式軟核的運(yùn)行速度較快,可配置性強(qiáng),屬于32位RISC處理器,該處理器支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合,和CPU同頻,并支持FCB、XSL、XCL等高速連接,此外,通過(guò)MAILBOX和MUTEX,該軟核處理器還能實(shí)現(xiàn)多核處理系統(tǒng)。從理論上來(lái)講,F(xiàn)PGA容量是唯一影響CPU數(shù)量的因素,但是實(shí)際上CPU數(shù)量最多只能到8個(gè)。對(duì)MicroBlaze處理器進(jìn)行設(shè)計(jì)之前,需要先明確其功能任務(wù),這樣才能快速選取或者設(shè)計(jì)處理器組件,進(jìn)行參數(shù)化控制,縮短設(shè)計(jì)時(shí)間。設(shè)計(jì)MicroBlaze處理器時(shí)選用任務(wù)目標(biāo)為導(dǎo)向的設(shè)計(jì)方法,設(shè)計(jì)的主要內(nèi)容如下所述:(1)根據(jù)FPGA型號(hào)確定主頻,并根據(jù)處理能力需求確定單核或者是多核。(2)根據(jù)具體的軟件運(yùn)行空間和處理器要求,確定容量、FLASH芯片及RAM類型。(3)根據(jù)需要的外部接口、外部芯片及片內(nèi)模塊等,選取相應(yīng)的IP-Core或設(shè)計(jì)相應(yīng)的模塊,實(shí)現(xiàn)各類接口。初步確定設(shè)計(jì)的參數(shù)和元件后,進(jìn)行優(yōu)化設(shè)計(jì)。
2嵌入式系統(tǒng)結(jié)構(gòu)
本文采用SOPC技術(shù)設(shè)計(jì)了基于MicroBlaze軟核處理器的嵌入式系統(tǒng),設(shè)計(jì)過(guò)程體現(xiàn)了SOPC技術(shù)的優(yōu)點(diǎn)。系統(tǒng)的網(wǎng)絡(luò)接口選擇SMSC91C111芯片實(shí)現(xiàn),支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合,DDRSDRAM和BRAM用來(lái)存儲(chǔ)相關(guān)的數(shù)據(jù),并且存儲(chǔ)的數(shù)據(jù)不同,其中BRAM存儲(chǔ)系統(tǒng)數(shù)據(jù)及系統(tǒng)運(yùn)行代碼,DDRSDRAM存儲(chǔ)系統(tǒng)中的軟件代碼和系統(tǒng)參數(shù)。LCD顯示屏的主要作用是顯示系統(tǒng)的運(yùn)行狀態(tài)。該系統(tǒng)要實(shí)現(xiàn)和以太網(wǎng)的數(shù)據(jù)傳輸,其實(shí)質(zhì)是以太網(wǎng)控制器,具有MAC層及物理層的功能。
3基于MicroBlaze的嵌入式系統(tǒng)開(kāi)發(fā)流程
完成MicroBlaze處理器的設(shè)計(jì)之后,開(kāi)始對(duì)嵌入式系統(tǒng)的硬件進(jìn)行設(shè)計(jì),硬件的設(shè)計(jì)如下所述。先創(chuàng)建硬件平臺(tái),平臺(tái)的創(chuàng)建通過(guò)XPS的BSB向?qū)?shí)現(xiàn);然后刪減或者添加開(kāi)發(fā)板平臺(tái)的IP核,并對(duì)IP核的屬性進(jìn)行設(shè)置;最后在SystemAssem⁃blyview界面中分配地址、對(duì)端口和相應(yīng)的總線連接進(jìn)行設(shè)置。在開(kāi)發(fā)板中下載系統(tǒng)生成的正確的Bitstreams,SDK中運(yùn)行相應(yīng)的應(yīng)用程序時(shí)會(huì)看到對(duì)應(yīng)的現(xiàn)象。系統(tǒng)的開(kāi)發(fā)包括硬件開(kāi)發(fā)和軟件開(kāi)發(fā),通過(guò)EDK平成。
3.1硬件開(kāi)發(fā)設(shè)計(jì)
用基本系統(tǒng)向?qū)SB搭建Microblaze平臺(tái),平臺(tái)的搭建主要包括三方面的內(nèi)容:確定FPGA器件的型號(hào),并對(duì)器件的屬性進(jìn)行設(shè)置;根據(jù)系統(tǒng)需求添加需要的外設(shè),添加之后設(shè)置其屬性;平臺(tái)功能測(cè)試等。XPS能夠自定義IP核,生成向?qū)?chuàng)建User_Logic用戶邏輯模塊及IPIF接口模塊,兩個(gè)模塊的功能和屬性各不相同,其中用戶可以采用User_Logic模塊,根據(jù)系統(tǒng)需求任意添加自定義邏輯,不必考慮它們和Microblaze之間的通信鏈接,而IPIF接口模塊的功能是進(jìn)行協(xié)議轉(zhuǎn)換并捕捉到PLB總線信號(hào),和PLB總線進(jìn)行交互,如果用戶想要自定義輸入/輸出信號(hào),只要在IPIF模塊中聲明即可。設(shè)計(jì)系統(tǒng)平臺(tái)時(shí),需要添加多種外設(shè),如添加SMSC91C111芯片的控制邏輯;添加外部存儲(chǔ)器SRAM的控制邏輯;FPGA的I/O接口控制邏輯及添加用戶自定義的邏輯接口控制邏輯等,這些外設(shè)和Microblaze軟核處理器的連接是通過(guò)特定的片內(nèi)總線實(shí)現(xiàn)。
3.2軟件開(kāi)發(fā)設(shè)計(jì)
通過(guò)EDK平臺(tái)的SDK組件可以完成完整的嵌入式系統(tǒng)軟件平臺(tái)的設(shè)計(jì)。利用SDK組件用戶可以生成需要的MHS文件及MSS文件。MHS文件包含了整個(gè)MicroBlaze系統(tǒng)的總線、外設(shè)、處理器等描述。MSS文件包含了全部的外設(shè)驅(qū)動(dòng)信息描述,通過(guò)驅(qū)動(dòng)文件完成軟件調(diào)度程序,由MB2GCC工具編譯調(diào)度程序生成可執(zhí)行程序。最終生成軟件程序及.bit文件下載到開(kāi)發(fā)板。程序設(shè)計(jì)好之后,需要進(jìn)行測(cè)試,如果程序運(yùn)行中存在問(wèn)題,則可以應(yīng)用XMD調(diào)試軟件,使程序更加完善,解決問(wèn)題完成設(shè)計(jì)。MHS文件可以根據(jù)系統(tǒng)需求進(jìn)行更改,使系統(tǒng)變得更加完善。PlatGen(硬件平臺(tái)生成器)產(chǎn)生整個(gè)系統(tǒng)的網(wǎng)表,結(jié)合約束文件能夠生成可配置文件(.bit),用來(lái)下載。此外,EDK還提供了大量的函數(shù)庫(kù),完整的操作系統(tǒng)及板級(jí)支持包(BSP)都能夠幫助用戶開(kāi)發(fā)軟件平臺(tái)。用戶可以根據(jù)功能需求需要對(duì)外設(shè)進(jìn)行設(shè)置,應(yīng)用VerilogHDL或者VHDL代碼在ProjectNavigatorISE環(huán)境中對(duì)用戶的IPcore進(jìn)行設(shè)計(jì),然后利用creat—importperipheral工具(XPS中)完成創(chuàng)建和導(dǎo)入IPcore。EDK系統(tǒng)存在的IPcore和用戶自己定義的IPcore可以構(gòu)建一個(gè)完整的嵌入式系統(tǒng)。
3.3操作系統(tǒng)的移植
該嵌入式系統(tǒng)應(yīng)用了μC/OS操作系統(tǒng),該操作系統(tǒng)是一種實(shí)時(shí)操作系統(tǒng),比較適用于微控制器。設(shè)計(jì)μC/OS操作系統(tǒng)時(shí),要以平臺(tái)的移植需求為基礎(chǔ),對(duì)于不同的平臺(tái)μC/OS系統(tǒng)的要求也不相同,因此,需要改寫宏和函數(shù)。*OS_ENTER_CRITICAL及OS_ENTER_CRITICAL:這是兩個(gè)不同的宏,它們的主要功能是進(jìn)行臨界段保護(hù)。在該嵌入式系統(tǒng)中臨界段保護(hù)的實(shí)現(xiàn)需要利用匯編代碼關(guān)。*OS_TASK_SW:這個(gè)宏的主要作用是用于任務(wù)切換,嵌入式系統(tǒng)中任務(wù)切換主要利用CPU的軟件中斷方式實(shí)現(xiàn)。如果需要中斷則調(diào)用此宏,宏產(chǎn)生軟件中斷,相應(yīng)的中斷處理程序會(huì)對(duì)中斷進(jìn)行處理,實(shí)現(xiàn)任務(wù)的切換及上下文保護(hù)。*OSIntCtxSw::采用純匯編實(shí)現(xiàn)中斷級(jí)任務(wù)切換。*OSTickISR:采用純匯編實(shí)現(xiàn)系統(tǒng)定時(shí)器中斷的處理函數(shù)。*OSCtxSw::采用純匯編實(shí)現(xiàn),用戶級(jí)上下文切換。*OSTaskStkInit:創(chuàng)建任務(wù)時(shí),初始化任務(wù)堆棧。
4結(jié)論
(Ed.)
UML-B Specification for
Proven Embedded Systems
Design
2004, 300pp.
Hardcover $ 129.00
ISBN 1-4020-2866-0
Kluwer Academic Publishers
本書介紹了貫穿整個(gè)模塊系統(tǒng)設(shè)計(jì)方法論的系統(tǒng)性質(zhì)形式證法。該方法論將子系統(tǒng)的共同驗(yàn)證與虛擬系統(tǒng)部件的系統(tǒng)精化和復(fù)用性相結(jié)合,通過(guò)規(guī)約的形式與非形式方法相結(jié)合,由UML和B語(yǔ)言來(lái)完成。這樣就允許通過(guò)經(jīng)證明的子系統(tǒng)的合成來(lái)驗(yàn)證系統(tǒng)規(guī)約(對(duì)于接口則給予某些特別的注意,符合VSIA/SLIF方法)。將B語(yǔ)言與C、VHDL和SystemC語(yǔ)言相連,將通過(guò)構(gòu)造校正設(shè)計(jì)的過(guò)程擴(kuò)展到較低的單片系統(tǒng)開(kāi)發(fā)階段。因此證明嵌入式軟件產(chǎn)品是與證明硬件產(chǎn)品相配套的。書中開(kāi)發(fā)了用于從UML和B語(yǔ)言產(chǎn)生代碼的原型工具,現(xiàn)有的B語(yǔ)言驗(yàn)證工具被拓展成支持IP的再使用,這都是根據(jù)VSIA的推薦。書中所涉及的方法論及工具是通過(guò)開(kāi)發(fā)三個(gè)工業(yè)應(yīng)用來(lái)驗(yàn)證的,即無(wú)線移動(dòng)終端、建立在HIPERLAN/2協(xié)議基礎(chǔ)上的電信單片系統(tǒng)、以及汽車的防碰撞組件。
全書共有17章。第1章形式方法介紹:它們是怎樣應(yīng)用于嵌入式系統(tǒng)設(shè)計(jì)的?第2章使用UML、B和SystemC的形式統(tǒng)一系統(tǒng)規(guī)約環(huán)境;第3章使用PUSSEE方法設(shè)計(jì)嵌入式系統(tǒng);第4章借助事件B的系統(tǒng)層次建模與精化;第5章用于UML中形式系統(tǒng)建模的UML-B簡(jiǎn)況;第6章U2B―用于從UML-B模型轉(zhuǎn)換到B語(yǔ)言的工具;第7章BHDL硬件描述語(yǔ)言;第8章用于UML對(duì)硬件描述語(yǔ)言映射的概念性框架;第9章B語(yǔ)言中基于接口的合成精化;第10章借助互補(bǔ)模型檢驗(yàn)的有限狀態(tài)機(jī)的精化;第11章適應(yīng)漫游控制實(shí)例研究設(shè)計(jì)實(shí)驗(yàn);第12章適就漫游控制器實(shí)例的研究;第13章使用事件B的電子線路形式建模;第14章回送注銷單元實(shí)例研究;第15章可移動(dòng)設(shè)計(jì)系統(tǒng)實(shí)驗(yàn)結(jié)果;第16章UML-B規(guī)約與漢明編碼器/解碼器的硬件實(shí)現(xiàn);第17章實(shí)踐中的PUSSEE方法。書后的附錄A1:嵌入式系統(tǒng)設(shè)計(jì)方法的評(píng)估標(biāo)準(zhǔn)。
本書描述的問(wèn)題有一定的難度,所獲得的成果證明了該項(xiàng)目研究的成功,且視野廣闊,因此受到歐洲專家的肯定。本書公布的形式方法現(xiàn)在已經(jīng)能夠應(yīng)對(duì)工業(yè)中有難度的問(wèn)題,便于設(shè)計(jì)工程師、大學(xué)教師和研究人員使用。
胡光華,高級(jí)軟件工程師
(原中國(guó)科學(xué)院物理學(xué)研究所)
關(guān)鍵詞:ARM;嵌入式系統(tǒng);linux;BootLoader
中圖分類號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):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
隨著計(jì)算機(jī)技術(shù)和半導(dǎo)體技術(shù)的發(fā)展,嵌入式系統(tǒng)在個(gè)人數(shù)據(jù)處理、多媒體通信、在線事務(wù)處理、生產(chǎn)過(guò)程控制、交通控制等各個(gè)領(lǐng)域內(nèi)得到了廣泛的應(yīng)用,各種嵌入式相關(guān)的新產(chǎn)品紛紛涌現(xiàn)。嵌入式系統(tǒng)越來(lái)越引起人們的關(guān)注,對(duì)嵌入式系統(tǒng)的研究,是掌握信息技術(shù)的核心。本文以處理器S3C44B0為核心,設(shè)計(jì)出一個(gè)基于ARM+uCLinux的嵌入式系統(tǒng),對(duì)于嵌入式系統(tǒng)有獨(dú)到的研究。
1 嵌入式硬件方案設(shè)計(jì)
1.1 系統(tǒng)硬件平臺(tái)
系統(tǒng)的硬件平臺(tái)主要是由嵌入式處理器、FLASH、SDRAM、以太網(wǎng)接口、USB接口、UART接口、JTAG接口、I/O接口、I2C、系統(tǒng)電源、復(fù)位電路等組成。系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示:
1.2 主要硬件的設(shè)計(jì)
1.2.1 ARM嵌入式處理器的設(shè)計(jì)
處理器采用Samsung公司的S3C44B0微處理器,S3C44B0最突出的特點(diǎn)是它的CPU核使用ARM公司的16/32位ARM7TDMI RISC結(jié)構(gòu)。ARM7TDMI系統(tǒng)擴(kuò)充包括Thumb協(xié)處理器、片上ICE中斷調(diào)試支持和32位硬件乘法器。S3C44B0通過(guò)在ARM7TDMI內(nèi)容基礎(chǔ)上擴(kuò)展一系列完整的通用器件,主要包括:8KB的Cache,外部存儲(chǔ)器控制器,LCD控制器,2通道UART,4通道DMA, 71個(gè)通用I/O端口,8個(gè)外部中斷源等。
1.2.2 網(wǎng)絡(luò)接口的設(shè)計(jì)
采用RTL8019AS芯片作為網(wǎng)絡(luò)接口芯片,RTL8019AS是一種高度集成的以太網(wǎng)芯片,能簡(jiǎn)單的實(shí)現(xiàn)Plug and Play并兼容NE2000,芯片內(nèi)部集成了DMA控制器、ISA總線控制器、16KSRAM,用戶可以通過(guò)DMA方式把需要發(fā)送的數(shù)據(jù)寫入片內(nèi)SRAM中,讓芯片自動(dòng)將數(shù)據(jù)發(fā)送出去;而芯片在接收到數(shù)據(jù)后,用戶可以通過(guò)DMA方式將數(shù)據(jù)讀出。
1.2.3 USB接口的設(shè)計(jì)
采用PDIUSBD12作為USB接口芯片,PDIUSBD12是一款性價(jià)比很高的USB器件,完全符合USB1,1版的規(guī)范,它通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口,它還支持本地的DMA傳輸。
2 軟件體系的設(shè)計(jì)
軟件開(kāi)發(fā)過(guò)程包括BootLoader設(shè)計(jì)、uCLinux的編譯和移植、uCLinux下的網(wǎng)絡(luò)編程和應(yīng)用程序開(kāi)發(fā)等。
2.1 BootLoader的設(shè)計(jì)與實(shí)現(xiàn)
在嵌入式系統(tǒng)中,BootLoader的作用與PC機(jī)上的BIOS類似,BootLoader可以完成對(duì)系統(tǒng)板上的主要部件進(jìn)行初始化,也可以下載文件到系統(tǒng)板、對(duì)CPU、SDRAM、Flash,通過(guò)串行口Flash進(jìn)行擦除與編程。
BootLoader作為系統(tǒng)復(fù)位或上電后首先運(yùn)行的代碼,一般應(yīng)寫入Flash存儲(chǔ)器中并從起始物理地址0x0開(kāi)始。BootLoader根據(jù)實(shí)現(xiàn)的功能不同,其復(fù)雜程度也各不相同。一個(gè)簡(jiǎn)單的BootLoader程序可以僅僅完成串行口的初始化,并進(jìn)行通信,而功能完善的BootLoader可以支持比較復(fù)雜的命令集,對(duì)系統(tǒng)的軟硬件資源進(jìn)行合理的配置與管理。因此,用戶可根據(jù)自身的需求實(shí)現(xiàn)相應(yīng)的功能。BootLoader的設(shè)計(jì)步驟一般如下:
2.1.1 系統(tǒng)初始化
系統(tǒng)初始化主要實(shí)現(xiàn)以下的幾個(gè)功能:
(1)進(jìn)入SVC32工作模式(管理模式),以取得訪問(wèn)一些系統(tǒng)資源的權(quán)限。
(2)禁止所有的中斷并清除所有中斷標(biāo)志。
(3)初始化SYSCFG寄存器。
(4)導(dǎo)入鏈接器預(yù)定義的變量,為存儲(chǔ)器的重映射做準(zhǔn)備。
2.1.2 Memory Remap的實(shí)現(xiàn)
Memory Remap就是地址重映射,即存儲(chǔ)空間的重新分配,主要分為以下幾個(gè)步驟:
2.1.2.1 初始化SDRAM
系統(tǒng)剛上電后,只有Flash是可用的, SDRAM沒(méi)有被初始化,是不可用的。此時(shí)Flash被映射到0-2M的地方。通過(guò)配置相關(guān)寄存器完成SDRAM的初始化后,SDRAM被映射到了2-18M的位置上。此時(shí)的Memory Map為:0-2M是Flash,2-18M是SDRAM
2.1.2.2 將BootLoader從Flash中復(fù)制到SDRAM中
在此之前,BootLoader一直是在Flash里面執(zhí)行的。為了實(shí)現(xiàn)Memory Remap,并且保證remap后BootLoader可以繼續(xù)執(zhí)行,需要把BootLoader自己全部復(fù)制到SDRAM里面去。BootLoader的大小利用鏈接器預(yù)定義的程序段變量。此時(shí),在SDRAM里己經(jīng)有了一個(gè)BootLoader的拷貝,但是必須注意,BootLoader還是在Flash里面執(zhí)行。此時(shí)的Memory Map為:0-2M還是Flash,2-18 M還是SDRAM,但是SDRAM里面多了一個(gè)BootLoader的拷貝。
2.1.2.3 地址重映射
通過(guò)設(shè)置S3C44B0的相關(guān)寄存器,可以完成最后的地址重映射。SDRAM在0-16M的位置,而Flash被Map到了16-18M的位置。由于在SDRAM有一份BootLoader的拷貝,所以Remap以后BootLoader將轉(zhuǎn)到SDRAM里面來(lái)執(zhí)行。
2.1.3 Kernel的裝載
此處的Kernel即為uClinux的內(nèi)核映像,完成Kernel把控制權(quán)交給了uClinux來(lái)管理,Kernel將被裝載到的裝載后,系統(tǒng)就0x8000處。Kernel的裝載過(guò)程如下所示:
(1)將RW段復(fù)制到OxA0,0000處,ZI段清零。
(2)設(shè)置堆棧指針SP=0x80,0000。
(3)跳轉(zhuǎn)到函數(shù)loadkernel()中。
(4)將Kernel裝載到0x8000,同時(shí)將PC指向0x8000。
(5)Kernel獲得控制權(quán),接管整個(gè)系統(tǒng)。
2.2 嵌入式操作系統(tǒng)的編譯與移植
本系統(tǒng)采用uCLinux作為操作系統(tǒng),uCLinux包含一整套的編譯、調(diào)試等開(kāi)發(fā)工具、內(nèi)核源代碼、各種文件系統(tǒng)、圖形接口、各種協(xié)議、驅(qū)動(dòng)程序以及豐富的應(yīng)用程序。uCLinux操作系統(tǒng)主要由內(nèi)核、Shell、文件結(jié)構(gòu)組成;其中內(nèi)核是系統(tǒng)的心臟,是運(yùn)行程序和管理磁盤、打印機(jī)等硬件設(shè)備的核心程序。Linux的內(nèi)核主要由5個(gè)子系統(tǒng)構(gòu)成:進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口和進(jìn)程間通信,在設(shè)計(jì)時(shí),可以根據(jù)需要配置內(nèi)核選擇體系結(jié)構(gòu)和裁剪內(nèi)核。
2.2.1 uClinux交叉編譯環(huán)境
uClinux交叉編譯環(huán)境的建立可分為以下兩個(gè)步驟:
(1)要在宿主PC機(jī)上安裝標(biāo)準(zhǔn)Linux操作系統(tǒng)(也可以在Windows環(huán)境下安裝Cygwin,模擬Linux環(huán)境,但可能在開(kāi)發(fā)過(guò)程中產(chǎn)生兼容性錯(cuò)誤,因此不推薦),如RedHat Linux,并對(duì)計(jì)算機(jī)的硬件設(shè)備如網(wǎng)卡進(jìn)行配置,確認(rèn)網(wǎng)絡(luò)配置正確。
(2)要在宿主PC機(jī)上安裝交又編譯的一些工具鏈,主要有以下這些: arm-elf-binutils,arm-elf-gcc, genromfs,arm-elf-gdb, elf2flt等。
2.2.2 uClinux內(nèi)核的編譯和移植
uClinux內(nèi)核采用模塊化的組織結(jié)構(gòu),通過(guò)增減內(nèi)核模塊的方式來(lái)增減系統(tǒng)的功能,因此,通過(guò)正確合理的設(shè)置內(nèi)核的功能模塊,只編譯系統(tǒng)所需功能的代碼以減少內(nèi)核的大小。編譯工作的具體步驟下所示:
(1)解壓源代碼文件并進(jìn)入到uClinux-Samsung目錄中。
(2)make menuconfig進(jìn)行內(nèi)核配置。
(3)make dep尋找文件依賴關(guān)系。
(4)make clean清除無(wú)用文件。
(5)make lib only 編譯庫(kù)文件。
(6)make user_ only編澤用戶應(yīng)用程序文件。
(7)make image編澤內(nèi)核文件。
(8)make編譯完成,生成內(nèi)核文件。
編譯上述步驟后,會(huì)在images目錄下看到一些文件,如:linux.text,linux.data,romfs.img,image.bin,image.rom,image.ram,boot.rom。
最后,將image.rom燒寫入Flash存儲(chǔ)器的0x0處,當(dāng)系統(tǒng)復(fù)位或上電時(shí),內(nèi)核會(huì)自解壓到SDRAM,并開(kāi)始運(yùn)行。可以通過(guò)串行口觀察uClinux的啟動(dòng)情況。
如果編譯和加載的過(guò)程都正確,就可以在超級(jí)終端中看到uClinux移植成功的相關(guān)提示。
2.3 uCLinux下的網(wǎng)絡(luò)編程
2.3.1 uCLinux下的網(wǎng)絡(luò)編程協(xié)議簡(jiǎn)介
uCLinux下的TCP/IP網(wǎng)絡(luò)協(xié)議棧的各層之間是通過(guò)一系列互相連接層的軟件來(lái)實(shí)現(xiàn)Internet地址族的。其中BSD socket層由專門用來(lái)處理BSD socket的通用套接字管理軟件來(lái)處理,它由INET socket層來(lái)支持。INET socket為基于IP的協(xié)議TCP和UDP管理傳輸端點(diǎn)。 UDP是一個(gè)無(wú)連接協(xié)議,而TCP(傳輸控制協(xié)議)是一個(gè),TCP靠的端對(duì)端協(xié)議。傳輸U(kuò)DP包的時(shí)候,uCLinux不知道也不關(guān)心它們是否安全到達(dá)了口的地。TCP則不同。在TCP連接的兩端都需要加上一個(gè)編號(hào),以保證傳輸?shù)臄?shù)據(jù)被正確接收。在IP層,實(shí)現(xiàn)了Internet協(xié)議代碼,這些代碼要給傳輸?shù)臄?shù)據(jù)加上一個(gè)IP頭,并且知道如何把傳入的IP包送給TCP或者UDP協(xié)議。在IP層以下,就是網(wǎng)絡(luò)設(shè)備來(lái)支持所有的uCLinux 網(wǎng)絡(luò)工作,如PLIP, SLIP和以太網(wǎng)。
2.3.2 uCLinux環(huán)境下的socket編程
網(wǎng)絡(luò)的socket數(shù)據(jù)傳輸是一種特殊的I/O,socket也是一種文件描述符,也具有一個(gè)類似文件的函數(shù)調(diào)用socket()。該函數(shù)返回一個(gè)整型的socket描述符,隨后的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^(guò)該socket函數(shù)實(shí)現(xiàn)的。常用的socket類型有兩種:流式socket和數(shù)據(jù)報(bào)式socket。兩者的去別在于:前者對(duì)應(yīng)于TCP服務(wù),后者對(duì)應(yīng)于UDP服務(wù)。uCLinux中socket編程中用到的函數(shù)有:
(1)socket函數(shù):為了執(zhí)行I/O,一個(gè)進(jìn)程必須做的第一件事情就是調(diào)用socket函數(shù),指定期望的通信協(xié)議類型(使用IPv4的TCP、使用IPv6的UDP, Unix域字節(jié)流協(xié)議等)。
(2)connect函數(shù):TCP客戶用connect函數(shù)來(lái)建立一個(gè)與TCP服務(wù)器的連掛。
(3)bind函數(shù): 函數(shù)bind給套接口分配一個(gè)本地協(xié)議地址,對(duì)于網(wǎng)際協(xié)議,協(xié)議地址是非顛倒2位IPv4地址16位的TCP或UDP端口號(hào)的組合。
(4)listen函數(shù):僅被除數(shù)TCP服務(wù)器調(diào)用。將未連接的套接口轉(zhuǎn)換成被動(dòng)套接口,指示內(nèi)核應(yīng)接受指向此套接口的連接請(qǐng)求。根據(jù)TCP狀態(tài)轉(zhuǎn)換調(diào)用函數(shù)listen導(dǎo)致套接口從CLOSED狀態(tài)轉(zhuǎn)換到LISEN狀態(tài)。listen函數(shù)還規(guī)定了內(nèi)核為此套接口排隊(duì)的最大連接個(gè)數(shù)。
(5)accept函數(shù):accept函數(shù)由TCP服務(wù)器調(diào)用,從已完成連接隊(duì)列頭返回下一個(gè)己完成連接。若己完成連接隊(duì)列為空,則進(jìn)程睡眠。
3 小結(jié)
嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)已經(jīng)在各個(gè)領(lǐng)域 得到了廣泛的應(yīng)用,如遠(yuǎn)程監(jiān)控、智能儀表、數(shù)控系統(tǒng)、消費(fèi)產(chǎn)品等。隨著嵌入式系統(tǒng)軟硬件技術(shù)的飛速發(fā)展,其在行業(yè)的應(yīng)用領(lǐng)域必將更為廣闊,嵌入式系統(tǒng)的研究將會(huì)有非常廣泛的前景。
參考文獻(xiàn):
[1] 魏忠,蔡勇,雷紅衛(wèi).嵌入式開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2003.
[2] 王陳賾.ARM嵌入式技術(shù)實(shí)踐教程[M].北京:航空航天大學(xué)出版社,2005.
關(guān)鍵詞:嵌入式; 自動(dòng)控制; 模糊控制; 高溫沸騰爐
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):16727800(2013)009009603
作者簡(jiǎn)介:程學(xué)先(1945-),男,湖北工業(yè)大學(xué)工程技術(shù)學(xué)院教授,研究方向?yàn)檐浖こ?、?shù)據(jù)庫(kù)、管理信息系統(tǒng)、計(jì)算機(jī)控制;程傳慧(1979-),女,博士,中南財(cái)經(jīng)政法大學(xué)信息與安全工程學(xué)院副教授,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)。
0引言
單片機(jī)是工業(yè)控制中大量使用的前端控制器,應(yīng)用嵌入式系統(tǒng)常可實(shí)現(xiàn)升級(jí)。高溫沸騰爐以煤粉為燃料,實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)所需高溫,通過(guò)加煤使?fàn)t膛溫度上升,通過(guò)加風(fēng)使?fàn)t膛溫度下降,通過(guò)二者結(jié)合控制溫度變化以滿足工藝需要。我們?cè)_(kāi)發(fā)基于單片機(jī)的高溫沸騰爐控制系統(tǒng),存在如下問(wèn)題:①很難使用數(shù)學(xué)模型來(lái)精確地描述整個(gè)燃燒過(guò)程,采用模糊控制技術(shù),要求采集較大數(shù)量的參數(shù)且有較高精度,使用單片機(jī)有局限性[1];②某些場(chǎng)合需要采用無(wú)線數(shù)據(jù)傳送方式,現(xiàn)有系統(tǒng)不能滿足要求;③參數(shù)調(diào)整只能采用鍵盤方式,不能用可視化調(diào)整方式,曲線不夠光滑。采用嵌入式系統(tǒng)可解決上述問(wèn)題。
1硬件設(shè)計(jì)
系統(tǒng)輸入信號(hào)包括:爐膛溫度、尾氣溫度、鼓風(fēng)機(jī)風(fēng)門位置(鼓風(fēng)開(kāi)度信號(hào))、混合室溫度、給煤機(jī)轉(zhuǎn)速、鼓風(fēng)風(fēng)壓、爐膛負(fù)壓、引風(fēng)風(fēng)門開(kāi)度及引風(fēng)機(jī)開(kāi)度信號(hào);輸出信號(hào)包括給煤變頻器的模擬信號(hào)和變頻器轉(zhuǎn)速、鼓風(fēng)開(kāi)度、鼓風(fēng)機(jī)電流、引風(fēng)機(jī)電流、鼓風(fēng)壓力與爐膛負(fù)壓控制等信號(hào),及與上位機(jī)通信信號(hào)。
新系統(tǒng)選擇凌陽(yáng)SPCE3200系統(tǒng)為主控模塊,擴(kuò)展TFT液晶接口模塊(包括LCD觸摸液晶屏)、無(wú)線傳輸模組、ZigBee、GPRS模組、音頻輸出模塊、USB模塊、看門狗電路、并行口擴(kuò)展模塊等,其結(jié)構(gòu)如圖1所示。
SPCE3200板有9路12位的ADC(A/D Converter),各路傳感器采樣信號(hào)經(jīng)運(yùn)算放大器放大后直接接各輸入端;有雙通道16位高速DAC,分別用于控制信號(hào)與語(yǔ)音信號(hào)的輸出;內(nèi)置SDDRAM最大容量可達(dá)16M字節(jié),能滿足本設(shè)計(jì)對(duì)數(shù)據(jù)的存儲(chǔ)需要;內(nèi)置UART接口及RS232電平轉(zhuǎn)換電路,能直接實(shí)現(xiàn)與上位機(jī)的通信[4]。
TFT LCD(薄膜晶體管液晶顯示器)用于顯示主要參數(shù)與控制量變化曲線,還可以觸摸方式修正曲線走向,可視化實(shí)現(xiàn)參數(shù)的平滑調(diào)節(jié)。
ZigBee無(wú)線網(wǎng)絡(luò)協(xié)議具有低功耗、易組網(wǎng)的特點(diǎn)。利用ZigBee模組采用SPI方式與主控制器通信,可以實(shí)現(xiàn)與無(wú)線傳感器無(wú)線互聯(lián)。
GPRS模組采用SIM300通訊芯片,利用無(wú)線移動(dòng)網(wǎng)絡(luò)實(shí)現(xiàn)語(yǔ)音傳輸和點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸;其內(nèi)具備TCP/IP協(xié)議棧,可以直接利用它實(shí)現(xiàn)無(wú)線上網(wǎng)。模組使用標(biāo)準(zhǔn)的UART串行通信接口可以與任何帶有通用UART串行通信接口的控制器進(jìn)行連接。它與音頻輸出模塊協(xié)同工作可以實(shí)現(xiàn)與手機(jī)通信。當(dāng)系統(tǒng)出現(xiàn)重大異常時(shí)可發(fā)送手機(jī)短信。
USB模塊提供與U盤接口,可保存控制過(guò)程中輸入與輸出的數(shù)據(jù),用于控制過(guò)程分析及控制參數(shù)的修正。
對(duì)上位機(jī)的接口可以方便地連接打印機(jī)或與企業(yè)管理系統(tǒng)相聯(lián)系。
2系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件基于Linux系統(tǒng),應(yīng)用C++開(kāi)發(fā)。
2.1系統(tǒng)軟件模塊構(gòu)成
系統(tǒng)包括輸入數(shù)據(jù)處理、輸出控制計(jì)算、輸出數(shù)據(jù)處理、顯示與觸摸數(shù)據(jù)處理、輔助程序等單元,詳細(xì)模塊構(gòu)成如圖2所示。
2.2控制流程
對(duì)于采集信號(hào)先基于線性平均進(jìn)行濾波;進(jìn)而采用線性插值算法實(shí)現(xiàn)波形還原;對(duì)于不同的異常工作狀態(tài),采用不同的處理方式,如圖3所示。
2.3控制算法
高溫沸騰爐系統(tǒng)對(duì)安全性與燃燒過(guò)程的穩(wěn)定性要求很高:溫度過(guò)低、燃燒效率低,一旦熄火,將嚴(yán)重影響產(chǎn)品質(zhì)量;爐溫過(guò)高,燃燒煤粉會(huì)因結(jié)焦成塊而影響生產(chǎn)的安全性。傳統(tǒng)的控制算法是直接數(shù)字控制系統(tǒng)算法(DDC),可以實(shí)現(xiàn)多路調(diào)節(jié),監(jiān)控軟件包括實(shí)時(shí)調(diào)度管理程序和中斷管理程序,對(duì)于主要參數(shù)的自動(dòng)調(diào)節(jié)采用多路調(diào)節(jié)和簡(jiǎn)單自動(dòng)控制技術(shù)[3]。這樣的算法動(dòng)態(tài)響應(yīng)慢,對(duì)于慣性大、滯后時(shí)間長(zhǎng)、存在高時(shí)變性的本類系統(tǒng),無(wú)法保證動(dòng)態(tài)品質(zhì)。
模糊控制不需要建立被控對(duì)象的精確數(shù)學(xué)模型,是通過(guò)歸納操作人員和該領(lǐng)域?qū)<业慕?jīng)驗(yàn)而建立的,算法簡(jiǎn)單、性能優(yōu)良,有較強(qiáng)的魯棒性[2]。
程序流程包括:對(duì)采集的信號(hào)量剔除干擾值、預(yù)處理、平滑處理等得到判斷依據(jù);再做以下3項(xiàng)處理:①判斷這些值是否已經(jīng)超過(guò)臨界值,做相應(yīng)的異常處理;②將數(shù)值顯示在顯示屏上供用戶參考;③計(jì)算輸出量,并從對(duì)應(yīng)的線路上輸出。
其中,計(jì)算輸出量是核心問(wèn)題。許多數(shù)據(jù)表明,沸騰爐在爐膛溫度從850℃左右上升到930℃左右區(qū)間內(nèi)如果給煤與送風(fēng)過(guò)程比較穩(wěn)定,爐膛溫度模型可以認(rèn)為是一個(gè)線性模型。但850℃~930℃這個(gè)區(qū)間并非固定,穩(wěn)定的條件也很難保證,因而實(shí)際系統(tǒng)一般是非線性的。
本系統(tǒng)初始使用仿人點(diǎn)動(dòng)模型(趨勢(shì)預(yù)測(cè)模型),認(rèn)為溫度變化是按照某一條曲線進(jìn)行的,可以按照某一精度將曲線用若干條線段進(jìn)行模擬。在人工控制狀態(tài)下,操作人員在溫度偏低時(shí),選擇多加煤或者多減風(fēng)操作;當(dāng)溫度上升到達(dá)一定的值時(shí),加煤量開(kāi)始減少(或者開(kāi)始逐步地加風(fēng));例如:溫度在850℃時(shí),可能通過(guò)儀表輸出15mA的加煤輸出量,溫度迅速上升;當(dāng)溫度上升到了900℃~910℃左右時(shí),控制輸出量可能就開(kāi)始逐步從15mA減少到14mA、12mA、10mA。這樣,當(dāng)溫度繼續(xù)上升時(shí),在980℃~1 000℃左右就不再上升了。模擬這一過(guò)程,在求解預(yù)期溫度時(shí),在數(shù)學(xué)模型上表現(xiàn)為針對(duì)不同的動(dòng)作(加/減煤,加/減風(fēng))求解在某一時(shí)刻所屬區(qū)間的線段斜率。爐內(nèi)溫度系統(tǒng)是多變量、多耦合系統(tǒng),根據(jù)對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的觀察與分析,沸騰爐控制變量耦合關(guān)系如表1所示。
3結(jié)語(yǔ)
本系統(tǒng)能滿足高溫沸騰爐的控制需求,具有以下特性:①系統(tǒng)有較高獨(dú)立性,可以單獨(dú)控制、可以遠(yuǎn)程控制,易維護(hù)、易擴(kuò)展;②通過(guò)大屏幕液晶顯示屏可以顯示當(dāng)前與歷史各分類曲線,可以人工修改曲線,利用自學(xué)習(xí)功能改變參數(shù)使能根據(jù)工藝需要實(shí)現(xiàn)更精確的控制,提高控溫質(zhì)量;③傳感信息可以有線也可以無(wú)線接入,可以適應(yīng)不同環(huán)境需求;④提供了多媒體功能,系統(tǒng)可用性較高。
參考文獻(xiàn):
[1]馬明建,周長(zhǎng)城. 數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社,2000.
[2]李世勇.模糊控制、神經(jīng)控制和智能控制論[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1996.
級(jí)別:統(tǒng)計(jì)源期刊
榮譽(yù):中國(guó)優(yōu)秀期刊遴選數(shù)據(jù)庫(kù)
級(jí)別:統(tǒng)計(jì)源期刊
榮譽(yù):中國(guó)優(yōu)秀期刊遴選數(shù)據(jù)庫(kù)
級(jí)別:部級(jí)期刊
榮譽(yù):中國(guó)學(xué)術(shù)期刊(光盤版)全文收錄期刊
級(jí)別:北大期刊
榮譽(yù):中國(guó)優(yōu)秀期刊遴選數(shù)據(jù)庫(kù)
級(jí)別:統(tǒng)計(jì)源期刊
榮譽(yù):Caj-cd規(guī)范獲獎(jiǎng)期刊