通過SMTP協(xié)議的方式提供了一種新的嵌入式遠程通訊模式。即在ARM處理器中實現(xiàn)SMTP協(xié)議,并通過雙絞線連接到Internet上。在該平臺上開發(fā)的遠程控制設(shè)備或儀器儀表實現(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服務(wù)器引入到ARM的平臺上實現(xiàn)嵌入式SMTP服務(wù)器(Embedded SMTP Server)。在此軟硬件系統(tǒng)基礎(chǔ)上開發(fā)控制設(shè)備及儀表,使傳統(tǒng)的測試和控制設(shè)備轉(zhuǎn)變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,SMTP技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)測試和控制設(shè)備。嵌入式SMTP系統(tǒng)與傳統(tǒng)SMTP Server相比,簡化了協(xié)議結(jié)構(gòu),將信息采集和信息發(fā)布都集成到現(xiàn)場的測控設(shè)備中。由于SMTP是Internet中跨平臺的標(biāo)準(zhǔn)通信協(xié)議,內(nèi)嵌于設(shè)備的SMTP 服務(wù)器可以接收任何標(biāo)準(zhǔn)郵件發(fā)送工具發(fā)出的E-mail指令和數(shù)據(jù)。同時由于SMTP技術(shù)的開放性和獨立平臺特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設(shè)計、維護工作量,節(jié)省了人員培訓(xùn)費用等,提高了現(xiàn)場測試和控制設(shè)備的管理水平。
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通信功能的微處理器,它可以和前端的應(yīng)用系統(tǒng)直接集成在一起,也可以通過現(xiàn)場總線與應(yīng)用系統(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)設(shè)備的分布控制;通用IO口控制模塊等。
考慮到性價比,系統(tǒng)的硬件結(jié)構(gòu)根據(jù)應(yīng)用環(huán)境的不同進行調(diào)整,硬件資源也很有限。實時操作系統(tǒng)的系統(tǒng)內(nèi)核、TCP/IP 協(xié)議棧、各種應(yīng)用程序都必須寫入到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)的軟件基礎(chǔ),其優(yōu)異的跨平臺移植能力、開放的源代碼、配置的靈活性為開發(fā)提供了便利。內(nèi)置的TCP/IP協(xié)議??墒褂脩艨焖俚拈_發(fā)出應(yīng)用層協(xié)議的程序。
Linux上的虛擬文件系統(tǒng)在FLASH及SDRAM的基礎(chǔ)上建立類似于磁盤的使用環(huán)境。虛擬文件系統(tǒng)使用數(shù)據(jù)結(jié)構(gòu)存儲文件大小、修改時間等信息。通過虛擬文件系統(tǒng)將系統(tǒng)中所需的控制程序以及配置文本等以文件形式存儲于系統(tǒng)芯片上。
SMTP引擎負責(zé)響應(yīng)用戶的請求,通過應(yīng)用程序接口使用戶遠程控制設(shè)備的動作,臨界值狀態(tài)報告及定期向用戶報告工作狀態(tài)。
配置模塊使系統(tǒng)管理員可以遠程使用郵件的方式設(shè)置設(shè)備的參數(shù),在系統(tǒng)啟動中定義的配置環(huán)境變量包括設(shè)備的臨界值,狀態(tài)報告周期,Socket端口等網(wǎng)絡(luò)參數(shù),設(shè)備的啟動停止時間,工作周期等。
網(wǎng)絡(luò)遠程設(shè)備的配置和控制信息的訪問是安全保護的重點。安全模塊通過在服務(wù)器上定義安全域和對每個安全域定義的用戶名/密碼實現(xiàn)對敏感信息的保護。還可以對請求控制動作及數(shù)據(jù)采取加密措施實現(xiàn)安全保護功能。系統(tǒng)主要通過ESMTP來實現(xiàn)保護措施。ESMTP為擴展的SMTP協(xié)議,是郵件服務(wù)器系統(tǒng)為了限制非本系統(tǒng)的正式用戶利用本系統(tǒng)散發(fā)垃圾郵件或其他不當(dāng)行為而開設(shè)的一項安全認證服務(wù)。
應(yīng)用程序接口模塊實現(xiàn)和嵌入式控制系統(tǒng)的控制及數(shù)據(jù)交換。在本系統(tǒng)中,應(yīng)用程序接口與嵌入式操作系統(tǒng)通信,通過設(shè)備的驅(qū)動程序?qū)崿F(xiàn)對嵌入系統(tǒng)的配置、監(jiān)視和控制,是系統(tǒng)控制的核心。監(jiān)控程序模塊使用CGI(Common Gateway InteRFace)的方式實現(xiàn)。