新闻中心

EEPW首页>嵌入式系统>设计应用> CAN总线与以太网系统互连中网关的设计与实现

CAN总线与以太网系统互连中网关的设计与实现

作者: 时间:2012-05-05 来源:网络 收藏

3 CAN协议分析

CAN是遵从OSI模型,按照OSI基准模型,CAN结构划分为两层:数据链路层和物理层。按照IEEE802.2和802.3标准,数据链路层又划分为:

逻辑链路控制(LLC)

媒体访问控制(MAC)

物理层又划分为:

物理信令(PLS)

物理媒体附属装置(PMA)

媒体相关接口(MDI)

MAC子层运行借助称之为“故障界定实体(FCE)”的管理实体进行监控。故障界定是使判别短暂干扰和永久性故障成为可能的一种自检机制。物理层可借助检测和管理物理媒体故障实体进行监控(例如总线短路或中断,总线故障管理)。LLC和MAC两个同等的协议实体通过交换帧或协议数据单元(PDU—Protocol Data Unit)相互通信。

LLC子层提供的功能包括:帧接收滤波、超载通告和恢复管理。其中,超载通告功能是如果接收器内部条件要求延迟下一个LLC数据帧或LLC远程帧,则通过LLC子层开始发送超载帧最多可产生两个超载帧,以延迟下一个数据帧或远程帧。

按照网络的OSI七层模型来看,网络完成了最下面两层协议的工作,即物理层和数据链路层,它们由CAN控制器的硬件实现电平转换和帧的封装。在实际应用中,还需要建立自己的上层协议。这里设计了一种简单实用的“命令项+数据项”结构,其完整数据帧结构如图二所示。

考虑到工业控制中的功能一般不多,因此命令项的长度设定为1BYTE(可以描述256种命令)。在数据项里设置数据长度是考虑到是短帧传送(数据帧,每帧数据只有8BYTE),有的命令所需的数据参数可能大于7BYTE,同时很有可能返回的数据也较大,所以,这里设置一个字节的数据长度项,就可使用户定义数据帧长度达到256字节。

4 SX52的TCP/IP协议栈的设计

ARP协议可以实现逻辑地址到物理地址的动态映射。以太网接口支持一个唯一的48-bit的物理地址。在SX52中,ARP协议是通过一个“IP地址对应以太网地址”的单登记核实现。当远程主机需要知道它的物理地址时,远程主机会向它发送ARP请求,这时它就会响应这个远程主机的请求,告诉对方自己的物理地址。当应用层需要传输IP数据包时,SX52 ARP协议也可以请求远程目的物理地址。

要传输的Internet数据包数据包在以太网控制器的发送缓冲区中被构建,它使用最近接收到的数据包的目的以太网地址作为发送数据包的目的地址。当然,这可能不是正确的以太网地址,因此,在实际发送数据包之前,ARP协议将检查发送数据包中的IP地址是否存在于ARP核中,如果发送数据包中的IP地址在这个核中,在以太网发送缓冲区中的数据包将使用ARP核中的以太网地址更新,如果不在,则ARP协议将发送一个ARP请求包,然后等待一个应答。一旦这个ARP应答接收到,这个ARP核将使用刚接收到的目标以太网地址更新,接着,等待发送的数据包也将使用这个以太网地址更新,然后被发送出去。如果发送的ARP请求包没有应答,导致ARP定时器超时,这是等待发送的数据包将被废弃,正常的协议栈继续运行。

IP协议是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP提供不可靠、无连接的数据报传送服务,不能保证IP数据报成功地到达目的地。如果发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP 消息报给信源端。任何要求的可靠性必须由上层来提供。无连接的意思是IP并不维护任何关于后续数据报的状态信息,每个数据报的处理是相互独立的。这也说明,IP数据报可以不按发送顺序接收。在本设计中,IP协议是针对特殊的应用环境下的合理简化。的控制网络是一种短帧、实时网络,所以,IP数据包无须分片(MF=DF=0),同时,设置IP服务类型为一般类型,其头长为20字节,首部长度字段为5,寿命TTL设置为64。

TCP向应用层提供一种面向连接的、可靠的字节流服务。在面向工业控制上的应用时,可以对复杂的TCP协议做合理的简化,因为CAN网络传输速度较快,数据量小且l0Mpbs的以太网传输一般不会发生阻塞,以太网上的主机也会有足够的能力及时处理通信数据。所以可以固定超时与重传的时间为5s,此外RTL8019AS上有两个1500字节的接收缓冲区,且CAN网络为控制网,信息量小,所以可以固定接受窗口为1400字节。设计中采用一般的TCP服务就可以满足应用,所以可以忽略紧急指针和选项和填充字段的值。通过上述的三点简化,实际上大大简化了TCP协议的实现,因为TCP的超时与重传的时间的确定和窗口大小的控制有着较复杂的算法和实现机制。

5 创新点总结

本文的创新点是针对传统工业控制自动化现场总线连接方式成本高,开发周期长的不足之处,设计一种单独的CAN以太网互连系统,成功地实现以太网和现有CAN总线网的直接数据互联。现场总线通过与因特网、企业内部网相连,使自动控制系统与现场设备成为企业综合自动化系统和信息系统的一个组成部分。系统在开放性、互操作性、现场设备智能化、系统结构、对现场环境适应性等性能方面得到了很大的提高,成功实现两个异类网络的数据通信。

参考文献:

[1] 邹益仁 马增良 等,现场总线控制系统的设计和开发,2003,国防工业出版社

[2] 郑文波 控制网络技术,2001,清华大学出版社

[3] Ed.Taylor ,郑岩 邓凌 译,网络互连技术指南,2001,人民邮电出版社

[4] 李明 嵌入式互连网络接口的设计与开发,2002,工业控制计算机

[5] 邓遵义,宁样,刘保国.基于CAN总线的分布式机器人控制系统设计. 微计算机信息[J].2006年的22卷6-2期:第254-256页


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭