本文主要是通过SMTP协议的方式提供了一种新的嵌入式远程通讯模式。即在ARM处理器中实现SMTP协议,并通过双绞线连接到Internet上。在该平台上开发的远程控制设备或仪器仪表实现了通过Internet进行数据的远程传输,在任意一台上网的计算机上都可以通过Internet对其进行远程监视和控制。
项目中选择了基于ARM体系结构的32位微处理器,介绍了模块的各组成部分,包括基于ARM的硬件结构模型、软件结构、SMTP的基本结构及其运行机制。并详细分析了ARM系统中嵌入式SMTP软件模块的具体实现和调试过程。
1.系统整体结构
在系统中,将SMTP服务器引入到ARM的平台上实现嵌入式SMTP服务器(Embedded SMTP Server)。在此软硬件系统基础上开发控制设备及仪表,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,SMTP技术为核心的基于互联网的网络测试和控制设备。嵌入式SMTP系统与传统SMTP Server相比,简化了协议结构,将信息采集和信息发布都集成到现场的测控设备中。由于SMTP是Internet中跨平台的标准通信协议,内嵌于设备的SMTP 服务器可以接收任何标准邮件发送工具发出的E-mail指令和数据。同时由于SMTP技术的开放性和独立平台特性,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用等,提高了现场测试和控制设备的管理水平。
1.1系统的硬件结构
系统硬件的核心部件,由运行嵌入式操作系统的嵌入式微处理器系统构成,在嵌入式操作系统之上运行着系统的核心软件。由于ARM处理器技术成熟,市场占有率高,且成本急剧下降。从工控角度出发,我们选用MOTOROLA基于ARM 内核的MX9328MX1。该芯片是一款基于ARM9T芯片。它一方面具有ARM 处理器的低功耗、高性能等优点;同时又具有丰富的片上资源,非常适合嵌入式产品的开发。
在硬件系统中包含实现SMTP通信功能的微处理器,它可以和前端的应用系统直接集成在一起,也可以通过现场总线与应用系统相连。包括:8M 的FLASH 存储器用来存储实时操作系统的系统内核、TCP/IP 协议栈、各种控制程序及其他并行模块;32M的SDRAM存储器供系统运行时使用;以太网接口实现与Internet/Intranet 连接;现场总线扩展控制模块提供现场一定范围内设备的分布控制;通用IO口控制模块等。其硬件结构图如图1 所示[2]。
图1: 嵌入式SMTP远程控制平台硬件结构
考虑到性价比,系统的硬件结构根据应用环境的不同进行调整,硬件资源也很有限。实时操作系统的系统内核、TCP/IP 协议栈、各种应用程序都必须写入到FLASH中并在运行时调入到SDRAM 中运行,这样对软件系统提出了较高的要求。
1.2系统软件结构
整个系统的软件系统包括五个部分:①嵌入式操作系统;②虚拟文件系统;③SMTP引擎;④配置模块;⑤安全模块;⑥控制程序接口模块。
嵌入式操作系统选用Linux,作为系统的软件基础,其优异的跨平台移植能力、开放的源代码、配置的灵活性为开发提供了便利。内置的TCP/IP协议栈可使用户快速的开发出应用层协议的程序。
Linux上的虚拟文件系统在FLASH及SDRAM的基础上建立类似于磁盘的使用环境。虚拟文件系统使用数据结构存储文件大小、修改时间等信息。通过虚拟文件系统将系统中所需的控制程序以及配置文本等以文件形式存储于系统芯片上。
SMTP引擎负责响应用户的请求,通过应用程序接口使用户远程控制设备的动作,临界值状态报告及定期向用户报告工作状态。
配置模块使系统管理员可以远程使用邮件的方式设置设备的参数,在系统启动中定义的配置环境变量包括设备的临界值,状态报告周期,Socket端口等网络参数,设备的启动停止时间,工作周期等。
网络远程设备的配置和控制信息的访问是安全保护的重点。安全模块通过在服务器上定义安全域和对每个安全域定义的用户名/密码实现对敏感信息的保护。还可以对请求控制动作及数据采取加密措施实现安全保护功能。系统主要通过ESMTP来实现保护措施。ESMTP为扩展的SMTP协议,是邮件服务器系统为了限制非本系统的正式用户利用本系统散发垃圾邮件或其他不当行为而开设的一项安全认证服务。
应用程序接口模块实现和嵌入式控制系统的控制及数据交换。在本系统中,应用程序接口与嵌入式操作系统通信,通过设备的驱动程序实现对嵌入系统的配置、监视和控制,是系统控制的核心。监控程序模块使用CGI(Common Gateway InteRFace)的方式实现。