当前位置:文档之家› 基于ARM技术的嵌入式网关设计.

基于ARM技术的嵌入式网关设计.

1基于 ARM 技术的嵌入式网关设计Design of ARM-Based Embedded Gateway吴海平王慧锋(华东理工大学自动化与控制系,上海 200237摘要:为解决楼宇自动化系统中不同串行通信协议之间的软件接口问题,从而真正实现现场设备的远程监控与管理功能。

为此提出了通过嵌入式网关实现不同串行通信协议到以太网协议的转换方案。

嵌入式网关采用结构化设计, 其核心的协议转换模块采用了基于 ARM7TDMI 内核的 32位处理器,内嵌μCLinux 操作系统。

该网关实现了楼宇自动化系统中不同串行通信协议之间的转换,实现了统一监控的要求。

关键词:嵌入式网关协议转换模块监控0 引言楼宇自动化中使用了大量串行通信设备,它们采用了不同的串行通信协议,导致智能建筑管理系统(IBMS 和这些设备通信要时分别编写不同的软件接口,使得软件开发、维护和移植工作量增大,随着 Internet 的发展, 对现场自动化设备进行远程监控的需求越来越迫切,但由于现场设备没有以太网接口,很难实现这些设备的远程监控与管理。

一种解决上述问题的有效方法就是为这些设备开发具有以太网接口的串口网关。

网关又被称为网间协议变换器,用于连接采用不同通信协议的网络,实现网络之间的数据传输。

当要求一个报文从一个网段发送到另一个网段时,网关完成对该报文的接收、翻译与转发工作。

此类网关传统上都采用 8位或 16位单片机来实现,受到运算能力、存储空间的限制,这些网关仅能提供低速和小数据量的以太网接入,而且实时性差,不能满足楼宇自动化大量监控数据传输要求。

此外,这些网关设备只支持特定设备的协议转换,通用性较差,限制了其使用。

基于上述情况,我们设计了基于 ARM 的嵌入式可组态串口网关。

在硬件上采用 SAMSUNG 公司基于 ARM7TDMI 内核的 32位处理器 S3C4510B ,它具有高性能、低功耗和低成本特性,同时外接了大容量 SDRAM 和 Flash 存储器,以满足大数据量实时监控要求;软件上采用嵌入式μCLinux 操作系统,内嵌多个楼宇自动化常用串行设备的通信协议,并通过开关选择所接入设备对应的串口协议。

通过运行开发的应用软件最终实现串口设备到以太网的协议转换。

1 嵌入式网关结构设计一个嵌入式系统一般都由嵌入式计算机系统和执行装置组成,其中嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、软件层和功能层组成。

本嵌入式网关是为实现特定的功能而设计的,其总体结构可简化为硬件层和软件层两部分。

硬件层由高性能的微处理器和外围接口电路组成,软件层由实时操作系统和在其上运行的软件构成,其结构如图 1所示。

软件层硬件层图 1 系统结构图嵌入式网关主要实现串口协议和以太网协议之间的转换,采用了结构化设计方案,由协议转换模块、以太网接口模块和串行接口模块等 3部分组成,如图 2所示。

1.1 协议转换模块协议转换模块是嵌入式网关的核心, 由嵌入式微处理器、 I/O接口电路及外扩的大容量存储器组成。

嵌入式微处理器芯片选用 SAMSUNG 公司基于ARM7TDMI 内核的 32位高速处理器 S3C4510B 。

这款处理器专门针对2以太网应用,在片内集成了以太网 MAC 层控制器,可以简化网络接口电路的设计并提高系统的可靠性。

通过外部总线接口 EBI 可连接 4 M的 Flash 及 32 M的SDRAM , 其中 Flash 存储器可存放已调试好的用户应用程序、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等;而 SDRAM 存储器作为系统运行时的主要区域, 系统及用户数据、堆栈均位于其中。

将 S3C4510B 提供的 18个可编程的I/O 端口设置为不同的工作模式,用于设备开关选择输入和 LED 显示状态输出等。

1.2 以太网接口模块以太网接口电路主要由 MAC 控制器和物理层接口两部分组成。

我们选用主控制器芯片 S3C4510B 内嵌一个以太网控制器,支持媒体独立接口 MII (media independent interface和带缓冲 DMA 接口 BDI (buffered DMA interface ,可在半双工或全双工模式下提供 10 M/100 Mbps的以太网接入。

在半双工模式下,控制器支持CSMA/CD协议。

在全双工模式下支持 IEEE802.3MAC 控制层协议、 S3C4510B 未提供物理层接口, 需外接一片物理层芯片,以提供以太网的接入通道。

以太网物理层接口器件主要功能一般包括:物理编码子层、物理媒体附件、双绞线物理媒体子层、 10BASE-TX 编码 /解码器和双绞线媒体访问单元等。

选用 Realtek 公司生产的RTL8201芯片作为以太网的物理层接口控制芯片,再通过 RJ45就可连接到以太网。

1.3 串行接口模块ARM 芯片通过串行接口 RS232接串行楼宇自动化设备。

由于 RS-232-C 标准所定义的高、低电平信号与 S3C4510B 系统的 LVTTL 电路所定义的高、低电平信号完全不同, LVTTL 的标准逻辑“ 1” 对应 2~3.3 V电平, 标准逻辑“ 0”对应 0~0.4 V 电平, 而 RS-232-C 标准采用负逻辑方式, 标准逻辑“ 1” 对应 -15~-5 V 电平,标准逻辑“ 0”对应 5~15 V 电平,本嵌入式网关使用 MAX232芯片来实现电路的电平转换。

通过硬件开关可以选择不同类型的串行设备连接,并实现不同串行设备与以太网间的协议转换。

目前该串口网关支持 8种常用串行楼宇自动化设备。

硬件开关如图 3所示,开关编号从左到右依次为 1~3,开关的上位表示 OFF ,下位表示 ON 。

开关的状态与所选设备的对应关系如表 1所示。

序号开关 3开关 2开关 1所对应设备0OFF OFF OFF 01OFF OFF ON 12OFF ON OFF 23OFF ON ON 34ON OFF OFF 45ON OFF ON 56ON ON OFF 67ONONON7表 1 开关位置与设备对应关系图 4 软件流程图2 嵌入式网关软件设计基于 ARM 嵌入式串口网关的整个系统软件包括操作系统和一系列应用程序。

操作系统选用μCLinux , 它是占先式的实时内核,具有很好的实时性。

各个用户程序任务相互独立,每个任务具有不同的优先级,以保证紧急任务及时响应。

2.1 软件设计具体流程基于 ARM的嵌入式网关是可组态的串口网关,目前可根据硬件开关配置实现 8种不同的串行设备与以太网之间的协议转换。

在通过相应的硬件开关配置后重置本网关,μCLinux 操作系统开始初始化。

在初始化结束后进入任务等待的状态,由调度器管理不同优先级的任务。

具体的软件流程如图4所示。

2.2 设备驱动设备驱动程序是μCLinux 内核和硬件之间的接口,同时也是μCLinux 内核的一部分。

设备驱动程序是一组数据结构和函数的集合。

这些数据结构和函数通过定义的接口控制一个或多个设备。

对用户程序而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供一致的接口。

设备驱动程序位于内核的最底层,直接与硬件进行交互。

内核提供统一的系统调用,用户程序通过这些标准系统调用来访问硬件设备。

本嵌入式网关的设备驱动程序放在外扩的 Flash 存储器上, 通过硬件开关选定特定的驱动程序, 在网关重置, μCLinux 操作系统初始化后等待命令,对其进行任务调度。

2.3 网络编程在网络通信中,基于 TCP/IP协议的通信方式有很多。

根据实际应用的需要,我们选用最常见的 Socket 来实现服务器端和客户端的数据通信。

Socket 是建立在传输层协议 (主要是 TCP 和 UDP 上的一种套接字规范,它定义 OFF ON图 3 串行硬件设备选择开关两台计算机间进行通信的规范。

如果说两台计算机是利用一个“通道”进行通信,那么这个“通道”的两端就是两个套接字。

连接一旦建立,应用程序就可以像操作文件句柄一样,通过对套接字句柄读写来实现进程间数据的交换, 而不必考虑具体的底层通信协议。

常用流式套接字和数据报套接字, 因为它们提供基于 TCP 和 UDP 协议的数据流接口,又分别被称为 TCP 套接字和 UDP 套接字。

在开发μCLinux 系统下套接字程序时,我们采用 TCP 套接字,因为它提供了一种可靠的面向连接的数据传输方法,有自己的检错和纠错机制,并且不管是对单个的数据报,还是对于数据包,它都提供了一种流式数据传输方式。

3 结束语基于 ARM 的嵌入式可组态串口网关不仅实现了楼宇自动化中不同的串行设备与以太网之间的通信,而且解决了监控中心通过以太网对楼宇自动化系统中不同串行设备的监控。

本网关可实现以太网与 8种不同串行设备的通信,通过改进可以满足对更多类型的串行设备的监控和通信。

随着以太网的发展和嵌入式系统设计被人们越来越广泛的关注,这种设计方式将会在楼宇自动化领域及工业控制领域得到越来越广泛的应用。

参考文献1 李驹光 . ARM应用系统开发详解 [M]. 北京 :清华大学出版社 , 2003.2 邹思轶 . 嵌入式 Linux 设计与应用 [M]. 北京 :清华大学出版社 , 2002.3 郭玉东 , 王非非 . Linux操作系统结构分析 [M]. 西安 :西安电子科技大学出版社 , 2002.4 柴雅静 , 向继东 . Lonworks的嵌入式以太网关设计 [J]. 测控技术 , 2003, 22 (10收稿日期:2006-01-27。

第一作者吴海平,男, 1982年生,现为华东理工大学在读硕士研究生;主要从事嵌入式技术领域研究。

3。

相关主题