登陆注册
13851900000021

第21章 通信与协议(6)

3.5CAN总线

3.5.1CAN总线的发展历史

控制器局域网(Controller Area Network,CAN)是德国Robert Bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。CAN是一种很高保密性、有效支持分布式控制或实时控制的串行通信网络。CAN的应用范围遍及从高速网络到低成本的多线路网络。

在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的传输速率可高达1Mbit/s。同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。CAN采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。网络上的节点可分为不同的优先级,满足不同的实时要求。采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的节点停止数据发送,而优先级高的节点可不受影响地继续传送数据。具有点对点、一点对多点及全局广播接收传送数据的功能。

随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。1991年9月,Philips Semiconductors公司制定并发布了CAN技术规范(Version2.0),包括A和B两部分。2.0A给出了CAN报文标准格式,而2.0B给出了标准的和扩展的两种格式。1993年11月,ISO颁布了道路交通运输工具-数据信息交换-高速通信局域网国际标准(ISO11898),为CAN的标准化和规范化铺平了道路。

CAN总线因其通信协议独有的特点和卓越的性能,同时又得到了多家芯片制造厂商的大力支持,在产品开发和系统集成方面具有突出的价格优势,因而越来越受到重视,并被公认为最有前途的现场总线之一。CAN是一种有效支持分布式控制或实时控制的串行通信网络,其规范已被国际标准化组织(ISO)制定为国际标准ISO11898a。CAN总线克服了传统工业总线的缺陷,与其他较流行的现场总线相比,独具优势,非常适合工业过程监控设备的互联,尤其是其低成本的特点,被认为是一种符合中国国情的现场总线。

3.5.2CAN总线的基本概念

现对CAN协议的媒体访问控制子层的一些概念和特征做如下说明。

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

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

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

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

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

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

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

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

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

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

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

(12)CAN通信距离:最大为10km(设速率为5Kbit/s),或最大通信速率为1Mbit/s(设通信距离为40m)。

(13)CAN总线上的节点数:可达110个,通信介质可在双绞线、同轴电缆、光纤中选择。

(14)报文是短帧结构,短的传送时间使其受干扰概率低,CAN有很好的校验机制,这些都保证了CAN通信的可靠性。

3.5.3CAN总线协议

1)CAN总线协议的内容

CAN总线的物理层是将电子控制单元(ECU)连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。Bosch(博世)CAN基本上没有对物理层进行定义,但基于CAN总线的ISO标准对物理层进行了定义。设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有1个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。在此基础上,物理层主要取决于传输速度的要求。在CAN中,物理层从结构上可分为三层:分别是物理层信令(Physical Layer Signaling,PLS)层、物理介质附件(Physical Media Attachment,PMA)层和介质从属接口(Media Dependent Interface,MDI)层。

其中,PLS层连同数据链路层功能由CAN控制器完成,PMA层功能由CAN收发器完成,MDI层定义了电缆和连接器的特性。目前也有支持CAN的微处理器内部集成了CAN控制器和收发器电路,如MC68HC908GZl6。PMA层和MDI层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是ISO11898定义的高速CAN发送/接收器标准。理论上,CAN总线上的节点数几乎不受限制,可达到2000个,实际上受电气特性的限制,最多只能接100多个节点。

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

数据链路层的主要功能是将要发送的数据进行包装,即加上差错校验位、数据链路协议的控制信息、头尾标记等附加信息组成数据帧,从物理信道上发送出去;在接收到数据帧后,再把附加信息去掉,得到通信数据。在通信过程中,收发双方都要对附加的控制信息进行检查判别,并作响应的处理,从而实现数据传输过程中的流量控制、差错检测,保证数据的无差错传输。CAN总线的数据链路层包括逻辑控制(Logical Link Control,LLC)子层和媒体访问控制(Medium Access Control,MAC)子层。其中MAC子层的主要功能是传输规则,它是CAN总线协议的核心,主要包括控制帧的结构、传输时的非归零(NRZ)编码方式(检测到连续5个数值相同流后自动插入一个补码位),执行仲裁、错误检测、出错检测、出错标定和故障界定,同时还要确定总线是否空闲(出现连续7个以上隐性位)或者能否马上接收数据(检测同步信号)。LLC子层的主要功能是报文的滤波(根据数据块的编码地址进行选择性接收)和报文的处理。

2)CAN总线的报文传输和结构

(1)报文类型

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

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

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

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

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

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

(2)美国立维腾(Leviton)公司基于CAN总线的智能照明控制系统报文说明

Leviton公司生产的智能照明控制系统是基于CAN总线协议,Leviton公司称之为LCnet总线。从OSI-RM角度分析,Leviton公司的控制协议覆盖了物理层、数据链路层和网络层,而物理层、数据链路层的协议遵从的是CAN总线协议。

Leviton协议使用标准帧,即采用CAN的11位标识符的帧。标识符区包含智能照明中的控制器的ID号、分区ID号和网络变量ID值。

Leviton标识符区区域信息应用说明如下:

(1)广播信息:全0的ID表示一个广播信息(比如需要一个场景时),此时所有CAN节点都可以接收到。

(2)控制器ID:用来识别一个最多控制8个分区的智能照明控制器,此ID有5位,提供了最多31个独立的控制器ID。ID的地址范围是从0*040到0*7C0。

(3)分区ID:分区ID定义一个独立的调光通道,此ID有3位,提供了最多254个独立的分区ID。ID的地址范围是0*01到0*FF。

(4)系统默认:系统默认的ID号是0*7C0(控制器31)。

(5)变量描述:变量涉及智能照明控制的具体控制内容,包括控制命令、控制级别、写读数据、系统时间设定等。

同类推荐
  • 好婆媳相处的66个妙招

    好婆媳相处的66个妙招

    人各有别,思想迥异,行为不一。人与人之间也就因此有了矛盾。如此看来,人和人之间注定要有思想的交锋,行为的冲突。婆媳之间,这样的思想交锋和行为冲突自然会更加激烈一些,更加微妙一些。聪明的女人自然明白,在日常生活中,和婆婆之间存在这样那样的矛盾冲突是客观存在的现象,是不可避免的。而问题的关键是,你该如何处理这样的矛盾冲突,化干戈为玉帛,彼此迁就以达到和谐。
  • 生活妙招1000例

    生活妙招1000例

    本书分为服饰、饮食、家居、休闲、保健、理财六个篇章,介绍了生活必备的基本知识。
  • 别说你会用日用品:揭开日常用品中的那些潜在危险

    别说你会用日用品:揭开日常用品中的那些潜在危险

    近几年里,大家把对“安全”的关注,更多放在了食品安全、药品安全上。从早些年的苏丹红、瘦肉精、三聚氰胺以及各种滥用食品添加剂的问题,到如今的废皮鞋制胶囊,我们开始越来越重视身边的各种安全问题。这是好事,也是社会发展、人们认知提高的体现。然而,大家的安全意识更多的还只是停留在吃进肚子的东西上。对于我们日常生活中常用的一些物品的“安全”问题,却是从来没有考虑,甚至说从未想到过的。本书从七个方面写起,囊括我们日常经常使用的一百多种日用品,从洗护用品到家居电器,再到我们每天必穿的衣服鞋袜,力求站在最客观的角度告诉大家,这些我们每天接触的日用品,究竟对我们的身体带来了怎样的潜在危险。
  • 家居无忧.装修真经

    家居无忧.装修真经

    本书针对一般住房的装修需求,从装修前的准备到装修预算的拟订从装修风格的选择到整体色调的搭配从装修材料的选购到施工工程的安排,分别介绍了居室、厨房、卫生间等装修的具体方法。
  • 农家书屋必备书系(第2卷)——农村夫妻健康生活常识

    农家书屋必备书系(第2卷)——农村夫妻健康生活常识

    《农村健康生活常识:农村夫妻健康生活常识》以婚姻家庭背景,从夫妻生活着眼,从躯体上、情感上、知识上、社会适应能力、积极完善的人格以及美好的人际关系等一些与健康有关的因素,以科学的方法,给读者提供客观的准确的自我评估,找出不足,帮助自己优化性健康指数,不断提高性爱的含金量,提升你的幸福生活。
热门推荐
  • 魔弓少年

    魔弓少年

    弓,是魔弓,人,是纯情少年,当魔弓和少年相遇,会擦出怎样的火花?一把弓,如何纵横五行大陆?一把弓,如何远攻近战皆可?曹苏告诉你,他可以做到!“只要一弓在手,天下我有!”一场阴谋,一个差错,请看少年如何由村长华丽逆袭,玩转世间!
  • 鬼神:善良的男人

    鬼神:善良的男人

    相传他一直徘徊在世间,看着人的生老病死,看着朝代的盛衰——相传他是世上最无情的神,但他偏偏确是那个最有情的神。他是一个善良的男人——“因为我喜欢你,也因为我不喜欢你。也可能因为我爱你。”他也不知道自己从什么时候开始心里竟走进了一个小丫头。她原本该死于非命,遇见他,她获得了重生:他是她的守护神——“大叔!我想看埃菲尔铁塔。”话音刚落再眨眼欧洲都市的夜景出现在了眼前。“大叔!我好像看樱花花瓣四处飞扬的样子。”隔天整个北京的花一夜之间开的正欢。他宠她如骨,却没有发现:她成了他致命的软助。
  • 宿主总觉得自己是大佬

    宿主总觉得自己是大佬

    时凌寒失去了记忆,但是她总觉得自己是一个别人惹不起她的存在,为什么这么说?这都是一种直觉,来自大佬的直觉!酒酒:尊敬的宿主,您的男票已到账,请接收!#霸道总裁的朱砂痣##冷酷学神的嚣张女友#……
  • 全球高武时代

    全球高武时代

    小人物的大梦想,追求财富与权势的寻宝人,顺便征服世界。
  • 傅少你老婆又上头条了

    傅少你老婆又上头条了

    【1V1+超宠甜文】某日,记者采访影后苏黎,听说傅先生傲娇腹黑不理人?苏黎笑笑,呵呵哒,怕是你们理解错了这三个词的真正意思。听说傅先生清心寡欲不近女色?苏黎差点没吐出一一口血来,这话是谁说的,站出来,我保证不打你。她的结婚证难道是假的么?
  • 原来责任就是一辈子

    原来责任就是一辈子

    爱过,拥有过,失去过,原来责任不是一辈子,而是有你在身边!
  • 迁就

    迁就

    当爱情面临冗长的生活,当平平淡淡不再是一句话的事情,当感情失去张扬冲动的多巴胺,我们又该如何?可是,爱情却有着另外一面,平淡是真,迁就与包容是最好的良方。这就是一个迷茫的小女人和一个闷瓜专一男的甜蜜故事。
  • 四叶草:你就是我的阳光

    四叶草:你就是我的阳光

    那年,她十九岁,遇见王一。从那开始,她的视线总会被这个叫王一的男子牵引着,眼中也只有王一,而可悲可笑的是,在同校的生涯里,竟然没有勇气主动的跟王一说过一句话。暗恋是一件如此美好的事。
  • 萌翻豪门:国民老公是我的

    萌翻豪门:国民老公是我的

    “老公,我来啦!”“橙子,你……别过来!”甜橙没有扑/倒高大boss之前,绞尽脑汁想要扑/倒他,终于……甜橙一直以为高大boss是只披着狼皮的羊,高大boss身体力行告诉她,原来她错了,高大boss是只披着羊皮的狼!“老公,床塌了,明晚再来!”“老公,闺蜜失恋,我要陪她,明天再回来!”“老公,我要出国留学,五年后一定回来的!”高大boss欲哭无泪,只好重披羊皮:“老婆,求扑/倒!”
  • 最牛老师是阎王

    最牛老师是阎王

    包正怎么也想不到,自己年纪轻轻、刚从大学毕业当上老师,竟然摇身一变,成了地府的新一任阎王?好吧,既然如此,那我一定要大干一场!一边教书育人,一边管理地府,还得和天庭搞好关系!包正的爆笑阎王生涯,就此开始!