对CAN总线的认识
can总线的常用波特率

can总线的常用波特率CAN总线是一种常用的通信协议,广泛应用于汽车、工业控制、航空航天等领域。
在CAN总线中,波特率是一个重要参数,它决定了数据传输的速率和可靠性。
本文将介绍CAN总线的常用波特率及其应用。
一、CAN总线简介CAN(Controller Area Network)总线是一种串行通信协议,最初由德国Bosch公司开发,用于车载网络系统。
CAN总线采用差分信号线传输数据,具有抗干扰能力强、可靠性高的特点,被广泛应用于汽车和工业控制领域。
二、CAN总线的波特率波特率是指在单位时间内传输的数据位数,通常用bps(bit per second)表示。
在CAN总线中,常用的波特率有以下几种:1. 10kbps(千位每秒):这是最低的波特率,适用于数据传输要求不高的应用场景,如汽车中的低速通信。
2. 100kbps:这是较低的波特率,适用于大部分汽车和工控系统中的通信需求。
3. 250kbps:这是一种中等波特率,适用于一些对实时性要求较高的应用,如发动机控制、传感器数据传输等。
4. 500kbps:这是一种较高的波特率,适用于一些对实时性要求更高的应用,如车身控制系统等。
5. 1Mbps(兆位每秒):这是最高的波特率,适用于一些对数据传输速率要求非常高的应用,如高速数据采集系统。
三、CAN总线波特率的选择选择合适的波特率对于CAN总线的正常工作非常重要。
波特率过低会导致数据传输速率慢,影响实时性;波特率过高则会增加通信的复杂性和成本。
在选择波特率时,需要考虑以下几个因素:1. 数据传输速率要求:根据具体应用的实时性需求和数据量大小,选择合适的波特率。
2. 网络拓扑结构:CAN总线可以采用多主机或者多从机的网络拓扑结构,不同的拓扑结构对波特率的要求也不同。
3. 电缆长度和传输距离:长距离传输需要较低的波特率,而短距离传输可以选择较高的波特率。
4. 抗干扰能力:较高的波特率对干扰更为敏感,如果环境中存在较强的电磁干扰,应选择较低的波特率。
can总线的传输原理

can总线的传输原理
CAN总线是一种高效、可靠的通信协议,广泛应用于汽车、工业控制等领域。
它的传输原理是基于一种双线串行通信方式,即CAN总线采用两根线进行数据传输,分别称为CAN_H和CAN_L线。
CAN总线的传输原理主要包括以下几个方面:
1.差分传输
CAN总线采用差分传输方式,即在CAN_H和CAN_L两根线上同时传送相反的电压信号。
这种方式可以有效地抵消外界干扰和噪声,提高数据传输的可靠性。
2.帧结构
CAN总线的数据传输是以帧为单位进行的。
每个帧由一个起始位、一个标识符、一个控制位、若干个数据位和一些附加信息组成。
其中标识符用于区分不同类型的消息,控制位则用于指示该帧是数据帧还是远程帧。
3.仲裁机制
当多个节点同时发送消息时,会产生冲突。
为了解决这个问题,CAN
总线采用了仲裁机制。
在数据帧中,标识符越低的节点具有更高的优
先级。
当多个节点同时发送消息时,会根据标识符进行比较,并自动
选择优先级最高的节点发送消息。
4.错误检测
CAN总线还具有强大的错误检测和纠正能力。
每个节点都会监测总线上的信号,并在发现错误时自动进行纠正。
如果一个节点发现了错误,它会向其他节点发送错误信息,并尝试重新发送数据。
总之,CAN总线是一种高效、可靠的通信协议,其传输原理包括差分传输、帧结构、仲裁机制和错误检测等方面。
这些特点使得CAN总线在汽车、工业控制等领域得到广泛应用。
CAN总线的使用

CAN总线的使用一、CAN总线的特点1.高可靠性:CAN总线在实时数据传输和数据冗余方面具有卓越的性能,可以实现高可靠性的数据传输。
2.高实时性:CAN总线的通信速度快,能够满足实时数据传输需求,适用于对时间要求较高的控制系统。
3.多主多从结构:CAN总线支持多主多从结构,多个节点可以同时进行通信和控制,提高系统的灵活性和可扩展性。
4.总线冲突检测:CAN总线具备总线冲突检测能力,可以自动识别和解决不同节点之间的冲突,提高了系统的稳定性。
5.线缆简单:CAN总线只需要两根不同颜色的双绞线,连接简单方便,减少了硬件成本和安装难度。
二、CAN总线的应用1.汽车系统:CAN总线广泛应用于汽车系统,如发动机控制单元、制动系统、座椅控制系统等,实现不同子系统之间的数据交互和控制功能。
2.工业控制系统:CAN总线在工业控制系统中被用于连接传感器、执行器和控制器等设备,实现实时的数据采集和传输,并控制设备操作。
3.能源系统:CAN总线被用于能源系统,如太阳能电池板控制、风力发电系统等,实现系统的监控和控制。
4.机载系统:CAN总线在飞机和船舶等机载系统中被广泛应用,实现数据传输和控制,提高系统的性能和安全性。
5.医疗设备:CAN总线被用于医疗设备中,如医疗监测设备、手术器械等,实现设备之间的数据交互和控制功能。
三、CAN总线的使用步骤1.网络规划:确定CAN总线的拓扑结构,包括主节点和从节点之间的连接关系和通信功能。
2.设备选型:根据系统需求和应用场景选择合适的CAN节点设备,包括节点控制器、接口模块、传感器、执行器等。
3.硬件连接:按照网络规划,将CAN节点设备通过CAN总线连接起来,使用双绞线进行连接,保证连接稳定和可靠。
4.软件配置:配置CAN节点设备的通信参数,包括波特率、报文格式、节点地址、CAN帧类型等,确保正确的数据传输和通信功能。
5.系统调试:进行系统调试和测试,包括数据传输测试、响应时间测试、网络冲突测试等,确保系统的正常运行和稳定性。
can总线阻抗要求100欧

can总线阻抗要求100欧【实用版】目录1.CAN 总线的概述2.CAN 总线阻抗的要求3.100 欧阻抗对 CAN 总线的影响4.结论正文一、CAN 总线的概述CAN 总线,全称为控制器局域网(Controller Area Network),是一种用于实时控制的串行通信总线。
它是由德国的 Robert Bosch GmbH 公司在 1980 年代开发的,主要用于汽车电子设备之间的通信。
CAN 总线具有多主控制器、高噪声环境下的抗干扰能力、低成本、高可靠性等优点,因此在工业自动化、医疗设备、智能建筑等领域也得到了广泛的应用。
二、CAN 总线阻抗的要求在 CAN 总线系统中,阻抗的匹配对于保证通信的可靠性至关重要。
根据 CAN 总线的标准,其阻抗要求为 100 欧。
这是因为在 CAN 总线中,数据传输是通过电压脉冲进行的,而电压脉冲在传输过程中会受到线阻、负载阻抗等因素的影响。
为了保证信号的传输质量和通信的可靠性,需要对总线的阻抗进行严格的控制。
三、100 欧阻抗对 CAN 总线的影响1.保证信号传输质量:当 CAN 总线的阻抗稳定在 100 欧时,可以降低信号传输过程中的衰减和波形失真,从而保证接收端能够准确地恢复原始数据。
2.提高通信可靠性:100 欧的阻抗要求有助于降低信号间的干扰,减小误码率,从而提高 CAN 总线的通信可靠性。
3.简化系统设计:在 CAN 总线系统中,如果阻抗不匹配,需要通过额外的电阻、电容等元器件进行调整。
而当阻抗要求为 100 欧时,可以简化系统设计,降低成本。
四、结论CAN 总线阻抗要求 100 欧是为了保证通信系统的可靠性和信号传输质量。
车辆CAN总线概述(完整版)

一.CAN总线简介1. CAN总线的发展历史20世纪80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提高。
当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。
为了解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线。
所以在1986年Bosch公司正式公布了这一总线,且命名为CAN总线。
CAN控制器局部网(CAN—Controller Area Network)属于现场总线的畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词,CAN总线开始进入快速发展时期:1987年Intel公司生产出了首枚CAN控制器(82526)。
不久,Philips公司也推出了CAN 控制器82C200;1991年,Bosch颁布CAN 2.0技术规,CAN2.0包括A和B两个部分为促进CAN以与CAN协议的发展,1992在欧洲成立了国际用户和厂商协会(CAN in Automation,简称CiA),在德国Erlangen注册,CiA总部位于Erlangen。
CiA提供服务包括:发布CAN的各类技术规,免费下载CAN文献资料,提供CANopen规DeviceNet规;发布CAN产品数据库,CANopen产品指南;提供CANopen 验证工具执行CANopen认证测试;开发CAN规并发布为CiA标准。
CAN的工作原理

CAN的工作原理CAN(Controller Area Network)是一种串行通信协议,广泛应用于汽车、工业控制和其他领域。
CAN的工作原理是通过差分信号传输数据,实现高速、可靠的通信。
本文将从CAN的基本原理、数据传输、错误处理、帧格式和应用领域等方面进行详细介绍。
一、CAN的基本原理1.1 CAN总线结构:CAN总线由两根信号线组成,分别是CAN_H和CAN_L,通过这两根信号线进行数据传输。
1.2 差分信号传输:CAN使用差分信号传输数据,即在CAN_H和CAN_L之间传输相反的信号,以减少干扰和提高抗干扰能力。
1.3 环状拓扑结构:CAN总线采用环状拓扑结构,所有节点通过总线连接在一起,实现节点之间的通信。
二、数据传输2.1 帧格式:CAN数据传输采用帧格式,包括起始位、帧类型、数据段、CRC 校验和结束位等字段。
2.2 传输速率:CAN总线的传输速率通常为1Mbps,根据实际需求可调整传输速率。
2.3 数据传输方式:CAN支持两种数据传输方式,分别是标准帧和扩展帧,用于传输不同长度的数据。
三、错误处理3.1 错误检测:CAN总线具有强大的错误检测和纠正能力,能够检测出传输过程中的错误,并进行相应处理。
3.2 错误标识:CAN在传输过程中会生成错误标识,用于标识出错的节点和错误类型,以便及时处理。
3.3 错误处理机制:CAN采用重发机制和错误帧处理机制,确保数据传输的可靠性和稳定性。
四、帧格式4.1 标准帧:标准帧包括11位标识符,用于传输短数据,适合于实时性要求不高的应用场景。
4.2 扩展帧:扩展帧包括29位标识符,用于传输长数据,适合于实时性要求高的应用场景。
4.3 过滤机制:CAN支持过滤机制,可以根据标识符过滤接收的数据,提高数据传输的效率和准确性。
五、应用领域5.1 汽车行业:CAN在汽车行业广泛应用,用于车载电子系统之间的通信,如发动机控制、仪表盘显示、车载娱乐系统等。
5.2 工业控制:CAN在工业控制领域被广泛应用,用于PLC、传感器、执行器等设备之间的通信,实现自动化生产。
can总线电压差 -回复
can总线电压差-回复CAN总线(Controller Area Network)是一种常用于各种车辆和工业领域的通信协议。
它通过一对差分信号进行数据传输,这对差分信号可以测量为CAN总线电压差。
本文将逐步解释CAN总线电压差的概念和影响因素。
首先,我们需要了解CAN总线的基本原理。
CAN总线是一种串行通信协议,它允许各个节点在同一个总线上传输和接收数据。
CAN总线电压差是指CAN总线的差分信号的电位差,它是节点之间通信的基础。
CAN总线使用差分信号的方式,通过比较两条信号线之间的电压差,来确定传输的数据。
在CAN总线中,通常使用“低电平”和“高电平”表示二进制的0和1。
CAN总线电压差的大小在很大程度上取决于总线的驱动器和终端的设计。
在CAN总线中,驱动器负责发送数据,而终端负责接收和解码数据。
驱动器将数据转换为相应的电压差信号,然后将其发送到总线上。
终端接收并解码这些电压差信号,以确定所传输的数据。
电压差的大小对总线的可靠性和抗干扰性有着重要影响。
如果电压差太小,那么在信号传输过程中可能会引入较大的误差,导致数据的失真。
另一方面,如果电压差太大,可能会导致总线的噪声和干扰更严重。
因此,实现合适的电压差范围对于确保CAN总线的可靠性至关重要。
在CAN总线中,电压差的范围通常由CAN标准规定。
根据CAN 2.0规范,CAN总线电压差应在0.9V到2.1V之间。
这个范围既考虑了电气特性,也考虑了噪声和干扰的抑制。
然而,实际上,CAN总线的电压差可能会受到一些因素的影响而发生变化。
首先,总线的长度会对电压差产生影响。
较长的总线长度会导致电压衰减和信号损失,从而减小电压差。
因此,在设计CAN总线时,需要考虑总线的长度和电压差之间的关系。
第二个因素是总线中的负载。
负载的增加会使总线的带宽变窄,从而影响电压差的幅度和传输速率。
为了确保在不同的负载条件下能够保持适当的电压差,可以采用适当的驱动器和终端设计。
CAN总线介绍
支持CAN协议的公司 有Intel、Motorola、 Philips、Siemens、 NEC、Honeywell等公 司。
CAN总线的优势
具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点; 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作; 具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多 主机局部网络; 可根据报文的ID决定接收或屏蔽该报文; 可靠的错误处理和检错机制; 发送的信息遭到破坏后,可自动重发; 节点在错误严重的情况下具有自动退出总线的功能; 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
CAN总线的主要技术指标
传输速率: 可达到1Mbps(40米以内) 传输距离: 10千米(5kbps以下) 支持的介质:铜线,光纤 媒体访问控制方式:CSMA/冲突按优先权解决 可挂接的最大节点数:110
CAN总线的技术特点
• 可以完成对通信数据的成帧处理
– CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完 成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、 优先级判别等项工作。
CAN总线发展历史
CAN总线是德国 BOSCH公司为解决现 代汽车中众多的控制 与测试仪器之间的数 据交换而开发的一种 串行数据通讯协议,是 交通运载工具电气系 统中应用较广的总线。 现在向过程工业,机 械工业,机器人,数 控机床,传感器等方 面发展。
1993年11月,ISO正式 颁布CAN为国际标准 ISO11898。
• 超载标注
一些CAN的控制器会发送一个或者多个超载帧以延迟下一个数据帧或远程帧的发送。
CAN的报文格式
CAN协议定义了四种不同的帧。 1、数据帧,这个帧被用于当一个节点把信息传送给系统的任何其它节点。 数据帧由7个不同的位域组成,即帧起始、仲裁域、控制域、数据域、 CRC域、应答域、帧结束。 2、远程帧,此帧是基于数据帧格式,只要把RTR位设置成远程发送请求 (Remote Transmit Request),并且没有数据场。总线上发送此帧后, 表示请求接收与该帧ID相符的数据帧。远程帧由6个不同的位场组成, 即帧起始、仲裁域、控制域、CRC域、应答域、帧结束。 3、错误帧,任何单元监测到错误时就发送错误帧。错误帧由两个不同的 域组成。第一个域是错误标志,用做为不同站提供错误标志的叠加; 第二个域是错误界定符。 4、超载帧,节点需要增加时间来处理接收到的数据时便发送过载帧。 超载帧包括两个位域: 超载标志和超载界定符。
can总线技术指标
can总线技术指标Can总线技术指标Can总线技术是一种用于数据通信的串行通信协议,广泛应用于汽车、工业自动化和航空航天等领域。
它具有高可靠性、高实时性和高带宽的特点,被广泛认可和应用。
本文将围绕Can总线技术的三个主要指标展开讨论,分别是通信速率、传输距离和节点数量。
一、通信速率Can总线的通信速率是指在通信过程中的数据传输速度。
根据Can 总线标准,可以分为不同的速率等级,如Can 2.0A、Can 2.0B和Can FD。
其中,Can 2.0A和Can 2.0B的最大通信速率为1Mbps,而Can FD可以达到更高的速率,最高可达到8Mbps。
通信速率的提高可以提高数据传输的效率,对于实时性要求较高的应用场景尤为重要。
二、传输距离Can总线的传输距离是指信号能够传输的最长距离。
Can总线采用差分传输方式,能够有效抵抗噪声的干扰,从而提高信号的传输质量。
根据Can总线标准,Can 2.0A和Can 2.0B的传输距离可达到40m,而Can FD的传输距离则较短,约为20m。
传输距离的限制主要受到信号衰减和噪声的影响,因此在应用中需要根据具体情况进行布线和选择合适的传输介质。
三、节点数量Can总线的节点数量是指在同一条Can总线上可以连接的设备数量。
根据Can总线标准,Can 2.0A和Can 2.0B的最大节点数量为64个,而Can FD则可以支持更多的节点,最多可达到1024个。
节点数量的增加可以扩展系统的功能和应用范围,但同时也增加了总线的负载和通信的复杂度,需要合理规划和设计。
除了以上三个主要指标外,Can总线技术还具有其他一些特点和指标。
例如,Can总线具有很高的抗干扰能力,能够在恶劣的工作环境下稳定可靠地工作;Can总线还支持多主机并行传输,可以实现多个设备之间的高效通信;Can总线还支持优先级和帧过滤等功能,可以根据不同的应用需求进行灵活配置。
Can总线技术在汽车领域得到了广泛的应用,如车载电子控制系统、车身电子系统和安全系统等。
can总线底层原理
CAN总线底层原理
CAN总线,全称为Controller Area Network,是一种串行通信总线系统,被广泛应用于汽车和工业自动化领域中。
其底层原理主要涉及到以下几个关键部分:
1.物理层:CAN总线的物理层主要包括信号的传输方式、信号的电压范围、电气特性以及物理
接口的规格等。
CAN总线采用差分信号传输方式,通过两条双绞线(通常被称为CAN_H和CAN_L)来传输信号。
这种差分信号传输方式可以有效地抵抗外界干扰,提高信号的稳定性。
2.数据链路层:数据链路层是CAN总线中最为核心的部分。
它定义了通信数据的结构和格式,
包括数据段的长度、数据段的数目、数据的优先级以及错误检测和纠正的机制等。
其中,错误检测和纠正的机制是CAN总线中非常重要的一个环节,它包括位错误检测、填充错误检测、格式错误检测以及应答错误检测等。
3.应用层:应用层是CAN总线中最上层的一层,它定义了设备和应用程序如何使用总线进行
通信。
应用层协议可以因应用需求而定制,因此不同的应用可以有不同的应用层协议。
CAN总线的底层原理是其稳定性和可靠性的基础,使得CAN总线能够实现多主控制、广播通信、自诊断和扩展功能等特点,从而在汽车和工业自动化领域中得到广泛应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
页1 现场总线CAN原理与应用技术论文 班级:物联网工程1202班 姓名:武朋真 学号:2012234050207 页2
目录 1、CAN的特点 2、 CAN总线协议基本概念 3、CAN总线协议基本规则 4、CAN总线的工作原理 5、了解与学习SJA1000 6、SJA1000与单片机的接口 7、SJA1000与单片机图 页3
1、CAN的特点 由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实用性和灵活性。其特点可概括如下: CAN是到目前为止唯一有国际标准的现场总线。 CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。 在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多在134μs内得到传输。 CAN采用非破坏总线仲裁技术。当多个节点同时向总线发送信息出现冲突时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下,也不会出现网络瘫痪的情况(以太网则可能)。 CAN节点只需通过对报文的标识符滤波即可实现点对点、一对多点及全局广播等几种方式传送接收数据。 CAN的直接通信距离最远可达10km(速率在5kbps以下);通信速率最高可达1Mbps(这时通讯距离最长为40m)。 CAN上的节点数主要取决于总线驱动电路,目前可达110个。在标准帧报文标识符有11位。而在扩展帧的报文标识符(29位)的个数几乎不受限制。 报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低。 CAN的每帧信息都有CRC校验及其他检错措施,具有极好的检错效果。 CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。 CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响 CAN总线具有较高的性能价格比。它结构简单,器件容易购置,每个节点的价格比较低,而且开发技术容易掌握,能充分利用现有的单片机开发工具。
2、CAN总线协议基本概念 (1)什么是现场总线 顾名思义,现场总线应当是应用在生产最底层的一种总线型拓扑的网络。进一步的来说,这种总线是用作现场控制系统的、直接与所有受控(设备)节点串行相连的通信网络。工业自动化控制的现场范围可以从一台家电设备到一个车间、一个工厂。受控设备和网络所处的环境以及报文的结构都有其特殊性,对信号的干扰往往是多方面的,而要求控制必须实时性很强。这就决定了现场总线有别于一般网络的特点。 (2)报文 总线上的信息以几个不同的固定格式的报文发送,但长度受限。当总线空闲时,任何链接的单元都可以开始发送新的报文。 (3)信息路由 在CAN系统里,CAN的节点不使用任何关于系统结构的信息(比如,站地址)。以下是与此有关的几个重要的概念。 系统灵活性:不需要应用层以及任何节点软件个硬件的任何改变,可以在CAN网络中直接添加节点。 报文路由:报文的寻址内容由标识符指定。标识符不指出报文的目的地,但是这个数据的特点含义使得网络上所有的节点可以通过报文滤波来判断该数据是否与它页4
们相符合。 多点传送:由于报文滤波的作用,任何数目的节点对同一条报文都可以接收并同时对此作出反应。 数据一致性:在CAN网络里确保报文同时被所有的节点接收(或无节点接收)。系统的这种数据一致性是靠多点传送和错误处理的功能来实现的。 (4)位速率 在一个给定的CAN系统里位速率是唯一的,并且是固定的。 (5)优先权 报文中的数据帧和远程帧都有标识符段,在访问总线期间,标识符确定了一个静态的(固定的)报文优先权。当多个CAN单元同时传输报文发生总线冲突时,标识符码值越小的报文优先级越高。 (6)多主机 总线空闲时,任何单元都可以开始传送报文具有较高优先权的报文的单元可以获得总线的访问权。 (7)仲裁 只要总线空闲,任何单元都可以开始发送报文。如果两个或两个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用了标识符的逐位仲裁可以解决这个冲突。 仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平而监视到的是一“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。 (8)安全性 为了获得最安全的数据发送,CAN的每一个节点均采取了强有力的措施来进行错误检测、错误标定及错误自检。 1) 错误检测 要进行检测错误,必须采取以下措施 监视(发送器对发送位的电平与被监控的总线电平进行比较); 循环冗余检查: 位填充; 报文格式检查; 2) 错误检测的执行 错误检测的机制具有以下的属性: 检测到所有的全局错误; 检测到发送器的所有的局部错误; 可以检测到报文里多达5个任意分布的错误; 检测到报文里长度低于15(位)的突发性错误; 检测到报文里任一奇数个的错误。 (9)错误标定和恢复时间 任何检测到错误的节点会标志出损坏的报文。次报文会失效并将自动重新传送。如果不再出现错误,那么从检测到错误到下一报文的传送开始为止,恢复时间最多为31个位的时间。 (10)故障界定 CAN节点能够把永久故障和短暂的干扰区别开来。故障的节点会被关闭。 (11)连接 页5
CAN串行通信链路是可以连接许多单元的总线。理论上,可以连接无数个单元。但实际上由于受延迟时间以及总线线路上电气负载能力的影响,连接单元的数量是有限的。 (12)应答 所有的接收器对接收到的报文进行一致性检查。对于一致的报文,接收器给予应答;对于不一致的报文,接收器做出标志。
3、CAN总线协议的基本规则 (1)总线访问:采用载波监听多路访问,CAN控制器能够在总线空闲时,就是节点侦听到网络上至少存在3个空闲(隐形位)时开始发送,采用硬同步,所有的控制器同步都为与帧的起始的前沿。过了一定时间,并在在一定条件后,重同步。 (2)仲裁:各节点向总线发电平时也对总线上电平进行读取,并于自身发送的电平进行比较,相同则发下一位,直至全部发完。不同则说明网络上有更高优先级的信息帧正在发送,即停止发送,退出竞争。 (3)编码/解码:帧起始域、仲裁域、控制域、数据域和CRC序列均使用位填充技术进行编码,就是5个连续的同状态电平插入一位与它相补的电平,还原时每5个同状态的电平后的相补电平被删除。 (4)出错标注:当检测到位错误、填充错误、形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。 (5)超载标注:一些控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。
4、CAN总线的工作原理 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计 算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。 CAN总线原理是通过CAN总线、传感器、控制器和执行器由串行数据线连接起来。它不仅仅是将电缆按树形结构连接起来,其通信协议相当于ISO/OSI参考模型中的数据链路层,网络可根据协议探测和纠正数据传输过程中因电磁干扰而产生的数据错误。CAN网络的配制比较容易,允许任何站之间直接进行通信,而无需将所有数据全部汇总到主计算机后再行处理。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。 CAN信号可以使用双绞线、光纤等介质传输。具体信号也是逻辑电平,采用差分方式传输。两条线号线分别是CAN_H和CAN_L。H和L均为2.5V左右时,表示信号逻辑“1”,也称为“隐性”。采用CAN_H比CAN_L高表示逻辑“0”,称为“显性”,CAN_H=3.5V,CAN_L=1.5V。CAN总线采用CSMA/CD模式检测整个网络,只有当总线处于空闲状态时,才允许发送。当发生冲突时CAN收发器具备仲裁能力,仲裁规则根据每个设备的ID决定,ID越小优先权越高。 帧格式: 标准帧具有11bit识别符;扩展帧具有29bit标识符。 帧类型: 数据帧数据帧从发送器传输到接收器。由7个不同的位场组成:帧起始位、仲裁场、控制场、页6
数据场、校验场、应答场、帧结尾。 数据场长度可以为0。 远程帧由总线单元发出,请求发送具有统一识别符的数据帧 错误帧任何节点检测到总线错误就发出错误帧 过载帧用以在先行和后续的数据帧之间附加一定延时
5、了解与学习SJA1000 (1)对SJA1000学习中主要用到的储存器及工作方式:发送缓冲器TXB和接收缓冲器RXFIFO、位流处理器BSP、接收过滤器ASP、位时序处理逻辑BTL错误管理逻辑EML、内部震荡器及复位电路。CPU的控制经IML,把要发送的数据写TXB,TXB中的数据由BSP处理后经BTL输出到CAN BUS。BTL始终监视CAN BUS,当检测到有效的信息头“隐性电平A控制电平”的转换时启动接收过程,接收的信息首先要由位流处理器BSP处理,并由ASP过滤,只有当接收的信息的识别码与ASP检验相符合时,接收信息才最终被写入RXB或RXFIFO中。RXFIFO最多可以缓存64字节的数据,该数据可被CPU读取。EML负责传送层中调制器的错误管制,它接收BSP的出错报告,促使BSP和IML进行错误统计。 (2)常用到的寄存器的结构及地址分配 在学习中了解到CAN控制器工作模式的设定、数据的发送和接收都是通过这些寄存器来实现的。时钟分频寄存器OCR用于设定SJA1000工作于BASIC CAN还是PeliCAN还用于CLKOUT引脚输出始终频率的设定。在工作模式下,控制寄存器CR用于控制CAN控制器的行为,可读可写;命令寄存器CMR只能写;状态寄存器SR只能读,IR,ACR,AMR,BTR0,BTR1,OCR在工作模式下读写无意义。通常,在系统初始化时,先用CR.0=1进入复位模式。在此模式下IR,ACR,AMR,BTR0,BTR1,OCR均可读可写,此时设置相应的初值。当退出复位模式时,SJA1000即按复位时设定的相应情况工作于工作模式,除非再次使芯片复位,否则上次设定的值不变。当需要发送信息时,若发送缓冲器空闲,由CPU控制信息写入TXB,再由CMR控制发送;当接收缓冲器RXFIFO未满且接收信息通过了ASP,则接收到的信息被写入RXFIFO。可通过两种方法读取接收到的信息。一种方法是,在中断被使能的情况下,由SJA1000向CPU发中断信号,CPU通过SR及IR可以识别该中断,并读取数据释放接收缓冲器;另一种方法是直接读SR,查询RXFIFO的状态,当有信息接收时,读取该信息并释放接收缓冲器。当接收缓冲器中有多条信息时,当前的信息被读取后,接收缓冲器有效信号会再次有效,通过中断方式或查询方式可以再次读取信息,直到RXFIFO中的信息被全部读出为止。当RXFIFO已满,如还有信息被接收,此信息不被保存,且发出相应的缓冲器溢出信号供CPU读取处理。