首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM的嵌入式SMTP远程控制设计(1)

基于ARM的嵌入式SMTP远程控制设计(1)

随着WWW 的不断发展,人们对以IP 网络为基础的Internet 应用提出了更高的需求,将来的Internet 必将实现“利用IP 技术传输控制行为(AcTIon over IP)”。在工业控制领域怎样实现仪器仪表的远程数据采集,实现异构网络互连及远程监控成为技术的关键。因此需要一种合理的通讯模式来实现数据的远程传输 [1]。
在本课题中,通过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)的方式实现。
2.SMTP通讯模块设计
通过电子邮件来与网络嵌入式系统通信有如下优点:(1) 用户接口是日常使用的标准电子邮件客户程序,对技术要求较低;(2) 有现成的协议用于从各种设备(桌面电脑、手持设备及网络电话)发送电子邮件并在因特网上传输;(3) 只需稍加处理,便可对嵌入式设备上回复的电子邮件以HTML格式进行编码,使数据的表现形式更为丰富和易读;(4) 电子邮件客户程序有自己的存档日志,便于进行数据归档备份[3]。
系统中实现的是一个简化的SMTP Server。仅仅是根据基本的SMTP交互协议实现邮件接收和邮件转储。不提供邮件转发,也不需要考虑多用户的邮件并发连接。该SMTP Server仅仅为单用户提供专用连接,并按自己的特定格式接收。
因此,该SMTP Server实现的核心是实现最简单的SMTP锁步协议对话机,并从邮件中析取出命令及附件数据。在分析标准SMTP协议后,程序中仅实现符合应用需求的最简洁的SMTP对话机制。Server只是对客户命令有效的发出每一个对话的响应码及固定信息,然后接收客户机的应答。在应答消息中也仅仅分析应答的字符命令是否正确,而不理睬其他信息。在邮件处理过程中,只查找主题并判断,然后从邮件中判断出附件的标志并从附件开始处接收数据然后解码。
返回列表