CAN总线互连中网关的设计与实现

发布者:beta13最新更新时间:2014-12-09 来源: e-works关键字:CAN总线  网关  SX52 手机看文章 扫描二维码
随时随地手机看文章
1、引 言

    科技和社会的发展,使20世纪末的全球化市场竞争空前激烈。竞争中的企业逐渐开始实施计算机集成制造系统,采用系统集成、信息集成的观点来组织工业生产。在这个系统中,为实现现场智能设备之间的多点数字通信,计算机测控技术与计算机网络紧密地结合在一起,产生了能在工业现场环境运行、性能可靠、造价低廉的现场总线(FieldBus)技术。

    现场总线是用于生产制造现场的最底层通信网络,它实现了微机化的现场测量控制仪器或设备之间的双向串行多节点数字通信。现场总线技术的关键是使自动控制系统与现场设备具备通信能力,将它们连接成网络系统,实现现场通信网络与控制系统的集成。作为网络系统,它具有开放统一的通信协议。CAN总线就是现场总线技术在工业应用中形成的一个成熟技术标准。它的协议建立在ISO/OSI模型基础之上,但只采用了该模型底层的物理层、数据链路层和顶层的应用层。在大型企业自动化系统中,上层企业管理层和生产监控层一般采用的都是以太网和PC机,而在下层车间现场都是采用现场总线和单片机测控设备。上下两层的沟通,通常采用工业控制机加以太网卡,再加上PC机插槽上的接口卡或并行打印口的EPP接口卡来实现。这种连接方式成本高,开发周期长。针对这种情况,我们设计一种单独的CAN以太网网关互连系统,成功地实现以太网和现有CAN总线网的直接数据互联。

2、系统总体设计

    CAN总线是一个设备互连总线型控制网络。在CAN总线上可以挂接多达110个设备节点,各设备间可以自主相互通信,实现复杂网络控制系统。但设备信息层无法直接到达信息管理层,要想设备信息进入信息管理层就要通过一种数据网关。

    这里我们设计了一个SX52网关用于CAN总线与以太网的互连。系统总体分为三部分:现场测控网络(CAN网络)、嵌入式透明SX52网关、以太网信息管理终端(如监控平台和网络数据库等)。以太网信息管理终端与CAN总线上的CAN节点通过ETHERNET,SX52网关,CANBUS相互通信,其中SX52网关起到核心的异构网络的互连作用。

    协议转换是异构网络互连的技术关键和难点,协议转换一般可采用分层转换的方法,自低向上逐层进行。目前互连大都是在网际层或网络层展开的,因而必须对互连层以下各层协议逐层向上转换,这种转换方法的依据是协议分层的基本原理:即低层支持高层,高层调用低层,低层断开连接后,高层连接也随之断开,但高层断开连接却不会影响低层。从网络的分层结构上来看,我们设计的互连系统具有如图一所示的分层结构。以太网上运行TCP/IP协议,它具有应用层、传输层、网络层、以太网数据链路层和物理层;CAN总线具有应用层、数据链路层和物理层,其中应用层由用户自己定义,数据链路层和物理层由CAN协议所定义;SX52数据网关具有物理层、数据链路层和应用层,其应用层也就是ETHERNET与CAN的信息数据交换层,SX52微控制器在此层相互解释并转发这两种不同协议的数据。


图1 CAN总线与以太网互连的网络分层结构


    在本设计中,SX52网关被设计成了一个透明数据网关,也就是在以太网应用层构建和解析完整的CAN协议数据包,CAN协议数据包作为TCP/IP网络应用层的数据进行传输,它对通信数据的具体实际意义不做任何解释。之所以把数据网关设计成透明式,是基于以下三个方面的考虑:1)透明式网关设计相对不透明网关来说较简单,在硬件上无须扩展大容量的数据存储器用于缓存通信数据;软件上也不用考虑数据的聚集和分发处理,降低了程序设计的复杂度、提高了通信的速度和实时性。2)透明式网关的适应性强,它可以应用于不同的项目要求,而不透明网关则要根据不同要求对网关程序作出不同的修改。3)因为协议转换设计简单,没有较多复杂处理,从而提高了通信的可靠性。

    CAN总线网络的最大通信速率为1Mpbs,而以太网现在一般为10Mbps。这里就需考虑两者之间的速度匹配问题,这里可以从两个方面解决这个问题:一是在网关上使用较大的RAM,用来作为通信数据缓冲器,提高网路传输的效率。二是限制以太网向CAN总线传输的数据量,使它小于CAN总线的通信速率。[page]

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


图2 应用层帧结构


    考虑到工业控制中的功能一般不多,因此命令项的长度设定为1BYTE(可以描述256种命令)。在数据项里设置数据长度是考虑到CAN总线是短帧传送(数据帧,每帧数据只有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协议是针对特殊的应用环境下的合理简化。CAN总线的控制网络是一种短帧、实时网络,所以,IP数据包无须分片(MF=DF=0),同时,设置IP服务类型为一般类型,其头长为20字节,首部长度字段为5,寿命TTL设置为64。

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

5、创新点总结

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

关键字:CAN总线  网关  SX52 引用地址:CAN总线互连中网关的设计与实现

上一篇:基于SOPC技术的EPA蓝牙接入点的设计与实现
下一篇:基于CAN总线汽车车身视觉检测站的研究

推荐阅读最新更新时间:2024-05-02 23:21

汽车can总线工作原理及测量方法详解
  CAN总线的总体结构   CAN总线由CAN控制器、CAN收发器、数据传输线、数据传输终端等组成。CB311的ECU(发动机控制单元)、TCU(变速器控制单元)、FEPS(无钥匙进入和无钥匙启动系统)、组合仪表四个电控单元通过CAN总线连接,CAN控制器、CAN收发器均集成在电控单元中。CB311CAN总线的结构如图1所示。   图1 CB311 CAN总线的总体结构   1、CAN控制器   CAN控制器集成在电控单元内部,接收由控制单元微处理器传来的数据。CAN控制器对这些数据进行处理并将其传递给CAN收发器;同样CAN控制器也接收收发器传来的数据,处理后传递给控制单元微处理器。   2、CAH收发器   CAN收发器
[测试测量]
汽车<font color='red'>can总线</font>工作原理及测量方法详解
CAN总线与RS485总线的通讯接口设计
1 CAN总线及RS-485总线简介     CAN总线(Controller Area Network)是由德国Bosch公司于20世纪80年代专门为汽车电子控制系统开发的一种串行数据通讯协议,特别适合应用于分布式控制或实时控制领域。它的应用范围遍及高速网络和低本钱的分布式控制系统。CAN具有以下特点:     (1) 无破坏的依据优先权的仲裁;     (2) 多主站点依据优先级进行总线访问;     (3) 严格的错误检测和界定;     (4) 支持远程数据请求;     (5) 借助接收滤波的多地址帧传送;     (6) 通讯介质多样,组合方式灵活;     (7) 全系统数据兼容,系统
[嵌入式]
基于CAN总线的智能型温湿度采集系统设计
0 引 言 温湿度监测系统是在环境试验、科学研究(诸如种植、养殖、生物工程、化工工程)、工业生产等领域应用广泛的现场环境控制系统。它能模拟各种环境条件,即按照实际要求精确控制环境的温度和湿度,为研究不同的生化过程创造了良好的环境条件。因此,温湿度监测系统广泛应用在科研、现代农业、医药、冶金、化工、林业、环境科学及生物遗传工程等领域。 为了满足化学工业过程对环境条件的需求,我们在传感器智能控制方案和具体应用中做了大量的研究和可行性分析,开发了一种具有智能化功能的温湿度监测系统。该系统由数据采集模块和接口模块组成。其中数据采集模块采用了以单片机AT89S52为核心外接传感器的结构框架,保证了系统对现场温湿度信号采集的实时性和准
[测试测量]
基于<font color='red'>CAN总线</font>的智能型温湿度采集系统设计
基于CAN总线在车载系统中的应用
1 引言 CAN(Controller Area Network)即控制器局域网络,它是德国波许(Bosch)一公司从20世纪80年代初开始,为解决当代汽车中日益增多的控制与测试仪器之间的数据交换而开发的一种能有效支持分布式控制或实时控制的串行通信网络。现代汽车安全性、舒适性及环保要求的不断提高,因此,本课题着眼于其发展的现状,通过CAN 总线 和外设 传感器 的应用,保证了车载系统和外围 电路 更好的通信,最大程度的保证了车辆的安全。 2 总体结构 本课题旨在通过对 CAN总线 的研究,保证车身与外围扩展电路正常的通信。经过分析比较,确定实行方案,并加以验证。 整个系统是将温度、加速度,还有TTS、 GPS 的数据
[嵌入式]
基于CAN总线的电控自动离合器控制器设计
  进入21世纪,随着汽车的普及,人们对汽车的舒适性和安全性的要求也越来越高,而手动档汽车因其繁重的选换档及离合器操作增加了驾驶难度。对于驾驶新手而言,又会产生坡道起步易熄火、油耗大、离合器磨损严重等问题。自动档汽车虽然驾驶操作简单,但其造价高,开发难度大。本文设计的电控自动离合器ACS(Automatic Clutch System)是在手动变速箱基础上安装电控系统,取消离合踏板,实现自动离合。ACS的优势十分明显:与手动挡相比,其驾驶操控更为简单,具有加速快、驾驶舒适的特点;与自动变速器汽车相比,ACS具有造价便宜、维修方便、经济、省油。   1 系统功能   ACS将现代电子控制技术用于控制干式摩擦离合器,模拟优秀驾
[嵌入式]
CAN总线步进电机驱动器
目前,CAN总线步进电机驱动器在当代的应用可谓是越来越广泛,CAN总线步进电机驱动器是值得我们好好学习的,现在我们就深入了解CAN总线步进电机驱动器。  基本内容 现场总线是当今自动化领域技术发展热点之一,被誉为自动化领域计算机局域网。它出现为分布式控制系统实现各节点之间实时、可靠数据通信提供了强有力技术支持。CAN(Controller Area Network)属于现场总线范畴,它是一种有效支持分布式控制或实时控制串行通信网络。较之目前许多RS-485基于R线构建分布式控制系统而言,基于CAN总线分布式控制系统在以下方面具有明显优越性: 首先,CAN控制器工作于多主方式,网络中各节点都可根据总线访问优先权(取决于报文标识
[嵌入式]
CAN总线协议
CAN总线协议概念特征 (1)报文(Message)总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。 (2)信息路由(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。 (3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。
[嵌入式]
CAN总线智能适配卡的设计
摘要:采用P80C592FFA作为CAN控制芯片,使用CY7C0944PV-AC作为双端口存储器,并使用PCA82C250作为CAN控制器接口芯片,设计了CAN总线智能适配卡,提高了CAN总线适配卡的传输能力。针对CAN总线在特殊环境下容易受到外界干扰的弱点,使用6N137进行信号隔离,使该适配卡达到了本安型标准。 关键词:CAN总线 智能适配卡 信号隔离 CAN(Controller Area Network)总线最初是由德国BOSCH公司为汽车检测与控制系统而设计的。由于其显著的特点,其应用范围越来越广,已扩大到过程控制、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域。目前,在国际上CAN总线已经
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved