嵌入式安全Web网关系统的硬件研究与设计

2010-09-25 05:55韩立毛赵跃华杜云海
通信技术 2010年3期
关键词:存储器网关以太网

韩立毛, 赵跃华, 杜云海

0 引言

工业终端设备接入 Internet 普遍采用“RS-232接口+上位机”的方案,这种方案实现方便,设备兼容性好,但由于上位机多采用工控机或高性能 PC机,体积大、成本高,且运行较多的通用软件而导致稳定性降低、可靠性差。现有的部分嵌入式 Web 服务器由于系统资源的限制而采用精简TCP/IP 协议及少量代码,仅实现简单的数据转发功能,在网络服务功能、安全性和智能控制方面考虑较少。鉴于以上不足,本文提出了以高性能嵌入式Web网关为枢纽的智能设备接入互联网的新方案,用以实现智能设备高速、安全接入互联网。由于硬件是系统运行的平台,所以其可靠性、稳定性、合理性关系到整个系统的运行质量。

1 网关系统的硬件设计方案

嵌入式Web网关一端通过现场总线连接多个智能设备,另一端通过以太网接口接入互联网,在其上需要运行完整的TCP/IP协议及相关的Internet软件,同时还要运行CAN总线驱动程序。由于该网关不仅完成数据的转发,同时还具有安全保护、数据初步处理等功能[1]。为了保证智能设备数据传输的实时性和高速率,对网关的硬件性能要求较高,设计中采用了32位的ARM处理器S3C4510B。

在本设计中,网关下接多个智能电力设备,数据量大,而且网关系统上需要运行嵌入式Linux操作系统、嵌入式Web服务器和其他的 Internet应用软件,处理的大部分数据为32位字长,所以系统对硬件性能的要求较高[2]。

ARM S3C4510B是一款net-ARM处理器,专用于网络net控制的。该处理器除了具有 32位高性能的运算速度、大范围的寻址空间以及丰富的外围接口外,最重要的特性是内嵌以太网控制器和 HDLC接口,从而可以轻松通过以太网或Modem接入Internet。

由于需要运行嵌入式Linux操作系统和处理TCP/IP协议包,所以对Flash和SDRAM存储器的容量有较大的要求。S3C4510B处理器对外围存储器扩展有很好的支持。

外围电路中电源电路的设计比较关键,本设计采用外接9 V直流电,大大减小网关体积和发热量,在电源电路设计中采用多层滤波、电感等防干扰措施。在网关的外壳设计上,采用可屏蔽金属材料,增强系统的稳定性[3]。

网关系统的硬件组成部分主要包括:ARM7处理器S3C4510B、16 MB的SDRAM、4 MB的Flash存储器、JTAG调试接口、10~100 M以太网接口、串口通信接口、系统总线扩展、实时时钟电路及IIC存储器、液晶显示模块、电源模块及复位电路。网关系统的硬件整体设计框架如图1所示。

图1 网关系统硬件设计框架

2 主控模块硬件结构设计

2.1 主控模块硬件结构

主控模块是硬件系统的核心,是联系系统上下层通信的桥梁,图2为网关系统主控模块硬件结构框图。

图2 主控模块硬件结构

主控模块硬件部分由以下各个部分组成:电源电路、复位电路、SDRAM存储器、10MHz有源晶振、FLASH存储器、串行接口电路、10~100 M以太网接口、JTAG接口、IIC芯片、系统总线扩展、液晶显示模块[4]。

2.2 主控模块芯片及接口

2.2.1 网络专用ARM微处理器

主控模块芯片选用网络专用ARM微处理器S3C4510B,该微处理器是基于以太网应用系统的高性价比的微处理器,内部集成一个以太网控制器,专门设计应用于如集线器和路由器等通信产品上。S3C4510B内含一个由 ARM公司设计的16/32位ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核,最适合用于对价格及功耗敏感的应用场合。

(1) 体系结构

用于嵌入式以太网应用的集成系统,全16/32的RISC架构,内含效率高、功能强的 ARM7TDMI处理器核,高性价比、基于JTAG接口的调试方案。

(2) 系统管理器

支持 ROM/SRAM、FLASH、DRAM和外部 I/O以 8/16/32位的方式操作,支持EDO/常规或SDRAM存储器。

(3) Ethernet控制器

带猝发模式的 DMA引擎,DMA发送/接收缓冲区(256字节发送,256字节接收),MAC发送/接收FIFO缓冲区(80字节发送,16字节接收),100~10 Mb/s的工作速率,与IEEE802.3标准完全兼容,提供MII和7线制10 Mb/s接口。

(4) 高层数据链路协议HDLC

标志检测与同步、零插入与删除、空闲检测和发送、FCS生成和检测、终止检测与发送,回环与自动回波模式,8字的发送和接收FIFO,Modem接口,高达10 Mb/s的工作速率,可编程I/O口,18个可编程I/O口,可分别配置为输入模式、输出模式或特殊功能模式。

(5) 中断控制器

包括21个中断源,其中有4个外部中断源,正常中断或快速中断模式,基于优先级的中断处理。

2.2.2 存储系统及接口

网关系统是32位嵌入式系统,所处理的数据大部分都是32位的Internet相关数据,在其上运行了嵌入式Linux操作系统、嵌入式Web服务器和安全软件,这些软件不仅需要较大的ROM程序静态存储空间,同时也需要较大的程序运行空间,数据区及堆栈区。所以,主控模块的存储系统设计采用了2 MB的Flash存储器和16 MB的SDRAM存储器[5]。

S3C4510B微处理器对外围存储器的存取控制由其系统管理器控制。采用统一编址的方式,将系统的片外存储器、片内存储器、特殊功能寄存器和外部的I/O设备,都映射到64MB的地址空间,同时,为便于管理,又将地址空间分为若干个存储器组。

可以通过配置包含基指针和尾指针的特殊功能寄存器,设定每个存储器组的大小和位置。用户可利用基指针和尾指针设置连续的存储器映射,每两个相连的存储器组的地址空间决不能重叠。ROM/SRAM/Flash组0的复位值为0x0,系统在上电或复位后,执行ROM/ SRAM/ Flash组0的启动代码。当起动代码执行时,它执行各种系统初始化任务,并根据应用系统的外部存储器和设备的实际情况来重新配置系统的存储器映射。当采用嵌入式Linux时,在启动时ROM0处的代码首先将嵌入式 Linux代码复制到内存空间中,然后将SDRAM0存储空间地址重新映射为0x0,使整个嵌入式Linux可以在SDRAM中运行,加快运行的速度。

本系统采用的存储器芯片为HY57V641620,其存储容量为4组×16M位,工作电压为3.3 V,常见封装为54脚TSOP,兼容LVTTL接口,支持自动刷新和自刷新,16位数据宽度。S3C4510B及其他一些ARM芯片在片内具有独立的SDRAM刷新控制逻辑,可方便的与SDRAM接口。

2.2.3 以太网接口

以太网接口电路主要由 MAC控制器和物理层接口两大部分构成,目前常见的以太网接口芯片,如 RTL8019、RTL8029、RTL8039、CS8900、DM9008等,其内部结构也主要包含这两部分。

S3C4510B内嵌一个以太网控制器,支持媒体独立接口和带缓冲 DMA接口。可在半双工或全双工模式下提供 10~100 Mb/s的以太网接入。在半双工模式下,控制器支持CSMA/CD协议,在全双工模式下支持IEEE802.3 MAC控制层协议。S3C4510B内部实际上已包含了以太网MAC控制,但并未提供物理层接口,因此,需外接一片物理层芯片以提供以太网的接入通道。

常用的单口10~100 Mb/s高速以太网物理层接口器件主要有RTL8201、DM9161等,均提供MII接口和传统7线制网络接口,可方便的与 S3C4510B接口。以太网物理层接口器件主要功能一般包括:物理编码子层、物理媒体附件、双绞线物理媒体子层、10BASE-TX编码/解码器和双绞线媒体访问单元等。在本系统中,使用RTL8201作为以太网的物理层接口。RTL8201芯片引脚接口设计如下:

(1) 100 Mb/s MII接口

该接口主要和主控制器S3C4510B的MII接口连接,由于MII接口的信号定义明确,所以只需一一对应连接即可。

(2) 芯片硬件配置部分

分别是MAC隔离模式、重复模式、100 Mb/s操作模式、自动协商模式、MII/SNIB工作模式选择配置等,将相应的引脚接地或接高电平即可配置为所需模式。

(3) 100 Mb/s网络接口

该部分引脚有4个:TPTX+、TPTX-、TPRX+、TPRX-,分别为发送输出和发送输入,这四个引脚连接到网络隔离变压器,经隔离后再接到RJ45网络接口上。

3 CAN总线接口

CAN协议是建立在ISO开放系统互连模型基础上的,其模型结构只取OSI底层的物理层、数据链路层和最上的应用层,其中数据链路层和物理层的功能由遵循CAN通讯协议的芯片完成,应用层由用户根据实际需要编制相应的程序来实现。

3.1 CAN总线接口电路设计

对于本网关系统来说,由于S3C4510B没有地址/数据复用端口,所以主控制器和SJAl000的连接较为复杂,普遍需要采用 CPLD进行硬件扩展,这将增加系统设计的难度和成本;MCP2510控制器采用SPI接口和CPU相连,虽然S3C4510B不具备SPI接口,但采用通用I/O容易模拟,由于32位CPU指令执行速度快,模拟SPI接口的速度仍可以达到系统要求;在功能及设计方面,MCP2510包含了较完整的CAN总线协议的实现。所以,设计中采用了MCP2510控制器。MCP2510芯片采用SPI接口与微处理器通信,而S3C4510B没有带SPI接口,故只能采用P0~P3的4根I/O线和CAN控制的SPI接口直接相连,用软件算法来实现SPI接口协议。同时,用P4~P6与MCP2510的/TX0RTS、/TX1RTS、/TX2RTS引脚相连,作为发送缓冲器发送请求端;将/INT中断引脚和微处理器的0号中断线相连。

MCP2510控制器的1号引脚TXCAN和2号引脚RXCAN是面向CAN总线发送输出引脚和接收输入引脚,这两个引脚不能直接接入CAN物理总线上,需要外接一个CAN总线收发器,本设计选用的是PCA82C250,从而增强CAN总线驱动能力,实现与底层现场设备的通信。CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活,故在硬件上实现CAN总线非常容易。CAN总线接口电路如图3所示。

图3 CAN总线接口电路

PCA82C250是CAN控制器和物理总线间的接口,可提供对总线的差动发送能力和对CAN控制器的差动接收能力。其中,8号引脚Rs(斜率电阻输入端)允许选择三种不同的工作方式:高速、斜率控制和待机。将 Rs接地可选择高速方式,此方式不采取措施限制上升和下降斜率,内部的输出发送晶体管简单地以尽可能快的速度启闭。为了避免射频干扰,建议使用屏蔽电缆。对于较低速度或较短总线长度,可用非屏蔽双绞线或平行线作总线。为减小射频干扰,应限制上升和下降斜率,上升和下降斜率可通过由 Rs连接到地的电阻进行控制,斜率与 Rs上输出的电流成正比。设计中采用的是斜率控制方式。在进行CAN节点通讯时,总线两端采用两个 120Ω的电阻,这对匹配总线阻抗起着相当重要的作用。作为CAN控制器与物理总线的接口器件具有以下特点:高速(最高可达 1 Mb/s)、具有抗瞬间干扰能力和总线保护能力、通过斜率控制方式可降低射频干扰、宽共模输入范围的差动接收器,具有很高的抗电磁干扰能力、防护电池与地之间发生短路、低电流待机方式。

3.2 智能脱扣器CAN接口设计

由于智能脱扣控制器既要实现多种功能,又要有较好的实时性及电磁兼容性[6],据此,设计中的智能脱扣器的主控制器选用了Dallas公司的产品DS80C390。该控制器具有两个全功能CAN2.0B控制器,每个控制器有15个信息中心,除了标准的11位或扩展的29位报文标识符外,还具有两个独立的8位媒体屏蔽和媒体仲裁区域,以支持如DeviceNet、SDS等高级CAN协议。

由于内部集成CAN控制器,加之CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活,故在硬件上实现CAN总线非常容易。本设计中选用CAN总线收发器PCA82C250,增强CAN总线驱动能力,DS80C390通过该接口器件与CAN总线相连,实现底层现场设备间的通信。PCA82C250是CAN控制器和物理总线间的接口,它最初为汽车高速通信应用设计。器件可以提供对总线的差动发送能力和对CAN控制器的差动接收能力。

PCA 82C250第8脚与地之间的电阻的取值决定了系统处于高速工作方式、待机方式还是斜率控制方式。在进行CAN节点通讯时,总线两端采用两个 120Ω的电阻,起到匹配总线阻抗作用,可增强总线的抗干扰能力。

4 结语

本设计采用 32 位高性能处理器和嵌入式操作系统来构建嵌入式 Web 网关,集成较完整的 TCP/IP 协议集和嵌入式应用开发接口,实现了功能强大的Web服务。基于现场总线和嵌入式 Web网关的工业终端设备远程通信平台方案具有低成本、高实时、高可靠性和因特网安全性,目前已经应用在智能断路器的远程集中控制,运行良好,具有很好的商业前景。

[1] 阙喜戎.信息安全原理及应用[M].北京:清华大学出版社,2003.

[2] 洪斌,王利霞,张红岭.基于ARM和DSP的VoIP网关的设计和实现[J].通信技术,2008, 41(08):173-175.

[3] 赵跃华,杜云海.嵌入式安全Web网关的设计与实现[J].计算机工程与设计,2006,27(04):565-567.

[4] 甘勇,王华,常亚军,等.基于ARM平台的Zigbee网关设计[J].通信技术,2009,42 (01):199-201.

[5] 任敏,赵跃华.内嵌CAN总线在智能断路器中的应用[J].电力自动化设备,2003,23(11):60-62.

[6] 黄巧亮,高国琴,赵跃华.基于 CAN总线的新型智能脱扣器研究[J].仪表技术与传感器, 2O02(09):39-42.

猜你喜欢
存储器网关以太网
静态随机存储器在轨自检算法
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
信号系统网关设备的优化
谈实时以太网EtherCAT技术在变电站自动化中的应用
任意2~k点存储器结构傅里叶处理器
LTE Small Cell网关及虚拟网关技术研究
浅谈EPON与工业以太网在贵遵高速公路中的应用
应对气候变化需要打通“网关”
存储器——安格尔(墨西哥)▲
万兆以太网在连徐高速公路通信系统改造中的应用