在Internet的日益遍及,信息同享程度的不断提高的今日,人们的作业和生活方法已经有了革命性的改动。家庭电器和工业设备中无处不在的充满了单片机或微操控器(MCU)。但现在大多数嵌入式体系还处于独自运用的阶段,而工业上也仅仅运用孤立于Internet以外的的操控通讯网络(如 CAN,I2C,PROFIBUS等现场总线)完结MCU组网 。假如能将嵌入式体系衔接到运用广泛的Internet上面,或许在现有网络的根底上运用 Internet为介质,则能够便利、低价地将信息传送到简直世界上的任何一个当地,然后进行长途监控 。因而,嵌入式Internet技能就应运而生,并成为业界的一大热门。
2 嵌入式Internet技能原理及计划
嵌入式Internet技能,也便是将嵌入式体系与Internet结合起来完结体系网络化,触及的两个要害问题即传送信息的媒质和选用的协议。与 Internet相联接的途径可所以以太网或许电话线等前言。而在大多数作业场地都配有以太网,电子设备经过集线器(HUB)能够随时插接。在家庭中,也有电力线和电话线等载体能够运用。假如是与局域网衔接,只需求为该设备设置硬的或软的IP地址就可。假如是运用电话线路,能够运用电话用户的ID。现在完结嵌入式电子设备的拜访连通,简直不成问题。所以嵌入式Internet技能的要害问题在于如安在MCU中完结Internet上被广泛运用的 TCP/IP通讯协议。可是TCP/IP通讯协议关于计算机存储器、运算速度等的要求比较高,一般单片机无法到达其要求。依据各种MCU自身的特性,完结 TCP/IP协议的办法可分以下几种:
1) 高级MCU芯片
选用ARM内核的系列处理器或许386EX等高级MCU,其运算速度快,功用高,在芯片上能够运转实时操作体系(RTOS),一起也能够嵌入完好的TCP/IP协议。
2) 32位MCU芯片
32位机也有满意的资源和才能运转TCP/IP协议和一些嵌入式操作体系。所以原则上讲,完结思路和高级机相同。
3) 8/16位MCU芯片
因为8位和16位MCU的处理才能和存储问题,要完结TCP/IP协议是比较困难的。因而要依据其特色,对TCP/IP协议进行简化,保存其最基本的东西。一起,上层协议可不必或许简略完结。行将本来的TCP/IP协议转变成嵌入式TCP/IP协议,咱们随后会详细介绍。
由TCP/IP协议在MCU中的完结办法和嵌入式体系的要求,一般完结嵌入式Internet的计划有以下几种:
1. 把规范网络协议(TCP/IP)一向扩展到嵌入式设备傍边,由嵌入式体系自身完结联网功用,每个设备都可与Internet相连。这是解决问题的最佳计划及未来电器、设备的发展方向。例如Netscillon公司的ARM+NET系列芯片,将其嵌入到任何设备中既可完结上网。此计划对微处理器功用的要求较高。
2. 经过专用的WEB服务器完结。 在现有的嵌入式体系中很多运用的是8位和16位MCU,并不要求每个设备都直接连到Internet上,用户能够经过Internet挨近设备,然后再用轻量级网络扩展到多个设备上。如电力线、RS-485、RS-232、I2C等 。专用WEB服务器可作为子网设备路由器来转化和完结嵌入式体系与外部网的通讯。emWare公司专门为嵌入式微操控器设备规划的网络服务器。
3. RS232/485,CAN, I2C
经过嵌入式网关(emGateway)联接。嵌入式网关运转TCP/IP协议,与嵌入式设备轻量级网络(如RS-232,RS-485,现场总线等)相衔接,供给与Internet或局域网的协议转化及路由功用。结构如图一所示。
图一 8/16位MCU嵌入式网关结构图
2.1 嵌入式TCP/IP协议概述
传输操控协议/网间协议 (TCP/IP)是构建Internet的规范协议,它最早是在PC机上完结的 。因为嵌入式体系与PC机的不同很大,因而在嵌入式体系中完结TCP/IP 协议与PC机操作体系中的完结有很大的不同。图二显现了嵌入式TCP/IP协议与TCP/IP协议各层详细的内容和协议和相对应的OSI模型联系。
图二 三种协议层的结构比较
如图所示,TCP/IP一般选用一种简化的四层模型,分别为:运用层、传输层、网络层、网络接口层。在嵌入式TCP/IP中,前三层协议是由嵌入式处理器完结的。接口层是由网络操控芯片完结的。
因为嵌入式体系没有一个多任务的操作体系,并且又是直接面临硬件,所以嵌入式TCP/IP协议在运用层上要求简略。一起,不同嵌入式体系对嵌入式 Internet所选用的运用层协议要求不同,并且运用层的协议还要和链路层完结的协议相对应。因而,体系要依据自己的需求和链路层协议的完结来挑选和简化运用层的协议。
传输层首要为两台主机上的运用程序供给端到端的通讯。传输层有两种不同的传输协议:面向衔接的TCP(传输操控协议)和无衔接的UDP(用户数据报协议)。TCP是面向接入即传输前必须先经过“三重握手”在主机间树立TCP接入,它所传数据流选用了顺序号和应对办法,能够发现数据的丢掉、段的失序和对传输过错的扫除,所以TCP协议供给的是数据流的牢靠传输。但相关于UDP,它的牢靠性是以杂乱性为价值的,需求杂乱巨大的程序来完结。UDP供给的是无衔接的不牢靠的服务,或许呈现数据包的丢掉,重复和衔接失利等过错。可是正因没有接入机制,它能够完结高速发送,充分发挥物理传输设备的速度。UDP合适用在通讯介质非常牢靠的状况,例如以太网等。
网络层处理分组在网络中的活动。其协议包含IP协议(网际协议)、ARP协议(地址解析协议)、ICMP协议(Internet互联网操控报文协议)以及IGMP 协议(Internet组办理协议)。IP协议是TCP/IP族的中心协议,它使异构网络之间的通讯成为或许。因而假如嵌入式 Internet,需求跨过不同的网络进行通讯就必需求完结IP协议。ARP协议完结将逻辑IP地址映射为物理地址。ICMP协议首要用来传递过失报文以及其他需求留意的信息。咱们一般运用的运用程序PING便是选用ICMP协议来测验网络的连通状况。关于一般的嵌入式Internet的运用而言,在 ICMP协议中能够测验网络的连通状况即可,因而只需完结ICMP中类型号为0、代码为0的PING应对协议即可。一般嵌入式Internet不考虑 IGMP。
链路层首要作用是为其上层协议发送和接纳数据包,依据物理层的不同,首要协议有以太网、令牌环网、FDDI(光纤分布式数据接口)及RS232串行线路协议等。可由挑选的网络接口芯片完结。
3 规划实例
运用一般8/16位MCU构成嵌入式网关是最具发展潜力的一大热门。而运用TCP/IP协议的以太网已经成为最盛行的分组交流局域网技能,整个网络只要一种底层通讯协议,一起也具有敞开的TCP/IP网络技能。它可满意操控体系各个层次的要求 。工业操控范畴中常用的现场总线和串行通讯能够经过嵌入式网关与以太网相连,然后便利的完结操控网络与Internet衔接,现在根据以太网的工业操控网络已经成为未来的发展趋势。所以本规划选用在16位MCU 中嵌入“裁剪”后的TCP/IP协议栈及以太网操控芯片驱动程序,并经过以太网接入Internet网络。其硬件框图如图三所示。
图三 16位单片机完结嵌入式网卡的硬件框图
这种计划首要要求在链路层上,因为选用以太网的接人方法,体系必需求完结IEEE802.3规范,这可选用通用的以太网接口芯片RTL8019AS来完结。其次,为了确保体系在以太网的通讯,体系还需完结ARP应对协议。在网络层上要完结IP协议,为了能够测验体系与网络的衔接,体系需求完结ICMP 协议中的ping应对协议。在传输层上咱们挑选UDP协议。运用层上单片机体系传递来自Ethernet和数据终端的数据,运用层只对大的数据报作打包拆报处理。
RTL8019AS是RealTek公司出产的一种全双工以太网操控器,契合Ethernet II 、IEEE802.3(10Base5、 10Base2、10BaseT)规范;与NE2000兼容;支撑8位、16位数据总线;内置16KB的SRAM,用于收发缓冲,可下降对主处理器的速度要求。外部RAM运用PSD4135(512KB),然后为数据处理供给了很大的缓存,一起它也有地址锁存和地址译码功用。运用E2PROM— 93C46,能够将网卡物理地址和其他参数保存在里面。
这儿的RTL8019AS便是处理以太网协议(IEEE802.3)的。数据的流向为:恳求信息从局域网中来,经过RJ45送到RTL8019AS,处理后的数据包送入80C196协议栈,由协议栈对数据包进行解析,得到原始恳求信息。恳求信息再经过80C196的处理,发生回复信息。回复信息到局域网的进程与上面正好相反。RJ45为此体系与局域网的接口。
一个规范的IEEE 802.3数据帧由七部分组成,图四说明晰规范的IEEE 802.3数据包与TCP/IP协议数据的联系。
图四 IEEE 802.3帧的组成
数据段的个数可从46Byte~1500Byte,缺乏46Byte时用零补足;超越1500Byte时,需求拆成多个帧传送。前导位、帧开端位和帧校验序列仅供操控器自身用,主处理器收到的数据帧的组成顺次包含:接纳状况、下一帧的页地址指针、意图地址、源地址、数据长度、数据段。 IEEE 802.3规范中的数据长度值小于或等于0x0600时,表明数据段的长度;反之,表明数据帧的类型。例如值为 0x0800,表明数据段为 IP包;值为0x0806,表明数据段为ARP包。
3.1 体系软件
在选定硬件,完结各芯片间地址线、数据线及状况线衔接后,开端软件规划。软件规划首要包含:芯片初始化程序、以太网操控器驱动程序、TCP/IP协议栈程序、体系网络装备程序。芯片初始化程序用于设置MCU作业形式及外围芯片挑选;以太网操控器驱动程序用于设置以太网操控芯片的作业状况及作业方法,分配收发数据的缓冲区;体系网络装备程序用于给监测体系分配IP地址及域名。
当网络有数据时,RTL8019AS在接纳和处理完以太网数据帧后传送给单片机,80C196对数据包进行剖析,假如是ARP(物理地址解析)数据包,则程序转入ARP处理程序。假如是IP数据包且IP地址正确,则持续剖析若是ICMP包,则调用ICMP处理程序。若是UDP数据包,则80C196 对数据解包后,将数据部分转存在PSD4135中或许经过串口输出。反之,当有数据要发送时,80C196将调用UDP打包程序来封装数据并送入 RTL8019的缓存中去。详细流程为:数据放到UDP的数据段-》生成UDP校验-》树立IP头-》(ARP地址解析)-》生成Ethernet头-》放到网卡发送缓冲区-》发送 。
4 结束语
根据嵌入式Internet的工业以太网操控网络是未来新一代工业操控网络的发展趋势。本文论述了嵌入式Internet的各种技能原理,并经过了以太网接口操控芯片和嵌入式TCP/IP协议完结了嵌入式网关的功用。信任跟着嵌入式Internet技能的日益完善,这种可与现场总线等已有网络完结便利简略衔接的计划,会得到愈加广泛的运用。
参考文献
1. 李明。康静秋。 嵌入式TCP/IP协议栈的研讨与开发。 计算机工程与运用 2002.16
2. Kenneth D .Reed. 《TCP/IP根底》3com公司译 北京:电子工业出版社
3. Kenneth D .Reed. 《协议剖析》孙坦 张学锋等译 北京:电子工业出版社
4. 陶波,丁汉等。 根据嵌入式Internet的工业操控。 测控技能, 2002.20.(8)
5. 万静华,丁亚军 以太网操控器的嵌入式设备网络互连 单片机与嵌入式体系运用2001.12
6. 杨志红。江汉红。 用嵌入式Internet技能构建长途监测体系。 电子产品世界。 2002.6
7. 吕京建。 肖海桥。 嵌入式Internet技能及其运用