CAN总线总结.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAN总线总结

CAN总线技术学习(一) CAN总线是控制器局域网络(Controller Area Network,CAN)的简称,是德国BOSCH公司开发,是国际上应用最广泛的现场总线之一,CAN总线已成为汽车计算机和嵌入式工控局域网标准总线。 为了全面了解CAN总线,需要先对其有个整体的概念,这中间还有一个小故事,一个应届毕业生到公司去应聘,负责招聘的经理问他:“你会哪方面的技术?”,毕业生说:“我会CAN总线”,经理疑惑的问:“你会看什么总线?”。那么什么是CAN总线呢? 首先CAN总线是一种串行总线,不是并行的,是用来传输电子数据的,就像串口总线、USB总线、以太网一样; CAN总线是半双工传输模式,发的时候不能收,收的时候不能发; CAN总线使用双线传输,一根定义为CAN_H,一根定义为CAN_L,使用差分信号传输(差分信号就是通过计算两线压差); CAN总线的波特率最高可达1Mbps,传输距离最远10公里,传输波特率和传输距离成反比,波特率越高有效传输距离越短; 组网时总线两端CAN_H和CAN_L之间要分别连接一个120欧的终端电阻(起吸收反射波、高频抗干扰的作用)。 那么CAN总线有什么优势呢? CAN总线作为现场总线只有两根传输线,比以太网组网简单,成本也低很多,在不需要大数据量传输的设备通讯上有相当的优势; CAN总线使用差分信号和屏蔽线传输,抗干扰能力强,数据传输稳定,因为在某点有干扰时两根信号会被同步干扰,不会影响信号传输的信息; CAN总线波特率最高可达1Mbps,传输速率相对串口快很多,同时总线协议中加入CRC校验,相对于串口的奇偶校验,数据安全性强; CAN总线使用差分双线传输,易于组网,布线简单; CAN总线通讯不分主从,网络上每个设备都可以主动发送数据; CAN总线协议应用非破坏性逐位仲裁机制,即通过发送帧的帧ID的大小作为优先级判断网络上数据发送冲突,优先级高的信息发送,优先级低的数据停止发送,极大提供总线的利用率; CAN总线协议设置对发送的自动重发机制,当发送监测到发送冲突时,停止发送,等总线空闲后自动重发; 通过设置总线控制器中验收寄存器和屏蔽寄存器,可以使节点在硬件层允许接收某些帧或屏蔽接收某些无用帧,节约单片机ECU接收和判断处理的时间。 综上所述,CAN总线在设计成本、传输速率、传输稳定性、传输安全性、易于组网以及总线协议完善设计方面的优势,使其在现代汽车、工控局域网络领域得到广泛的应用。 CAN总线既然作为一种现场总线,用途就是在不同设备间传输数据,基本的逻辑框图如图1所示: 图1 CAN总线逻辑框图 CAN总线通讯主要包括:主控制器(一般为单片机)、CAN总线控制器(图例为SJA1000,方框中为一个芯片器件)和收发器,主控制器初始化设置CAN总线控制器工作,CAN总线控制器为主要CAN总线逻辑器件,负责将数据转换为总线协议串行信号和将收发器接收到的信号转换为有效数据,并屏蔽无效数据,监测故障错误并报告,收发器将CAN总线收发信号转换成半双工CAN总线差分信号。有的单片机将CAN控制器芯片功能集成在单片机中,如富士通MB90340系列、STM32f10x系列等。 CAN总线组网的逻辑框图如图2所示: 如图所示,多个CAN总线节点通过差分信号连接到CAN总线网络上,网络两端(CAN_H和CAN_L之间)分别连接一个120欧姆的终端电阻(吸收反射波,抗干扰)。各节点不分主从,都可以主动向总线上发送CAN信息,也可以设置CAN控制器的验收屏蔽寄存器有选择的接收总线上的信息。 图2 CAN总线网络框图 CAN总线技术学习(二) CAN总线信息以帧的形式传输,每个帧包括多个段:起始位SOF、仲裁段、控制段、数据段、CRC校验、确认位、结束位等,各个段依次串行被传输到总线上。起始位、CRC校验、确认位和结束位由控制器硬件自动生成,软件可以配置仲裁段、控制段和数据段的内容。每个CAN帧最多发送数据段长度为8个字节即64位。 CAN总线协议有两种:CAN2.0A和CAN2.0B协议,CAN2.0A支持帧ID为11位的标准帧,CAN2.0B协议支持帧ID为11位的标准帧和帧ID为29位的扩展帧,如图1和图2所示。 图1 CAN标准帧 图2 CAN扩展帧 下面解释几个CAN总线问题: 位填充:上述图中都提到位填充的问题,即当发送的一帧CAN信息中出现连续5个相同位时,控制器会自动填充一个相反的位进去,控制器接收一帧CAN信息时发现5个相同的位,也会自动把其后的一个翻转位去掉。那么可能我们会问为什么要做这种看似无用的操作呢?因为CAN总线通讯属于异步通讯,虽然通讯双方约定设定相同的波特率通讯,但是每一位(bit)的宽度也不可能绝对相同,多个相同的位累积起来可能出现较大的误差,造成接收信

文档评论(0)

wuyuetian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档