在本課題中,通過smtp協(xié)議的方式提供了一種新的嵌入式遠程通訊模式。即在arm處理器中實現(xiàn)smtp協(xié)議,并通過雙絞線連接到internet上。在該平臺上開發(fā)的遠程控制設備或儀器儀表實現(xiàn)了通過internet進行數(shù)據(jù)的遠程傳輸,在任意一臺上網(wǎng)的計算機上都可以通過internet對其進行遠程監(jiān)視和控制。
項目中選擇了基于arm體系結(jié)構(gòu)的32位微處理器,介紹了模塊的各組成部分,包括基于arm的硬件結(jié)構(gòu)模型、軟件結(jié)構(gòu)、smtp的基本結(jié)構(gòu)及其運行機制。并詳細分析了arm系統(tǒng)中嵌入式smtp軟件模塊的具體實現(xiàn)和調(diào)試過程。
1.系統(tǒng)整體結(jié)構(gòu)
在系統(tǒng)中,將smtp服務器引入到arm的平臺上實現(xiàn)嵌入式smtp服務器(embeddedsmtpserver)。在此軟硬件系統(tǒng)基礎上開發(fā)控制設備及儀表,使傳統(tǒng)的測試和控制設備轉(zhuǎn)變?yōu)榫邆淞艘詔cp/ip為底層通信協(xié)議,smtp技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡測試和控制設備。嵌入式smtp系統(tǒng)與傳統(tǒng)smtpserver相比,簡化了協(xié)議結(jié)構(gòu),將信息采集和信息發(fā)布都集成到現(xiàn)場的測控設備中。由于smtp是internet中跨平臺的標準通信協(xié)議,內(nèi)嵌于設備的smtp服務器可以接收任何標準郵件發(fā)送工具發(fā)出的指令和數(shù)據(jù)。同時由于smtp技術(shù)的開放性和獨立平臺特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設計、維護工作量,節(jié)省了人員培訓費用等,提高了現(xiàn)場測試和控制設備的管理水平。
1.1系統(tǒng)的硬件結(jié)構(gòu)
系統(tǒng)硬件的核心部件,由運行嵌入式操作系統(tǒng)的嵌入式微處理器系統(tǒng)構(gòu)成,在嵌入式操作系統(tǒng)之上運行著系統(tǒng)的核心軟件。由于arm處理器技術(shù)成熟,*高,且成本急劇下降。從工控角度出發(fā),我們選用motorola基于arm內(nèi)核的mx9328mx1。該芯片是一款基于arm9t芯片。它一方面具有arm處理器的低功耗、高性能等優(yōu)點;同時又具有豐富的片上資源,非常適合嵌入式產(chǎn)品的開發(fā)。
在硬件系統(tǒng)中包含實現(xiàn)smtp通信功能的微處理器,它可以和前端的應用系統(tǒng)直接集成在一起,也可以通過現(xiàn)場總線與應用系統(tǒng)相連。包括:8m的flash存儲器用來存儲實時操作系統(tǒng)的系統(tǒng)內(nèi)核、tcp/ip協(xié)議棧、各種控制程序及其他并行模塊;32m的sdram存儲器供系統(tǒng)運行時使用;以太網(wǎng)接口實現(xiàn)與internet/intranet連接;現(xiàn)場總線擴展控制模塊提供現(xiàn)場一定范圍內(nèi)設備的分布控制;通用io口控制模塊等。其硬件結(jié)構(gòu)圖如圖1所示。
圖1:嵌入式smtp遠程控制平臺硬件結(jié)構(gòu)
考慮到性價比,系統(tǒng)的硬件結(jié)構(gòu)根據(jù)應用環(huán)境的不同進行調(diào)整,硬件資源也很有限。實時操作系統(tǒng)的系統(tǒng)內(nèi)核、tcp/ip協(xié)議棧、各種應用程序都必須寫入到flash中并在運行時調(diào)入到sdram中運行,這樣對軟件系統(tǒng)提出了較高的要求。
1.2系統(tǒng)軟件結(jié)構(gòu)
整個系統(tǒng)的軟件系統(tǒng)包括五個部分:①嵌入式操作系統(tǒng);②虛擬文件系統(tǒng);③smtp引擎;④配置模塊;⑤安全模塊;⑥控制程序接口模塊。
嵌入式操作系統(tǒng)選用linux,作為系統(tǒng)的軟件基礎,其優(yōu)異的跨平臺移植能力、開放的源代碼、配置的靈活性為開發(fā)提供了便利。內(nèi)置的tcp/ip協(xié)議??墒褂脩艨焖俚拈_發(fā)出應用層協(xié)議的程序。
linux上的虛擬文件系統(tǒng)在flash及sdram的基礎上建立類似于磁盤的使用環(huán)境。虛擬文件系統(tǒng)使用數(shù)據(jù)結(jié)構(gòu)存儲文件大小、修改時間等信息。通過虛擬文件系統(tǒng)將系統(tǒng)中所需的控制程序以及配置文本等以文件形式存儲于系統(tǒng)芯片上。
smtp引擎負責響應用戶的請求,通過應用程序接口使用戶遠程控制設備的動作,臨界值狀態(tài)報告及定期向用戶報告工作狀態(tài)。
配置模塊使系統(tǒng)管理員可以遠程使用郵件的方式設置設備的參數(shù),在系統(tǒng)啟動中定義的配置環(huán)境變量包括設備的臨界值,狀態(tài)報告周期,socket端口等網(wǎng)絡參數(shù),設備的啟動停止時間,工作周期等。
網(wǎng)絡遠程設備的配置和控制信息的訪問是安全保護的重點。安全模塊通過在服務器上定義安全域和對每個安全域定義的用戶名/密碼實現(xiàn)對敏感信息的保護。還可以對請求控制動作及數(shù)據(jù)采取加密措施實現(xiàn)安全保護功能。系統(tǒng)主要通過esmtp來實現(xiàn)保護措施。esmtp為擴展的smtp協(xié)議,是郵件服務器系統(tǒng)為了限制非本系統(tǒng)的正式用戶利用本系統(tǒng)散發(fā)垃圾郵件或其他不當行為而開設的一項安全認證服務。
應用程序接口模塊實現(xiàn)和嵌入式控制系統(tǒng)的控制及數(shù)據(jù)交換。在本系統(tǒng)中,應用程序接口與嵌入式操作系統(tǒng)通信,通過設備的驅(qū)動程序?qū)崿F(xiàn)對嵌入系統(tǒng)的配置、監(jiān)視和控制,是系統(tǒng)控制的核心。監(jiān)控程序模塊使用cgi(commongatewayinterface)的方式實現(xiàn)。