基于儀表系統的嵌入式控制器的開發研究
我們把嵌入式控制器系統分為3個抽象層次:體系結構平臺(ARC platform),應用程序編程接口平臺(API platform),定制的應用程序平臺(ASP)。ARC平臺包含了微處理器存儲系統,接口電路,I/O通道及芯片之間的內部連接。微處理器系統由S3C2410微處理器、FLASH, SDRAM, CS8900A網絡控制芯片等一族“微架構”組成。API平臺包括RTOS實時操作系統,嵌入式Web服務器,設備驅動程序等。API平臺是軟件抽象層,把ARC平臺的實現細節進行封裝。API平臺提供接口服務,并對這些接口按類別進行分組。比如用戶需要知道RTOS是否提供占先式任務調度接口,嵌入式Web服務器提供的HTTP, TCP/IP接口。ASP平臺提供用戶的直接操作界面和專門的應用服務,如讓用戶通過瀏覽器查看和設定智能儀表的控制參數。
圖3 平臺的劃分
在每個平臺都有相應的服務質量(QoS)的要求。在ARC平臺對功耗、存儲量、處理速度、通訊能力等都有要求。S3C2410, CS8900A等芯片可以很好的滿足這些要求。在API平臺對運行任務的個數,任務切換時間等也有要求,嵌入式Web服務器和嵌入式Linux能滿足這些要求。在ASP平臺要求進行實時的參數查看和參數設定。采用Java Applet能很好的做到這些。
對嵌入式控制器系統進行平臺的劃分,并且對各個平臺提出相應的服務質量參使我們在設計的初始階段對整個設計有全局的觀念,由于各個平臺之間相對獨對以后出現的新的設計要求和設計修改具有很好的適應能力。
5 基于UML-RT的嵌入式控制器設計
在對嵌入式控制器劃分平臺后,我們可以用UML-RT的符號體系對嵌入式控制器系統進行建模。我們把建模的過程分為兩個階段。第一階段是考慮系統的對外接口。第二階段是考慮系統內部的平臺建模。
在第一階段,嵌入式控制器的建模見圖4。根據前面用例圖的需求分析,得出系統需要與環境交互的端口有兩個:一個是與控制對象即智能儀表進行通訊。一個是和用戶進行交互。為了支持和用戶交互以及控制對象通訊,我們定義了兩個容器(capsule)u :User InteRFace和t : Transfer Data。容器p :Process Data則是用來處理數據。容器可以包含相關的軟件和硬件結構,數據傳送可通過并口和串口進行,這種傳送和處理器藕合的很緊,我們用UML-RT的擴展符號表示。同樣,《SW p1》表示在處理器P1上執行的處理與控制對象通訊的程序。我們用這種方式還可以對u :User Interface和p :Process Data進行細化。
圖4 嵌入式控制器的第一階段表示
在第一階段的基礎之上,我們結合前面對平臺的劃分,進行平臺建模。系統的ARC平臺的建模如圖5所示。
圖5 ARC平臺下的UML-RT建模
圖5表示了ARC平臺的基本組件和它們的拓撲圖結構,利用這個圖可以進一步的進行對象建模。這個模型提供了一個框架,并可以方便的增加,移動,替代,修改框架內的元素。UML-RT的端口可以有效的表示模型元素之間的接口。
API平臺處于ARC平臺和ASP平臺之間,包括RTOS嵌入式Web服務器,設備驅動程序等。從UML-RT角度看,API平臺是ARC容器與ASP容器之間的通訊管道。在這里ARC容器和ASP容器直接通過連接器相連。
ARC Proxy從ASP容器的端口中接收調用信息,然后把這個信息通過RTOS API送到合適的設備驅動程序,讓設備驅動程序去和ARC平臺通訊。異步或同步的通訊可以通過這個方式進行。驅動程序和RTOS是緊密相關的。ASP平臺的建模同樣可以通過類似的方式表現。
綜上所述,結合UML-RT和Platform進行嵌入式控制器的設計,我們看到它們能夠很好的對嵌入式軟硬件進行抽象,提供良好的文檔資料?;赨ML-RT和Platform設計的系統架構,對設計過程出現的新的設計要求和設計修改具有很好的適應能力,設計者可以及早的發現并更正錯誤。
評論