在ARM處理器中實(shí)現(xiàn)SMTP協(xié)議的嵌入式遠(yuǎn)程通訊模式
掃描二維碼
隨時(shí)隨地手機(jī)看文章
項(xiàng)目中選擇了基于ARM體系結(jié)構(gòu)的32位微處理器,介紹了模塊的各組成部分,包括基于ARM的硬件結(jié)構(gòu)模型、軟件結(jié)構(gòu)、SMTP的基本結(jié)構(gòu)及其運(yùn)行機(jī)制。并詳細(xì)分析了ARM系統(tǒng)中嵌入式SMTP軟件模塊的具體實(shí)現(xiàn)和調(diào)試過(guò)程。
1.系統(tǒng)整體結(jié)構(gòu)
在系統(tǒng)中,將SMTP服務(wù)器引入到ARM的平臺(tái)上實(shí)現(xiàn)嵌入式SMTP服務(wù)器(Embedded SMTP Server)。在此軟硬件系統(tǒng)基礎(chǔ)上開(kāi)發(fā)控制設(shè)備及儀表,使傳統(tǒng)的測(cè)試和控制設(shè)備轉(zhuǎn)變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,SMTP技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)測(cè)試和控制設(shè)備。嵌入式SMTP系統(tǒng)與傳統(tǒng)SMTP Server相比,簡(jiǎn)化了協(xié)議結(jié)構(gòu),將信息采集和信息發(fā)布都集成到現(xiàn)場(chǎng)的測(cè)控設(shè)備中。由于SMTP是Internet中跨平臺(tái)的標(biāo)準(zhǔn)通信協(xié)議,內(nèi)嵌于設(shè)備的SMTP 服務(wù)器可以接收任何標(biāo)準(zhǔn)郵件發(fā)送工具發(fā)出的E-mail指令和數(shù)據(jù)。同時(shí)由于SMTP技術(shù)的開(kāi)放性和獨(dú)立平臺(tái)特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設(shè)計(jì)、維護(hù)工作量,節(jié)省了人員培訓(xùn)費(fèi)用等,提高了現(xiàn)場(chǎng)測(cè)試和控制設(shè)備的管理水平。
1.1系統(tǒng)的硬件結(jié)構(gòu)
系統(tǒng)硬件的核心部件,由運(yùn)行嵌入式操作系統(tǒng)的嵌入式微處理器系統(tǒng)構(gòu)成,在嵌入式操作系統(tǒng)之上運(yùn)行著系統(tǒng)的核心軟件。由于ARM處理器技術(shù)成熟,市場(chǎng)占有率高,且成本急劇下降。從工控角度出發(fā),我們選用MOTOROLA基于ARM 內(nèi)核的MX9328MX1。該芯片是一款基于ARM9T芯片。它一方面具有ARM 處理器的低功耗、高性能等優(yōu)點(diǎn);同時(shí)又具有豐富的片上資源,非常適合嵌入式產(chǎn)品的開(kāi)發(fā)。
在硬件系統(tǒng)中包含實(shí)現(xiàn)SMTP通信功能的微處理器,它可以和前端的應(yīng)用系統(tǒng)直接集成在一起,也可以通過(guò)現(xiàn)場(chǎng)總線與應(yīng)用系統(tǒng)相連。包括:8M 的FLASH 存儲(chǔ)器用來(lái)存儲(chǔ)實(shí)時(shí)操作系統(tǒng)的系統(tǒng)內(nèi)核、TCP/IP 協(xié)議棧、各種控制程序及其他并行模塊;32M的SDRAM存儲(chǔ)器供系統(tǒng)運(yùn)行時(shí)使用;以太網(wǎng)接口實(shí)現(xiàn)與Internet/Intranet 連接;現(xiàn)場(chǎng)總線擴(kuò)展控制模塊提供現(xiàn)場(chǎng)一定范圍內(nèi)設(shè)備的分布控制;通用IO口控制模塊等。其硬件結(jié)構(gòu)圖如圖1 所示[2]。
圖1: 嵌入式SMTP遠(yuǎn)程控制平臺(tái)硬件結(jié)構(gòu)
考慮到性?xún)r(jià)比,系統(tǒng)的硬件結(jié)構(gòu)根據(jù)應(yīng)用環(huán)境的不同進(jìn)行調(diào)整,硬件資源也很有限。實(shí)時(shí)操作系統(tǒng)的系統(tǒng)內(nèi)核、TCP/IP 協(xié)議棧、各種應(yīng)用程序都必須寫(xiě)入到FLASH中并在運(yùn)行時(shí)調(diào)入到SDRAM 中運(yùn)行,這樣對(duì)軟件系統(tǒng)提出了較高的要求。
1.2系統(tǒng)軟件結(jié)構(gòu)
整個(gè)系統(tǒng)的軟件系統(tǒng)包括五個(gè)部分:①嵌入式操作系統(tǒng);②虛擬文件系統(tǒng);③SMTP引擎;④配置模塊;⑤安全模塊;⑥控制程序接口模塊。
嵌入式操作系統(tǒng)選用Linux,作為系統(tǒng)的軟件基礎(chǔ),其優(yōu)異的跨平臺(tái)移植能力、開(kāi)放的源代碼、配置的靈活性為開(kāi)發(fā)提供了便利。內(nèi)置的TCP/IP協(xié)議??墒褂脩?hù)快速的開(kāi)發(fā)出應(yīng)用層協(xié)議的程序。
Linux上的虛擬文件系統(tǒng)在FLASH及SDRAM的基礎(chǔ)上建立類(lèi)似于磁盤(pán)的使用環(huán)境。虛擬文件系統(tǒng)使用數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)文件大小、修改時(shí)間等信息。通過(guò)虛擬文件系統(tǒng)將系統(tǒng)中所需的控制程序以及配置文本等以文件形式存儲(chǔ)于系統(tǒng)芯片上。
SMTP引擎負(fù)責(zé)響應(yīng)用戶(hù)的請(qǐng)求,通過(guò)應(yīng)用程序接口使用戶(hù)遠(yuǎn)程控制設(shè)備的動(dòng)作,臨界值狀態(tài)報(bào)告及定期向用戶(hù)報(bào)告工作狀態(tài)。
配置模塊使系統(tǒng)管理員可以遠(yuǎn)程使用郵件的方式設(shè)置設(shè)備的參數(shù),在系統(tǒng)啟動(dòng)中定義的配置環(huán)境變量包括設(shè)備的臨界值,狀態(tài)報(bào)告周期,Socket端口等網(wǎng)絡(luò)參數(shù),設(shè)備的啟動(dòng)停止時(shí)間,工作周期等。
網(wǎng)絡(luò)遠(yuǎn)程設(shè)備的配置和控制信息的訪問(wèn)是安全保護(hù)的重點(diǎn)。安全模塊通過(guò)在服務(wù)器上定義安全域和對(duì)每個(gè)安全域定義的用戶(hù)名/密碼實(shí)現(xiàn)對(duì)敏感信息的保護(hù)。還可以對(duì)請(qǐng)求控制動(dòng)作及數(shù)據(jù)采取加密措施實(shí)現(xiàn)安全保護(hù)功能。系統(tǒng)主要通過(guò)ESMTP來(lái)實(shí)現(xiàn)保護(hù)措施。ESMTP為擴(kuò)展的SMTP協(xié)議,是郵件服務(wù)器系統(tǒng)為了限制非本系統(tǒng)的正式用戶(hù)利用本系統(tǒng)散發(fā)垃圾郵件或其他不當(dāng)行為而開(kāi)設(shè)的一項(xiàng)安全認(rèn)證服務(wù)。
應(yīng)用程序接口模塊實(shí)現(xiàn)和嵌入式控制系統(tǒng)的控制及數(shù)據(jù)交換。在本系統(tǒng)中,應(yīng)用程序接口與嵌入式操作系統(tǒng)通信,通過(guò)設(shè)備的驅(qū)動(dòng)程序?qū)崿F(xiàn)對(duì)嵌入系統(tǒng)的配置、監(jiān)視和控制,是系統(tǒng)控制的核心。監(jiān)控程序模塊使用CGI(Common Gateway InteRFace)的方式實(shí)現(xiàn)。