当前位置:首页 >> 信息与通信 >>

CAN总线技术


车上网络技术
主讲:蒋淑霞

2013-7-29

第2章考考你
? ? ? ? ? ? ? ?

?
? ? ?

?
?

2013-7-29

2-1 CAN BUS全称是什么? 2-2 CAN 的最大传输速率和最

大传输距离是多少? CAN可以使用的 传输介质有哪些? 2-3 CAN_H比CAN_L电压高吗? 2-4 TTCAN与CAN最大的区别在哪里? 2-5 请写出CAN历史事件一览表中文 2-6 帧格式分别是什么?帧类型分别什么? 2-7 CAN数据帧中数据最长是多少字节? 2-8 如何区分数据帧和远程帧? 2-9 SJA1000属于独立的CAN控制器还是与单片机集成的控制器? 2-10 请用简图表示SJA1000在系统中所处的位置? 2-11 SJA1000与单片机相连引脚有哪些?他们的功能是什么? 2-13 CAN收发器82C250引脚功能? 2-14 CAN 控制器与CTM8250 接口芯片的连接原理图 2-15调查目前有can总线的车型有哪些?(10分钟ppt,1位同学负责) 2

2-15调查目前有can总线的车型有哪些? (10分钟ppt,1位同学负责) ? 要求:要求写出至少10种品牌,并把每种 品牌使用can的具体车型,选择其中一个车 型进行介绍。(图片、声音、视频要素齐 全)
?

2013-7-29

3

第2章 CAN总线技术
2.1 概述 ? 2.2 CANbus发展史 ? 2.3 CAN技术规范 ? 2.4 CAN控制器和CAN收发器简介
?
?

学习CAN的好网站:

?

本章考考你
4

2013-7-29

2.1 概述
2.1.1 CAN的发展概况 ? 现代社会对汽车的要求不断提高,这些要求包括: 极高的主动安全性和被动安全性;乘坐的舒适性; 驾驶与使用的便捷和人性化;尤其是低排放和低 油耗的要求等。 ? 在汽车设计中运用微处理器及其电控技术是满足 这些要求的最好方法,而且已经得到了广泛的运 用。目前这些系统有:ABS(防抱系统)、EBD (制动力分配系统)、EMS(发动机管理系统)、 多功能数字化仪表、主动悬架、导航系统、电子 防盗系统、自动空调和自动CD 机等。
2013-7-29

5

2.1.1 CAN的发展概况
?

这些系统由多个电控单元相互连接而成,可分为 控制器、传感器、执行器等。同时各个系统之间 也互相连接,进行着越来越多的数据交换。这样 就需要使用大量的线束和插接器来实现互连,进 行它们之间的数据交换。随着汽车电子技术的不 断发展,这种需求的增长是惊人的(如图)。

2013-7-29

6

2.1.1 CAN的发展概况
?

?

?

由于线束和插接器的数量不断增加,整车电子系 统的复杂程度愈来愈高,其可靠性将难以保证, 故障率会提高,维修会更加困难。 为了满足汽车内部信息交换量急剧增加的要求, 有必要使用一种实现多路传输方式的车载网络系 统。这种网络系统采用串行总线结构,通过总线 信道共享,减少线束的数量。 车载网络除了要求采用总线拓扑结构方式外,必 须具有极好的抗干扰能力;极强的差错检测和处 理能力;满足信息传输实时性要求;同时具备故 障的诊断和处理能力等。另外考虑到成本因素, 要求其控制接口结构简单,易于配置。
7

2013-7-29

2.1.1 CAN的发展概况
?

? ? ? ?

20世纪80年代,Bosch的工程人员开始研究用于 汽车的串行总线系统,因为当时还没有一个网络 协议能完全满足汽车工程的要求。参加研究的还 有Mercedes-Benz公司、Intel公司,还有德国两所 大学的教授。 1986年, Bosch在SAE(汽车工程人员协会)大会 上提出了CAN 1987年,INTEL就推出了第一片CAN控制芯片— 82526;随后Philips半导体推出了82C200。 1993年,CAN的国际标准ISO11898公布 从此CAN 协议被广泛的用于各类自动化控制领域。
8

2013-7-29

2.1.1 CAN的发展概况
? ? ? ?

?

1992年,CIA(CAN in Automation)用户组织成 立,之后制定了第一个CAN应用层“CAL”。 1994年开始有了国际CAN学术年会(ICC)。 1994年美国汽车工程师协会以CAN为基础制定了 SAEJ1939标准,用于卡车和巴士控制和通信网络。 到今天,几乎每一辆欧洲生产的轿车上都有CAN; 高级客车上有两套(指的传输速率不一样)CAN, 通过网关互联;1999年一年就有近6千万个CAN 控制器投入使用;2000年销售1亿多CAN的芯片; 2001年用在汽车上的CAN节点数目超过1亿个 。 但是轿车上基于CAN的控制网络至今仍是各大公 司自成系统,没有一个统一标准。
9

2013-7-29

2.1.1 CAN的发展概况
?

?

?

基于CAN的应用层协议应用较通用的有两种: DeviceNet(适合于工厂底层自动化) 和 CANopen(适合于机械控制的嵌入式应用)。 任何组织或个人都可以从DeviceNet供货商协会 (ODVA)获得DeviceNet规范。购买者将得到无 限制的、真正免费的开发DeviceNet产品的授权。 DviceNet自2002年被确立为中国国家标准以来, 已在冶金、电力、水处理、乳品饮料、烟草、水 泥、石化、矿山等各个行业得到成功应用,其低 成本和高可靠性已经得到广泛认同。
10

2013-7-29

2.1.2 CAN的性能特点
? ? ?

? ?

?
?

有专门的国际标准ISO11898 。 任一节点可在任一时刻主动发送。 报文以标识符分为不同的优先级,可满足不同的 实时性要求。优先级最高的报文保证134us内得到 传输。 非破坏性总线仲裁技术,大大节省了总线冲突的 仲裁时间。 通过对报文滤波可实现点对点、一点对多点和全 局广播等多种传送方式。 速率最高可达1Mbps,最远可达10km 节点数可达110个,标识符几乎不受限制
11

考考你2-2 CAN速率最 高可达 1Mbps,最 远可达10km

2013-7-29

2.1.2 CAN的性能特点
? ? ? ? ? ?

短帧结构,传输时间短,受干扰概率低,适于工 业环境; 每帧信息都采用CRC校验及其他检错措施,数据 出错率极低; 通信介质选择灵活(双绞线、同轴电缆或光纤); 错误严重情况下自动关闭输出,保证不影响总线 上其他节点通信; 性价比高,器件容易购置,节点价格低; 开发技术容易掌握,能充分利用现有的单片机开 发工具。
12

2013-7-29

考考你2-2 CAN传输介 传输介质:光纤、同轴电缆、双绞线 质有哪些?
光纤(结构) 光纤(外观)

同轴电缆(外观)

双绞线(外观)

2013-7-29

13

2.1.3 位数值表示和通信距离
?
?

“显性”位0和“隐性”位1 若总线上有两个以上驱动器同时分别发送“0”和 “1”,其结果是总线数值为显性“0” 。

VCAN-H

VCAN-L

考考你2-3 CAN-H比 CAN-L电 压高?

隐性位
2013-7-29

显性位

隐性位

14

CAN总线上两个节点间的最大距离
速率kbps 距离 m 速率kbps 1000 40 50 500 130 20 250 270 10 125 530 5 100 620

距离 m

1300

3300

6700

10000

2013-7-29

15

2.2 canbus发展史
? ?

一.起源 1986年2月,Robert Bosch 公司在SAE(汽车 工程协会Society of Automotive Engineers) 大会上介绍了一种新型的串行总线——CAN控制 器局域网,那是CAN诞生的时刻。今天,在欧洲几 乎每一辆新客车均装配有CAN局域网。同样, CAN也用于其他类型的交通工具,从火车到轮船 或者用于工业控制。CAN已经成为全球范围内最 重要的总线之一 —— 甚至领导着串行总线。在 1999年,接近6千万个CAN控制器投入应用; 2000年,市场销售超过1亿个CAN器件。
16

2013-7-29

一.起源
?

在1980年的早些时候,Bosch公司的工程师就开始论证 当时的串行总线用于客车系统的可行性。因为没有一种现 成的网络方案能够完全满足汽车工程师们的要求,于是, 在1983年初,Uwe Kiencke 开始研究一种新的串行总线。 新总线的主要方向是增加新功能、减少电气连接线 ,使 其能够用于产品,而非用于驱动技术。来自 MercedesBenz 的工程师较早制定了总线的状态说明,而Intel也准 备作为半导体生产的主要厂商。当时聘请的顾问之一是来 自于德国Braunschweig-Wolfenbüttel的Applied Science大学教授Wolfhard Lawrenz博士 给出了新网络 方案的名字“Controller Area Network”,简称CAN。来 自Karlsruhe大学的教授Horst Wettstein博士也提供了理 论支持。
17

2013-7-29

一.起源
?

2013-7-29

1987年中期,Intel提前计划2个月交付了首枚 CAN控制器:82526,这是CAN方案首次通过硬 件实现。仅仅用了四年的时间,设想就变成了现 实。不久之后,Philips 半导体推出了82C200。 这两枚最先的CAN控制器在验收滤波和报文控制 方面有许多不同。一方面,由Intel主推的 FullCAN比由Philips主推的BasicCAN占用较少 的CPU载荷;另一方面, FullCAN 器件所能接 收的报文数目相对受到限制,BasicCAN 控制器 仅需较少的硅晶体。今天的CAN控制器中,“孙 子”辈们在同一模块中的验收滤波和报文控制方 面仍有相当的不同,制造出BasicCAN 和 FullCAN 两大阵营。 18

二.标准化与一致性
?

在1990年早些时候,Bosch CAN 规范(CAN 2.0版)被提交给国际标准化组织。在数次行政讨 论之后,应一些主要的法国汽车厂商要求,增加 了“Vehicle Area Network(VAN)”内容,并 于1993年11月出版了CAN的国际标准ISO11898。 除了CAN协议外,它也规定了最高至1Mbps波特 率时的物理层。同时,在国际标准ISO11519-2中 也规定了CAN数据传输中的容错方法。1995年, 国际标准ISO11898进行了扩展,以附录的形式说 明了29位CAN标识符。
19

2013-7-29

二.标准化与一致性
?

当前,修订的CAN规范正在标准化中。 ISO11898-1称为“CAN数据链路层”, ISO11898-2称为“非容错CAN物理层”, ISO11898-3称为“容错CAN物理层”。

2013-7-29

20

三.CAN先行者的发展
?

2013-7-29

尽管当初研究CAN的起点是应用于客车系统,但 CAN的第一个市场应用却来自于其他领域。特别 是在北欧,CAN早已得到非常普遍的应用。在荷 兰,电梯厂商Kone 使用CAN 总线。瑞士工程办 公室Kvaser 已建议将CAN应用至一些纺织机械 厂(Lindauer Dornier 和 Sulzer),并由他们提 供机器的通讯协议。这一领域中,在 LarsBerno Fredriksson的领导下,公司建立了 “CAN纺织机械用户集团”。 到1989年,他们 已研究出通讯原理,并于1990年早期帮助建立 “CAN Kingdom”开发环境。尽管CAN Kingdom并不是一种基于OSI参考模型的应用层, 但它被认为是基于CAN的高层协议的原型。 21

三.CAN先行者的发展
?

在1980年晚些时候开始,一个基于CAN的 农业交通工具总线系统(LBS)被制定出。 但在工作最终完成前,国际标准化委员会 决定改向支持US解决方案——J1939。这 也是一个基于CAN的应用子协议,由SAE 的 Truck and Bus 协会制定。J1939是一 个非模块化的方案,简单易学,但灵活性 很差。
22

2013-7-29

三.CAN先行者的发展
?

1992年5月,CiA“CAN in Automation”用 户集团正式成立。仅在几个星期后,CiA即 发表了第一份技术杂志,那是关于物理层 的。CiA推荐仅使用遵循ISO11898的CAN 收发器。到那时为止,在当时的CAN网络 中使用非常普遍但并不兼容的RS-485收发 器已基本消失,尽管它也是厂商提供的。
23

2013-7-29

三.CAN先行者的发展
?

CiA的首批任务之一是规定CAN的应用层。 根据Philips医疗系统(PMS)和Stzp所提 供的内容,依靠其余CiA会员的协助, CAL——“CAN应用层”也称为“绿皮书” 诞生了。在制定CAN应用规范时,CiA的一 个主要任务是进行CAN专家和其他CAN学 习者之间的信息交流。因此,从1994年起, CiA每年召开一次国际CAN会议(iCC)。
24

2013-7-29

四.从理论到实践
?

2013-7-29

当然,生产CAN模块集成器件的15家半导 体厂商主要聚焦于汽车工业。从1990年中 期起,Infineon(德国英飞凌 )公司和 Motorola(美国摩托罗拉)公司已向欧洲的客 车厂商提供了大量的CAN控制器。作为下 一波,从1990年后期起,远东的半导体厂 商也开始提供CAN控制器。1994年,NEC 推出了传说中的CAN芯片 72005,但是, 这一步太早了——当时,这个器件并不能 投入使用。 25

四.从理论到实践
?

从1992年起,Mercedes-Benz(奔驰) 开始在 他们的高级客车中使用CAN技术。第一步使用电 子控制器通过CAN对发动机进行管理;第二步使 用控制器接收人们的操作信号。这就使用了2个物 理上独立的CAN总线系统,它们通过网关连接。 其他的客车厂商也纷纷赶来斯图加特学习,在他 们的客车上也使用2套CAN总线系统。现在,继 Volvo、 Saab(萨博)、Volkswagen(大众) 、 BMW之后,Renault(雷诺)和Fiat 也开始在他们 的汽车上使用CAN总线。
26

2013-7-29

DeviceNet
?

在1990的早些时候,美国俄亥俄州的机械工程公 司的工程师们与Allen-Bradley公司、Honeywell 微型开关公司开始了一个合资项目,内容是基于 CAN的通讯与控制。但是,不久之后,项目组的 重要成员离开,合资项目终止。但Allen-Bradley 公司和Honeywell公司各自继续从事这项工作。 这导致产生了两个高层协议:“ DeviceNet” 和 “Smart Distributed System (SDS)”。在 1994年早些时候,Allen-Bradley 将DeviceNet 规范移交给专职推广DeviceNet 的组织“Open DeviceNet Vendor Association(ODVA)”。 而Honeywell 则放弃了在SDS方面的努力。
27

2013-7-29

CANopen
?

在1995年,CiA发表了完整版的CANopen 通讯子协议;仅仅用了5年的时间,它已成 为全欧洲最重要的嵌入式网络标准。 CANopen 不仅定义了应用层和通讯子协议, 也为可编程系统、不同器件、接口、应用 子协议定义了页状态,这也就是工业领域 (比如:打印机、海事应用、医疗系统) 决定使用CANopen的一个重要原因。
28

2013-7-29

?

DeviceNet 和 CANopen,是两个定位于不 同市场的标准应用层协议(EN 50325)。 DeviceNet 适合于工厂自动化控制; CANopen 适合于所有机械的嵌入式网络。 这又造就了两个不同的应用范围,因此, 有必要定义应用层的规范历史

2013-7-29

29

2-4 TTCAN与CAN最大的区别在哪里?

五. 汽车CAN总线的发展趋势
?

尽管CAN协议(1986)已经有23年的历史,但它仍 处在改进之中。从2000年开始,一个由数家公司 组成的ISO任务组织定义了一种时间触发CAN报文 传输的协议。传统的CAN是基于事件触发的,信息 传输时间的不确定性和优先级反转是它固有的缺 点。为了满足汽车控制对实时性和传输消息密度 不断增长的需要,改善CAN总线的实时性能非常必 要。于是,传统CAN与时间触发机制相结合产生了 TTCAN(Time-Triggered CAN),ISO11898-4已包 含了TTCAN。
30

2013-7-29

五. 汽车CAN总线的发展趋势
?

2013-7-29

TTCAN总线和传统CAN总线系统的区别是: 总线上不同的信息定义了不同的时间槽 (Timer Slot)。在同一时间槽内,总线上只 能有一条信息传输,这样避免了总线仲裁, 也保证了信息的实时性。TTCAN系统需要 全局时间同步,但采用传统CAN控制器很 难实现TTCAN,因此新推出的CAN控制器 如Microchip的MCP2515就增加了与 TTCAN相关的硬件资源,它们在软件配合 下就能实现TTCAN。 31

六. Can高层应用协议展望
最近一段时期,国内开发、应用CAN系统的人员正在逐渐 增多,对CAN协议的研究也在不断加深。在很多领域,如研 制电动汽车和混合动力汽车的863重大课题,已经将CAN作 为标准的车内通信协议确定下来。电力,航天等部门也在 CAN方面取得了不小的应用成绩。 ? 在CAN应用蓬勃发展的时候,我们也应当清醒地看到,尽管 CAN协议在欧美已经发展了20多年,应用层协议的发展也 有10多年时间,但目前国内大多数的应用系统仍然基于 CAN2.0B规范开发,还不能在应用层的水平上进一步深入, 这不能不说是很遗憾的事情。另外,国内研究、开发CAN 协议,尤其是CAN高层协议的组织和人员还太少,这对CAN 在中国的推广是十分不利的, 诚切希望更多的有识之士能 32 2013-7-29 够加入这一行列。
?

总结:CAN历史事件一览表
1983: Start of the Bosch internal project to develop an in-vehicle network ? 1986: Official introduction of CAN protocol ? 1987: First CAN controller chips from Intel and Philips Semiconductors ? 1991: Bosch’s CAN specification 2.0 published ? 1991: CAN Kingdom CAN-based higher-layer protocol introduced by Kvaser ? 1992: CAN in Automation international users and manufacturers group established ? 1992: CAN Application Layer (CAL) protocol published by CiA ? 1992: First cars from Mercedes-Benz used CAN 33 network 2013-7-29
?

总结: CAN历史事件一览表
? ?

?
? ? ?

1993: ISO 11898 standard published 1994: 1st international CAN Conference (iCC) organized by CiA 1994: DeviceNet protocol introduction by AllenBradley 1995: ISO 11898 amendment (extended frame format) published 1995: CANopen protocol published by CiA 2000: Development of the time-triggered communication protocol for CAN (TTCAN)
34

2013-7-29

2.3 CAN技术规范
? ? ? ?

?

1991年9月BOSCH公司发布了CAN技术规范2.0, 该技术规范包括A和B两部分。 2.0A给出了CAN报文的标准格式 2.0B给出了标准的和扩展的两种报文格式 1993年11月ISO正式将它颁布为:道路交通工具数据信息交换-高速通信控制器局域网标准 ISO11898。 2.0B完全兼容2.0A。所以我们介绍2.0B。

2013-7-29

35

2.3.1 基本概念
? ? ?

位速率 在一个给定的CAN系统里,位速率是唯一 且固定的 远程数据请求 通过发送远程帧,需要数据的节点 可以请求另一节点发送相应数据帧 仲裁 当总线开放时任何单元均可开始发送报文, 运用非破坏性逐位仲裁规则解决潜在冲突:在标 识符(仲裁区)发送期间,每个发送器都监视总 线上当前的电平,并与它发送的电平进行比较, 如果相等则继续发送,如果发送一个隐性位(1) 而检测到的是一个显位(0),那么此节点失去仲 裁,立即停止后续位的发送。仲裁区值最小的竞 争者将赢得仲裁。
36

2013-7-29

2.3.1 基本概念——标识符的逐位仲裁
0

显性 隐性

Arbitration Lost 失去仲裁

1

Module 1 节点1

节点2 Module 2

线上可见 Bus Line

2013-7-29

37

其它概念
报文 信息 路由 位速率 优先权

远程数据 请求

多主机

仲裁

错误标志和 恢复时间

故障 界定

连接

单通道

总线数据 表示

应答

2013-7-29

38

报文和信息路由
报文(Messages) 在总线上传输的信息。 信息路由(Information Routing) CAN不对通信单元分配地址,报文的寻 址内容由报文的标识符指定。所有CAN节 点通过报文滤波来判断是否接收报文。

2013-7-29

39

位定位与同步
? 标称位速率(Nominal

Bit Rate):理想的发送 器在没有重新同步的情况下每秒发送的位数量。 ? 标称位时间(Nominal Bit Time):是标称位速 率的倒数。分成几个不重叠的片段:同步段 (SYNC_SEG ) 、 传 播 段 (PROG_SEG) 、 相 位 段 1(PHASE_SEG1)、相位段2(PHASE_SEG2)。
标称位时间 同步段 传播段 相位段 1 相位段 2 采样点
2013-7-29

40

优先权
优先权(Priorities) 在CAN总线上发送的每一个报文都具有 唯一的一个11位或29位的标识符,标识 符越小,则报文优先权越高,因此一个 为全0标识符的报文具有最高级优先权。

2013-7-29

41

单通道
单通道(Single Channel) CAN总线由单一通道组成,借助数据的 同步实现信息传输,可以是单线(加地 线)、两条差分线、光纤等,通常使用双 绞线。

2013-7-29

42

总线表示
总线数据表示(Bus Values) CAN 总 线 上 用 显 性 (Dominant) 和 隐 性 (Recessive)表示0和1。当在总线上出现同时发 送显性位和隐性位时,总线上数值将出现显性。 总线上的信号使用差分电压传送,两条信号线被 称为CAN_H 和CAN_L。 在高速CAN中,
差分电压为0伏时是隐性位 差分电压为2伏时是显性位 信号线CAN_H 的电 压比CAN_L的电压 高吗! 43

时间t 2013-7-29

标识符检验滤波
? 当总线上有报文到达时,MSCAN08会将该报文的标 识符与本地的标识符校验寄存器中进行比较,本地 标识符屏蔽寄存器则是用于指定比较结果是否有影 响,1表示相应位的比较结果不影响报文的接收。

2013-7-29

44

2.3.2 依据OSI模型的CAN的分层结构
逻辑链路子层LLC 接收滤波 超载通知 恢复管理 介质访问控制子层MAC 数据包装/解包 帧编码 介质访问管理 错误监测 出错标定 应答 串并转换 位编码/解码 位定时 同步 驱动器接收器特性 监控器

数 据 链 路 层

故障界定

物 理 层
2013-7-29

总线故障管理 45

2.3.4 报文传送及其帧结构
2.3.4.1 帧格式和帧类型
标准帧 11位标识符 ? 扩展帧 29位标识符 ? 帧类型 数据帧、远程帧、错误帧和过载帧 ? 编码规则 1)位填充:发送器监视发送位流,连续5个相同位 便自动插入一个补码位。(错误帧和过载帧以及 帧结束标志不执行位填充) 2)采用不归零(NRZ)编码
?

2-5 帧格式分别是什么? 帧类型分别什么?
2013-7-29

46

什么是NRZ
非归零编码优点: ? 效率高 ? 缺点:不容易区分 哪里是bit开始,哪 里是bit结束!
?

曼切斯特编码

Non-Return to Zero Non-Return to Zero

2013-7-29

47

位填充
?

位填充是解决非 归零编码同步性 的一个措施。具 体做法就是:当 在数据中连续出 现5位相同的数 值(0或1)时, 它通过补充一个 不同的值( 1或 0 )的方式进行 补充。

原序列

填充后序列

2013-7-29

48

2.3.4.2 数据帧
帧间空间 数据帧 帧间空间

仲裁场 帧起始

控制场

数据场

CRC场

帧结束 ACK场

? ? ? ?

由7个不同的场组成。数据场长度可为0 CAN2.0B存在标准和扩展两种帧格式 为了设计简单,可以对标准格式执行部分扩展, 不一定要完全扩展 可以用整个标识符进行报文滤波,也可以把标识 符屏蔽一部分进行报文滤波
49

2013-7-29

(标准和扩展数据帧)
请注意IDE 所处的位置

2013-7-29

50 RTR为显性0表示数据帧;RTR为隐性1表示远程帧。

?
?

?

?

? ? ? ? ?

知识点补充:CRC校验原理 1、循环校验码(CRC码):是数据通信领域中最常用的一 种差错校验码,其特征是信息字段和校验字段的长度可以任 意选定。 2、生成CRC码的基本原理:任意一个由二进制位串组成的 代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。 例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项 式为x5+x3+x2+x+1对应的代码101111。 3、CRC码集选择的原则:若设码字长度为N,信息字段为K 位,校验字段为R位(N=K+R),则对于CRC码集中的任一码 字,存在且仅存在一个R次多项式g(x),使得 V(x)=A(x)g(x)=xRm(x)+r(x); 其中: m(x)为K次信息多项式, r(x)为R-1次校验多项式, g(x)称为生成多项式: g(x)=g0+g1x+ g2x2+...+g(R-1)x(R-1)+gRxR 发送方通过指定的g(x)产生CRC码字,接收方则通过该g(x)来 验证收到的CRC码字。
51

2013-7-29

? ? ? ? ? ? ? ? ? ?

4、CRC校验码软件生成方法: 借助于多项式除法,其余数为校验字段。 例如:信息字段代码为: 1011001;对应m(x)=x6+x4+x3+1 假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码 为: 11001 x4.m(x)=x10+x8+x7+x4 对应的代码记为:10110010000; 采用多项式除法: 得余数为: 1010 (即校验字段为: 1010) 发送方:发出的传输字段为: 1 0 1 1 0 0 1 1 0 10 信息字段 校验字段 接收方:使用相同的生成码进行校验:接收到的字段/生成 码(二进制除法) 如果能够除尽,则正确
52

2013-7-29

数据帧的标准格式和扩展格式
?

标准格式
仲裁场 SOF RTR 控制场 IDE 数据场

11位标识符

DLC

?

扩展格式
仲裁场 SRR RTR SOF IDE r1 11位标识符 18位标识符 控制场 r0 DLC 53 数据场

2013-7-29

r0

数据帧的标准格式和扩展格式
? ?

? ? ?

帧起始(SOF)仅由一显位构成。所有站都必须同 步于首先发送的那个帧起始前沿 仲裁场(标准格式)由11位标识符ID28~ ID18、 远程发送请求位RTR组成,其中ID高七位不可全 为1(隐性)。 仲裁场(扩展格式)由29位标识符ID28~ ID0、 SRR位、IDE位、RTR位组成 SRR是隐性位,它用于替代标准格式的RTR位。 IDE=1(隐性)代表扩展格式。IDE位在扩展格式 中位于仲裁场而在标准格式中位于控制场。
54

2013-7-29

数据帧的标准格式和扩展格式
仲裁场 IDE/r1 r0 控制场 DLC3 DLC2 DLC1

2-7 CAN数据帧中数据 最长是多少字节?

数据场或 CRC场 DLC0

保留位

数据长度码

? ? ? ? ?

控制场由6个位组成 数据长度码DLC3~DLC0指示数据场的字节数, 0~8,其他数值不允许使用。 保留位r1和r0必须为0,IDE(标准格式)=0 数据场:0~8个字节,8位/字节,MSB先发 CRC(Cyclic Redundancy Check)场由15位CRC序 列和1位CRC界定符组成。CRC界定符为一隐性位。
55

2013-7-29

数据帧的标准格式和扩展格式
?

应答场为2位,包括应答间隙和应答界定符, 不进行位填充。 ? 在应答间隙时间,发送器发隐位;所有正 确接收到有效报文的接收器发一个显位。 ? 应答界定符为隐位(1)。 ? 帧结束:由7个隐位组成,不进行位填充。

2013-7-29

56

2.3.4.3 远程帧
需要数据的节点可以发送远程帧请求另一 节点发送相应数据帧 ? 远程帧的RTR(Remote transmission Request) 位是隐性的,它没有数据场,所以数据长 度码没有意义。
?

如何区分数据帧 和远程帧?

2013-7-29

57

2.3.4.4 错误帧
数据帧
错误标志 错误标志的重叠

错误帧

帧间空间 或过载帧

错误界 定符

错误帧由两个不同的场组成,第一个场是不同站 提供的错误标志的叠加,第二个场是错误界定符。 ? 错误标志分两种,主动错误标志(6个显性位)和 被动错误标志(6个隐性位) ? 检测到错误条件的“错误主动”站发送主动错误 标志,这样一来所有其他站都会检测到错误条件 并开始发送错误标志。叠加在一起最多12个显性 58 位 2013-7-29
?

2.3.4.4 错误帧
?

?

检测到错误条件的“错误被动”站发送被动错误 标志。从那时开始,等待6个相同极性的位,一旦 等到,被动错误标志就算完成 错误界定符包括8个隐性位。一个站发送错误标志 以后,就发送一个隐性位,并一直监视总线,直 到发现一个隐性位,就发送其余7个隐性位。

2013-7-29

59

2.3.4.5 过载帧
帧结束或错 误界定符或 过载界定符
过载帧 过载标志 过载标志的重叠 ? 过载界 定符

帧间空间 或过载帧

过载帧包括两个场:过载标志(6个显位及其叠加)和过 载界定符(8个隐位) ? 导致发送过载标志的条件:①接收器内部要求延迟下一个 数据帧或远程帧,②在间歇场第一或第二位检测到一个显 性位 ? 过载标志的形式与主动错误标志一样 ? 一个站发出过载标志,其他站都将检测到过载条件并发出 过载标志。 ? 过载界定符的形式与错误界定符一样。过载标志发送后, 站就监视总线直到发现从显位到隐位的跳变,然后发送其 余7个隐性位。 60 2013-7-29

2.3.4.6 帧间空间
帧 帧间空间 帧

间歇场

总线空闲

?

?

?

对于数据帧或远程帧,无论它前面是什么帧,都 用帧间空间来分开;但是对于过载帧或错误帧, 没有帧间空间与前面帧分开 间歇场由3个隐位组成。间歇场期间不允许启动发 送数据帧或远程帧。 总线空闲周期可为任意长度。此时,总线是开放 的,任何站可随时发送。
61

2013-7-29

2.3.4 错误类型和界定
5种错误类型: (1) 位错误:发送器监视到总线位数值与发出的位数 值不同。仲裁场填充位和应答间隙发出隐位而检 测到显位则例外 (2)填充错误:应该使用位填充的地方出现第6个相同 位。 (3)CRC错误:计算结果与收到的CRC不同 (4)形式错误:固定形式的位场中出现非法位 (5)应答错误:在应答间隙,发送器未检测到显位
?
62

2013-7-29

2.3.4 错误类型和界定
? ? ?

?
?

检测到CRC错误,应在应答界定符后发送错误标 志;检测到其他错误应在下一位发送错误标志。 节点的3种故障状态:①错误主动,②错误被动, ③总线关闭 正常情况下节点是“错误主动”站,此类站检测 到错误时发送主动错误标志 出现错误较多的节点转为“错误被动”站,此类 站检测到错误时只能发被动错误标志 出现太多错误时节点转为“总线关闭”状态,此 时节点不可对总线有任何影响(例如关闭输出驱 动器)
63

2013-7-29

2.3.4 错误类型和界定
为了界定故障,在每个节点中都有两种计数—— 发送错误计数和接收错误计数,按照以下规则计 数: (1) 接收器检出错误时,接收错误计数器加1 (2)接收器在送出错误标志后第一位检出一个显位, 接收错误计数器加8 (3)发送器送出一个错误标志时,发送错误计数器加8 (4)送出一个错误标志或过载标志时检测到位错误, 发送错误计数器加8 (5)报文成功发送后发送错误计数器减1
?
2013-7-29

64

2.3.4 错误类型和界定
报文成功接收后接收错误计数器减1,但若其 >127则将其置为119到127之间某数 (7) 发送错误计数器>127或接收错误计数器>127, 节点置“错误被动”状态 (8) 发送错误计数器>255,节点置“总线关闭”状 态 (9) 两个计数器均小于等于127,错误被动节点置为 错误主动节点 (10) 在检测到总线上连续11个隐位发生128次后,总 线关闭节点变为错误主动节点且两个计数器清0
(6)
2013-7-29

65

2.3.5 位定时与同步
? ? ? ?

此概念有点复杂, 同学们稍作了解即可!

一个标称的位时间分为:同步段、传播段、相位 缓冲段1、相位缓冲段2。 同步段用于同步各节点,正常情况下跳变沿落在 此段内 传播段用于补偿网络内的传输延时 采样点时刻读取的电平代表这个位的电平
相位缓冲段1 4时间份额 1位时间= 10时间份额 采样点 相位缓冲段2 4时间份额

同步段 传播段 1时间 1时间 份额 份额

2013-7-29

66

2.3.5 位定时与同步
时间份额由振荡器周期分频而得 ? 各时间段长度为:同步段1份额,传播段1~8份额, 相位缓冲段1,1~8份额,相位缓冲段2,Max(相 位缓冲段1,信息处理时间),其中信息处理时间 <=2份额。一个位的总时间份额数为8~25,可 以编程。 ? 同步的规则: (1) 在总线空闲时,只要检测到一个隐性到显性的边 沿,就执行一次硬同步(以该边沿作为同步段) (2)在总线不空闲时,若边沿落在同步段以外,则按 其与同步段之差执行再同步:
?
2013-7-29

67

2.3.5 位定时与同步
(3) (4) (5)

?

?
?

再同步情况①:边沿落在同步段以后,则把所差 份额加到相位缓冲段1 再同步情况② :边沿落在同步段以前,则从相 位缓冲段2减去所差份额 再同步所加减的份额有个上限,该上限可取值 1~4个时间份额,但不可大于相位缓冲段1。 因为有位填充规则,所以可用于再同步的边沿在 一定时间内总会出现。最大可能时间间隔是29 个位。 一个位时间内只能执行一次同步 一般只把隐性到显性的边沿用于同步
68

2013-7-29

2.4 CAN控制器和CAN收发器简介
2.4.1 CAN控制器的作用
? ? ? ? ?

完成CAN规范所规定的物理层和数据链路层大部 分功能 有微处理器接口,易于连接单片机 结构分两种类型,独立IC或与单片机集成在一起, SJA1000属于前者 属于后者的有:PHILIPS的87C591、LPC2119,西 门子的C167C,INTEL的80C196CA等 都遵循CAN2.0规范,掌握其中一种就可触类旁通
2-9 SJA1000属于独立的CAN控制器还是与单片 机集成的控制器?

2013-7-29

69

2.4.2 CAN控制器SJA1000主要特性
? ? ? ? ? ? ? ?

28引脚,可与INTEL系列或MOTOROLA系列微处 理器接口 支持CAN2.0A和CAN2.0B规范 支持11位和29位标识符 64字节先进先出(FIFO)接收缓冲器 通信速率最高1Mbps CAN输出驱动器可配置 工作温度 -40~125℃ 扩展的报文验收滤波器,可置成单滤波或双滤波 模式
70

2013-7-29

CAN控制器SJA1000在系统中的位置
分布模块1
传感器 执行元件 MMI 模块控制器

分布模块2
传感器 执行元件 MMI 微控制器

CAN控制器 TX RX

SJA1000 TX 82C250 RX

2-10 请用简图 表示 SJA1000 在系统中 所处的位 置?

CAN收发器

CAN总线
2013-7-29

71

SJA1000的模块结构
CAN

SJA1000 主 控 制 器 发送缓 冲区
接口管理 逻辑 CAN2.0B 核心模块

总 线 线 路

收 发 器

接收 FIFO

验收滤 波器

2013-7-29

72

SJA1000的引脚功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14
AD6 AD7 ALE/AS CS RD/E WR CLKOUT VSS1 XTAL1 XTAL2 MODE VDD3 TX0 TX1 AD5 AD4 AD3 AD2 AD1 AD0 VDD1 VSS2 RX1 RX0 VDD2 RST INT VSS3

28 27 26 25 24 23 22 21 20 19 18 17 16 15

2013-7-29

73

SJA1000发送缓冲器的布局
标准帧格式
CAN地址 内容

扩展帧格式
CAN地址 内容

16
17 18 19 20 21 22 23 24 25 26

TX帧信息
TX标识码1 TX标识码2 TX数据字节1 TX数据字节2 TX数据字节3 TX数据字节4 TX数据字节5 TX数据字节6 TX数据字节7 TX数据字节8

16
17 18 19 20 21 22 23 24 25 26

TX帧信息
TX标识码1 TX标识码2 TX标识码3 TX标识码4 TX数据字节1 TX数据字节2 TX数据字节3 TX数据字节4 TX数据字节5 TX数据字节6

27
2013-7-29

未用
未用

27
28

TX数据字节7
74 TX数据字节8

28

SJA1000接收缓冲器(FIFO)的布局
地址 内容(标准帧) 16 17 18 19 20 21 RX帧信息 RX标识码1 RX标识码2 RX数据字节1 RX数据字节2 RX数据字节3 内容(扩展帧) RX帧信息 RX标识码1 RX标识码2 RX标识码3 RX标识码4 RX数据字节1

22
23 24 25 26 27 28
2013-7-29

RX数据字节4
RX数据字节5 RX数据字节6 RX数据字节7 RX数据字节8

RX数据字节2
RX数据字节3 RX数据字节4 RX数据字节5 RX数据字节6 RX数据字节7 RX数据字节8 75

SJA1000接收标准帧报文的单滤波器配置

标识符

数据字节1~2

2013-7-29

76

SJA1000接收扩展帧报文的单滤波器配置

29位标识符 77

2013-7-29

SJA1000接收标准帧报文的双滤波器配置

2013-7-29

78

SJA1000接收扩展帧报文的双滤波器配置

2013-7-29

79

2013-7-29

80

SJA1000与单片机典型接口电路

2-11 2013-7-29

SJA1000与单片机相连引脚有哪些?他们的功能是什么?

81

符号 AD0—AD7

引脚 2,1,28— 23

功能 地址/数据复用总线

ALE
/CS /RD /WR CLKOUT

3
4 5 6 7

ALE 信号(INTEL 方式)或AS 信号(Motorola 方式)
片选输入,低电平允许访问SJA1000 微控制器的读信号(Intel 方式)或E 信号 (Motorola 式) 微控制器的写信号(Intel 方式)或读写信号 (Motorola 方式) SJA1000 产生的提供给微控制器的时钟输出信 号,此信号由内部振荡器经可编程分频器得到。 可编程禁止该引脚 中断输出端,用于向微控制器提供中断信号 复位输入端,用于重新启动CAN 接口(低电平 有效)
与CPU相连引脚 82

/INT /RST

16 17

2013-7-29

其它引脚
符号 VSS1 XTAL1 XTAL2 MODE VDD3 TX0 TX1 VSS3 /INT /RST VDD2 RX0,RX1 引脚 8 9 10 11 12 13 14 15 16 17 18 19,20 功能 逻辑电路地 振荡放大器输入,外部振荡放大器信号经此引脚输入 振荡放大器输出,使用外部振荡信号时此引脚必须开路 方式选择输入端:1=Intel 方式,0=Motorola 方式 输出驱动器5V 电源 由输出驱动器0 至物理总线的输出端 由输出驱动器1 至物理总线的输出端 输出驱动器地 中断输出端,用于向微控制器提供中断信号 复位输入端,用于重新启动CAN 接口(低电平有效) 输入比较器5V 电源 由物理总线至SJA1000输入比较器的输入端。显性电平 将唤醒处于睡眠方式的SJA1000。 当RX0高于RX1时, 读出为隐性电平,否则为显性电平 输入比较器地 逻辑电路5V 电源

VSS2 VDD1 2013-7-29

21 22

83

2.4.3 CAN收发器82C250主要特性
? ? ? ? ? ? ? ?

符合ISO11898标准,最高速率1Mbps; 抗汽车环境瞬间干扰,具有保护总线能力; 斜率控制,降低射频干扰RFI; 热保护以及电源和地短路保护; 低电流待机模式; 未上电的节点对总线无影响; 可连接110个节点; 工作温度-40~+125℃。

2013-7-29

84

2.4.3 CAN收发器82C250主要特性
?

内部具有限流电路,可防止发送输出级对电源、 地或负载短路。虽然短路出现时功耗增加但不至 于损坏器件。若结温超过160℃,则两个输出端电 流限将减小,从而限制了芯片温升。器件的所有 其他部分将继续工作。双线差分驱动有助于抑制 汽车等恶劣电器环境下的瞬变干扰。

2013-7-29

85

2.4.3 CAN收发器82C250
?

2-13 CAN收发器82C250引 脚功能? 2013-7-29

PCA82C250收发器 的典型应用如图。 SJA1000的RX和TX分 别通过光电隔离电路 连接到82C250, 82C250的差动收发 端CANH和CANL连 接到总线电缆。输入 RS用于模式控制。 Vref输出电压是 0.5×Vcc, (Vcc=5V)。
86

CAN总线系统智能节点硬件设计

89c51:CPU SJA1000:CAN控制器 82c250:CAN收发器 6N137:?
2013-7-29

87

2.4.4 带隔离CAN 收发器CTM8250
?

CTM8250 是一款带隔离的通用CAN 收发器芯片, 该芯片内部集成了所有必需的CAN隔离及CAN收 发器件,这些都被集成在不到3平方厘米的芯片上。 芯片的主要功能是将CAN 控制器的逻辑电平转换 为CAN总线的差分电平并且具有DC 2500V 的隔 离功能。该芯片符合ISO11898标准,因此,它可 以和其他遵从ISO 11898 标准的CAN收发器产品 互操作,

2013-7-29

88

CTM8250特性
? ? ?

?
? ? ? ? ?

1. 具有DC 2500V 隔离功能; 2. 完全符合ISO11898 标准的CAN 收发器; 3. 速率最高达1Mbit/s; 4. 防止电池和地之间的发生短路; 5. 差分接收器,抗宽范围的共模干扰,抗电磁干扰 (EMI); 6. 热保护; 7. 未上电的节点对总线无影响; 8. 具有抗汽车环境中的瞬间干扰,保护总线能力; 9. 至少可连接110个节点【7】;
89

2013-7-29

CTM8250引脚与定义
4 3 2 1 RXD TXD GND VIN CANH CANL CANG 6 7 8 CTM8250

引脚号 1 2 3 4 6 7 8 2013-7-29

引脚名称 Vin GND TXD RXD CANH CANL CANG

引脚含义 +5V输入 电源地 CAN控制器发送端 CAN控制器接受端 CANH信号线连接端 CANL信号线连接端 隔离电源输出地

90

CTM8250在设计上的特点
?

?

在以往的设计中,一般可以采用两个高速光耦 (6N137),实现电气上的隔离,一个电源隔离 模块(+5V转+5V),实现电源上的隔离,还需要 计算电阻值的大小才能搭建出合理的收发器隔离 电路,这种方式存在着体积偏大,成本偏高,采 购不便等缺点。 CTM系列模块是集成电源隔离、电气隔离、CAN 收发器,CAN总线保护于一体的隔离CAN收发器 模块,该模块TXD、RXD引脚兼容+3.3V、及+5V 的CAN控制器,不需要外接其他元器件,直接将 +3.3V或+5V的CAN控制器发送、接收引脚与 CTM模块的发送、接收引脚相连接。
91

2013-7-29

CAN 控制器与CTM8250 接口芯片 的连接原理图
CANL CANH

CRXD CAN控制器 CTXD

4 3 2 5V 1

RXD TXD GND VIN CANH CANL CANG 6 7 8

CTM8250

2-14 CAN 控制器与 CTM8250 接口芯片的连接原 2013-7-29 理图

92

学习CAN的好网站:
?

ODVA China官方网站 描述:ODVA在 中国的办公室,地点在上海。 CANOpen官方网站 描述:CANOpen 是另一种基于CAN总线的相对简单一些的 应用层协议,此网站即CiA(CAN in Automation),推广CANOpen技术的发展。 CANOpen USA 描述:一个专注于支 持北美地区CANOpen用户和开发人员的专 业网站。
93

?

?

2013-7-29

?

周立功单片机 描述:荷兰PHILIPS半导体公 司在中国地区的CAN-BUS产品线唯一授权的代理 商和技术增值服务商(自2003年5月6日开始),拥 有强大的专业开发团队和完整的CAN-BUS元器件 与应用产品线。同时,该公司是ODVA协会(专业 DeviceNET协会)的中国企业会员。周立功公司立 志成为中国第一流的CAN-bus开发、应用、服务 的团队!
94

2013-7-29

常见CAN俗语
1.全CAN网络 ? 为了对车载电脑的通信方式进行统一和实 施标准化采用一种网络形式,就叫作全 CAN。 ? 2.
?

2013-7-29

95


相关文章:
CAN总线简介及其特点
CAN总线简介及其特点_信息与通信_工程科技_专业资料。《计算机控制技术》期末考查论文 题目:CAN 总线简介及其特点 摘要:CAN总线的数据通讯具有突出的可靠性、实时性和...
CAN总线简介及其特点
CAN总线上的节点即可以是基于微控制器的智能节点,也可以是具有CAN接 口的I/O器件。 3 应用技术 1、 系统组成 CAN总线用户接口简单,编程方便。CAN总线属于现场...
Can总线技术定义
Can总线技术定义_电力/水利_工程科技_专业资料。总线定义Can 总线技术定义 Can 网络即控制器局域网 CAN —— Controller Area Network ) CAN 总线技术在汽车车身控...
CAN总线技术
CAN 总线技术最初只是为了解决汽车工业在发展的过程中应用的线束过 长,影响汽车内空间的使用率和信息传递可靠性。随着 CAN 总线技术的发展和不断成熟, CAN 总线...
CAN总线技术在汽车上的应用
CAN 总线技术的特点及优点 总线技术的特点。CAN 作为一种多主总线,支持分布式实时控制的通讯 CAN 总线技术的特点 网络,采用了许多新技术及独特的设计,具有可靠性、...
汽车CAN总线技术
汽车CAN总线技术_交通运输_工程科技_专业资料。汽车 CAN 总线技术摘要随着生活水平的提高, 消费者对汽车功能和性能的要求日益提 高,汽车智能化、电子化和网络化已经...
CAN总线控制系统实例
CAN总线 CAN总线 控制系统 实例 08信科 08-2 班 陈磊 08063538 目录 1. 2. 3. . 4. Can 总线的发展过程 CAN 总线技术在汽车中的应用实例 Can 总线技术在...
总线技术及CAN总线技术简介
总线技术及CAN总线技术简介_专业资料。龙源期刊网 http://www.qikan.com.cn 总线技术及 CAN 总线技术简介 作者:张尊扬 李学生 哈文森 来源:《电子世界》2013 ...
CAN总线技术及其在现代汽车中的应用
CAN总线技术及其在现代汽车中的应用_机械/仪表_工程科技_专业资料。CAN总线技术及其在现代汽车中的应用CAN 总线技术及其在现代汽车中的应用一 .CAN 总线的概念和应用...
更多相关标签:
can总线 | can总线协议 | 手把手教你学can总线 | can总线原理 | 汽车can总线系统原理 | 汽车can总线技术 | can总线技术 杨春杰 | can总线应用 |