嵌入式系统以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应了各种应用系统中对功能、可靠性、成本、体积、功耗等的严格要求,因此它赢得了巨大的市场,在应用数量上远远超过了各种通用计算机。嵌入式接入Internet是近几年随着计算机网络技术的普及和发展而发展起来的一项新兴概念和技术,它通过为现有嵌入式系统增加因特网接入能力来扩展其功能,一般指设备通过嵌入式模块而非PC系统直接接入Internet,以Internet为介质实现信息交互的过程,通常又称为非PC接入。
嵌入式系统利用网络接口控制芯片实现与网络的通信功能,成本低,控制方便可靠,满足系统对通信的要求。考虑到本身的特点,在大量工业领域中应用嵌入式设备功能比较单一,在上述网络接口控制芯片接口程序的基础上只需要开发简化的嵌入式协议栈,就可满足许多情况下的应用需求。目前,许多公司和组织致力于将以太网与现场总线实现无缝连接,使以太网越来越向底层延伸。以太网在现场设备中的应用研究和基于以太网的智能芯片的开发等也日益成为研究的热点。
1嵌入式接入网的主要方式
目前嵌入式系统接入Internet通常有以下两种主要方式:
(1)采用高速的16/32Bit微控制器直接实现TCP/IP协议,这种方法的实现框图如图1所示。这种方式可以使嵌入式系统直接与 Internet相连,有很大的灵活性。缺点是占用的系统资源较多,对微控制器的要求也很高,无法在8/16Bit低速微控制器为核心的嵌入式系统上实现。
图1 直接实现TCP/IP系统
(2)使用嵌入式网关来实现,如图2所示。各个嵌入式系统首先和网关进行通信,通信方式采用传统的RS-232、RS-485等,由嵌入式网关负责实现TCP/IP协议,完成嵌入式系统的信息与Internet的信息交互。这种方案解决了以低速8/16Bit微控制器为核心的嵌入式系统接入 Internet的问题。缺点是需要一个专门的嵌入式网关,而且和各个嵌入式系统之间的通信同样受到速度和距离的限制,这种方法的实现成本将会增加。
2嵌入式系统的组成
嵌入式系统包括硬件和软件两部分。硬件包括处理器微处理器、存储器及外设器件和30端口、图形控制器等。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。嵌入式系统的核心是嵌入式微处理器。嵌入式互联的目标是嵌入式设备工作在以网络为中心的环境中,把“孤立的目标系统”相互连接起来。为适应嵌入式分布处理结构和应用上网需求,嵌入式系统必需配有一种或多种网络通信接口,使嵌入式微控制器不仅能执行传统的控制功能,而且还能执行与连接因特网相关的功能,从而把标准网络技术(TCP/IP)一直扩展到嵌入设备,由嵌入式系统自身实现Web服务器功能,这是解决嵌入式Internet问题的最佳方案。
嵌入式设备接入Intranet/Internet网原则上讲,只要实现TCP/IP网络协议就可以。针对嵌入式设备连接涉及的两个关键问题即传送信息的媒质和采用的协议。最常用的联接模式是以太网通信介质的有线连接与TCP/IP协议。其网络体系结构与协议分层如图1所示。利用网络接口控制器(NIC-Network InteRFace Controller)来实现物理层和链路层协议,同时微处理器运行嵌入式TCP/IP协议通信模块来实现与Intranet/Internet网的连接。一旦这个目标得以实现,就能在网络环境下在任何时间从任何地点对位于任何其它地方的系统中的微控制器进行监控,利用传统的Web和因特网机制远程监视数据和运行情况控制,而且还能在合适的条件下对系统进行调试、升级和维护。
3 技术难点分析
3.1 发送数据的封装
把一组数据发送到基于TCP/IP协议的网络上,首要条件是产生符合TCP/IP协议的数据格式。首先从一个物理帧的格式来分析。一个标准的IEEE802.3的物理帧如图4所示:
如果与嵌入式系统的通信只是局限于局域网之中,在物理帧的数据域内可以直接放置要发送的数据。如果需要和其他的网络进行通信,在物理帧的数据域中需要封装更高层的协议,嵌入式系统发送的数据应该封装在高层协议的数据域内。这些数据的层层封装和物理帧的形成对于速度没有特殊的要求,普通的低速微控制器完全可以实现。
3.2 发送数据的发送
以10M以太网为例说明,发送数据时应该做的工作是,首先对待发送的数据进行曼彻斯特编码,而后对编码后的数据进行扭曲处理,使发送的数据适合在 10M以太网上传输,最后把处理好的数据以10M的速度发送到以太网上。同时,为了保证数据的有效发送,系统还应具有冲突检测和重发的功能。
从以上的发送过程可以看出,直接用普通的微控制器是很困难的,应该考虑用其他的方法实现。
4 一种嵌入式网络接口的实现方案
基于因特网的嵌入式网络体系结构实现的核心问题是如何实现嵌入式网络接口。在众多实现方案中,以MCU为核心的实现方案,虽然实现起来有一定困难,仍因其极低的成本,受到格外重视。在此实现了一种网络接口芯片与MCU相结合的方案,如图5所示。
RTL8019AS与硬件实现以太网接口芯片中,选用RTL8019AS。由台湾Realtek公司生产的RTL8019AS以太网控制器,由于其优良的性能、低廉的价格,使其在市场上的10Mbps网卡中占有相当的比例。使用8051/52兼容单片机实现对RTL8019AS的控制,电路图如图6所示。
RTL8019AS采用8位数据传输的跳线模式(IOCS16接地, JP接高电平)。P0口通过地址锁存器实现地址数据复用。P3.4片选RTL8019AS。数据收发不使用中断驱动,全部由软件查询实现。基地址选择引脚IOS[3:0]空,I/O基地址为300H。使用双绞线为通信介质,所使用的引脚有:TPIN+,TPIN-,POUT+,TPOUT-,连入耦合隔离变压器FB2022,通过RJ 45插头实现与网络的连接。
通常TCP/IP是指Internet协议簇,而不单单是TCP/IP。因此,在8bitMCU不大的ROM空间里,不可能实现所有的TCP /IP协议。考虑到嵌入式应用中硬件系统的多样性,完成特定功能的应用程序也各不相同,因而软件的设计在保证满足功能前提下,最好短小,易于被移植,尤其是应用程序与网络协议软件应具备一定的独立性。因此,选择TCP/IP作为嵌入式网络的通信协议,同时必须对TCP/IP协议簇根据实际需要进行必要的删减,即实现一个thinTCP/IP协议簇。通常的thinTCP/IP的层次结构与标准的TCP/IP的一样,也是四层结构(图7)。以太网接口层主要实现对以太网接口芯片的控制,IP层根据实际需要选择实现ARP(地址解析协议)、RARP(反向地址解析协议)、ICMP(因特网控制报文协议)以及IGMP(网络组管理协议)。传输层主要由TCP(传输控制协议)和UDP(用户数据报协议)组成,在实际实现时,根据需要可只实现其中一个。CIP(控制信息协议)是专为控制设备、基于对象的一种方法,它是独立于特定网络的应用层协议,提供了访问数据和控制设备操作的服务集。CIP的制定需要根据具体应用加以考虑,与通常协议的格式相似,也为“命令+数据”模式。
5 结束语
在信息技术广泛使用的今天,采用基于因特网的嵌入式网络体系结构,实现的嵌入式设备互连,是打破嵌入式设备联网技术停滞僵局的一种较好选择,可广泛应用于各种嵌入式设备的联网中。尽管在实现中遇到了许多困难,但这种廉价高速、使用广泛的网络必将极大地推动嵌入式设备的网络化进程。我国正处于Internet的初级阶段,Internet正在以前所未有的速度向前发展,如果将初级阶段称作PersonaltoPersonal时代,那么未来的时代将是PersonaltoDevice,DevicetoDevice时代,随着该时代的到来,智能将下移到设备,大量的嵌入式设备将连到Internet上,并通过网络相互通信,自动操作,而无需人的干预。可以想象,随着仪表、控制器、执行器、家电等嵌入式设备连到Internet上,网上设备将是现在的数百倍、数千倍。与此同时,随着制造工艺的进步,智能控制芯片和智能传感器的成本越来越低,功能却越来越强大,这使嵌入式微控制器与Internet连接的费用降低到了完全可以接受的程度.嵌入式Internet,适应了Internet发展的趋势,可以预言,嵌入式设备与 Internet的结合代表着嵌入式系统和网络技术的真正未来。
6 本文作者创新点
本文以嵌入式系统的接入网技术为重点,在分析嵌入式系统网络连接的结构体系和协议层次基础上,提出一种新型基于因特网的嵌入式网络体系结构,并通过对其网络接口的实现的实例,对网络接口技术也做了详细分析。