您的位置:控制工程论坛网论坛 » 现场总线 » CAN总线协议1

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

CAN总线协议1

xilinxue  发表于 2008/12/2 13:25:18      1223 查看 1 回复  [上一主题]  [下一主题]

手机阅读

CAN即控制器局域网,最初是德国BOSCH公司为汽车的监测与控制而设计的,以解决汽车众多控制设备与仪器仪表之间的大量数据交换用硬件接线带来的问题。当今CAN的应用已不再局限于汽车行业,而向过程工业、机械工业、机器人、数控机床、医疗器械和传感器等领域发展。 

1 CAN总线基本概念



    依据国际标准化组织/开放系统互连(International Standardi-zation OrganizationOpen SystemInterconnectionISOOSI)参考模型,CANISOOSI参考模型的层结构如图7-6所示。下面对CAN协议的媒体访问控制子层的一些概念和特征做如下说明:




(1)报文(Message) 总线上的报文以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。



(2)信息路由(Information Routing) CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。



(3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。   


(4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。



(5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。



(6)优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。



(7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。



(8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。



(9)总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0,“隐性”对应逻辑“1。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0和“1时,总线上呈现“0CAN总线采用二进制不归零(NRZ)编码方式,所以总线上不是“0,就是“1。但是CAN协议并没有具体定义这两种状态的具体实现方式,如图7-7所示。



10)故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。



(11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。



2 CAN总线协议内容



CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。BOSCH CAN基本上没有对物理层进行定义,但基于CANISO标准对物理层进行了定义。设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。在此基础上,物理层主要取决于传输速度的要求。从物理结构上看,CAN节点的构成如图7-8所示。在CAN中,物理层从结构上可分为三层:分别是物理层信令(Physical Layer SignalingPLS)、物理介质附件(Physical MediaAttachmentPMA)层和介质从属接口(Media DependentInter-faceMDI)层。其中PLS连同数据链路层功能由CAN控制器完成,PMA层功能由CAN收发器完成,MDI层定义了电缆和连接器的特性。目前也有支持CAN的微处理器内部集成了CAN控制器和收发器电路,如MC68HC908GZl6PMAMDI两层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是ISOll898定义的高速CAN发送/接收器标准。理论上,CAN总线上的节点数几乎不受限制,可达到2000个,实际上受电气特性的限制,最多只能接100多个节点。




CAN的数据链路层是其核心内容,其中逻辑链路控制(Logical Link controlLLC)完成过滤、过载通知和管理恢复等功能,媒体访问控制(Medium Aeeess controlMAC)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。



3 CAN总线的报文传输和结构



    1.报文类型



    CAN20B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有ll位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展帧。如CAN12版本协议所描述,两个版本的标准数据帧格式和远程帧格式分别是等效的,而扩展格式是CAN20B协议新增加的特性。为使控制器设计相对简单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的支持标准格式。但无论是哪种帧格式,在报文


传输时都有以下四种不同类型的帧:



(1)数据帧(Data ) 数据帧将数据从发送器传输到接收器。



(2)远程帧(Remote ) 总线单元发出远程帧,请求发送具有同一标识符的数据帧。



(3)错误帧(Error ) 任何单元检测到总线错误就发出错误帧。



(4)过载帧(Overload ) 过载帧用在相邻数据帧或远程帧之间提供附加的延时。



数据帧或远程帧与前一个帧之间都会有一个隔离域,即帧间间隔。数据帧和远程帧可以使用标准帧及扩展帧两种格式。

1楼 0 0 回复
  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2008/12/2 13:25:18

    为促进CAN以及CAN协议的发展,1992在欧洲成立了CiA(CAN in Automation)。在CiA的努力推广下,CAN技术在汽车电子控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运输等方面均得到了广泛的应用。现已有400多家公司加入了CiA,CiA已成为全球应用CAN技术的权威。
    在组网和通信功能上的优点以及它的高性能价格比决定了它在许多领域都有广阔的应用前景和发展潜力。大型仪器设备系统复杂,对多种信息进行采集、处理、控制、输出等操作。如医疗器械CT断层扫描仪,为保证其可靠工作,在数据通信上要求功能块间可随意进行数据交换、通信能以广播方式进行、简单经济的硬件接口、通信线尽量少、抗干扰能力强、可靠性高并能自动进行故障识别和自动恢复。但是,这些要求长时间未能得到很好的解决,直至CAN总线技术出现才提供了一个较好的解决方法。测控系统中离不开传感器,由于各类传感器的工作原理不同,其最终输出的电量形式也各不相同,为了便于系统连接,通常要考虑将传感器的输出变换成标准电压或电流信号。即便是这样,在与计算机相连时,必须增加A/D环节。如果传感器能以数字形式输出,就可以方便地与计算机直接相连,从而简化系统结构,提高精度。这种传感器与计算机相连的总线可称为传感器总线。实际上传感器总线仍属于现场总线,关键的问题在于如何将总线接口与传感器一体化。在广泛的工业控制领域,CAN总线可作为现场设备级的现场总线,与其它总线相比,具有很高的可靠性和性价比。这必将是CAN技术开发应用的一个主要方向。在以往的国内测控领域,由于没有更好的选择,大多采用BITBUS或RS-485作为通信总线。其不足主要有:一主多从,无冗余;数据通信为命令响应,传输率低;错误处理能力弱。采用CAN总线技术后即可解决上述问题。CAN网络上任何一个节点均可作为主节点主动地与其它节点交换数据;CAN网络节点的信息帧可以分出优先级,这对于有实时性要求的控制提供了方便;CAN的物理层及数据链路层有独特的设计技术,使其在抗干扰以及错误检测等方面的性能均大大提高。CAN的上述特点使其成为诸多工业测控领域中首选的现场总线之一。
    根据国内外资料报道,CAN技术已应用于家用电器和智能楼宇以及小区建设中。如安防系统、抄表系统、家电控制等。它投资少,每个节点可以随机访问,通信速度完全满足要求,且在这类应用中数据交换量都很少。适当的网关如CAN与TCP/IP协议的转换,可以使一个居室或一栋大楼的现场CAN信息转变为Internet的形式外传,或反过来通过这类网关把外部网传来的信息转换为CAN的形式,此即实现了所谓的远程控制。
    字串7

    2楼 回复本楼

    引用 chenwh78 2008/12/2 13:25:18 发表于2楼的内容

总共 , 当前 /