儀表系統(tǒng)的嵌入式控制器的開發(fā)研究
把嵌入式系統(tǒng)應(yīng)用到儀器儀表領(lǐng)域,讓傳統(tǒng)的儀表,Internet和微處理器相結(jié)合,已成為儀器儀表行業(yè)發(fā)展的趨勢。
本文引用地址:http://www.ex-cimer.com/article/104164.htm本文首先由基于嵌入式智能儀表的遠程監(jiān)控系統(tǒng)引出嵌入式控制器,然后結(jié)合嵌入式控制器,作者具體闡述了UML-RT和平臺思想在嵌入式控制器系統(tǒng)設(shè)計中的運用,給出了嵌入式控制器設(shè)計的詳細步驟和具體內(nèi)容。
1 引言
在儀器儀表迅速發(fā)展的同時,計算機和網(wǎng)絡(luò)技術(shù)也在迅速發(fā)展,PC機已經(jīng)從高速增長進入到平穩(wěn)發(fā)展時期,嵌入式系統(tǒng)的出現(xiàn)和廣泛應(yīng)用,使計算機和網(wǎng)絡(luò)進入了后PC時代,基于嵌入式智能儀表遠程監(jiān)控系統(tǒng)作為工業(yè)控制網(wǎng)絡(luò)重要發(fā)展方向之一。而嵌入式控制器是能夠?qū)崿F(xiàn)智能儀表遠程監(jiān)控的關(guān)鍵設(shè)備,是工業(yè)控制儀表與Internet連接的橋梁。
2 控制器總體介紹
嵌入式智能儀表的結(jié)構(gòu)及其與Internet的連接方案設(shè)計如圖1。
圖1基于嵌入式智能儀表的遠程監(jiān)控系統(tǒng)
嵌入式控制器是用于執(zhí)行獨立功能并具有以復雜方式處理數(shù)據(jù)能力的控制系統(tǒng),它內(nèi)置在工業(yè)儀表上,由三部分組成:高速處理器、嵌入式Web服務(wù)器和工業(yè)儀表接口。嵌入式控制器以高速處理器為核心,由高速處理器和其他芯片協(xié)同工作來控制電子設(shè)備或裝置,能夠完成監(jiān)視、控制等各種自動化處理任務(wù)。嵌入式控制器是一種很好的基本接入設(shè)備,它通過工業(yè)儀表接口與儀表相連。嵌入式控制器在TCP/IP數(shù)據(jù)傳輸?shù)幕A(chǔ)上,將Web功能融入整個裝置??蛻糁灰獡碛袨g覽器,即可方便的與控制器進行通信,對現(xiàn)場智能儀表進行過程參數(shù)的查看與設(shè)定,控制對象的關(guān)閉與開啟。
基于嵌入式儀表的遠程監(jiān)控系統(tǒng)的核心是嵌入式控制器,嵌入式控制器是一個典型的嵌入式系統(tǒng),嵌入式控制器的系統(tǒng)設(shè)計遵從嵌入式系統(tǒng)設(shè)計的相關(guān)理論。系統(tǒng)設(shè)計需要考慮把軟件和硬件的結(jié)構(gòu)作為一個統(tǒng)一協(xié)調(diào)的整體。嵌入式系統(tǒng)趨向于采用高平臺(Platform)和采用面向?qū)ο蟮腢ML-RT來進行系統(tǒng)的分析和設(shè)計。因此,我們在設(shè)計嵌入式控制器時,采用UML-RT和平臺(Platform),使嵌入式控制器有一個彈性的架構(gòu),能夠方便快速的改變或擴充功能,滿足系統(tǒng)要求。
3 嵌入式控制器的需求分析
我們利用UML的用例圖(use case)來對嵌入式控制器進行需求分析。用例圖從用戶的觀點描述了系統(tǒng)硬件和軟件的功能。按照前面我們對嵌入式控制器的功能描述,我們得出系統(tǒng)的用例圖,如圖2所示。其中包括七個不同的用例和兩個不同的角色。
圖2 嵌入式控制器的用例圖
用戶角色可進行查看數(shù)據(jù),設(shè)定數(shù)據(jù),開啟和關(guān)閉控制對象(智能儀表),控制對象可以接收和發(fā)送數(shù)據(jù),相應(yīng)開啟和關(guān)閉的操作指令。數(shù)據(jù)處理中心負責數(shù)據(jù)的封裝,發(fā)送,計算等數(shù)據(jù)處理工作。
4 平臺(platform)的劃分和設(shè)計
在完成了系統(tǒng)的需求分析之后,開始劃分本平臺的系統(tǒng)結(jié)構(gòu),所謂本平臺的系統(tǒng)結(jié)構(gòu)就是指平臺系統(tǒng)對各級之間界面的定義及其上、下層的功能分配,而且每一層又有它自己的系統(tǒng)結(jié)構(gòu)。主要按照功能、邏輯順序來劃分多級層次結(jié)構(gòu)。在劃分系統(tǒng)結(jié)構(gòu)的時候,主要需要綜合平衡下面的一些問題:
1、本質(zhì)上,它是從平臺用戶在使用本平臺進行開發(fā)時,所看到的本平臺的屬性,包括概念性結(jié)構(gòu),一些接口和功能特性。從概念和功能上把它看作是有多級構(gòu)成的層次結(jié)構(gòu),有利于對嵌入式控制器及開發(fā)平臺本身的正確理解。要研究哪些應(yīng)當透明,哪些不應(yīng)當透明。透明的好處是可以不用管它,簡化了該級的設(shè)計。
2、一般來說,很多功能既可以放在上層,也可以放在下層,而且它們在邏輯功能上是等效的。選擇什么樣的上下層分配比例,主要取決于易用性,復雜度及現(xiàn)有的硬件狀況等。
3、系統(tǒng)結(jié)構(gòu)的設(shè)計與實現(xiàn),究竟應(yīng)該從哪一層開始,也是一個重要的問題。比如對于一個三層的結(jié)構(gòu),可以有從上到下、從下到上、由中間開始等多種選擇。從上述幾點考慮,嵌入式控制器平臺的系統(tǒng)結(jié)構(gòu)如圖3所示。
我們把嵌入式控制器系統(tǒng)分為3個抽象層次:體系結(jié)構(gòu)平臺(ARC platform),應(yīng)用程序編程接口平臺(API platform),定制的應(yīng)用程序平臺(ASP)。ARC平臺包含了微處理器存儲系統(tǒng),接口電路,I/O通道及芯片之間的內(nèi)部連接。微處理器系統(tǒng)由S3C2410微處理器、FLASH, SDRAM, CS8900A網(wǎng)絡(luò)控制芯片等一族“微架構(gòu)”組成。API平臺包括RTOS實時操作系統(tǒng),嵌入式Web服務(wù)器,設(shè)備驅(qū)動程序等。API平臺是軟件抽象層,把ARC平臺的實現(xiàn)細節(jié)進行封裝。API平臺提供接口服務(wù),并對這些接口按類別進行分組。比如用戶需要知道RTOS是否提供占先式任務(wù)調(diào)度接口,嵌入式Web服務(wù)器提供的HTTP, TCP/IP接口。ASP平臺提供用戶的直接操作界面和專門的應(yīng)用服務(wù),如讓用戶通過瀏覽器查看和設(shè)定智能儀表的控制參數(shù)。
圖3 平臺的劃分
在每個平臺都有相應(yīng)的服務(wù)質(zhì)量(QoS)的要求。在ARC平臺對功耗、存儲量、處理速度、通訊能力等都有要求。S3C2410, CS8900A等芯片可以很好的滿足這些要求。在API平臺對運行任務(wù)的個數(shù),任務(wù)切換時間等也有要求,嵌入式Web服務(wù)器和嵌入式Linux能滿足這些要求。在ASP平臺要求進行實時的參數(shù)查看和參數(shù)設(shè)定。采用Java Applet能很好的做到這些。
對嵌入式控制器系統(tǒng)進行平臺的劃分,并且對各個平臺提出相應(yīng)的服務(wù)質(zhì)量參使我們在設(shè)計的初始階段對整個設(shè)計有全局的觀念,由于各個平臺之間相對獨對以后出現(xiàn)的新的設(shè)計要求和設(shè)計修改具有很好的適應(yīng)能力。
5 基于UML-RT的嵌入式控制器設(shè)計
在對嵌入式控制器劃分平臺后,我們可以用UML-RT的符號體系對嵌入式控制器系統(tǒng)進行建模。我們把建模的過程分為兩個階段。第一階段是考慮系統(tǒng)的對外接口。第二階段是考慮系統(tǒng)內(nèi)部的平臺建模。
在第一階段,嵌入式控制器的建模見圖4。根據(jù)前面用例圖的需求分析,得出系統(tǒng)需要與環(huán)境交互的端口有兩個:一個是與控制對象即智能儀表進行通訊。一個是和用戶進行交互。為了支持和用戶交互以及控制對象通訊,我們定義了兩個容器(capsule)u :User InteRFace和t : Transfer Data。容器p :Process Data則是用來處理數(shù)據(jù)。容器可以包含相關(guān)的軟件和硬件結(jié)構(gòu),數(shù)據(jù)傳送可通過并口和串口進行,這種傳送和處理器藕合的很緊,我們用UML-RT的擴展符號表示。同樣,《SW p1》表示在處理器P1上執(zhí)行的處理與控制對象通訊的程序。我們用這種方式還可以對u :User Interface和p :Process Data進行細化。
圖4 嵌入式控制器的第一階段表示
在第一階段的基礎(chǔ)之上,我們結(jié)合前面對平臺的劃分,進行平臺建模。系統(tǒng)的ARC平臺的建模如圖5所示。
圖5 ARC平臺下的UML-RT建模
圖5表示了ARC平臺的基本組件和它們的拓撲圖結(jié)構(gòu),利用這個圖可以進一步的進行對象建模。這個模型提供了一個框架,并可以方便的增加,移動,替代,修改框架內(nèi)的元素。UML-RT的端口可以有效的表示模型元素之間的接口。
API平臺處于ARC平臺和ASP平臺之間,包括RTOS嵌入式Web服務(wù)器,設(shè)備驅(qū)動程序等。從UML-RT角度看,API平臺是ARC容器與ASP容器之間的通訊管道。在這里ARC容器和ASP容器直接通過連接器相連。
ARC Proxy從ASP容器的端口中接收調(diào)用信息,然后把這個信息通過RTOS API送到合適的設(shè)備驅(qū)動程序,讓設(shè)備驅(qū)動程序去和ARC平臺通訊。異步或同步的通訊可以通過這個方式進行。驅(qū)動程序和RTOS是緊密相關(guān)的。ASP平臺的建模同樣可以通過類似的方式表現(xiàn)。
綜上所述,結(jié)合UML-RT和Platform進行嵌入式控制器的設(shè)計,我們看到它們能夠很好的對嵌入式軟硬件進行抽象,提供良好的文檔資料?;赨ML-RT和Platform設(shè)計的系統(tǒng)架構(gòu),對設(shè)計過程出現(xiàn)的新的設(shè)計要求和設(shè)計修改具有很好的適應(yīng)能力,設(shè)計者可以及早的發(fā)現(xiàn)并更正錯誤。
評論