版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统中网络通信协议的选择一、引言一个现代化工业企业的网络环境一般可分为四个层次: I nternet :实现企业之间的信息交流; In tra net :实现企业内部管理、财务、办公及人事等的信息化; Infranet :实现工业企业现场生产设备级的综合管理、调度与监控等; EmbeddedNetwork :嵌入式网络。实现生产设备内部多个分布式子系统之间的实时通信。In ternet 、Intranet 都基于TCP/IP协议簇,Intran et 是面向广域网的In ternet 在企 业内部局域网上的延伸。 Infranet 的建设目前主要采用各种现场总线 协议,如ProfiBus
2、、 Lon work、CAN等。随着社会的进步和技术的发展, 现代机电控制系统往往包括若干个子系统,每个子系统既自成一体,拥有自己独立的 CPU又与其它子系统紧密协调。 嵌入式网络就是实现子系统 间相互通信的手段。二、对嵌入式网络的特殊要求嵌入式网络通常应用在环境比较恶劣的工业生产现场,因此在以下几个方面有其自身独特的要求:1. 实时性:生产设备内部多个分布式子系统信息耦合通常比较紧密,对实时性要求很高,这就要求所用的网络协议具有可确定的实时性能,即极坏情况下的响应时间是可确定的; 另外在网络节点数比较多,或者有些节点对实时响应要求特别高时,网络协议还应支持优先级调度,以提高时间紧迫型任务的信
3、息传输可确定性。2. 可靠性:嵌入式网络本身的可靠性直接影响设备的有效作业率、成品率和生产效率,要求网络能动态增加/删除节点;生产现场比较恶劣的电磁环境要求嵌入式网络本身具有很强的抗干扰能力、检错和纠错能力以及快速恢复能力;3. 通信效率:嵌入式网络通信的特点之一是子系统之间通信非常频繁,但每次通信的信息长度很短,因此要求嵌入式网络协议尽量采用短帧结构,且帧头和帧尾尽可能短,从而提高通信效率和带宽的利用率;4. 双重混合支持:不同工作环境的巨大差异决定了嵌入式网络应具有灵活的介质访问协议,不但支持多种介质(双绞线、同轴电缆、光缆),而且支持混合拓扑结构(星型、环 型、总线型),有时甚至要求同一
4、个嵌入式网络能同时使用多种介质和多种网络拓扑。如在 噪声环境中,系统中一部分连接需要使用光缆,其它部分则使用双绞线或同轴电缆。同轴电缆适于采用总线拓扑, 而光纤则更适于环型或星型拓扑,这就要求网络协议具有双重混合支持。5. 实现难度和造价:嵌入式系统通常需要针对实际需求进行专门设计与制造,这就要 求其中的网络系统软硬件容易实现,并与子系统控制部分集成,有关元器件商品化程度高, 造价较低。6. 开放性:嵌入式网络必需具有良好的开放性,一方面能通过企业 Infranet 连接到 Intranet 中,实现企业生产管理的管控一体化;另一方面应具有公开透明的开发界面,资 料完备,实现系统硬件、软件的自
5、主开发和集成。此外,嵌入式网络系统必须配置灵活、维护简便。通常,嵌入式网络就覆盖范围而言属于局域网。按照 ISO/OSI 的观点, TCP/IP 协议簇 位于网络层以上。显然, TCP/IP 协议簇已经超出了嵌入式网络系统的范畴。嵌入式网络包 括 ISO/OSI 七层模型中的物理层和数据链路层。数据链路层在具体实现上可划分成两个子 层:介质访问控制子层(MAC子层)和逻辑链路控制子层(LLC子层)。MAC子层包括物理 层接口硬件和实现介质访问协议的通信控制器;通常LLC子层由软件实现(用户自主开发)。因此,嵌入式系统设计中网络通信协议选择的核心是介质访问协议的选择。三、常见介质访问协议的比较1
6、、面向链接的协议面向链接的协议主要用在网络发展初期的主机-终端式网络中,如X.25和IBM的SNA网络。其主要缺点是: 1)节点之间采用串行连接方式,每个物理连接只支持两个节点,速 度较低; 2)物理上没有连接的节点之间的通信需要经过多个中间节点的多次传输;3)直接相连的节点间的通信是可确定的, 而间接相连的节点间的通信则无法确定延时。 因此, 在局 域网技术已非常成熟的今天,这类协议已很少应用。2、轮询法轮询法因其简单和实时性能可确定等特点而成为嵌入式网络常用协议之一。采用轮询法的协议, 需指定一个主节点作为中央主机来定期轮询各个从节点,以便显式分配从节点访问共享介质的权力。这类协议的缺点是
7、;1)轮询过程占用了宝贵的网络带宽,增加了网络负担; 2)风险完全集中在主节点上,为避免因主节点失效而导致整个网络瘫痪,有时需设置 多个主节点来提高系统的健壮性 ( 如 Profibus) 。3、CSMA/CtX带冲突检测的载波监听多路访问)CSMA/CD有许多不同的实现版本,其核心思想是:一个节点只有确认网络空闲之后才能 发送信息。 如果多个节点几乎同时检测到网络空闲并发送信息, 则产生冲突。 检测到冲突的 发送信息的节点必须采用某种算法 (如回溯算法) 来确定延时长短, 延时结束后重复上述过 程再试图发送。CSMA/C啲优点是理论上能支持任意多的节点,且不需要预先分配节点位置,因此在办 公
8、环境中几乎占有绝对优势。但在CSMA/C中冲突产生具有很大的随机性,在最坏情况下的响应延时不可确定,无法满足嵌入式网络最基本的实时性要求。4、TDMA(时分多路访问)TDMA已大量应用于移动通信领域(如 GSM DAMPS,但也可用于局域网。 TDMA勺特点 是:每轮信息传输前, 网络中的主节点先广播一个帧同步信号以同步各从节点的时钟,在帧同步信号之后,每个从节点在各自所分配的时间片内发送数据。TDMA勺缺点是:1)每个从节点必须有一个稳定勺基准时间以确定时间片,因此从节点比较复杂,造价较高;2) TDMA的主流应用领域依然是无线移动通信领域,用于嵌入式网络的TDMA无论在相关软硬件技术支持和
9、市场认同方面都非常欠缺。5、令牌环在令牌环网中,节点之间使用端到端的连接,所有节点在物理上组成一个环型结构。一组特殊的脉冲编码序列,即令牌,沿着环从一个节点向其物理邻居节点传递。 一个节点获得令牌后, 如无信息要发送, 则将令牌继续传递给下一个邻居, 否则 首先停止令牌循环, 然后沿着环发送它的信息, 最后继续令牌传递。 令牌环网的 优点是: 1)在实时性方面是可确定的。因为容易计算出最坏情况下节点等待令 牌的时间; 2)令牌传递占用的网络带宽极小,带宽利用率很高,具有强大的吞 吐能力。但这种协议在具体实现时为确保可靠性必须付出较大的代价: 1)为了 避免因电缆断裂和节点失效导致整个网络瘫痪,
10、常采用双环结构(如 FDDI)和 失效节点自动旁路措施,导致实施成本增加; 2)为了能立即检测到令牌是否意 外丢失,不得不增加该协议实施的复杂性。6 、令牌总线令牌总线的基本原理与令牌环网相似。 但在令牌总线中, 网络上所有节点组 成一个虚拟环,而非物理环。令牌在虚拟环中从一个节点传向其逻辑邻居节点。 只有持有令牌的节点才能访问网络。 如同令牌环一样, 令牌总线具有非常高的网 络带宽利用率、 很高的吞吐能力和良好的可确定性。 另外令牌总线中各节点有相 同的优先级; 令牌总线中的电缆断裂并不一定导致整个网络瘫痪; 网络运行过程 中可动态增加或关闭节点, 因此节点失误一般不会导致整个网络瘫痪 (当
11、然在网 络启动、增加/删除节点时会导致逻辑环重构,以便每个节点确定自己的逻辑邻 居,这会有点费时);总线拓补结构还非常适合于制造设备。因此,令牌总线协 议被 MAP(Manufacturing Automation Protocol ,制造自动化协议)、 ARCnet ( Attached Resource Computer Network )采用,在过程自动化控制等嵌入式场 合广泛应用。7、 CSMA/CA (带冲突避免的载波监听多路访问 )CSMA/C在节点数量不多、传输信息量较少时效率很高;基于令牌的协议具 有良好的实时性和吞吐能力。 人们已经开发出一种能综合以上两者优点的混合协 议一C
12、SMA/CA CSMA/C的本质是利用竞争时间片来避免冲突。其基本原理是: 如同CSMA/C一样,节点必须检测到网络空闲之后才能发送信息;如果有两个或 更多的节点发生冲突, 便在网络上启动一个阻塞信号通知所有冲突节点, 同步节 点时钟, 启动竞争时间片 (竞争时间片跟随在阻塞信号之后, 其长度比沿网络环路传输时延稍长);通常,每一个竞争时间片均指定给特定的节点,每个节点 在其对应的时间片内如有信息发送则可以启动传输;其它节点检测到信息传输 后,停止时间片的推进, 直到传输结束所有节点才恢复推进时间片; 当所有时间 片都失去作用时, 网络进入空闲状态。 为确保公平性和可确定性, 在每次传输之 后
13、,时间片要循环。此外,优先时间片( the priority slots )优先于普通时间 片的推进,能支持高优先级信息的全局优先传输。CSMA/CA协议在具体实施中主要有两个变种:一是 RCSMA ReservationCSMA,其特点是时间片数等于节点数。RCSM在各种传输条件下都能有效工作, 但显然不适于节点较多的网络; 在另一个变种中, 时间片数少于节点数, 且根据 冲突最少的原则随机调整时间片的分配, 根据所预测的网络流量动态地改变时间 片数;如 Echelon 公司推出的广泛应用于智能大厦领域的 Lonwork 标准。另外,在CSMA/CA,并非必需采用硬件来避免冲突,还可以通过软
14、手段来实现, 例如发送使时间片在没有网络传输的情况下仍然保持活动的哑信息。四、结论介质访问协议是嵌入式网络协议选择的核心。 尽管没有哪一种协议对各种应 用场合都是十全十美的,但通过对上述各种介质访问协议的分析和比较不难发 现:令牌环、令牌总线、CSMA/C比较适合于嵌入式网络。但令牌环的具体实施 比较复杂、成本较高,其应用越来越少。读者可针对具体应用需求,选用令牌总 线(女口 ARCne)或 CSMA/CA基于ARM的嵌入式TCP/IP协议的实现日期:2008-8-12 13:55:00作者:未知来源:在网络应用日益普遍的今天,越来越多的嵌入式设备实现Internet网络化。TCP/IP协议是
15、一种目前被广泛采用的网络协议。嵌入式Internet的技术核心是在嵌入式系统中部分或完整地实现TCP/IP协议。由于TCP/IP协议比较复杂,而目前嵌入式系统中大量应用低速处理器,受内存和速度限制,有必要将TCP/IP协议简化。1TCP/IP协议的实现嵌入式 TCP/IP 协议一般实现:ARP/RARP、IP、ICMP、TCP、UDP、HTTP、SM TP、FTP、TELNET等协议,协议处理的主要流程如图1所示。匿I协议处理点击看原图1.1TCP协议的实现 较高。TCP协议是面向连接的、端对端的可靠通信协议。它采用了许多机制来保证可靠传输,应用于嵌入式系统显 得过于复杂。工业控制领域传输层采
16、用TCP协议、不用UDP协议,是考虑到实时监控系统中传输量并不大,而可靠性要求TCP协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。它的实现过程可以用状态机来描述。建立连接有两种方法,即主动打开和被动打开。服务器端是一种被动打开,它一直在侦听连接请求;而客户端是一种主动打开,它发送连接请求以建立连接。研究发现,如果TCP层的上层实现服务器端的应用,可以将标准TCP状态机建立连接过程中客户端建立连接的状态机部分简化掉。同理,如果应用是基于客户端的,可以将服务器端建立连接的状态机部分简化掉。断开连接有两种方式:一是主动断开连接;另一是被动断开连接。被动断开连接的处理较为简单 但标准TCP
17、协议的主动断开连接的状态机部分过于复杂。经过实验发现,在需要主动断开连接的时候 ,发送一个Fin数据报;接收到对Fin数据报的确认后 ,再发送一个Reset数据报 ,即可顺利完成一次主动断开连接。标准的TCP协议使用慢启动的滑动窗口机制。滑动窗口是一种在流量控制和网络传输效率之间折中的方案。它允许发送方在等待一个确认之前发送多个窗口,其确认是一种批量的确认。研究滑动窗口协议发现,滑动窗口的一个极限情况,是只使用单个窗口 ,就变成了一种简单确认的处理方法。使用该方法后,所有的处理只是对单个数据报的发送和确认,节约了系统的资源,也使维护更加方便。为了协议的兼容性,需要通信的另一方也使用简单确认方法
18、。因为如果对方使用较大的窗口 ,就可能造成处理器被淹没。 这个问题可以通过设置待发送数据报的TCP头部的Win dows字段的大小解决。在上述基础上,简化实现TCP协议的流程图如图2所示。其中不同状态的相应处理”指根据接收到的TCP报文准备待发送数据报并将其发送到以太网上。这部分根据TCP所处的不同状态,所做的处理是不一样的。图2简化的TCF协蚁1.2IP协议IP协议是TCP/IP的基础 ,为不同网络的主机之间发送数据报的操作序列提供无连接服务。通过在数据报前添加IP协议头,使每个数据报具有寻址能力。嵌入式系统只把IP作为传输工具,进行简化以完成主要的操作。得到IP包后,检验IP头部的版本、
19、目的地址、校验和正确否,解析出协议类型字段,由此交给相应的高层协议处理。 发送IP包时,将缓冲区内的源地址与目的地址互换,设置校验和,然后交给下层协议处理。不符合要求,则将此包丢 弃。IP包最大可以为6 5KB,可以分段传输,而在嵌入式系统里根本无法容纳如此大的数据包,因此一般不支持分段传输。所以限制MCU发送和接收数据包的方式以避免分段传输,从而减少程序复杂度。1.3其它协议ARP协议为32位IP地址到对应的48位以太网地址之间提供动态映射。嵌入式系统中仅响应ARP请求发送ARP回答包。 请求者广播出包含ARP请求的以太帧、目的以太网地址为全1的广播地址。本机收到后,由目的IP地址发现自己是
20、目的主机 ,发送一个ARP回答。ICMP通过IP协议传输其报文。IP协议是无连接的,它无法将报文和错误信息传到最初的主机,ICMP将状态信息和错误信息发送到发报文的主机。2前端设备的系统设计TCP/IP协议扩展到工业控制级,将企业内部计算机网络应用于工业现场实时信息的发布和显示,通过Internet浏览器对现场工业信息进行动态监视。下面是笔者在某公司一分布式监控系统中的应用实例。基于T CP/IP协议的前端设备系统软件结构如图3。前端嵌入式设备处理器是Samsung公司的S3C4510B(ARM核)。该芯片是用在基于以太网系统的高性价比、高性能的16/32位RISC微控制器。通信部分采用BNC
21、接口方式,信号输岀经耦合隔离变压器由RJ45接头联入集线器,此外还设计了液晶显示和键盘输入当地接口功能。3崩爾设备華绽软件踣构在TCP/IP协议中多处用到超时和重发机制。这种机制对于确保两个或多个彼此独立的通信结点从通信错误或故障状态自动恢复到正常状态是非常有效的,但也增加了软件结构的复杂性。因为对超时的处理通常独立于正常程序流程,也就是与正常的程序流程异步。要实现的TCP/IP协议软件中有四处要用到定时器:第一是在ARP高速缓存的维护中,被添加到ARP高速缓存中的表项在一段时间后要置为无效;第二是在等待对发出的ARP请求返回响应时,可能会在指定的超时时间内还未收到返回的响应;第三是在IP组装
22、收到分片时 ,由于部分分片在一定时间内没有收到而丢弃整个IP包 ;第四是在TCP等待接收方对数据段的确认时。如果在指定时间内还未收到对某个数据段的确认,需重新发送。从上述可见,要实现的定时器具备以下特点:对定时的精度要求都不是很高,基本都是秒级的精度。这样,完全可以稍滞后一些来处理定时器超时,不把超时处理放在时钟中断处理程序中。对同一类超时处理可以由同一处理程序来完成,只是传入到相应的处理程序中的参数不同而已。例如一个ARP高速缓存中的表项超时时,需要将其置为无效,可以统一用一个处理程序,参数中放入相应的表项地址即可。首先,定义一定时器的数据结构,如图4所示。每一类超时都是由一个超时控制块和其
23、所属的一个由超时事件项 组成的链表管理。整个链表按超时事件将要发生的时间顺序排列,先发生的超时事件排列在前。 超时控制块中的head ptr用以指向一个超时事件项链表的首项;timeout_process是超时事件发生时处理程序的入口地址。在每个超时事件项中,next ptr指向链表中的下一项;relative time是本表项的超时事件相对于上一表项的超时事件发生的相对时间。所以某个表项表示的超时事件距离当前的时间是它以前所超吋事件2有表项(包括自身)中的relative time的和。relative time的基本单位是g fan ularityo超时控制块超时事件1head_ptr|
24、1;neut ptrrelalive timetimeout_processparameter匹少一 PtT relative tiine parameter图4定时器的数摇结构定时器任务使用一个信号量作同步。信号量有两个变量:count和waiting_taskocount对事件计数,当count大于0时,表示有count个事件发生并等待处理;当count小于0时,表示有某个任务在等待事件的发生,此时waitint task保存相应任务控制块的地址。信号量有两个操作:semup和sem_ downosem up首先使count加1,然后看count是否为0 ,若为0表示有任务在等待,通过wa
25、itingtask中记录的任务控制块的地址把等待任务的状态设为就绪,否则返回semdown首先使count减1然后看count是否小于0,若小于0会使当前任务成为等待状态并引发任务管理器对任务的调度,否则返回。每当时钟中断服务程序计数到g ranularity个时钟中断,给定时器任务使用的信号灯作sep操作。当定时器任务被调度执行时,它遍历每一个超时控制块,对每一个超时控制块作如图5所示的处理m_ u,最后对信号灯调用sem_down。基于ARM的嵌入式TCP/ IP协议栈的实现IP协议栈的实现,ARM, TCP嵌入式,协议随着嵌入式系统与网络的日益结合,越来越多的嵌入式设备实现In tern
26、et网络化。在嵌入式实时操作系统中引入 T CP/ IP协议栈,以支持嵌入式设备接入网络,已成为嵌入式领域重要 的研究方向。NC/ OS -II是一种占先式、多任务、移植性强的免费公开源代码的实时操作系 统,然而他只是一个实时的任务调度及通信内核,系统内核木身并没有集成 T CP/ IP协议栈,所以不能满足嵌入式设备联网的需要。为了使基于ARM和uC/OS -II的嵌入式系统能实现网络化,必须使用外挂的 T CP/ IP协议栈或者根据硬件平台和实际应用重新设计实现新的协议 栈。由于T CP/IP协议比较复杂,而目前嵌入式系统中大量应用低速处理器,受内存和速度限制,实现完整的T CP/ IP协议
27、较为困难,有必要将T CP/ IP协议简化。1 TCP/IP协议分析计算机网络是一个层次结构,其各层及其协议的集合,称为网络的体系结构。In ternet上使用的参考体系是 T CP/ IP体系结构,结构如图1所示,他包括应用层、传输层、网络层 和卞机到网络接口 4层。最底层为卞机到网络接口层,他包括多种网络协议,的数据报传送信息,并通过校验和来确保消息的正确性,但他没有流量控制,也不保证可行的、有序的传输。第4层为应用层,包含所有应用协议如T elnet(远程登陆),FTP文件传输),FFT P普通文件传输协议),SMTP(电子邮件),DNS(域名服务),HTTP超文木传输办议)等。T CP
28、/ IP的层次结构中,各层实现对等层之间通信协议,彼此是相互独立的,上层仅能通 过接口知道卜层提供的服务,而不知道卜层的具体实现,因而用户数据是逐层 依次复制给卜层完成网络通信的。2协议裁减方案标准的T CP/ IP协议栈对计算机处理器、 存储器要求比较高,然而,嵌入式系统的计算资 源和存储资源都非常有限,在这些嵌入式系统中实现标准的T CP/ IP协议栈将占用大量系统资源,因此嵌入式 T CP/ IP必须进行简化和优化,尽可能做到代码精简、降低存储开销。2. 1 IP协议IP协议是T CP/ IP的基础,为不同网络的卞机之间发送数据报的操作序列提供无连接服 务。通过在数据报前添加IP协议头,
29、使每个数据报具有寻址能力。嵌入式系统只把IP作为传输工具,进行简化以完成卞要的操作。得到IP包后,检验IP头部的版木、目的地址、校验和正确否,解析出协议类型字段,由此交给相应的高层协议处理。发送IP包时,将缓冲区内的源地址与目的地址互换,设置校验和,然后交给卜层协议处理。若不符合要求,则将此包丢弃。IP包最大可以为65 kB,可以分段传输,而在嵌入式系统里根木无法容纳如此大的数据包,因此一般不支持分段传输,对于分段的功能可以裁减不要。所以限制MCU发送和接收数据包的方式以避免分段传输,从而减少程序复杂度。2.2 ICMP 协议ICMP协议用于报告在数据报过程中的错误,IP协议是无连接的,他无法
30、将报文和错误信息传到最初的卞机,ICMP将状态信息和错误信息发送到发报文的卞机。因此予以采用。2. 3 T CP协议在 TCP 协议中采用停止等待算法代替滑动窗口算法。这一方而是由于数据量小,对网络 拥塞不会产生太大影响,从而可以裁减TCP的流量控制功能;另一方而则是因为数据量小时, 采用停止等待算法的传输效率和滑动窗口算法的效率差不多, 因此采用简单停止等待算法代 替复杂的滑动窗口算法,不但减少了实现难度,提高了处理速度,同时取消了T CP发送缓存区和接收缓存区,从而减少了占用存储空间。2. 4 其他协议ARP协议为32位IP地址到对应的48位以太网地址之间提供动态映射。嵌入式系统中仅 响应
31、ARP请求,发送 ARP回答包。请求者广播出包含ARP请求的以太帧、目的以太网地址为全1的广播地址。木机收到后,由目的IP地址发现自己是目的卞机,发送一个ARP回答。U DP协议是一种不可靠的传输协议,目前多用于语音和视频传输等流媒体应用中,考虑到 嵌入式设备在工业控制等专用领域中在网络传输的是重要的数据和命令,其传输的可行性可以通过TCP协议来保证,因此裁掉 U DP协议。3嵌入式TCP/IP协议栈的实现3. 1 以太网接口协议该层实现了 T CP/ IP协议栈与底层网络驭动程序模块的隔离,使得T CP/ IP协议栈的实现与底层硬件无关。 一方而使得系统移植到其他硬件平台时只需对底层的中断控
32、制系统进行修 改而不需对T CP/ IP协议栈进行修改,减少移植工作量;另一方而使得系统增加网络新功能时 只需 对T CP/ IP协议栈进行修改而不需对底层的中断控制系统进行修改。该模块包含以太网初始 化、数据包的接收和发送 3个函数。(1) void EtherDevInit()以太网初始化函数,负责实现网络接口层、以及卜层的物理设备-3动程序的初始化,数据结构的初始化。(2) BOOL EtherOutput()以太网发送函数,根据上层类型、源MAC地址及目的MAC地址组成以太网发送数据包,调用网卡发送函数将 该数据包发送到网卡控制芯片中。(3) void EtherInput()以太网接
33、收函数,根据帧类型字段选择将该帧交给哪 个上层协议模块处理。3. 2 ARP协议以太网的数据通信依赖于硬件MAC地址,因而需要系统实现IP地址到MAC地址的转换功能。 ARP 协议使得网络上的每个卞机动态地建立一张 IP 地址和链路地址之间的映射表。 在协议中使用结构体 SA RPE ntry来保存地址映射。基于ARM的嵌入式TCP / IP协议的实现方法2010-03-19 11:35:07 作者:佚名 来源: 浏览次数:90分析嵌入式TCP/IP协议的选取原则,采用 ARM芯片和网络接口控制芯片设计以太网接口,介绍ARM芯片对网络接口控制芯片的控制过程和TCP/IP协议栈处理数据包的流程,
34、完成嵌入式TCP/ IP系统的开发。该系统可以将数据按网分析嵌入式TCP/IP协议的选取原则,采用 ARM芯片和网络接口控制芯片设计以太网接口, 介绍ARM芯片对网络接口控制芯片的控制过程和TCP/ IP协议栈处理数据包的流程,完成嵌入式TCP/IP系统的开发。该系统可以将数据按网络协议处理,实现数据的以太网传输。其是一套基于嵌入式实时操作系统的嵌入式网络软件开发平台,即在卩C/ OS- II的平台上,实现ARM微处理器的TCP/ IP协议,在此平台之上,可以方便地进行嵌入式应用系统的开发a关键词:ARM嵌入式系统;TCP/ IP ;以太网0引言以太网具有通用性强、技术成熟、带宽迅速增加等特性
35、,工业控制领域出现嵌入式技术,尤其是ARM技术的发展和DSP在工业控制领域的广泛应用,利用嵌入式技术实现以太网通信 已经不难见到。嵌入式实时操作系统接入网络后将使远程监测、远程控制、远程诊断和远程维护变得越来越容易。 从根本上讲,嵌入式设备接入网络, 当前基本采用基于 TCP/IP的通 信协议。该方案以LPC2210为核心元件研究基于 ARM的嵌入式TCP/IP协议的实现的硬件电 路,同时在卩C/osn平台上编写应用软件程序。下面对系统做详实的阐述,并重点介绍 嵌入式实时操作系统卩C/ OS- II应用于TCP/IP时应进行合理的裁减。1系统硬件设计基于ARM的嵌入式TCP/IP网络通信系统主
36、要包括 ARM芯片和以太网控制器等芯片组成SST39VF16OHR901 I70A V个以PHILIPSLPC22104 太YA RTL8019ASI网 硬件原理图该方案设计相对简单,硬件电路中采用的 LPC2210是Philips 公司推出的微处理器, 带有16 KBRAM 76个通用I /O 口,12个独立外部中断引脚,集成有8通道的10位A/D,能够基于芯片设计复杂的系统。虽然LPC2210具有较快的访问速度,但片内没有集成 FLASH所以这里扩展1片16 Mb FLASH SST39VFI60来保存用户程序。其架构满足卩C/OS-II正常运行的基本要求。RTL8019AS是台湾Real
37、tek半导体公司生产的以太网控制器,其性能包括:支持Ethernet 和IEEE802. 3标准;支持 8/16位数据总线;内置 16 KWord的SRAM全双工, 收发同时达到10 Ml/s ;支持BNC AUI, UTP介质。RTLS019AS可提供100脚的TQFP封装, 减少了 PCB面积,更适合于嵌入式系统。 HR901170A是汉仁电子有限公司生产的 RJ45接口 连接器(带网络变压器/滤波器),该连接器满足IEEES02. 3和IEEE902. 3ab标准,能够较 好地抑制电磁干扰。通过 HR901170A系统就可以连接到以太网上。2嵌入式协议的选择TCP/ IP协议是一组不同层
38、次上的多个协议的组合,通常被认为是一个包含链路层、网络层、传输层和应用层的 4层协议系统,如图2所示。嵌入式系统是为完成某种特定的功能而 设计的专用系统。嵌入式系统不要求(也不可能)实现所有的TCP/ IP协议,所以嵌入式TCP/IP是对TCP/ IP协议族进行选择而形成的协议集合。首先在链路层上,由于采用以太网的接入方式,系统必须实现IEEE802. 3所规定的CDMA/CD(载波监听多路访问及冲突监测)协议,CDM/ CD协议不需用户实现,此协议只要采用通用的NIC(Network In terface Con troller ,网络接口控制)芯片就可支持。为了保证系统在以太网中的通信,
39、系统还需实现 ARP应答协议,该协议用于将IP地址映射成以太网 MAC 地址。ARP协议包括ARP青求和ARP响应两部分,系统与其他计算机通信, 就必须要支持 ARP 响应。ARP请求在本地建立了一个 IP地址到MAC地址的映射,保证了对外通信的有的放矢。 RARP逆地址解析)协议主要用于解决如何从 MAC地址得到IP地址,主要用于无盘工作站中。 在网络层,由于系统要求能够在In ternet中进行通信,因此系统要实现IP协议。在TCP/IP协议族中,网络层协议包括IP协议(网际协议)、ICMP协议(Internet 控制报文协议)以及IGMP协议(Internet 组管理协议)等。IP协议是
40、TCP/ IP族的核心协议,它使异构网络之 间的通信成为可能。因此RTU等系统数据跨越不同的网络进行传输就必须要实现IP协议。ICMP中规定了多种协议类型和代码,如果完全地实现也要耗费不少的系统资源,该嵌入式 系统中,在ICMP协议中能够测试网络的连通情况即可。传输层主要是在2台主机之间提供端到端的通信。传输层有2种不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP是面向连接的,在不可靠的网络服务上提 供端到端的可靠字节流。TCP协议设计了严格的3次建立连接握手过程、4次关闭连接握手过程以及捎带确认信息并通过滑动窗口进行流量控制的数据传输过程。UDP议是不面向连接的,它只是简单地把数据报从一台主机发送到另一台主机,但并不保证该数据报能到达另一端,可靠性必须由应用层来提供。考虑到系统中数据传输质量,这里采用TCP协议。应用层协议主要是指用户进程。其包括:HTTPB议、FTP协议、POP3协议、SMTF协、议、SNMP协议。分析嵌入式TCP/IP协议的选取原则,采用 ARM芯片和网络接口控制芯片设计以太网 接口,介绍ARM芯片对网络接口控制芯片的控制过程和TCP/IP协议栈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孕妇学校课外活动
- 《通山隆鼎丽都》课件
- 2024年四川省宜宾市中考化学真题【附答案】
- 兴奋状态的护理
- 《公众聚集场所消防》课件
- 《听听那冷雨大学语》课件
- 包皮手术科普
- 清平乐村居获奖课件
- 小儿尖足推拿治疗
- 大咯血应急预案的护理
- 医院药房人员培训课件
- 2024年度Logo设计及品牌形象重塑合同
- 中小学学校国家智慧教育云平台应用项目实施方案
- 2024-2030年铝型材行业市场深度调研及前景趋势与投资战略研究报告
- 2024-2030年辣椒种植行业市场深度分析及发展策略研究报告
- 通信工程施工方案
- 初中英语研修方案
- 化工厂拆除施工方案
- 海南自贸港优化营商环境条例7大亮点解读课件
- 中国邮政储蓄银行2024年下半年社会招聘高频难、易错点500题模拟试题附带答案详解
- 《中华人民共和国道路交通安全法实施条例》知识专题培训
评论
0/150
提交评论