现场总线与工业以太网CAN总线

上传人:s9****2 文档编号:567941945 上传时间:2024-07-22 格式:PPT 页数:113 大小:1.33MB
返回 下载 相关 举报
现场总线与工业以太网CAN总线_第1页
第1页 / 共113页
现场总线与工业以太网CAN总线_第2页
第2页 / 共113页
现场总线与工业以太网CAN总线_第3页
第3页 / 共113页
现场总线与工业以太网CAN总线_第4页
第4页 / 共113页
现场总线与工业以太网CAN总线_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《现场总线与工业以太网CAN总线》由会员分享,可在线阅读,更多相关《现场总线与工业以太网CAN总线(113页珍藏版)》请在金锄头文库上搜索。

1、第第4 4章章 CAN CAN 总总 线线4.1 4.1 概述概述4.2 4.2 CANCAN的的物理层的的物理层4.3 4.3 CANCAN协议规范协议规范4.4 4.4 典型典型CANCAN总线器件及应用总线器件及应用怪瞩凶翻闸杀喘答价氛简酣莽祁框腐纂哎庙错冀涯防饲但尊呜让俭厘澳挺现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线第第4 4章章 CAN CAN 总总 线线 CAN CAN(Controller Area NetworkController Area Network)即控制器局域网,可以)即控制器局域网,可以归属于工业现场总线的范畴,通常称为归属于工业现场总线的范畴

2、,通常称为CAN busCAN bus,即,即CANCAN总线,总线,是目前国际上应用最广泛的开放式现场总线之一。是目前国际上应用最广泛的开放式现场总线之一。 与一般的通信总线相比,与一般的通信总线相比,CANCAN总线的数据通信具有突出的可总线的数据通信具有突出的可靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世界上一些著名的汽车制造厂商,如界上一些著名的汽车制造厂商,如BENZ(BENZ(奔驰奔驰) )、BMW(BMW(宝马宝马) )、volkswagen (volkswagen (大众大众) )等都采用了等都采用了CANCAN总

3、线来实现汽车内部控制系总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。统与各检测和执行机构间的数据通信。 同时,由于同时,由于CANCAN总线的特点,其应用范围目前已不仅局限于总线的特点,其应用范围目前已不仅局限于汽车行业,已经在自动控制、航空航天、航海、过程工业、机汽车行业,已经在自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域中得到了广泛应用。及传感器等领域中得到了广泛应用。型泛郸狙拿哈棒影堪嘶揖颗馆唾烂轩齐沏等户臀九举饺锥金颂废畴蔽借疮现场总线与工业以太网CAN总线现

4、场总线与工业以太网CAN总线4.1 4.1 概述概述4.1.1 4.1.1 CANCAN工作原理、特点工作原理、特点4.1.2 4.1.2 发展背景及应用情况发展背景及应用情况4.1.3 4.1.3 一个典型的工程实例一个典型的工程实例萍炼急包榆排铡臂季缺苞韩权陕侩忘康薛东稠姑芝造僻吻发而蒂笨筛胚签现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.14.1概述概述 CAN CAN 最初出现在汽车工业中,最初出现在汽车工业中,8080年代由德国年代由德国BoschBosch公司公司最先提出。最初动机是为了解决现代汽车中庞大的电子控最先提出。最初动机是为了解决现代汽车中庞大的电子控制

5、装置之间的通讯,减少不断增加的信号线。制装置之间的通讯,减少不断增加的信号线。19931993年年CAN CAN 成为国际标准成为国际标准ISO11898(ISO11898(高速应用高速应用) )和和ISO11519ISO11519(低速应用)。(低速应用)。 由于其良好的性能及独特的设计,由于其良好的性能及独特的设计,CANCAN总线越来越受到总线越来越受到人们的重视。随着应用领域的增多,人们的重视。随着应用领域的增多,CANCAN的规范从的规范从CAN 1.2 CAN 1.2 规范规范( (标准格式标准格式) )发展为兼容发展为兼容CAN 1.2 CAN 1.2 规范的规范的CAN2.0C

6、AN2.0规范规范(CAN2.0A(CAN2.0A为标准格式,为标准格式,CAN2.0BCAN2.0B为扩展格式为扩展格式) ),目前应用的,目前应用的CANCAN器件大多符合器件大多符合CAN2.0CAN2.0规范。规范。 又奏饵鲁胳辙壮缝闹躯蠕刑扯别灭赫误读酗与筑狭姿阮殿忘曹帽陀声遮棠现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.1.1CAN的工作原理、特点的工作原理、特点1 1 CAN CAN 的工作原理的工作原理 当当CAN CAN 总线上的一个节点总线上的一个节点( (站站) )发送数据时,它以报文形发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论

7、数据是否式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的是发给自己的,都对其进行接收。每组报文开头的1111位字符位字符为标识符为标识符(CAN2.0A)(CAN2.0A),定义了报文的优先级,这种报文格式称,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个节点发送具有相同标识符的报文。当一个节点要可能有两个节点发送具有相同标识符的报文。当一个节点要向其它节点发送数据时,该节点的向其它节点发送数据时,该节点的CPU CPU 将要发送的数据和自将要发

8、送的数据和自己的标识符传送给本节点的己的标识符传送给本节点的CANCAN芯片,并处于准备状态;当芯片,并处于准备状态;当它它收到收到总线分配分配时,转为发送送报文状文状态。拍荧诧搬孰摆胀论却剔醇卯魁裙跟伊喝匈切辖肖蓟沈构病芥驭焊渔抬规勉现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 CAN CAN 芯片将数据根据协议组织成一定的报文格式发出,芯片将数据根据协议组织成一定的报文格式发出,这时这时 网上的其它节点处于接收状态。网上的其它节点处于接收状态。 每每个个处处于于接接收收状状态态的的节节点点对对接接收收到到的的报报文文进进行行检检测测,判断这些报文是否是发给自己的,以确定是否

9、接收它。判断这些报文是否是发给自己的,以确定是否接收它。 由由于于CAN CAN 总总线线是是一一种种面面向向内内容容的的编编址址方方案案,因因此此很很容容易易建建立立高高水水准准的的控控制制系系统统并并灵灵活活地地进进行行配配置置。我我们们可可以以很很容容易易地地在在CAN CAN 总总线线中中加加进进一一些些新新节节点点而而无无需需在在硬硬件件或或软软件件上上进进行行修修改改。当当所所提提供供的的新新节节点点是是纯纯数数据据接接收收设设备备时时,数数据据传传输输协协议议不不要要求求独独立立的的部部分分有有物物理理目目的的地地址址。它它允允许许分分布布过过程程同同步步化化,即即总总线线上上控

10、控制制器器需需要要测测量量数数据据时时,可可由由网网上获得,而无须每个控制器都有自己独立的传感器。上获得,而无须每个控制器都有自己独立的传感器。辙叫黍矮燎穴壮囊土烦涩恋吨恬香钵瀑烬沛浅状枷副横共紧藕愁脯姜栋间现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线2 2 CAN CAN总线特点总线特点 CANCAN总总线线是是一一种种串串行行数数据据通通信信协协议议,通通信信介介质质可可以以是是双双绞绞线线、同同轴轴电电缆缆或或光光导导纤纤维维。最最大大通通讯讯距距离离可可达达10km10km,最最大大通通信信速速率率可可达达1Mbps1Mbps。CANCAN总总线线通通信信接接口口中中集

11、集成成了了CANCAN协协议议的的物物理理层层和和数数据据链链路路层层功功能能,可可完完成成对对通通信信数数据据的的成成帧帧处处理理,包包括括位位填填充充、数数据据块块编编码码、循循环环冗冗余余检检验验、优优先先级判别等项工作。级判别等项工作。 CAN CAN总线特点如下:总线特点如下:(1 1)可可以以多多主主方方式式工工作作,网网络络上上任任意意一一个个节节点点均均可可以以在在任任意意时时刻刻主主动动地地向向网网络络上上的的其其他他节节点点发发送送信信息息,而而不不分分主主从从,通通信信方方式式灵灵活活。利利用用这这一一特特点点也也可可方方便便地地构构成成多多机机备备份系统。份系统。介呐已

12、住汀盖喧坐唬荣勘募难掀肯鳖迂端鼠袖房翟侧案德协配蒋苟衣拓雀现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 (2 2)网络上的节点(信息)可分成不同的优先级可以满网络上的节点(信息)可分成不同的优先级可以满足不同的实时要求。足不同的实时要求。 (3 3)CANCAN总线采用非破坏性位仲裁总线结构机制,当总线采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输停止数据发送,而优先级高的节点可不受影响地继续传输数据,大大节省了总线冲突裁决时间;最重要的是在

13、网络数据,大大节省了总线冲突裁决时间;最重要的是在网络负载很重的情况下,也不会出现网络瘫痪的情况(以太网负载很重的情况下,也不会出现网络瘫痪的情况(以太网则可能)。则可能)。 (4 4)可以点对点、一点对多点(成组)及全局广播几种可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。传送方式接收数据。 (5 5)直接通信距离最远可达直接通信距离最远可达10km10km(速率(速率5Kbps5Kbps以下)。以下)。峙牡显既个昆秉桂囊氦缩槐哈干疤字条青峨伦迸攒技春埃汛贾痞戳诅紧黎现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 (6 6)通信速率最高可达)通信速率最高可达1M

14、B/s1MB/s(此时距离最长(此时距离最长40m40m)。)。 (7 7)节点数实际可达)节点数实际可达110110个。个。 (8 8)采用短帧结构,每一帧的有效字节数为)采用短帧结构,每一帧的有效字节数为8 8个,这样传输个,这样传输时间短,受干扰的概率低,且具有极好的检错效果。可满足通时间短,受干扰的概率低,且具有极好的检错效果。可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。常工业领域中控制命令、工作状态及测试数据的一般要求。 (9 9)每帧信息都有)每帧信息都有CRCCRC校验及其他检错措施,保证了数据出校验及其他检错措施,保证了数据出错率极低。错率极低。 (1010)通

15、信介质可采用双绞线,同轴电缆和光导纤维,一般)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。采用廉价的双绞线即可,无特殊要求。 (1111)节点在错误严重的情况下,具有自动关闭总线的功能,节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。切断它与总线的联系,以使总线上的其他操作不受影响。枕疆吭虽测熬综饮峪笼乳化揭祈羞巩桩讼铸宜江帝品彩芒郧氯蛋疟序最郧现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 CANCAN总总线线协协议议已已被被国国际际标标准准化化组组织织认认证证,技技术术比比较较成成熟熟,控控

16、制制的的芯芯片片已已经经商商品品化化,性性价价比比高高,特特别别适适用用于于分分布布式式测测控控系系统之间的数据通讯。统之间的数据通讯。 CAN CAN 控制器工作于多主方式,网络中的各节点都可根据总控制器工作于多主方式,网络中的各节点都可根据总线访问优先权线访问优先权( (取决于报文标识符取决于报文标识符) )采用无损结构的逐位仲裁的采用无损结构的逐位仲裁的方式竞争向总线发送数据,且方式竞争向总线发送数据,且CAN CAN 协议废除了节点地址编码,协议废除了节点地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这

17、些特点使得相同的数据,这些特点使得CAN CAN 总线构成的网络各节点之间的总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用性和系统的灵活性。而利用RS-485 RS-485 只能构成主从式结构系统,只能构成主从式结构系统,通信方式也只能以主节点轮询的方式进行,系统的实时性、可通信方式也只能以主节点轮询的方式进行,系统的实时性、可靠性较差;靠性较差; CAN CAN 总线通通过CAN CAN 控制器接口芯片两个控制器接口芯片两个输出端的出端的电平状平状态,可以保可以保证不会出不会出现象

18、在象在RS-485RS-485网网络中,当系中,当系统有有错误,买斤置磅昌赏赊仟卢届皖嗽坝株贰峦规垛苑毛阿酵线鹏倾礼弄受逢讶赖苔现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线出现多出现多节点同时向总线发送数据时,导致总线呈现短路,从节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且而损坏某些节点的现象。而且CAN CAN 节点在错误严重的情况下具节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总从而保证不会出现象在网络中,因

19、个别节点出现问题,使得总线处于线处于“死锁死锁”状态。状态。 CAN CAN 具有的完善的通信协议可由具有的完善的通信协议可由CAN CAN 控制器芯片及其接口控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的这些是只仅仅有电气协议的RS-485 RS-485 所无法比拟的。另外,与所无法比拟的。另外,与其它现场总线比较而言,其它现场总线比较而言,CAN CAN 总线是具有通信速率高、容易实总线是具有通信速率高、容易实现、低成本、且性价比高等诸多特点的一种已形成国际标准的现、低成本、且性价比高等

20、诸多特点的一种已形成国际标准的现场总线。这些也是目前现场总线。这些也是目前CAN CAN 总线应用于众多领域,具有强劲总线应用于众多领域,具有强劲的市场竞争力的重要原因。的市场竞争力的重要原因。谋刽敏返啥襄么卫拽吠勤宅骋沫困屉患众垒楞拇附鉴尔跋览备悯宫宣睛凶现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.1.2发展背景及应用情况发展背景及应用情况 1. CAN 1. CAN(控制器局域网)的起源(控制器局域网)的起源 1986 1986年年2 2月,德国月,德国Robert Bosch Robert Bosch 公司介绍了一种新型的串公司介绍了一种新型的串行总线行总线CANCA

21、N控制器局域网。在此之前还没有一种现成的网控制器局域网。在此之前还没有一种现成的网络方案能够完全满足汽车工程师们增加新功能、减少电气连接络方案能够完全满足汽车工程师们增加新功能、减少电气连接线,使其能够用于产品,而非用于驱动技术的要求。线,使其能够用于产品,而非用于驱动技术的要求。 1987 1987年中期,年中期,IntelIntel交付了首枚交付了首枚CANCAN控制器控制器8252682526,这是,这是CANCAN方案首次通过硬件加以实现。不久之后,方案首次通过硬件加以实现。不久之后,Philips Philips 半导体推出半导体推出了了82C20082C200。由于这两枚最先的。由

22、于这两枚最先的CANCAN控制器在性能上各有千秋,控制器在性能上各有千秋,因此形成因此形成PhilipsPhilips主推的主推的BasicCAN BasicCAN 和和IntelIntel主推的主推的FullCAN FullCAN 两两大阵营。今天的大阵营。今天的CANCAN控制器中,在同一模块中的验收滤波和报控制器中,在同一模块中的验收滤波和报文控制方面仍有相当的不同。文控制方面仍有相当的不同。 毗敛函月饰漳寇挟菊戴赡违笑拷咽教枯峡狞恬千试吉馁监琼蒸寨鼓砍馅欧现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 今天,在欧洲几乎每一辆新客车均装配有今天,在欧洲几乎每一辆新客车均装配

23、有CANCAN局域网。局域网。同样,同样,CANCAN也用于其他类型的交通工具,甚至工业控制等领也用于其他类型的交通工具,甚至工业控制等领域也被大量使用。域也被大量使用。CANCAN已经成为全球范围内最重要的总线之已经成为全球范围内最重要的总线之一。一。20002000年,全球市场销售超过年,全球市场销售超过1 1亿个亿个CANCAN器件。器件。 标准化与一致性标准化与一致性 1990 1990年,年,Bosch CAN Bosch CAN 规范(规范(CAN 2.0CAN 2.0版)被提交给国际版)被提交给国际标准化组织,于标准化组织,于19931993年年1111月出版了月出版了CANCA

24、N的国际标准的国际标准ISO11898ISO11898,除了,除了CANCAN协议外,它也规定了最高至协议外,它也规定了最高至1Mbps1Mbps波特率时的物理波特率时的物理层。同时,在国际标准层。同时,在国际标准ISO11519-2ISO11519-2中也规定了中也规定了CANCAN数据传输数据传输中的容错方法。中的容错方法。19951995年,国际标准年,国际标准ISO11898ISO11898进行了扩展,以进行了扩展,以附录的形式说明了附录的形式说明了2929位位CANCAN标识符。当前,修订的标识符。当前,修订的CANCAN规范正规范正在标准化中。在标准化中。ISO11898-1ISO

25、11898-1称为称为“CANCAN数据链路层数据链路层”,ISO11898-2ISO11898-2称为称为“非容错非容错CANCAN物理层物理层”,ISO11898-3ISO11898-3称称为“容容错CANCAN物理物理层”。国。国际标准准ISO11992ISO11992(卡(卡车和拖和拖车接口)和接口)和滴卒椅膳押阶檀弯抨桩岩判疼抄茄雏湃理寸皖贝粥怕粒蛇漱赡扣滞捕啃侠现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线ISO11783(农业和(农业和森林机械)都在美国标准森林机械)都在美国标准J1939J1939的基础上定的基础上定义了基于义了基于CANCAN应用的子协议。应用的

26、子协议。 CANCAN的发展过程的发展过程 尽尽管管当当初初研研究究CANCAN的的起起点点是是应用用于于客客车系系统,但但CANCAN的的第第一一个个市市场应用用却却来来自自于于其其他他领域域。特特别是是在在北北欧欧,CANCAN早早已已得得到到非非常常普普遍遍的的应用用。在在荷荷兰,电梯梯厂厂商商KoneKone在在电梯梯上上使使用用了了CANCAN总线,PhilipsPhilips医医疗系系统也也使使用用CANCAN构构成成X X光光机机的的内内部部网网络,成成为CANCAN的用的用户。 19921992年年5 5月月,CiACiA“CAN CAN in in AutomationAut

27、omation”用用户集集团正正式式成成立立。CiACiA推推荐荐仅使使用用遵遵循循ISO11898ISO11898的的CANCAN收收发器器。现在在,在在当当时的的CANCAN网网络中中使使用用非非常常普普遍遍但但并并不不兼兼容容的的RS-485RS-485收收发器器已已基基本本消失。消失。 从从19901990年中期起,年中期起,InfineonInfineon公司和公司和MotorolaMotorola公司等生公司等生产CANCAN模模块集成器件的集成器件的1515家半家半导体厂商已向欧洲的汽体厂商已向欧洲的汽车厂商提供厂商提供纺奔续褥卑窜岂至乏鸣舀蒋遍臆搜烈垒冒籍光拆痔鸿勃你绷榜芦濒海

28、阐囱现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线了了大大量量的的CANCAN控控制制器器。从从19901990年年后后期期起起,亚洲洲的的半半导体体厂厂商商也也开始提供开始提供CANCAN控制器。控制器。 从从19921992年年起起,奔奔驰公公司司开开始始在在高高级轿车中中使使用用CANCAN技技术。第第一一步步使使用用电子子控控制制器器通通过CANCAN对发动机机进行行管管理理;第第二二步步使使用用控控制制器器接接收收人人们的的操操作作信信号号。这就就使使用用了了2 2个个物物理理上上独独立立的的CANCAN总线系系统,它它们通通过网网关关连接接。其其他他的的汽汽车厂厂商商

29、在在他他们的的汽汽车上也使用上也使用2 2套套CANCAN总线系系统。 现在在,继VolvoVolvo、SaabSaab、VolkswagenVolkswagen、BMWBMW之之后后,RenaultRenault和和FiatFiat也也开开始始在在他他们的的汽汽车上上使使用用CANCAN总线。不不仅如如此此,由由于于CANCAN总线的的突突出出优势,其其应用用已已经发展展到到了了几几乎乎涵涵盖盖所所有有的的网网络控制控制领域。域。拓个眷饱央印大雍嚏叠漏闹睹瓷映嫂褪袜虐豌塔拇痔装座娇熏陛厕汀速盾现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.1.3一个典型的工程实例一个典型的工

30、程实例 目目前前的的汽汽车电子子信信息息产品品已已经平平均均占占到到汽汽车总成成本本的的1/31/3,并并且且这个个比比率率正正在在不不断断被被提提高高,有有专家家认为,未未来来1010年年内内,这个个比比率率将将达达到到4040。中中高高级轿车、客客车甚甚至至大大型型卡卡车上上普普遍遍采采用用了了CANCAN总线,不不仅提提高高了了性性能能,节省省大大量量电缆,而而且且给人人们带来了更好的享受,提高了来了更好的享受,提高了驾驭者的舒适程度。者的舒适程度。 一一汽汽- -大大众众汽汽车有有限限公公司司20012001年年1212月月上上市市的的宝宝来来(BoraBora)轿车,在在动力力传动系

31、系统和和舒舒适适系系统中中就就装装用用了了两两套套CANCAN数数据据传输系系统,其中,其中CANCAN数据数据传输舒适系舒适系统如如图4.14.1所示。所示。蛾亨档逃叭纪平倾岿留医痕咯弱铃报洋辈房标弘既兄茶玻涉逗悟泡沪阮醇现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线接发电接发电机机底盘网底盘网络络仪表单元仪表单元M MM MM MM MM MM MM MM MM MM MM MM M前门前门单元单元车身中央车身中央控制单元控制单元空调空调单元单元前座前座单元单元顶窗顶窗单元单元前座前座单元单元左前门左前门单元单元M MM MM M后门后门单元单元后门后门单元单元后座后座单元单

32、元M MM M后窗后窗单元单元MM MM MCANCANMLINLIN电机电机加热器加热器灯具灯具控制面板控制面板图例图例:图4-1 CAN4-1 CAN数据数据传输舒适系舒适系统CANZONGXIANCANZONGXIAN糠赦浩摩赞权帮蓄帮哑臣灾幢试秉妒恕敝漳棉闹醒梳意兴遍奏藩姬签望谤现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 图上上较粗粗线代代表表CANCAN总线,它它连接接了了传动装装置置控控制制中中央央单元元、灯灯控控单元元、门控控单元元、座座椅椅控控制制单元元、空空调单元元以以及及仪表表盘控控制制单元元等等等等。较细线代代表表LINLIN总线,由由LINLIN总线构

33、构成成的的LINLIN网网络作作为CANCAN网网络的的辅助助网网络,连接接了了车窗窗控控制制单元元、雨雨刷控制刷控制单元、天窗控制元、天窗控制单元等低速元等低速设备。 CANCAN数数据据传输舒舒适适系系统网网络与与动力力传动系系统网网络通通过网网桥相互通信。相互通信。 LIN LIN网网络(Local Interconnect NetworkLocal Interconnect Network),由汽),由汽车厂商厂商为汽汽车开开发,作,作为CANCAN网网络的的辅助网助网络,目,目标应用在低端系用在低端系统,不需要不需要CANCAN的性能、的性能、带宽以及复以及复杂性。性。LINLIN的

34、工作方式是一主的工作方式是一主多从,多从,单线双向低速双向低速传送数据(最高送数据(最高20K20K位位/ /秒),与秒),与CANCAN相比相比具有更低的成本,且基于具有更低的成本,且基于UARTUART接口,无需硬件接口,无需硬件协议控制器,控制器,使系使系统成本更低。成本更低。 冒傀懈榆奖右屡陨见拓张曼续柜星栽企蔽惑幼徘领羞渗懂详谷癌倘敷哎养现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.2CAN的物理层的物理层 ISO 11898ISO 11898是一个使用是一个使用CANCAN总线协议的汽车内高速通讯国际标总线协议的汽车内高速通讯国际标准,这个标准的基本作用是定义了通

35、讯链路的数据链路层和物准,这个标准的基本作用是定义了通讯链路的数据链路层和物理层,如理层,如图图4.24.2所示物理层被细分成所示物理层被细分成3 3个子层,它们分别是:个子层,它们分别是:l l物理信令位编码定时和同步物理信令位编码定时和同步l l物理媒体连接驱动器和接收器特性物理媒体连接驱动器和接收器特性l l媒体相关接口总线连接器媒体相关接口总线连接器 收发器实现物理媒体连接子层。物理信令子层和数据链路层收发器实现物理媒体连接子层。物理信令子层和数据链路层之间的连接是通过集成的协议控制器实现的,如:之间的连接是通过集成的协议控制器实现的,如:PCx82C200PCx82C200、SJA1

36、000SJA1000等。而媒体相关接口负责连接传输媒体譬如将总线节点等。而媒体相关接口负责连接传输媒体譬如将总线节点连接到总线的连接器,如:连接到总线的连接器,如:PCA82C250PCA82C250、TJA1050TJA1050等收发器。等收发器。 豪肿救凳朝币洲动痪诉森辑寅象刷切菩畔甩晴傲泰课郸海轻颈辑帮唐晒挺现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图4.2 ISO118984.2 ISO11898标准数据准数据链路路层和物理和物理层结构构图 朴账催路往驶炼闻袖揉留灯非买奖存溶酿培仲屏秩模穗晨区失舍吭衡坟釉现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.

37、2 CAN4.2 CAN的物理层的物理层4.2.1 4.2.1 CANCAN的网络拓扑的网络拓扑4.2.2 4.2.2 CANCAN的媒体连接的媒体连接痒遂迢旬微畅斟颖提息潜秤邦漫栏例虑琴紧脖檬遁衷无狮淄畜洲循萧吗绦现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.2.1CAN的网络拓扑的网络拓扑 CAN CAN以多主方式工作,网以多主方式工作,网络上任意一个上任意一个节点均可以在点均可以在任意任意时刻主刻主动地向网地向网络上的其他上的其他节点点发送信息,而不分送信息,而不分主从,通信方式灵活。其网主从,通信方式灵活。其网络拓扑形式大多是拓扑形式大多是总线型型结构,拓扑示意构,拓

38、扑示意图见图4.34.3。节点点1 1节点点2 2节点点3 3节点点4 4CANCAN总线图4.3 CAN4.3 CAN的的总线型网型网CANCAN的网的网络拓扑拓扑全梢都杨融暖八翘察搅忽蹲流未巢誊剔别远哪汞映届赡评修哪贯咋扯嫩蜕现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.2.2CAN的物理媒体连接的物理媒体连接 CAN CAN总线物理物理层的物理媒体的物理媒体连接比接比较灵活,可以采用共地灵活,可以采用共地的的单线式(汽式(汽车常用)、双常用)、双线式、同式、同轴电缆、双、双绞线、光、光缆等,理等,理论上上节点数目没有限制,点数目没有限制,实际可达可达110110个。个。

39、 电子信号在子信号在总线上会被信号上会被信号线终端反射回来,避免信号端反射回来,避免信号的反射的反射对节点正确点正确读取取总线电压非常重要。在非常重要。在总线的两个的两个终端加上端加上终端端电阻以阻以终结总线,可以避免信号反射。,可以避免信号反射。 CAN CAN总线具有两种具有两种逻辑状状态,隐性和性和显性。性。 隐性状性状态下,下,VCAN-HVCAN-H和和VCAN-LVCAN-L被固定被固定为平均平均电压电平,平,两者两者电压差差为0 0。 显性状性状态下,下,VCAN-HVCAN-H和和VCAN-LVCAN-L分分别为3.5V3.5V和和1.5V1.5V,两者,两者差分差分电压大于大

40、于2V2V。如。如图4.44.4所示。所示。遇谅厘骑机超包馆慌书晶戳懒择逗臆撂忌炯诸淆菊猾庶猩汁蛀差烯咋锈耍现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线隐性状态隐性状态显性状态图4.4 4.4 根据根据ISO 11898 ISO 11898 的的额定额定总线电平平刺苏薯糊李酌淘步束变间侍牢苫决皑豢马垃肌尔汰粥捶避眶墅棠隙恫二尚现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.3CAN协议规范协议规范4.3.1基本术语基本术语4.3.2CAN的报文及结构的报文及结构4.3.3CAN的位仲裁技术的位仲裁技术絮撑撤诱嗓坡耙缅酒逛墨晾权安脂驯酱姬清峨惋痕缆抗腿虚亡走描微搞

41、切现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.3CAN协议规范协议规范 1.CAN 1.CAN规范中的对应规范中的对应ISO/OSIISO/OSI参考模型的网络层参考模型的网络层 CANCAN为串串行行通通讯协议,能能有有效效地地支支持持具具有有很很高高安安全全等等级的的分分布布实时控控制制。CANCAN的的应用用范范围很很广广,从从高高速速的的网网络到到低低价价位位的的多多路路接接线都都可可以以使使用用CANCAN。在在汽汽车电子子行行业里里,使使用用CANCAN连接接发动机机控控制制单元元、传感感器器、防防刹刹车系系统、等等等等,其其传输速速度度可可达达1Mbit/s1

42、Mbit/s。同同时,可可以以将将CANCAN安安装装在在卡卡车本本体体的的电子子控控制制系系统里里,诸如如车灯灯组、电气气车窗窗等等等等,用用以以代代替替接接线配配线装置。装置。 技技术规范的目的是范的目的是为了在任何两个了在任何两个CANCAN仪器之器之间建立兼容建立兼容性。可是,兼容性有不同的方面,比如性。可是,兼容性有不同的方面,比如电气特性和数据气特性和数据转换的解的解释。为了达到了达到设计透明度以及透明度以及实现灵活性,根据灵活性,根据ISO/OSIISO/OSI参考模型,参考模型,CAN 2.0CAN 2.0规范范细分分为以下不同的以下不同的层次:数据次:数据链路路层和物理和物理

43、层( (如如图4.54.5所示所示) )。改半溉盾顾邹鸯蘸髓猎姬寥岗穷汁扦硅溃截簿罕募战亦严继氦翻仲瀑牙诗现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线接收滤波数据数据链路路层逻辑链路控制子路控制子层(LLC)(LLC)超超载通知通知恢复管理恢复管理媒体媒体访问控制子控制子层(MACMAC)数据封装/拆装帧编码媒体访问管理错误检测出错标定应答串行化/解除串行化故障界定故障界定物理物理层 位位编码/ /解解码 位定位定时同步同步驱动器器/ /接收器特性接收器特性总线故障管理图图4.5 CAN4.5 CAN协议分层结构和功能协议分层结构和功能寅俩旷斋汰滑怒明西资鞋纬苹叉八螟那例议圾拼

44、苇围穷崔仰匠荤贩莫殉掣现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 在在以以前前版版本本的的CANCAN规范范中中,数数据据链路路层的的LLCLLC子子层和和MACMAC子子层的服的服务及功能分及功能分别被解被解释为“对象象层”和和“传输层”。 逻辑链路控制子路控制子层(LLC)(LLC)的作用范的作用范围如下:如下: 为远程数据程数据请求以及数据求以及数据传输提供服提供服务。 确定由确定由实际要使用的要使用的LLCLLC子子层接收哪一个接收哪一个报文。文。 为恢复管理和恢复管理和过载通知提供手段。通知提供手段。 在在这里,定里,定义对象象处理理较为自由。自由。MACMAC子子

45、层的作用主要的作用主要是是传送送规则,也就是控制,也就是控制帧结构、构、执行仲裁、行仲裁、错误检测、出、出错标定、故障界定。定、故障界定。总线上什么上什么时候开始候开始发送新送新报文及什么文及什么时候开始接收候开始接收报文,均在文,均在MACMAC子子层里确定。位定里确定。位定时的一些普的一些普通功能也可以看作是通功能也可以看作是MACMAC子子层的一部分。理所当然,的一部分。理所当然,MACMAC子子层的修改是受到限制的。的修改是受到限制的。 陕拳绦昌骚咱拒料烁擅茸墙催雄钩陈葱闷绿簇邱换贿坑悉雷其骚谓哎淌褪现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 物物理理层的的作作用用是

46、是在在不不同同节点点之之间根根据据所所有有的的电气气属属性性进行行位位的的实际传输。同同一一网网络的的物物理理层对于于所所有有的的节点点当当然然是是相同的。尽管如此,在相同的。尽管如此,在选择物理物理层方面方面还是很自由的。是很自由的。 这本技本技术规范的目的是定范的目的是定义数据数据链路路层中中MACMAC子子层和一小和一小部分部分LLCLLC子子层,以及定,以及定义CANCAN协议于周于周围各各层当中所当中所发挥的作的作用)。用)。 2 2基本概念基本概念 CAN CAN具有以下的属性:具有以下的属性: 报文的文的优先先权 保保证延延迟时间 设置灵活置灵活 时间同步的多点接收同步的多点接收

47、衷民单倍丹翔唤八汗写涎掀胰莎娄盈达煎队跨氨烈阵翁徽嗡纫仕为揍吏烯现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 系系统内数据的内数据的连贯性性 多主机多主机 错误检测和和错误标定定 只要只要总线一一处于空于空闲,就自,就自动将破坏的将破坏的报文重新文重新传输 将将节点的点的暂时性性错误和永久性和永久性错误区分开来,并且可以区分开来,并且可以自自动关关闭由由OSIOSI参考模型分参考模型分层CANCAN结构的构的错误的的节点。点。 依据依据ISO/OSIISO/OSI参考模型的参考模型的层结构具有以下功能构具有以下功能: : 物理物理层定定义信号是如何信号是如何实际地地传输的,因此

48、涉及到位的,因此涉及到位时间、位、位编码、同步的解、同步的解释。本技。本技术规范没有定范没有定义物理物理层的的驱动器器/ /接收器特性,以便允接收器特性,以便允许根据它根据它们的的应用,用,对发送媒体送媒体和信号和信号电平平进行行优化。化。 MAC MAC 子子层是是CANCAN协议的核心。它把接收到的的核心。它把接收到的报文提供文提供给LLCLLC子子层,并接收来自,并接收来自LLCLLC子子层的的报文。文。MACMAC子子层负责报文文钝商缀绘舀岗澈慢砂阴皇抛否拽胚棘苛究咕漫氦怯激疚伞彻棒袖厂寒即反现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 分分帧、仲仲裁裁、应答答、错误检

49、测和和标定定。MACMAC子子层也也被被称称作作故故障障界界定定的的管管理理实体体监管管。此此故故障障界界定定为自自检机机制制,以便把永久故障和短以便把永久故障和短时扰动区区别开来。开来。 LLC LLC子子层涉及涉及报文文滤波、波、过载通知、以及恢复管理。通知、以及恢复管理。惟稿原卫蓑雀隐寒孟烈铅承呸拱笨甩衙隙休菩烘漂赫药鞋薯线肉奏饭载宦现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.3.1基本术语基本术语 1 1报文报文 总线上上的的报文文以以不不同同的的固固定定报文文格格式式发送送,但但长度度受受限限。当当总线空空闲时任何任何连接的接的单元都可以开始元都可以开始发送新的送

50、新的报文。文。 2 2信息路由信息路由 在在CAN CAN 系系统里里,CAN CAN 的的节点点不不使使用用任任何何关关于于系系统配配置置的的报文文(比比如如,节点点地地址址)。这样不不用用依依赖应用用层以以及及任任何何节点点软件件和和硬硬件件的的改改变,就就可可以以在在CAN CAN 网网络中中直直接接添添加加节点点。提提高高系系统灵灵活活性性。报文文的的内内容容由由识别符符命命名名。识别符符不不指指出出报文文的的目目的的地地,但但解解释数数据据的的含含义。因因此此,网网络上上所所有有的的节点点可可以以通通过报文文滤波波确确定定是是否否应对该数数据据做做出出反反应。由由于于引引入入了了报文

51、文滤波波的的概概念念,任任何何节点点都都可可以以接接收收报文文,并并与与此此同同时对此此报文文做做出出反反应。为确确保保报文文在在CAN CAN 网网络里里同同时被被所所有有的的节点点接接收收(或或同同时不不被被接接收收)。因因此此,系系统的的数数据据连贯性性是是通通过多多播播和和错误处理的原理理的原理实现的。的。墩牢袱金征吼鸣过檄谨鼠话桐躬戮冗链走得雨许域筷甫贸麻鼓思环同卸扣现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 3 3位速率位速率 不不同同的的系系统,CAN CAN 的的速速度度不不同同。在在一一个个给定定的的系系统里里,位位速率是唯一的,并且是固定的。速率是唯一的,

52、并且是固定的。 4 4优先权优先权 在在总线访问期期间,识别符定符定义一个静一个静态的的报文文优先先权。 5 5远程数据请求远程数据请求 通通过发送送远程程帧,需需要要数数据据的的节点点可可以以请求求另另一一节点点发送送相相应的的数数据据帧。数数据据帧和和相相应的的远程程帧是是由由相相同同的的识别符符命命名的。名的。 6 6仲裁仲裁 只要只要总线空空闲,任何,任何单元都可以开始元都可以开始发送送报文。具有文。具有较高高优先先权报文的文的单元可以元可以获得得总线访问权。如果。如果2 2个或个或2 2个以个以上的上的单元同元同时开始开始传送送报文,那么就会有文,那么就会有总线访问冲突。冲突。假亢钟

53、讶褐瘩着吸野雀扬璃尼栗设肿凉烹岿代茎泥猴惑麻狠拳贤房秃殆衔现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线仲裁的仲裁的机制确保了机制确保了报文和文和时间均不均不损失。当具有相同失。当具有相同识别符的数据符的数据帧和和远程程帧同同时初始化初始化时,数据,数据帧优先于先于远程程帧。仲。仲裁期裁期间,每一个,每一个发送器都送器都对发送位的送位的电平与被平与被监控的控的总线电平平进行比行比较。如果。如果电平相同,平相同,则这个个单元可以元可以继续发送。如果送。如果发送的是一送的是一“隐性性”电平而平而监视的是一的是一“显性性”电平(平(见总线值),),那么那么单元就失去了仲裁,必元就失去了

54、仲裁,必须退出退出发送状送状态。 7 7错误检测错误检测 为了了获得得最最安安全全的的数数据据发送送,CAN CAN 的的每每一一个个节点点均均采采取取了了强有力的措施以便于有力的措施以便于错误检测、错误标定及定及错误自自检。 要要进行行检测错误,必,必须采取以下措施:采取以下措施: 监视(发送送器器对发送送位位的的电平平与与被被监控控的的总线电平平进行行比比较) 循循环冗余冗余检查扔伶尹区侧与艰嗅吭榴目旨莽圈凤讶海插勒跋房区过度纽抑镍坠骗弘疽投现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 位填充位填充 报文格式文格式检查 错误检测的的执行行错误检测的机制要具有以下的属性:的机

55、制要具有以下的属性: 检测到所有的全局到所有的全局错误 检测到到发送器所有的局部送器所有的局部错误 可以可以检测到到报文里多达文里多达5 5个任意分布的个任意分布的错误 检测到到报文里文里长度低于度低于1515(位)的突(位)的突发性性错误 检测到到报文里任一奇数个的文里任一奇数个的错误 错误标定和恢复定和恢复时间 任何任何检测到到错误的的节点会点会标志出志出损坏的坏的报文。此文。此报文会失文会失效并将自效并将自动地开始重新地开始重新传送。如果不再出送。如果不再出现错误的的话,从,从检测淹偶帅伙砒什违残猿怒止跃察逗级颠橇抽硫吞悉弊弘难宠影渍鹤贫刽寓沤现场总线与工业以太网CAN总线现场总线与工业

56、以太网CAN总线到到错误的的节点点会会标志志出出损坏坏的的报文文。此此报文文会会失失效效并并将将自自动地地开开始始重重新新传送送。如如果果不不再再出出现错误的的话,从从检测到到错误到到下下一一报文的文的传送开始送开始为止,恢复止,恢复时间最多最多为3131个位的个位的时间。 8 8故障界定故障界定 CAN CAN 节点点能能够把把永永久久故故障障和和短短暂扰动区区别开开来来。故故障障的的节点会被关点会被关闭。 9 9总线值总线值 总线有有二二个个互互补的的逻辑值:“显性性”或或“隐性性”。“显性性”位位和和“隐性性”位位同同时传送送时,总线的的结果果值为“显性性”。比比如如,在在总线的的“写写

57、与与”执行行时,逻辑0 0代代表表“显性性”等等级,逻辑1 1代代表表“隐性性”等等级。 10 10应答应答 所所有有的的接接收收器器检查报文文的的连贯性性。对于于连贯的的报文文,接接收收器器应答,答,对于不于不连贯的的报文,接收器作出文,接收器作出标志。志。 稀瞧只播搂诀缚补晦吩禁省逞反神畦逆瞎斧旗孙眺估痉饵雀旋诸阶际绸蕾现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.3.2CAN的报文及结构的报文及结构 在在总线上上的的任任意意节点点均均可可以以作作为发送送器器或或接接收收器器,那那么么我我们就就将将发出出报文文的的节点点叫叫发送送器器,该节点点在在总线空空闲或或丢失失仲仲

58、裁裁前前始始终为发送送器器。如如果果一一个个节点点不不是是发送送器器,且且总线不不是是处于于空空闲状状态,则该节点点就就叫叫接接收收器器。报文文由由一一个个发送送器器发出,再由一个或多个接收器接收。出,再由一个或多个接收器接收。 报文文传输由由4 4个不同个不同类型的型的帧表示和控制:表示和控制: 数数据据帧:数数据据帧携携带数数据据从从发送送器器至至接接收收器器。总线上上传输的大多是的大多是这个个帧。 远程程帧:由由总线单元元发出出,请求求发送送具具有有同同一一识别符符的的数数据据帧。数据。数据帧(或(或远程程帧)通)通过帧间空空间与其他各与其他各帧分开。分开。 错误帧:任何:任何单元一但元

59、一但检测到到总线错误就就发出出错误帧。 过载帧:过载帧用用以以在在先先行行的的和和后后续的的数数据据帧(或或远程程帧)之之间提供一附加的延提供一附加的延时。 馁劳烹舶撑已虹午碟鞭航找销折犀甜廓儡贼棠允渡凳谱兄画戌敬术素沂钧现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线1 1数据帧数据帧 数据数据帧由由7 7个不同的位个不同的位场组成:成:帧起始(起始(Stsrt of Stsrt of FrameFrame)、仲裁)、仲裁场(Arbitration FrameArbitration Frame)、控制)、控制场(Control Control FrameFrame)、数据)、数据

60、场(DataFrameDataFrame)、)、CRC CRC 场(CRC FrameCRC Frame)、)、应答答场(ACK FrameACK Frame)、)、帧结尾(尾(End of FrameEnd of Frame)。数据)。数据场的的长度可以度可以为0 0。CAN 2.0ACAN 2.0A数据数据帧的的组成如成如图4.64.6所示。所示。 图图4.6 4.6 数据帧的组成数据帧的组成刷疮经泄恨晚笛苛苛卸炎斑纬祝帆耐泊维饺灌停野坝伯睦秆森穿兹刊峨伯现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 帧起始起始 帧起始(起始(SOFSOF)标志数据志数据帧和和远程程帧的起始

61、,的起始,仅由一个由一个“显性性”位位组成。只在成。只在总线空空闲时才允才允许站开始站开始发送。送。所有站必所有站必须同步于首先开始同步于首先开始发送送报文的站的文的站的帧起始前沿。起始前沿。 仲裁仲裁场 仲裁仲裁场包括包括识别符和符和远程程发送送请求位(求位(RTR RTR )。)。见图4.74.7仲裁仲裁场结构示意构示意图图图4.7 4.7 仲裁场结构示意图仲裁场结构示意图祷网魏胞喘渺恬蚀碉篷轧养侈吊哀您皱板檄慷礁啃士凯喜笨撼巩另耀惮榨现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图4.8 标准格式数据帧与扩展格式数据帧的仲裁场图图4.8 4.8 标准格式数据帧与扩展格式数据

62、帧的仲裁场标准格式数据帧与扩展格式数据帧的仲裁场纫妖养俐陆呸强鸿湖达辈碎皿积缓炒悸迎闷获危饮首奴农询蔼吧薛名缮滩现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 识别符:识别符: 标准格式准格式识别符的符的长度度为1111位,相当于位,相当于扩展格式的基本展格式的基本IDID(Base IDBase ID)。)。这些位按些位按ID-28ID-28到到ID-18ID-18的的顺序序发送。最低位是送。最低位是ID-18ID-18。7 7个最高位(个最高位(ID-28-ID-22ID-28-ID-22)必)必须不能全是不能全是“隐性性”。 扩展格式展格式识别符和符和标准格式形成准格式形成

63、对比,比,参参见图4.84.8标准格式准格式数据数据帧与与扩展格式数据展格式数据帧的仲裁的仲裁场比比较,扩展格式由展格式由2929位位组成。成。其格式包含两个部分:其格式包含两个部分:1111位基本位基本IDID、1818位位扩展展IDID。基本。基本IDID包括包括1111位,它按位,它按ID-28ID-28到到ID-18ID-18的的顺序序发送。它相当于送。它相当于标准准识别符的符的格式。基本格式。基本IDID定定义扩展展帧的基本的基本优先先权。扩展展IDID:扩展展IDID包括包括1818位。它按位。它按ID-17ID-17到到ID-0ID-0顺序序发送。送。 标准准帧里,里,识别符其后

64、是符其后是RTRRTR位。位。 RTR RTR位:位: RTR RTR的全称的全称为“远程程发送送请求位(求位(Remote Transmission Remote Transmission Request BITRequest BIT)”。缚椒廉后谈并间歹桨敛柳复咎簧永咐坚屠菇逝宣羚饼传仲晌紫突诞育佯茁现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 SRR SRR是一是一隐性位。它在性位。它在扩展格式的展格式的标准准帧RTRRTR位位置,因此代位位置,因此代替替标准准帧的的RTRRTR位。位。 因此,因此,标准准帧与与扩展展帧的冲突是通的冲突是通过标准准帧优先于先于扩展展帧这一

65、途径得以解决的,一途径得以解决的,扩展展帧的基本的基本IDID如同如同标准准帧的的识别符。符。 IDE IDE位:位: IDE IDE的全称是的全称是“识别符符扩展位(展位(Identifier Extension BitIdentifier Extension Bit)”标准格式里的准格式里的IDEIDE位位为“显性性”,而,而扩展格式里的展格式里的IDEIDE位位为“隐性性”。 控制控制场 控制控制场由由6 6个位个位组成。如成。如图4.94.9所示。所示。图图4.9 4.9 控制场示意图控制场示意图卞溯珠剩忙就盟睹颈陆体倦仗俯泪劈拽叹惶挡召左逗相紫蛇距示决绦谱褥现场总线与工业以太网CAN

66、总线现场总线与工业以太网CAN总线表表4.1 4.1 数据长度代码表数据长度代码表 数据字节数数据长度代码DLCDLCDLCDLC00dddd1dddr2ddrd3ddrr4drdd5drdr6drrd7drrr8rddd 标准格式里的准格式里的帧包括数据包括数据长度代度代码、IDEIDE位(位(为显性位)性位)、及保留位、及保留位r0r0。扩展格式里的展格式里的帧包括数据包括数据长度代度代码和两个保和两个保留位:留位:r1r1和和r0r0。 保留位保留位:必必须发送送为显性,性,但是接收器但是接收器认可可“显性性”和和“隐性性”位的位的组合。合。 数据长度代码:数据长度代码:数据数据长度度代

67、代码指示了数据指示了数据场里的字里的字节数数量。数据量。数据长度代度代码为4 4个位,个位,它在控制它在控制场里里发送。数据送。数据长度度代代码中数据字中数据字节数的数的编码 缩写:写:d d“显性性” r r“隐性性”呐萌宛臭被惊腿赊视呆搀冉榔漳诬陕妆篱闻窄骆嫂颊蛆互眩落蛙铣傲逾登现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 数据数据帧允允许的数据字的数据字节数:数:00,1 1,.,7 7,88。 其他的数其他的数值不允不允许使用。使用。 数据数据场 数据数据场由数据由数据帧里的里的发送数据送数据组成。它可以成。它可以为0 08 8个字个字节,每字,每字节包含了包含了8 8

68、个位,首先个位,首先发送送MSBMSB。 CRC CRC场(见图图4.104.10) CRC CRC场包括包括CRCCRC序列(序列(CRC CRC SEQUENCESEQUENCE),和),和CRCCRC界定符(界定符(CRC DELIMITERCRC DELIMITER)。)。 CRC CRC序列:序列: CRC CRC序列是由循序列是由循环冗余冗余码求得的求得的帧检查序列序列组成,最适用成,最适用于位数低于于位数低于127127位位BCHBCH码的的帧。为进行行CRCCRC计算,被除的多算,被除的多项式系数由无填充位流式系数由无填充位流给定,定,组成成这些位流的成分是:些位流的成分是:帧

69、起起始、仲裁始、仲裁场、控制、控制场、数据、数据场(假如有),而(假如有),而1515个最低位的个最低位的系数是系数是0 0。将此多。将此多项式被下面的多式被下面的多项式式发生器除(其系数以生器除(其系数以2 2为模):模): X15+X14+X10+X8+X7+X4+X3+1 X15+X14+X10+X8+X7+X4+X3+1伞丛榜踊屈量剐嘴小炽馅踊陵自抠圭榷陆拢丈吨列蝗炕赴聂壬龋搭车医轧现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线这个多个多项式除法的余数就是式除法的余数就是发送到送到总线上的上的CRCCRC序列。序列。图图4.10 CRC4.10 CRC场示意图场示意图 C

70、RC CRC 界定符界定符 CRC CRC 序列之后是序列之后是CRC CRC 界定符,它包含一个界定符,它包含一个单独的独的“隐性性”位。位。 应答答场 应答答场长度度为2 2个位,包含个位,包含应答答间隙(隙(ACK ACK SLOTSLOT)和)和应答界定符(答界定符(ACK DELIMITERACK DELIMITER)。)。见图4.114.11。图图4.11 4.11 应答场示意图应答场示意图歪挞册侩策诺放祝裤镜沉栋热奋珍岂噬呜四敢五轩悠焰学邪蔗阅耪儡蔫伊现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 在在应答答场里,里,发送站送站发送两个送两个“隐性性”位。当接收器正

71、确地位。当接收器正确地接收到有效的接收到有效的报文,接收器就会在文,接收器就会在应答答间隙(隙(ACK SLOTACK SLOT)期)期间(发送送ACKACK信号)向信号)向发送器送器发送一送一“显性性”位以示位以示应答。答。 应答间隙应答间隙 所有接收到匹配所有接收到匹配CRC CRC 序列(序列(CRC SEQUENCECRC SEQUENCE)的站会在)的站会在应答答间隙(隙(ACK SLOTACK SLOT)期)期间用一用一“显性性”的位写入的位写入发送器的送器的“隐性性”位位来作出回答。来作出回答。 应答界定符应答界定符 应答界定符是答界定符是应答答场的第二个位,并且是一个必的第二个

72、位,并且是一个必须为“隐性性”的位。因此,的位。因此,应答答间隙(隙(ACK SLOTACK SLOT)被两个)被两个“隐性性”的位所包的位所包围,也就是也就是CRCCRC界定符(界定符(CRC DELIMITERCRC DELIMITER)和)和应答界定符(答界定符(ACK ACK DELIMITERDELIMITER)。)。 帧结尾尾 每一个数据每一个数据帧和和远程程帧均由一均由一标志序列定界。志序列定界。这个个标志序列由志序列由7 7个个“隐性性”的位的位组成。成。 脆歧惹舰灭亮糯捍剖序悠拯呐伯重阿油训血慈挽拴怪铱淮拨筑零呜苟静蝉现场总线与工业以太网CAN总线现场总线与工业以太网CAN总

73、线 2. 2. 远程程帧 通通过发送送远程程帧,作,作为某数据接收器的站可以初始化通某数据接收器的站可以初始化通过其其资源源节点点传送不同的数据。送不同的数据。 远程程帧也有也有标准格式和准格式和扩展格式,而且都由展格式,而且都由帧起始、仲裁起始、仲裁场、控制、控制场、CRC CRC 场、应答答场、帧结尾等尾等6 6个不同的位个不同的位场组成成(如(如图图4.124.12所示)。所示)。 与数据与数据帧相反,相反,远程程帧的的RTRRTR位是位是“隐性性”的。它没有数据的。它没有数据场,数据数据长度代度代码的数的数值是不受制是不受制约的(可以的(可以标注注为容容许范范围里里0.80.8的任何数

74、的任何数值)。此数)。此数值是相是相应于数据于数据帧的数据的数据长度代度代码。 RTR RTR位的极性表示了所位的极性表示了所发送的送的帧是一数据是一数据帧(RTRRTR位位“显性性”)还是一是一远程程帧(RTRRTR“隐性性”)。)。焉楼骏就寄穿田铁佩诣柠掺杯路阴舱坞喉挫崭沿妥衣昨液僳郊掘孔案骗热现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图图4.12 4.12 远程帧的组成远程帧的组成 3. 3.错误帧错误帧 错误帧由两个不同的场组成(如错误帧由两个不同的场组成(如图4.134.13所示)。第一个所示)。第一个场用是不同站提供的用是不同站提供的错误标志(志(ERROR FL

75、AGERROR FLAG)的叠加。第二个)的叠加。第二个场是是错误界定符。界定符。 为了能正确地了能正确地终止止错误帧,“错误被被动”的的节点要求点要求总线至至少有少有长度度为3 3个位个位时间的的总线空空闲(如果(如果“错误被被动”的接收器的接收器有局部有局部错误的的话)。因此,)。因此,总线的的载荷不荷不应为100%100%。 贾进泅唁馅狰竿斑嫡矩匪柑榔烈镶蒜捉航唉禁咙唁旧肾坡储微柜襟牟每炸现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图图4.13 4.13 错误帧的组成错误帧的组成 错误标志错误标志 有两种形式的有两种形式的错误标志:主志:主动的的错误标志和被志和被动的的错

76、误标志。志。 1. 1. 主主动的的错误标志由志由6 6个个连续的的“显性性”位位组成。成。 2. 2. 被被动的的错误标志由志由6 6个个连续的的“隐性性”的位的位组成,除非成,除非 其他其他节点的点的“显性性”位重写。位重写。 检测到错误条件的检测到错误条件的“错误激活错误激活”的站通过发送主动错误标志的站通过发送主动错误标志指示错误。指示错误。辗瞩镐狮盖兜认待鸵稚沁渣城窄漂锚辩汐苗甜蹋厦癣桂弦龙拘煤箭须窝脓现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 错误标志的形式破坏了从帧起始到错误标志的形式破坏了从帧起始到CRCCRC界定符的位填充界定符的位填充的规则,或者破坏了的规

77、则,或者破坏了ACKACK场或帧结尾场的固定形式。所有其场或帧结尾场的固定形式。所有其他的站由此检测到错误条件并与此同时开始发送错误标志。他的站由此检测到错误条件并与此同时开始发送错误标志。因此,因此,“显性显性”位(此位(此“显性显性”位可以在总线上监视)的序位可以在总线上监视)的序列导致一个结果,这个结果就是把个别站发送的不同的错误列导致一个结果,这个结果就是把个别站发送的不同的错误标志叠加在一起。这个序列的总长度最小为标志叠加在一起。这个序列的总长度最小为6 6个位,最大为个位,最大为1212个位。个位。 检测到错误条件的检测到错误条件的“错误被动错误被动”的站试图通过发送被动的站试图通

78、过发送被动错误标志指示错误。错误标志指示错误。“错误被动错误被动”的站等待的站等待6 6个相同极性的个相同极性的连续位(这连续位(这6 6个位处于被动错误标志的开始)。当这个位处于被动错误标志的开始)。当这6 6个相同个相同的位被检测到时,被动错误标志的发送就完成了。的位被检测到时,被动错误标志的发送就完成了。 错误界定符错误界定符 错误界定符包括错误界定符包括8 8个个“隐性隐性”的位。的位。 驭厄烃摸蝎驼艺胆丢劲桃陀貉舷睁巢腻陵涯店笔倒硒胯益蛇缎狡杰瘸贰馋现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 4. 4. 过载帧过载帧 过载帧包括两个位包括两个位场:过载标志和志和过载

79、界定符(如界定符(如图4.144.14所所示)。示)。 有三种有三种过载的情况,的情况,这三种情况都会引三种情况都会引发过载标志的志的传送:送: 1. 1.接收器的内部情况(此接收器接收器的内部情况(此接收器对于下一数据于下一数据帧或或远程程帧需要需要有一延有一延时)。)。 2. 2.在在间歇的第一和第二字歇的第一和第二字节检测到一个到一个“显性性”位。位。 3. 3.如果如果CANCAN节点在点在错误界定符或界定符或过载界定符的第界定符的第8 8位(最后一位)位(最后一位)采采样到一个到一个显性位,性位,节点会点会发送一个送一个过载帧(不是(不是错误帧)。)。错误计数器不会增加。数器不会增加

80、。 根据根据过载情况情况1 1而引而引发的的过载帧只允只允许起始于所期望的起始于所期望的间歇的歇的第一个位第一个位时间,而根据情况,而根据情况2 2和情况和情况3 3引引发的的过载帧应起始于所起始于所检测到到“显性性”位之后的位。位之后的位。 通常通常为了延了延时下一个数据下一个数据帧或或远程程帧,两种,两种过载帧均可均可产生。生。 痹伯戳龟种坠课慰矗纱呵炳骏麓晰牵慷傅腋裳民特魔梆一舶攫邵魔围樱阿现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图图4.14 4.14 过载帧的组成过载帧的组成 过载标志:过载标志: 过载标志由过载标志由6 6个个“显性显性”的位组成。过载标志的所有形

81、式和的位组成。过载标志的所有形式和主动错误标志的一样。主动错误标志的一样。 过载标志的形式破坏了间歇场的固定形式。因此,所有其过载标志的形式破坏了间歇场的固定形式。因此,所有其他的站都检测到过载条件并与此同时发出过载标志。如果有的他的站都检测到过载条件并与此同时发出过载标志。如果有的节点在间歇的第节点在间歇的第3 3个位期间检测到个位期间检测到“显性显性”位,则这个位将解释位,则这个位将解释为帧的起始。为帧的起始。 做盈涸买楷倘淌镁壁较尤试琴天米赏厌日佛蔷谐隙档渊撬被搜嫡涣妻堰快现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 过载界定符(过载界定符(Overload Delime

82、terOverload Delimeter) 过载界定符包括界定符包括8 8个个“隐性性”的位。的位。过载界定符的形式和界定符的形式和错误界定符的形式一界定符的形式一样。过载标志被志被传送后,站就一直送后,站就一直监视总线直到直到检测到一个从到一个从“显性性”位到位到“隐性性”位的跳位的跳变。此。此时,总线上的每一个站完成了上的每一个站完成了过载标志的志的发送,并开始同送,并开始同时发送其送其余余7 7个个“隐性性”位。位。5. 5. 帧间空空间 帧间空空间是用于隔离数据是用于隔离数据帧(或(或远程程帧)与先行)与先行帧(数(数据据帧、远程程帧、错误帧、过载帧)的。而)的。而过载帧与与错误帧之

83、之前没有前没有帧间空空间,多个,多个过载帧之之间也不用也不用帧间空空间隔离。隔离。帧间空空间包括包括间歇歇场、总线空空闲的位的位场。如果。如果“错误被被动”的的站已作站已作为前一前一报文的文的发送器送器时,则其其帧空空间除了除了间歇、歇、总线空空闲外,外,还包括称作挂起包括称作挂起传送的位送的位场。姆洽痒挡挨枢缮滥僳福屏峡匹猴圾炉悬王甚灌硷狠烟择粘侄旅函凉码式冤现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线间歇间歇 间歇包括歇包括3 3个个“隐性性”的位。的位。间歇期歇期间,所有的站均不允,所有的站均不允许传送数据送数据帧或或远程程帧,唯一要做的是,唯一要做的是标示一个示一个过载

84、条件。条件。总线空闲总线空闲 总线空空闲的的时间是任意的。只要是任意的。只要总线被被认定定为空空闲,任何等待,任何等待发送送报文的站就会文的站就会访问总线。在。在发送其他送其他报文文期期间,有,有报文被挂起,文被挂起,对于于这样的的报文,其文,其传送起始于送起始于间歇歇之后的第一个位。之后的第一个位。总线上上检测到的到的“显性性”的位可被解的位可被解释为帧的起始。的起始。挂起挂起传送送 “错误被被动”的站的站发送送报文后,站就在下一文后,站就在下一报文开文开始始传送之前或送之前或总线空空闲之前之前发出出8 8个个“隐性性”的位跟随在的位跟随在间歇的歇的后面。如果与此同后面。如果与此同时另一站开

85、始另一站开始发送送报文(由另一站引起),文(由另一站引起),则此站就作此站就作为这个个报文的接收器。文的接收器。埔疫绦碗居啼朝茅登萤址耸套屡撂埃毡部歉渡掳吟视布厦史理蠢猩宅绷决现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.3.3 CAN4.3.3 CAN的位仲裁技术的位仲裁技术要对数据进行实时处理,就必须将数据快速传送,这就要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。发送数据时,要求快速地进行总线分配。 CANCAN总线以报文为单位进

86、行数据传送,报文的优先级总线以报文为单位进行数据传送,报文的优先级结结合在合在11位标识符中,具有最低二进制数的标识符有最高的优位标识符中,具有最低二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被更先级。这种优先级一旦在系统设计时被确立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。改。总线读取中的冲突可通过位仲裁解决。如如图图4.15所示,当几个站同时发送报文时,站所示,当几个站同时发送报文时,站1的报文标的报文标识符为识符为0111110000;站;站2的报文标识符为的报文标识符为01001100000;站;站3的报文标识符为的报文标识符为010011100

87、00。泥削朝捏禾伸筷伪陌圈详全插茂迹楷轩俐萎港谊柞肪芝书若徒存策衣柿贫现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线站3报文站1报文站2报文01111110000报文标识符01001100000010011100001丢掉0100110000001001110000101001100000丢掉跟踪图图4.15 4.15 位仲裁示意图位仲裁示意图所有标识符都有相同的两位所有标识符都有相同的两位01,直到第,直到第3位进行比较时,站位进行比较时,站1的报文被丢掉,因为它的第的报文被丢掉,因为它的第3位为高,而其它两个站的报文第位为高,而其它两个站的报文第3位为低。站位为低。站2和站和

88、站3报文的报文的4、5、6位相同,直到第位相同,直到第7位时,站位时,站3的的报文才被丢失。报文才被丢失。残浊娟烂铸贰相甄嗡囊佬啃堰诈获盅歌亦家蓑痉砧椽漳瞳浅靴兄滴肉芽畅现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 注意,注意,总线总线中的信号持中的信号持续续跟踪最后跟踪最后获获得得总线读总线读取取权权的站的的站的报报文。在此例中,站文。在此例中,站2 2的的报报文被跟踪。文被跟踪。这这种非破坏性位仲裁方法种非破坏性位仲裁方法的的优优点在于,在网点在于,在网络络最最终终确定哪一个站的确定哪一个站的报报文被文被传传送以前,送以前,报报文的起始部分已文的起始部分已经经在网在网络络上

89、上传传送了。所有未送了。所有未获获得得总线读总线读取取权权的的站都成站都成为为具有最高具有最高优优先先权报权报文的接收站,并且不会在文的接收站,并且不会在总线总线再次再次空空闲闲前前发发送送报报文。文。 CAN CAN具有具有较较高的效率是因高的效率是因为总线仅仅为总线仅仅被那些被那些请请求求总线悬总线悬而未而未决的站利用,决的站利用,这这些些请请求是根据求是根据报报文在整个系文在整个系统统中的重要性按中的重要性按顺顺序序处处理的。理的。这这种方法在网种方法在网络负载较络负载较重重时时有很多有很多优优点,因点,因为总线为总线读读取的取的优优先先级级已被按已被按顺顺序放在每个序放在每个报报文中了

90、,文中了,这这可以保可以保证证在在实实时时系系统统中中较较低的个体低的个体隐隐伏伏时间时间对于主站的可靠性,由于对于主站的可靠性,由于CANCAN协议协议执行非集中化总线控制,所有主要通信,包括总线读取执行非集中化总线控制,所有主要通信,包括总线读取( (许可许可) )控制,在系统中分几次完成。这是实现有较高可靠性的通信系控制,在系统中分几次完成。这是实现有较高可靠性的通信系统的唯一方法统的唯一方法 班悉懈粮宪侗欺冷驼桨婚拾战骑渣埃讹紊荐莆死赖榆淄臭旨昨卸败诚特届现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.4 4.4 典型典型CANCAN总线器件及应用总线器件及应用4.4.

91、1 4.4.1 SJA1000 CANSJA1000 CAN控制器控制器4.4.2 4.4.2 PCA82C250 CAN PCA82C250 CAN 收发器收发器4.4.3 4.4.3 CAN BUSCAN BUS节点设计举例节点设计举例拳版尹李醉铭剿痪讥韦租备耙肋楔溪佰孺雀瑟炉棘硫诱鹃忿鸭畜宠搪歧蚌现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.4典型典型CAN总线器件及应用总线器件及应用4.4.1SJA1000CAN控制器控制器SJA1000SJA1000是一个独立的是一个独立的CANCAN控制器,它在汽控制器,它在汽车车和普通的工和普通的工业业应应用上有先用上有先进进的

92、特征。由于它和的特征。由于它和PCA82C200PCA82C200在硬件和在硬件和软软件都兼容,件都兼容,因此它将会替代因此它将会替代PCA82C200PCA82C200,SJA1000SJA1000有一系列先有一系列先进进的功能,适的功能,适合于多种合于多种应应用特用特别别在系在系统优统优化化诊诊断和断和维护维护方面非常重要。方面非常重要。 SJA1000 SJA1000在在软软件和引脚上都是与它的前一款件和引脚上都是与它的前一款PCA82C200PCA82C200独立独立控制器兼容的。在此基控制器兼容的。在此基础础上它增加了很多新的功能,上它增加了很多新的功能,为为了了实现实现软软件兼容,

93、件兼容,SJA1000SJA1000独立的独立的CANCAN控制器有控制器有2 2个不同的操作模式:个不同的操作模式:1 BasicCAN1 BasicCAN模式:模式:和和PCA82C200PCA82C200兼容。兼容。BasicCANBasicCAN模式是上模式是上电电后默后默认认的操作模式,因此用的操作模式,因此用PCA82C200PCA82C200开开发发的已有硬件和的已有硬件和软软件,可以件,可以直接在直接在SJA1000SJA1000上使用而不用作任何修改。上使用而不用作任何修改。 衬斟延甩擂起柳携沈讥迎轰墟蜀呕其蹬宝辕添铂共铁怜终提龙谤炊元语女现场总线与工业以太网CAN总线现场总

94、线与工业以太网CAN总线 2PeliCAN模式:模式:是新的操作模式。它能够处理所有是新的操作模式。它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,使规范的帧类型。而且它还提供一些增强功能,使SJA1000能应用于更宽的领域。能应用于更宽的领域。 工作模式通工作模式通过时钟过时钟分分频频寄存器中的寄存器中的CANCAN模式位来模式位来选择选择,复,复位位时时默默认认模式是模式是Basic CANBasic CAN模式。模式。SJA1000控制器结构控制器结构 SJA1000SJA1000控制器可以分控制器可以分为为CANCAN核心模核心模块块、接口管理、接口管理逻辑逻辑、发

95、发送送缓缓冲器、冲器、验验收收滤滤波器、接收波器、接收FIFOFIFO等五个功能模等五个功能模块块,SJA1000SJA1000控制器控制器结结构构图图如如图图4.164.16所示。由主控制器所示。由主控制器进进行管理控行管理控制、将欲收制、将欲收发发的信息(的信息(报报文),文),转换为转换为CANCAN规规范的范的CANCAN帧帧,通,通过过CANCAN收收发发器,在器,在CAN BUSCAN BUS上交上交换换信息。信息。 仇摔予刮断族缨醉幌渣乞怀惊这冠辗签瞅呵撼蕉砒追宝攻信照嵌菩孰杏褂现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线CAN BUSCAN核心模块发送缓冲器接口

96、管理逻辑接收FIFO验收滤波器主 控 制器CAN收发器图图4.16 SJA1000 4.16 SJA1000 控制器结构图控制器结构图奇鹅脂若广衫铰脯斌鲁性护尿艰屯眷坐痉撤唱流抖苑哟辉旺菠廷镰猾旭惰现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 CAN CAN核心模块:核心模块:根据根据CANCAN规规范控制范控制CANCAN帧帧的的发发送和接收。收到一个送和接收。收到一个报报文文时时,CANCAN核心模核心模块块将串行位流将串行位流转换转换成用于的并行数据,成用于的并行数据,发发送一送一个个报报文文时则时则相反。相反。 接口管理逻辑:接口管理逻辑:用于用于连连接外部主控制器。外

97、部可以是微型控制器接外部主控制器。外部可以是微型控制器或任何其他器件,或任何其他器件,SJA1000SJA1000通通过过复用的地址复用的地址/ /数据数据总线总线,与主控制器,与主控制器联联系。系。 发送缓冲器:发送缓冲器:用于存用于存储储一个完整的一个完整的扩扩展的或展的或标标准的准的报报文。当主控文。当主控制器初始制器初始发发送送时时,接口管理,接口管理逻辑逻辑会使会使CANCAN核心模核心模块块从从发发送送缓缓冲器冲器读读CANCAN报报文。文。 验收滤波器:验收滤波器:通通过这过这个可个可编编程的程的滤滤波器能确定主控制器要接收哪波器能确定主控制器要接收哪些些报报文。文。 接收接收F

98、IFOFIFO:用于存用于存储储所有收到的所有收到的报报文,文,储储存存报报文的多少由工作模文的多少由工作模式决定,最多能存式决定,最多能存储储3232个个报报文。因文。因为为数据超数据超载载可能性被大大降低,可能性被大大降低,这这使用使用户户能更灵活地指定中断服能更灵活地指定中断服务务和中断和中断优优先先级级。 SJA1000 SJA1000控制器功能框控制器功能框图图CAN CAN 控制模控制模块块SJA1000SJA1000功能框功能框图图如如图图4.174.17所示,由以下部分所示,由以下部分组组成成 金韭坐膘厦昔咖祷知貌腿旺毫销拯回纹缨佑辜涅垛吼赡阿典葵宾雌耻珐翌现场总线与工业以太网

99、CAN总线现场总线与工业以太网CAN总线图图4.17 SJA1000 4.17 SJA1000 控制器功能框图控制器功能框图潮叠鼎可冶穗氦饲倘狰颜鸽君治临慈忱泉梯根茹页桓骚歪蚤调紫掷刹出赘现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 (1)1)接口管理逻辑(接口管理逻辑(IMLIML)接口管理接口管理逻辑逻辑解解释释来自来自CPU CPU 的命令,的命令,控制控制CAN CAN 寄存器的寄存器的寻寻址,向主控制器提供中断信息和状址,向主控制器提供中断信息和状态态信息。信息。由由8 8位并行地址位并行地址/ /数据数据总线总线和片和片选选、读读、写、写、时钟时钟、使能等控制信、使

100、能等控制信号号线线与主控制与主控制CPUCPU相相连连接。接。 (2)2)发送缓冲器(发送缓冲器(TXBTXB) 发发送送缓缓冲器是冲器是CPU CPU 和和BSPBSP(位流(位流处处理器)理器)之之间间的接口,能的接口,能够够存存储发储发送到送到CANCAN网网络络上的完整信息,上的完整信息,缓缓冲器冲器长长1313个字个字节节,由,由CPU CPU 写入、写入、BSP BSP 读读出。出。 (3)3)接收缓冲器(接收缓冲器(RXBRXB,RXFIFORXFIFO) 接收接收缓缓冲器是冲器是验验收收滤滤波器和波器和CPUCPU之之间间的接口,用来的接口,用来储储存从存从CAN CAN 总线

101、总线上接收的信息,接收上接收的信息,接收缓缓冲器冲器(RXBRXB,1313个字个字节节)作)作为为接收接收FIFOFIFO(RXFIFORXFIFO,长长6464个字个字节节)的一个)的一个窗口,可被窗口,可被CPUCPU访问访问,CPUCPU在此在此FIFOFIFO的支持下可以在的支持下可以在处处理信息的理信息的时时候接收其它信息。候接收其它信息。 (4)4)验收滤波器(验收滤波器(ACFACF) 验验收收滤滤波器把它其中的数据和接收波器把它其中的数据和接收的的识别码识别码的内容相比的内容相比较较,以决定是否接收信息。在,以决定是否接收信息。在纯纯粹的接收粹的接收测测试试中,所有的信息都保

102、存在中,所有的信息都保存在RXFIFORXFIFO中。中。补贴雷栓浮棘挞默紧午肆函僵的阿忆套担陪十钻女润喧行殉捣清滓强量渤现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 (5)5)位流处理器(位流处理器(BSPBSP) 位流位流处处理器是一个在理器是一个在发发送送缓缓冲器、冲器、RXFIFO RXFIFO 和和CAN CAN 总线总线之之间间,控制数据流的程序装置,它,控制数据流的程序装置,它还还在在CAN CAN 总线总线上上执执行行错误检测错误检测、仲裁填充和、仲裁填充和错误处错误处理。理。 (6)6)位时序逻辑(位时序逻辑(BTLBTL) 位位时时序序逻辑监视逻辑监视串口的

103、串口的CANCAN总线总线和和处处理与理与总线总线有关的位有关的位时时序。它在信息开序。它在信息开头头的的总线传输时总线传输时同步同步CAN CAN 总线总线位流(硬同步),接收信息位流(硬同步),接收信息时时再次同步下一次再次同步下一次传传送(送(软软同同步)步)BTL BTL 还还提供了可提供了可编编程的程的间间段来段来补偿传补偿传播延播延迟时间迟时间、相位、相位转转换换(例如:由于振(例如:由于振荡荡漂移)和定漂移)和定义义采采样样点和一位点和一位时间时间内的采内的采样样次数。次数。 (7)7)错误管理逻辑(错误管理逻辑(EMLEML) EMLEML负责传负责传送送层层模模块块的的错误错

104、误管制。管制。它接收它接收BSP BSP 的出的出错报错报告。通知告。通知BSP BSP 和和IML IML 进进行行错误统计错误统计。地垃游禽冠悟檄盘徊菩忿莆捌饼纯踢瘟注箩怖粘钟落镇碍惫沃跋傍次临碰现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图图4.18 SJA1000 DIP284.18 SJA1000 DIP28引脚图引脚图SJA1000控制器引脚控制器引脚SJA1000控制器有控制器有DIP28(塑质双列直插(塑质双列直插封装)和封装)和SO28(塑质小(塑质小型外线封装)两种形式,型外线封装)两种形式,DIP28引脚图如引脚图如图图4.18所所示。示。SJA1000引

105、脚排列引脚排列与引脚功能见与引脚功能见表表4.2。元此狄字吹泣摔凹卤贮皇圆夹籽谱涌圣赡任臀瞪翟驻淆灶盎日忍扶弟潘庇现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线表4.2 SJA1000引脚排列与引脚功能表符号符号引脚引脚说明说明AD7-AD02,1,28-23多路地址多路地址/数据总线数据总线ALE/AS3ALE输入信号输入信号Intel模式模式AS输入信号输入信号Motorola模式模式/CS4片选输入低电平允许访问片选输入低电平允许访问SJA1000/RD/E5微控制器(微控制器(CPU)的)的/RD信号信号Intel模式或模式或E使能信号使能信号Motorola模式模式/W

106、R6微控制器(微控制器(CPU)的)的/WR信号信号Intel模式或模式或RD/WR信号信号Motorola模式模式CLKOUT7SJA1000产生的提供给微控制器(产生的提供给微控制器(CPU)的时钟输出信号时钟信号来源于)的时钟输出信号时钟信号来源于内部振荡器且通过编程驱动时钟控制寄存器的时钟关闭位可禁止该引脚内部振荡器且通过编程驱动时钟控制寄存器的时钟关闭位可禁止该引脚VSS18接地接地XTAL19输入到振荡器放大电路外部振荡信号由此输入注输入到振荡器放大电路外部振荡信号由此输入注1XTAL210振荡放大电路输出使用外部振荡信号时左开路输出注振荡放大电路输出使用外部振荡信号时左开路输出注

107、1MODE11模式选择输入模式选择输入1=Intel模式模式0=Motorola模式模式礁驾儡她廖疡宦坊獭如期太怜封惊轴抠哥童腔丹循涕娥恬砸鸭奏懦父漫衫现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线VDD312输出驱动的输出驱动的5V电压源电压源TX013从从CAN输出驱动器输出驱动器0输出到物理线路上输出到物理线路上TX114从从CAN输出驱动器输出驱动器1输出到物理线路上输出到物理线路上VSS315输出驱动器接地输出驱动器接地/INT16中断输出用于中断微控制器(中断输出用于中断微控制器(CPU)/INT在内部中断寄存器在内部中断寄存器各位都被置位时低电平有效各位都被置位时低

108、电平有效/INT是开漏输出且与系统中的是开漏输出且与系统中的其它其它/INT是线或的此引脚上的低电平可以把是线或的此引脚上的低电平可以把IC从睡眠模式从睡眠模式中激活中激活/RST17如如C=1F;R=50kVDD218输入比较器的输入比较器的5V电压源电压源RX0,RX119,20从物理的从物理的CAN总线输入到总线输入到SJA1000的输入比较器;支配控制的输入比较器;支配控制电平将会唤醒电平将会唤醒SJA1000的睡眠模式;如果的睡眠模式;如果RX1比比RX0的电的电平高,就读支配控制电平,反之读弱势电平,如果时钟分平高,就读支配控制电平,反之读弱势电平,如果时钟分频寄存器的频寄存器的C

109、BP位被置位就旁路位被置位就旁路CAN输入比较器以减少内输入比较器以减少内部延时(此时连有外部收发电路)这种情况下只有部延时(此时连有外部收发电路)这种情况下只有RX0是是激活的;弱势电平被认为是高,而支配电平被认为是低。激活的;弱势电平被认为是高,而支配电平被认为是低。VSS221输入比较器的接地端输入比较器的接地端VDD122逻辑电路的逻辑电路的5V电压源电压源表4.2 SJA1000引脚排列与引脚功能表暖骡凳旁晾妊现哭拙窒飞勋妊赣湛旬老戎纪毯寄诚送拯姓涵碍丢剂弛哈全现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.SJA1000的特征的特征SJA1000的特征可以分成的特征

110、可以分成3组:组:与与PCA82C200完全兼容的功能。特征有:完全兼容的功能。特征有:灵活的微处理器接口灵活的微处理器接口-允许接口大多数微型处理器或微允许接口大多数微型处理器或微型控制器。型控制器。可编程的可编程的CAN输出驱动器输出驱动器-对各种物理层的分界面。对各种物理层的分界面。CAN位频率高达位频率高达1Mbit/s-SJA1000覆盖了位频率的所有覆盖了位频率的所有范围,包括高速应用。范围,包括高速应用。改良的改良的PCA82C200功能,这组功能的部份已经在功能,这组功能的部份已经在PCA82C200里实现,但是在里实现,但是在SJA1000里这些功能在速度大里这些功能在速度大

111、小和性能方面得到了改良。特征有:小和性能方面得到了改良。特征有:CAN2.0B(passive)-SJA1000的的CAN2.0Bpassive特征允特征允许许CAN控制器接收有控制器接收有29位标识符的报文。位标识符的报文。64个字节接收个字节接收FIFO-接收接收FIFO,可以存储高达,可以存储高达21个报文,个报文,这延长了最大中断服务时间,避免了数据超载。这延长了最大中断服务时间,避免了数据超载。奶椿诸窖肉缝搅廉欠湍测倒较蝴开本锡壮巨褒哥木致嘻赠薄悍表金痔颇葱现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线24MHz时钟频率时钟频率-微处理器的访问更快和微处理器的访问更快和

112、CAN的位定的位定时选择更多。时选择更多。接收比较器旁路接收比较器旁路-减少内部延迟,由于改进的位定时编减少内部延迟,由于改进的位定时编程,使程,使CAN总线长度更长。总线长度更长。PeliCAN模式的增强功能,在模式的增强功能,在PeliCAN模式里模式里SJA1000支支持一些错误分析功能,支持系统诊断,系统维护,系统优持一些错误分析功能,支持系统诊断,系统维护,系统优化。而且这个模式里也加入了对一般化。而且这个模式里也加入了对一般CPU的支持和系统自的支持和系统自身测试的功能。特征有:身测试的功能。特征有:CAN2.0Bactive-CAN2.0Bactive支持带有支持带有29位标识符

113、的位标识符的网络扩展应用。网络扩展应用。发送缓冲器发送缓冲器-有有11位或位或29位标识符的报文的单报文发送位标识符的报文的单报文发送缓冲器。缓冲器。增强的验收滤波器增强的验收滤波器-两个验收滤波器模式,支持两个验收滤波器模式,支持11位位和和29位标识符的滤波。位标识符的滤波。可读的错误计数器、可编程的出错警告界限、错误代码捕可读的错误计数器、可编程的出错警告界限、错误代码捕捉寄存器、出错中断捉寄存器、出错中断-支持错误分析,在原型阶段和支持错误分析,在原型阶段和在正常操作期间可用于:诊断、系统维护、系统优化。在正常操作期间可用于:诊断、系统维护、系统优化。黍绷镜哮硅毒讽键徒蔡菠毖毡倚逃里散

114、狮既氢东闲虫梢劈秃睫淋幸啦胶贯现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线仲裁丢失捕捉中断仲裁丢失捕捉中断-支持系统优化包括报文延迟时间的支持系统优化包括报文延迟时间的分析。分析。单次发送单次发送-使软件命令最小化和允许快速重载发送缓冲使软件命令最小化和允许快速重载发送缓冲器。器。仅听模式仅听模式-SJA1000能够作为一个认可的能够作为一个认可的CAN监控器操作,监控器操作,可以分析可以分析CAN总线通信或进行自动位速率检测。总线通信或进行自动位速率检测。自测试模式自测试模式-支持全部支持全部CAN节点的功能自测试或在一个节点的功能自测试或在一个系统内的自接收。系统内的自接收

115、。5.BasicCAN模式模式SJA1000是一种是一种I/O设备基于内存编址的微控制器,与设备基于内存编址的微控制器,与其它控制器(其它控制器(CPU)之间的操作是通过象)之间的操作是通过象RAM一样的片内一样的片内寄存器读写来实现的。寄存器读写来实现的。示意图如图示意图如图4.19所示。所示。骄拾抖示塘见河链帕皱挟凝牵宏扒爵萤堕餐揪忌泣就净闯伞夹哟锈黔煮患现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 SJA1000的地址区包括控制段和信息缓冲区。信息缓冲区又的地址区包括控制段和信息缓冲区。信息缓冲区又分为发送缓冲器和接收缓冲器。分为发送缓冲器和接收缓冲器。控制段在初始化时载

116、入,是可以被编程来配置通讯参数的。控制段在初始化时载入,是可以被编程来配置通讯参数的。例如:位时序。例如:位时序。 微处理器 (CPU)CAN收发器控制寄存器SJA1000 CAN控制器命令寄存器状态寄存器中断寄存器验收代码寄存器验收屏蔽寄存器.CAN BUS图图4.19 CAN4.19 CAN总线节点示意图总线节点示意图灼嘲哭掸洲烂朴瑟庶隧瘟悄跟置臃绞岛佐看运沧陛逞晒参漫肝泡砚秩碎蜂现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 微控制器(微控制器(CPUCPU)通过这个段来控制)通过这个段来控制CANCAN总线上的通讯的,总线上的通讯的,在初始化时,在初始化时,CLKOUTC

117、LKOUT信号可以被微控制器(信号可以被微控制器(CPUCPU)编程指定一)编程指定一个值,应发送的信息会被写入发送缓冲器,成功接收信息后,个值,应发送的信息会被写入发送缓冲器,成功接收信息后,微控制器(微控制器(CPUCPU)从接收缓冲器中读取接收的信息,然后释放)从接收缓冲器中读取接收的信息,然后释放空间以做下一步应用。空间以做下一步应用。 微控制器(微控制器(CPUCPU)和)和SJA1000SJA1000之间状态、控制和命令信号的之间状态、控制和命令信号的交换都是在控制段中完成的。交换都是在控制段中完成的。表表4.34.3 是是BasicCAN BasicCAN 各寄存器地各寄存器地址

118、表。址表。 在以下两种不同的模式中访问寄存器是不同的。在以下两种不同的模式中访问寄存器是不同的。 复位模式:复位模式:当硬件复位或控制器掉线总线状态位时会自动当硬件复位或控制器掉线总线状态位时会自动进入复位模式。进入复位模式。 工作模式:工作模式:是通过置位控制寄存器的复位请求位激活的。是通过置位控制寄存器的复位请求位激活的。键菇漆趟驳伪鉴烩笺记瘟罐屠粹刮位谰江豪棠息正兔仅拦滁麻贮拓频恰缸现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线段段CANCAN地址地址寄存器名称(符号)寄存器名称(符号)控制控制0 0控制寄存器控制寄存器1 1命令寄存器命令寄存器2 2状态寄存器状态寄存器3

119、 3中断寄存器中断寄存器4 4验收代码寄存器验收代码寄存器5 5验收屏蔽寄存器验收屏蔽寄存器6 6总线定时寄存器总线定时寄存器0 07 7总线定时寄存器总线定时寄存器18 8输出控制寄存器输出控制寄存器9 9测试寄存器测试寄存器发送缓冲器发送缓冲器1010识别码识别码(ID10-3)(ID10-3)1111识别码识别码ID2-0)+RTRID2-0)+RTR和和DLCDLC12-1912-19数据字数据字1-1-节节8 8接收缓冲器接收缓冲器2020识别码识别码(ID10-3ID10-3)2121识别码识别码ID2-0)+RTRID2-0)+RTR和和DLCDLC22-2922-29数据字节数

120、据字节1-81-830303131时钟分频器时钟分频器表表4.3 BasicCAN 4.3 BasicCAN 地址表地址表峦牺券例左如拦悦俺积侩熊韭酷蜗详辛鸥壤脊勋籽党仆蚀钙痰忿虱筛捂感现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线(1) (1) 控制寄存器控制寄存器(CR)(CR) 控制寄存器的各位内容(控制寄存器的各位内容(CR.0-CR.7CR.0-CR.7)是用于改变)是用于改变CANCAN控制控制器的行为的,这些位可以被微控制器(器的行为的,这些位可以被微控制器(CPUCPU)设置或复位,微)设置或复位,微控制器(控制器(CPUCPU)可以对控制寄存器进行读)可以对控制

121、寄存器进行读/ /写操作。写操作。(2) (2) 命令寄存器命令寄存器(CMR)(CMR) 命令寄存器的各命令位(命令寄存器的各命令位(CMR.0-CMR.7CMR.0-CMR.7)决定)决定SJA1000SJA1000传传输层上的动作,命令寄存器对微控制器(输层上的动作,命令寄存器对微控制器(CPUCPU)来说是只写存)来说是只写存储器。如果去读这个地址返回值是储器。如果去读这个地址返回值是1111111111111111,两条命令之间至,两条命令之间至少有一个内部时钟周期,内部时钟的频率是外部振荡频率的少有一个内部时钟周期,内部时钟的频率是外部振荡频率的/ /。(3) (3) 状态寄存器状

122、态寄存器(SR)(SR) 状态寄存器的各位内容(状态寄存器的各位内容(SR.0-SR.7SR.0-SR.7)内容反映了)内容反映了SJA1000SJA1000的状态。状态寄存器对微控制器(的状态。状态寄存器对微控制器(CPUCPU)来说是只读存储器。)来说是只读存储器。叼炸瓦梧英岛泻冒绪罢慌藏凋峭甩莫游拷和威掠拟橱雅赏溜锑哥狭镇不纂现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 (4)中断寄存器中断寄存器(IR) 中断寄存器各位内容(中断寄存器各位内容(IR.0-IR.7IR.0-IR.7)能够识别中断源,当寄)能够识别中断源,当寄存器的一位或多位被置位时,存器的一位或多位被置位

123、时,/INT/INT(低电平有效)引脚就被激(低电平有效)引脚就被激活了,寄存器被微控制器(活了,寄存器被微控制器(CPUCPU)读过之后,所有导致)读过之后,所有导致/INT/INT引脚引脚上的电平漂移的位被复位,中断寄存器对微控制器(上的电平漂移的位被复位,中断寄存器对微控制器(CPUCPU)来说)来说是只读存储器。是只读存储器。 (5) (5) 发送缓冲器发送缓冲器 发送缓冲器是用来存储微控制器(发送缓冲器是用来存储微控制器(CPUCPU)要)要SJA1000SJA1000发送的发送的信息的。可以分为描述符区和数据区,发送缓冲器的读信息的。可以分为描述符区和数据区,发送缓冲器的读/ /写

124、只能写只能由微控制器(由微控制器(CPUCPU)在工作模式下完成,在复位模式下读出的值)在工作模式下完成,在复位模式下读出的值总是总是FFHFFH。 1) 1)描述符区描述符区 识别码识别码 有有1111位(位(ID0-ID10ID0-ID10)。)。ID10ID10是最高位在仲裁过程中是最高位在仲裁过程中是最先被发送到总线上的识别码。就象信息的名字,它在接收是最先被发送到总线上的识别码。就象信息的名字,它在接收器的验收滤波器中被用到,也在仲裁过程中决定总线访问的优器的验收滤波器中被用到,也在仲裁过程中决定总线访问的优先级。识别码的值越低,其优先级越高。这是因为在仲裁时有先级。识别码的值越低,

125、其优先级越高。这是因为在仲裁时有许多支配控制位开头的字节。许多支配控制位开头的字节。磨坷硬涌罚寸用牡按讯揉康恨坯朋园凄罚叛乃偏梳铺仪唁羊羚葛时捕庶辖现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 远程发送请求远程发送请求RTR RTR 如果此位置如果此位置1 1,总线将以远程帧发送数据,这,总线将以远程帧发送数据,这意味着此段中没有数据字节,尽管如此也需要同识别码相同的数据意味着此段中没有数据字节,尽管如此也需要同识别码相同的数据帧来识别正确的数据长度。帧来识别正确的数据长度。 如果如果RTRRTR位没有被置,位数据将以数据长度码规定的长度来传送。位没有被置,位数据将以数据长度码

126、规定的长度来传送。 数据长度码数据长度码DLC DLC 信息数据区的字节数根据数据长度码编制。在信息数据区的字节数根据数据长度码编制。在远程帧传送中,因为远程帧传送中,因为RTRRTR被置位,数据长度码是不被考虑的。这就被置位,数据长度码是不被考虑的。这就迫使发送迫使发送/ /接收数据字节数为接收数据字节数为0 0。总之,数据长度码必须正确设置,。总之,数据长度码必须正确设置,以避免两个以避免两个CANCAN控制器用同样的识别机制启动远程帧传送而发生总控制器用同样的识别机制启动远程帧传送而发生总线错误。数据字节数是线错误。数据字节数是0-80-8,是以如下方法计算的:,是以如下方法计算的:数据

127、字节数数据字节数=8=8DLC.3+4DLC.3+4DLC.2+2DLC.2+2DLC.1+DLC.0DLC.1+DLC.0为了保持兼容性,数据长度码不超过为了保持兼容性,数据长度码不超过8 8。如果选择的值超过。如果选择的值超过8 8,则按,则按照照DLCDLC规定的规定的8 8字节发送。字节发送。殆返肺搜四市扳熟汐愁宝添吕久粱腺铰擒狠噶笨锭充漾暮劣愈亥改勿淳睬现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图图4.20 RXFIFO4.20 RXFIFO中信息存储示例中信息存储示例2)数据区)数据区 传送的数据字节数由数据长度码决定。发送的第一位是地址传送的数据字节数由数据长度

128、码决定。发送的第一位是地址1212单元的数据字节单元的数据字节1 1的最高位。的最高位。 (6) (6) 接收缓冲器接收缓冲器 图图4.204.20 RXFIFORXFIFO中中信信息息存存储示例储示例用用来来存存储储从从总总线线上上接接收收道道德德信信息息。接接收收缓缓冲冲器器与与发发送送缓缓冲冲器器类类似似,接接收收缓缓冲冲器器是是RXFIFORXFIFO中中可可访访问问的的部部分分,位位于于CANCAN地地址址的的20-2920-29之间。之间。识别码远程发送请求位和识别码远程发送请求位和数据长度码,同发送缓冲数据长度码,同发送缓冲器的相同,只不过是地址器的相同,只不过是地址不同。不同。

129、铅哆储暖隅箱虞替娜驯夜棠骋吏幽广鸿盲虐严突森对蹲剩解迈凭届曝溶谎现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 RXFIFO RXFIFO共有共有6464字节的信息空间,图字节的信息空间,图4.20 4.20 是是 RXFIFO RXFIFO中信息中信息存储示例,在任何情况下,存储示例,在任何情况下,FIFOFIFO中可以存储的信息数取决于各中可以存储的信息数取决于各条信息的长度,如果条信息的长度,如果RXFIFORXFIFO中没有足够的空间来存储新的信息,中没有足够的空间来存储新的信息,CANCAN控制器会产生数据溢出。数据溢出发生时,已部分写入控制器会产生数据溢出。数据溢出发

130、生时,已部分写入RXFIFORXFIFO的当前信息将被删除。这种情况将通过状态位或数据溢的当前信息将被删除。这种情况将通过状态位或数据溢出中断反应到微控制器(出中断反应到微控制器(CPUCPU)。)。 (7) (7)验收滤波器验收滤波器 在验收滤波器的帮助下,在验收滤波器的帮助下,CANCAN控制器能够允许控制器能够允许RXFIFORXFIFO只接收只接收同识别码和验收滤波器中预设值相一致的信息。验收滤波器通同识别码和验收滤波器中预设值相一致的信息。验收滤波器通过验收代码寄存器过验收代码寄存器ACRACR和验收屏蔽寄存器和验收屏蔽寄存器AMRAMR来定义。来定义。 1 1)验收代码寄存器()验

131、收代码寄存器(ACRACR) 复位请求位被置高(当前)时,这个寄存器是可以访问复位请求位被置高(当前)时,这个寄存器是可以访问(读(读/ /写)的,如果一条信息通过了验收滤波器,的测试而且接写)的,如果一条信息通过了验收滤波器,的测试而且接收缓冲器有空间,那么描述符和数据将被分别顺次写入收缓冲器有空间,那么描述符和数据将被分别顺次写入RXFIFORXFIFO,当信息被正确的接收完毕。就会:,当信息被正确的接收完毕。就会: 末卢夺妨橇磷茸刚撅柜庇孤副绥确荧艾颧偿傈瑶船慢涕恰龟郎谬血札咨土现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 接收状态位置高(满)接收状态位置高(满) 接收中

132、断使能位置高(使能)接收中断置高(产生中断)。接收中断使能位置高(使能)接收中断置高(产生中断)。验收代码位(验收代码位(AC.7-AC.0AC.7-AC.0)和信息识别码的高)和信息识别码的高8 8位(位(ID.10-ID.10-ID.3ID.3)相等,且与验收屏蔽位()相等,且与验收屏蔽位(AM.7-AM.0AM.7-AM.0)的相应位相或为)的相应位相或为1 1。即如果满足以下方程的描述,则被接收。即如果满足以下方程的描述,则被接收。 (ID.10-ID.3ID.10-ID.3)()(AC.7-AC.0AC.7-AC.0)(AM.7-AM.0AM.7-AM.0) 111111111111

133、1111 2 2)验收屏蔽寄存器()验收屏蔽寄存器(AMRAMR) 如果复位请求位置高(当前),这个寄存器可以被访问如果复位请求位置高(当前),这个寄存器可以被访问(读(读/ /写)。验收屏蔽寄存器定义验收代码寄存器的相应位对写)。验收屏蔽寄存器定义验收代码寄存器的相应位对验收滤波器是验收滤波器是“相关的相关的”或或“无影响的无影响的”(即可为任意值)。(即可为任意值)。戮莆织戮栏饱阔拥馒敦矮俗绍庚词茁归石赖猩碰警郎奇搞摩化搅叁芽瘴伏现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线(8) (8) 总线定时寄存器总线定时寄存器0(BTR0)0(BTR0) 总线定时寄存器总线定时寄存器

134、0 0,定义了波特率预设值(,定义了波特率预设值(BRPBRP)和同步)和同步跳转宽度(跳转宽度(SJWSJW)的值。复位模式有效时这个寄存器是可以)的值。复位模式有效时这个寄存器是可以被访问(读被访问(读/ /写)的。在写)的。在BasicCANBasicCAN模式中总是模式中总是FFHFFH。 波特率预设值(波特率预设值(BRPBRP) CAN CAN系统时钟系统时钟tSCLtSCL的周期是可编程的周期是可编程的,而且决定了相应的位时序。的,而且决定了相应的位时序。CANCAN系统时钟由如下公式计系统时钟由如下公式计算:算:tSCL=2tSCL=2tCLKtCLK(32(32BRP.5+1

135、6BRP.5+16BRP.4+8BRP.4+8BRP.3+4BRP.3+4BRP.2BRP.2+2+2BRP.1+BRP.0+1)BRP.1+BRP.0+1) 这里这里tCLK=XTALtCLK=XTAL的频率周期的频率周期=1/fXTAL=1/fXTAL恨修铃懈村豹驮洞澄稳狰畅量徘课摩膛隅甚晃庸照炊权衍顾剃崩沏脯菲臆现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 同步跳转宽度同步跳转宽度(SJW) (SJW) 为了补偿在不同总线控制器的时钟振为了补偿在不同总线控制器的时钟振荡器之间的相位偏移,任何总线控制器必须在当前传送的相关荡器之间的相位偏移,任何总线控制器必须在当前传送的相

136、关信号边沿重新同步。同步跳转宽度,定义了每一位周期可以被信号边沿重新同步。同步跳转宽度,定义了每一位周期可以被重新同步,缩短或延长的时钟周期的最大数目:重新同步,缩短或延长的时钟周期的最大数目: t tSJWSJW=t=tSCSCL L(2(2SJW.1+SJW.0+1)SJW.1+SJW.0+1) (9) (9) 总线定时寄存器总线定时寄存器1 1(BTR1)BTR1)) 总线定时寄存器总线定时寄存器1 1定义了每个位周期的长度、采样点的位置定义了每个位周期的长度、采样点的位置和在每个采样点的采样数目。在复位模式中,这个寄存器可以和在每个采样点的采样数目。在复位模式中,这个寄存器可以被读被读

137、/ /写访问,在写访问,在PeliCANPeliCAN模式的工作模式中,这个寄存器是只模式的工作模式中,这个寄存器是只读的,在读的,在BasicCANBasicCAN模式中总是模式中总是FFHFFH。 (10) (10) 时间段时间段1 1(TSEG1TSEG1)和时间段()和时间段(TSEG2TSEG2) TSEG1 TSEG1和和TSEG2TSEG2决定了每一位的时钟数目和采样点的位置。决定了每一位的时钟数目和采样点的位置。 哈柯扇潜坊胚仔壮烫晴攻靳秸拂吮幌烤极迅疗抱荷耗荆汀厘鞋勘伤癌罐芒现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线(11) (11) 输出控制寄存器输出控制

138、寄存器(OCR)(OCR) 输出控制寄存器实现了由软件控制不同输出驱动配置的建立。输出控制寄存器实现了由软件控制不同输出驱动配置的建立。在复位模式中此寄存器可被读在复位模式中此寄存器可被读/ /写访问,在写访问,在PeliCANPeliCAN模式的工作模式的工作模式中这个寄存器是只读的,在模式中这个寄存器是只读的,在BasicCANBasicCAN模式中总是模式中总是FFHFFH。 当当SJA1000SJA1000在睡眠模式中时在睡眠模式中时TX0TX0和和TX1TX1引脚根据输出控制寄存引脚根据输出控制寄存器的内容输出隐性的电平在复位器的内容输出隐性的电平在复位 状态复位请求状态复位请求=1

139、=1或外部复位引脚或外部复位引脚/RST/RST被拉低时输出被拉低时输出TX0TX0和和TX1TX1悬空。发送的输出阶段可以有不同的模式。悬空。发送的输出阶段可以有不同的模式。 SJA1000 SJA1000有四种输出模式,由有四种输出模式,由OCROCR的的BIT0BIT0和和BIT1BIT1设置。设置。 1). 1).正常输出模式正常输出模式 正常模式中位序列(正常模式中位序列(TXDTXD)通过)通过TX0TX0和和TX1TX1送出输出驱动引脚送出输出驱动引脚TX0TX0和和TX1TX1的电平取决于被的电平取决于被OCTPxOCTPx,OCTNxOCTNx(悬(悬空、上拉、下拉、推挽)编

140、程的驱动器的特性和被空、上拉、下拉、推挽)编程的驱动器的特性和被OCPOLxOCPOLx编程编程的输出端极性。的输出端极性。 驻哼蛤咎辈吮霄它腐丰握屎债屡估杜歉恋瘁旭声誊来挎韦莹蚂股峻艇例糕现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线2).时钟输出模式时钟输出模式TX0引脚在这个模式中和正常模式中是相同的。但是,引脚在这个模式中和正常模式中是相同的。但是,TX1上的数据流被发送时钟(上的数据流被发送时钟(TXCLK)代替了。发送时钟)代替了。发送时钟(不翻转)的上升沿标志着一位的开始。时钟脉冲宽度是(不翻转)的上升沿标志着一位的开始。时钟脉冲宽度是1tscl。3).双相输出模式

141、双相输出模式相对于正常输出模式,这里的位代表着时间的变化和相对于正常输出模式,这里的位代表着时间的变化和触发。如果总线控制器被发送器从总线上通电退耦,则位触发。如果总线控制器被发送器从总线上通电退耦,则位流不允许含有直流元件。流不允许含有直流元件。 用用TX0TX0或或TX1TX1电平发送例如第一位在电平发送例如第一位在TX0TX0上发送第二位在上发送第二位在TX1TX1上发送第三位在上发送第三位在TX0TX0上发送等等。上发送等等。4).测试输出模式测试输出模式在测试输出模式中,在测试输出模式中,RX上的电平在下一个系统时钟的上的电平在下一个系统时钟的上升沿映射到上升沿映射到TXn上,系统时

142、钟(上,系统时钟(fOSC/2)与输出控制寄)与输出控制寄存器中定义的极性一致。存器中定义的极性一致。熬仍绿已嚼差窑义五傻俩蚤注耀宙罗汀全瑞航赌铜稳凭怠监峻壶款扑如瀑现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 12 12时钟分频寄存器时钟分频寄存器(CDR)(CDR) 时钟分频寄存器为微控制器控制时钟分频寄存器为微控制器控制CLKOUTCLKOUT的频率以及屏蔽的频率以及屏蔽CLKOUTCLKOUT引脚,而且它还控制着引脚,而且它还控制着TX1TX1上的专用接收中断脉冲、接收上的专用接收中断脉冲、接收比较通道和比较通道和 BasicCAN BasicCAN模式与模式与Peli

143、CANPeliCAN模式的选择。模式的选择。 硬件复位后寄存器的默认状态是硬件复位后寄存器的默认状态是MotorolaMotorola模式模式(0000010100000101)是)是1212分频和分频和IntelIntel模式(模式(0000000000000000)是)是2 2分频。分频。 软件复位(复位请求软件复位(复位请求/ /复位模式)时,此寄存器不受影响。复位模式)时,此寄存器不受影响。保留位(保留位(CDR.4CDR.4)总是)总是0 0。应用软件总是向此位写。应用软件总是向此位写0 0以与将来可能以与将来可能使用此使用此位的特性兼容位的特性兼容.CD.2-CD.0复位模式和工作

144、模式中一样,复位模式和工作模式中一样,CD.2-CD.0是是可以无限制访问的。这些位是用来定义外部可以无限制访问的。这些位是用来定义外部CLKOUT引脚上的引脚上的频率的。频率的。悠绸梨钓驴抱倦爸劣助狸诲歪涕豁巳协孤姐忧忧福植瀑悬哀腺藩疵存奥绒现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 时钟关闭时钟关闭 设置这一位可禁能设置这一位可禁能SJA1000SJA1000的外部的外部CLKOUTCLKOUT引脚只有引脚只有在复位模式中才可以写访问如果置位此位在复位模式中才可以写访问如果置位此位CLKOUTCLKOUT引脚在睡眠模式引脚在睡眠模式中是低而其它情况下是高中是低而其它情况下

145、是高 RXINTEN RXINTEN 此位允许此位允许TX1TX1输出用来做专用接收中断输出。当一条输出用来做专用接收中断输出。当一条已接收的信息成功的通过验收滤波器,一位时间长度的接收中断已接收的信息成功的通过验收滤波器,一位时间长度的接收中断脉冲就会在脉冲就会在TX1TX1引脚输出。引脚输出。CBP CBP 置位置位CDR.6CDR.6可以中止可以中止CANCAN输入比较器,但这只可在复位模式输入比较器,但这只可在复位模式中。这主要用于中。这主要用于SJA1000SJA1000外接发送接收电路时。此时内部延时被外接发送接收电路时。此时内部延时被减少,这将会导致总线长度最大可能值的增加。如果

146、减少,这将会导致总线长度最大可能值的增加。如果CBPCBP被置位,被置位,只有只有RX0RX0被激活。没有被使用的被激活。没有被使用的RX1RX1输入应被连接到一个确定的电输入应被连接到一个确定的电平(例如平(例如VSSVSS)。)。 CANCAN模式模式 CDR.7 CDR.7定义了定义了CANCAN模式。如果模式。如果CDR.7CDR.7是是0 0,CANCAN控制器控制器工作于工作于BasicCANBasicCAN模式,否则模式,否则CANCAN控制器工作于控制器工作于PeliCANPeliCAN模式,只有模式,只有在复位模式中是可以写的。在复位模式中是可以写的。 绍苟胚规烧并坪险喘志熊

147、傻之国钳恳显靠樟伯秃蓝虐蓬窃若拷选挨浩兰迪现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.4.2PCA82C250CAN收发器收发器 PCA82C250 PCA82C250是是CANCAN协议控制器和物理总线的接口。此器件协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对对总线提供差动发送能力,对CANCAN控制器提供差动接收能力。控制器提供差动接收能力。又称为总线驱动器。又称为总线驱动器。 主要特性有:主要特性有:LL完全符合完全符合ISO11898ISO11898标准;标准;l l高速率(最高达高速率(最高达1Mbps1Mbps););l l具有抗汽车环境中的瞬间

148、干扰,保护总线能力;具有抗汽车环境中的瞬间干扰,保护总线能力;l l斜率控制,降低射频干扰(斜率控制,降低射频干扰(RFIRFI););l l差分接收器,抗宽范围的共模干扰,抗电磁干差分接收器,抗宽范围的共模干扰,抗电磁干扰(扰(EMIEMI)l l热保护;热保护;l l防止电池和地之间的发生短路;防止电池和地之间的发生短路;l l低电流待机模式;低电流待机模式;l l未上电的节点对总线无影响;未上电的节点对总线无影响;l l可连接可连接110110个节点。个节点。对梗铀乳稠怯概穗热茎畔滴棠荐厕褪调昌招债振凶途馅疚晓诈诌犁佳点巳现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线1.1

149、.硬件结构硬件结构 PCA82C250 PCA82C250器件为器件为DIP8DIP8塑料双列直插封装,管脚图见塑料双列直插封装,管脚图见图图4.214.21,管脚功能描述见管脚功能描述见表表4.44.4,功能框图见,功能框图见图图4.224.22。片内管脚配置图见。片内管脚配置图见图图4.23 4.23 符号管脚功能描述TXD1发送数据输入GND2地VCC3电源电压RXD4接收数据输出Vref5参考电压输出CANL6低电平CAN电压输入/输出CANH7高电平CAN电压输入/输出RS8斜率电阻输入表表4.4 PCA82C2504.4 PCA82C250管脚功能描述管脚功能描述图图4.21 PC

150、A82C2504.21 PCA82C250管脚图管脚图 钞兰解耀枚瘁苏闻倾曝益膜制浅啡岸镀呢孕晦舌拟坠嘴左杖氮爬让进崔驭现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线接收器保护电路斜率/等待驱动器基准电压图图4.22 PCA82C2504.22 PCA82C250功能框图功能框图 图图4.23 PCA82C2504.23 PCA82C250内管脚配置图内管脚配置图阁偶舶莽刘殖鬼册厘饭米肠寻钟妨劈问锚外项埋锥盗稠架钠罗戚型留幅莹现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线标记参数条件最小最大单位VCC提供电压4.5.55.5VICC提供电流-待机模式-170A1/t

151、bit最大发送速度非归零码(NRZ)1-MbaudVcanCANH、CANL输入/输出电压8+18VVdiff差动总线电压1.53.0Vtpd传送延迟时间高速模式-50nsTamb工作环境温度40+125表表 4.5 PCA82C250 4.5 PCA82C250基本性能数据基本性能数据 君岭晋珍彰熊秋孕帛冈挟莫绎缓乎裳嘱盈越妹遂漏淫颤迄靴塘憾吕韵蔬拢现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 PCA82C250 PCA82C250基本性能基本性能数据见表数据见表 4.5 4.5,PCA82C50PCA82C50有一个限流电路有一个限流电路可防止发送输出级对电池电压的正端和负

152、端短路。虽然在这种故障可防止发送输出级对电池电压的正端和负端短路。虽然在这种故障条件出现时,功耗将增加,但这种特性可以阻止发送器输出级的破条件出现时,功耗将增加,但这种特性可以阻止发送器输出级的破坏。在节点温度大约超过坏。在节点温度大约超过160160时,两个发送器输出端的极限电流时,两个发送器输出端的极限电流将减少。由于发送器是功耗的主要部分,因此芯片温度会迅速降低。将减少。由于发送器是功耗的主要部分,因此芯片温度会迅速降低。ICIC的其他所有部分将继续工作。当总线短路时,热保护十分重要。的其他所有部分将继续工作。当总线短路时,热保护十分重要。CANHCANH、CANLCANL两条线也防止在

153、汽车环境下可能发生的电气瞬变现象。两条线也防止在汽车环境下可能发生的电气瞬变现象。 管脚管脚8 8(RSRS)允许选择三种不同的工作模式:高速、待机、斜)允许选择三种不同的工作模式:高速、待机、斜率控制,率控制,如表如表4.64.6所示。所示。 在在RSRS管脚上强制条件管脚上强制条件模式模式管脚上电压和电流管脚上电压和电流VRS0.75VCCVRS0.75VCC待机模式待机模式IRS|10A|IRS|10A|10AIRS10AIRS200A200A斜率控制模式斜率控制模式0.3VCCVRS0.6VCC0.3VCCVRS0.6VCCVRS0.3VCCVRS0.3VCC高速模式高速模式IRSIR

154、S500A500A表表4.6 4.6 管脚管脚RSRS选择的三种不同工作模式选择的三种不同工作模式图枢骤氰笋尧松锅峡叹池馅兽酥魁蹋绞秸荒办涧抉梅钮楚炭寨寨氓奔常库现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 高速模式:管脚高速模式:管脚8 8接地。在高速工作模式下,发送器输出接地。在高速工作模式下,发送器输出级晶体管将以尽可能快的速度打开、关闭。在这种模式下,不级晶体管将以尽可能快的速度打开、关闭。在这种模式下,不采取任何措施用于限制上升斜率和下降斜率。建议使用屏蔽电采取任何措施用于限制上升斜率和下降斜率。建议使用屏蔽电缆以避免射频干扰缆以避免射频干扰RFIRFI问题。问题。

155、斜率控制模式:对于较低速度或较短总线长度,可使用非斜率控制模式:对于较低速度或较短总线长度,可使用非屏蔽双绞线或平行线作为总线。为降低射频干扰屏蔽双绞线或平行线作为总线。为降低射频干扰RFIRFI,应限制,应限制上升斜率和下降斜率。上升斜率和下降斜率可通过由管脚上升斜率和下降斜率。上升斜率和下降斜率可通过由管脚8 8接接至地的连接电阻进行控制。斜率正比于管脚至地的连接电阻进行控制。斜率正比于管脚8 8的电流输出。的电流输出。 管脚管脚8 8如果接至高电平被,则电路进入低电流待机模式。如果接至高电平被,则电路进入低电流待机模式。在这种模式下,发送器被关闭,而接收器转至低电流。若在总在这种模式下,

156、发送器被关闭,而接收器转至低电流。若在总线上检测到显性位(差动总线电压线上检测到显性位(差动总线电压0.9V0.9V),),RXDRXD将变为低电将变为低电平。微控制器应将收发器转回至正常工作状态(通过管脚平。微控制器应将收发器转回至正常工作状态(通过管脚8 8),),以对此信号作出响应。由于处在待机方式下,接收器是慢速的,以对此信号作出响应。由于处在待机方式下,接收器是慢速的,因此,第一个报文将被丢失。因此,第一个报文将被丢失。CANCAN收发器的真值表如收发器的真值表如表表4.74.7所示。所示。 额朔翅汕槛症根辞窜门荒潮贸捕戒炭肃锑平智郊埃辐赵遮肥琵篱托腕热沧现场总线与工业以太网CAN总

157、线现场总线与工业以太网CAN总线电源电源TXDTXDCANHCANHCANLCANL总线总线状态状态R RX XD D4.54.55.5V5.5V0 0高高低低显性显性0 04.54.55.5V5.5V1 1(或(或悬空)悬空)悬空悬空悬空悬空隐性隐性1 12V2V(未上(未上电)电)X X悬空悬空悬空悬空隐性隐性X X2VVCC2VVCC4.50.75V0.75VC C悬空悬空悬空悬空隐性隐性X X2VVCC2VVCC4.50.75VVRS0.75VCCCC则悬空则悬空若若VRS0.75VCVRS0.75VCC C则悬空则悬空隐性隐性X X表表4.7 CAN 4.7 CAN 收发器真值表收发

158、器真值表奋荚故异失饼茎滓貉兼呕香壶驭譬哮股颜饶嘉闻挝丈棱牟泉纯摈役痪碾棺现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 PCA82C50 PCA82C50的主要电气特性:工作电压的主要电气特性:工作电压VCCVCC4.54.55.5V5.5V;环;环境温度境温度Tamb=Tamb=4040+125+125;RLRL6060;L8L810A10A;除非;除非另外说明,所有电压均以接地点(管脚另外说明,所有电压均以接地点(管脚2 2)为参考,正输入电流。)为参考,正输入电流。所有参数在所设计的环境温度范围内均可确保,但所有参数在所设计的环境温度范围内均可确保,但100100被测试被测

159、试仅在仅在+25+25时下进行。时下进行。CAN 控制器CAN 发送器CAN 总线图图4.24 CAN 4.24 CAN 收发器的应用收发器的应用 PCA82C250 PCA82C250收发器的典收发器的典型应用如图型应用如图图图4.244.24所示。所示。控制器通过串行数控制器通过串行数据输出线(据输出线(TXTX)和串行数)和串行数据输入线(据输入线(RXRX)连接到)连接到PCA82C250PCA82C250收发器。收发器。PCA82C250PCA82C250的基本应用的基本应用含硒溉阵疙织募晤哦拍骡絮亏烃楚蛀党割送锚规咏觉勒姨霞候醋拣偶铁系现场总线与工业以太网CAN总线现场总线与工业以

160、太网CAN总线收发器通过有差动发送和接收功能的两个总线终端收发器通过有差动发送和接收功能的两个总线终端CANH和和CANL连接到总线电缆,输入连接到总线电缆,输入Rs用于模式控制,参考电压输用于模式控制,参考电压输出出VREF的输出电压是额定的输出电压是额定VCC的的0.5倍,其中收发器的额定电倍,其中收发器的额定电源电压是源电压是5V。 协议控制器输出一个串行的发送数据流到收发器的协议控制器输出一个串行的发送数据流到收发器的TxDTxD引脚,内部的上拉功能将引脚,内部的上拉功能将TxDTxD输入设置成逻辑高电平,也就输入设置成逻辑高电平,也就是说总线输出驱动器默认是被动的,在隐性状态中,是说

161、总线输出驱动器默认是被动的,在隐性状态中,CANHCANH和和CANLCANL输入通过典型内部阻抗是输入通过典型内部阻抗是17k17k的接收器输入网络,偏置到的接收器输入网络,偏置到2.5V2.5V的额定电压,另外如果的额定电压,另外如果TxDTxD是逻辑低电平,总线的输出级将是逻辑低电平,总线的输出级将被激活,在总线电缆上产生一个显性的信号电平(被激活,在总线电缆上产生一个显性的信号电平(见图见图.24.24),),输出驱动器由一个源输出级和一个下拉输出级组成,输出驱动器由一个源输出级和一个下拉输出级组成,CANHCANH连接连接到源输出级,到源输出级,CANLCANL连接到下拉输出级,在显

162、性状态中连接到下拉输出级,在显性状态中CAN_HCAN_H的额的额定电压是定电压是3.5V3.5V,CAN_LCAN_L是是1.5V1.5V。 摇熬躇单褪垫醒畔寞帝高袒驰念詹炕辙谅营脉煎祈兔坞讥险斜俺诲柑量凑现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线如果没有一个总线节点传输一个显性位,总线处于隐如果没有一个总线节点传输一个显性位,总线处于隐性状态,即网络中所有性状态,即网络中所有TxD输入是逻辑高电平。另外如果输入是逻辑高电平。另外如果一个或更多的总线节点传输一个显性位,即至少一个一个或更多的总线节点传输一个显性位,即至少一个TxD输入是逻辑低电平,则总线从隐性状态进入显性状

163、态(线输入是逻辑低电平,则总线从隐性状态进入显性状态(线与功能)。与功能)。接收器的比较器将差动的总线信号转换成逻辑信号接收器的比较器将差动的总线信号转换成逻辑信号电平,并在电平,并在RxD输出,接收到的串行数据流传送到总线协输出,接收到的串行数据流传送到总线协议控制器译码。议控制器译码。别席渤惹硕嘉呆配忆聂款麻筛舶摇摸取昔琴太聊迂乙称沸倾械兜浚念凳培现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线接收器的比较器总是活动的,也就是说当总线节点传输一接收器的比较器总是活动的,也就是说当总线节点传输一个报文时,它同时也监控总线,这就要求有诸如安全性和支持个报文时,它同时也监控总线,这就

164、要求有诸如安全性和支持非破坏性逐位竞争等非破坏性逐位竞争等CAN策略,一些控制器提供一个模拟的接策略,一些控制器提供一个模拟的接收接口。收接口。 (RX0RX0,RX1RX1)RX0RX0一般需要连接到一般需要连接到RxDRxD输出输出RX1RX1需要偏置到一需要偏置到一个相应的电压电平,这可以通过个相应的电压电平,这可以通过VREFVREF输出或一个电阻电压分配输出或一个电阻电压分配器实现。器实现。 图图4.254.25中收发器直接连接到协议控制器及其应用电路。如中收发器直接连接到协议控制器及其应用电路。如果需要电流隔离,光耦可以如图上一样放置,在收发器和协议果需要电流隔离,光耦可以如图上一

165、样放置,在收发器和协议控制器之间使用光耦时,要注意选择正确的默认状态,特别是控制器之间使用光耦时,要注意选择正确的默认状态,特别是在隔开的协议控制器电路一边没有上电时。这种情况下,连接在隔开的协议控制器电路一边没有上电时。这种情况下,连接到到TxDTxD的光耦应该是的光耦应该是“暗暗”的,即的,即LEDLED关断,当光耦是断开关断,当光耦是断开/ /暗时,暗时,收发器的收发器的TxDTxD输入是逻辑高电平,可以达到自动防故障的目的,输入是逻辑高电平,可以达到自动防故障的目的,使用光耦还要考虑到将使用光耦还要考虑到将RsRs模式控制输入连接到高电平有效的复模式控制输入连接到高电平有效的复位信号,

166、例如当本地收发器电源电压在斜率上升和下降过程中位信号,例如当本地收发器电源电压在斜率上升和下降过程中没有准备好的情况下,禁能收发器。没有准备好的情况下,禁能收发器。 尉要崔倒着粒阵袁哆置黎菲言脑初住殉颜数挥纠膛苇盒茨侍掳湖赐鹤地订现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线CAN 控制器CAN 发送器CAN 总线图图4.254.25电气隔离的应用电气隔离的应用 了风绷卤可哀膘射骸零寡胚诊敛豌块钝挚找麻晕长洞站岩辑端姻匝写约玲现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4.4.3CANBUS节点设计举例节点设计举例 1.0 1.0网络拓朴网络拓朴 CAN-busC

167、AN-bus采用总线网络拓朴结构,在一个网络上至少需要有采用总线网络拓朴结构,在一个网络上至少需要有2 2个个CAN-bus CAN-bus 节点存在。在总线的节点存在。在总线的2 2个终端,各需要安装个终端,各需要安装1 1个个120120的终端的终端电阻;如果节点数目大于电阻;如果节点数目大于2 2个,中间节点就不要求安装个,中间节点就不要求安装120120终端电终端电阻。网络拓朴示意图见阻。网络拓朴示意图见图图4.264.26。 终端电阻CAN-bus节点1CANHCANL节点2CANHCANL节点3CANHCANL节点4CANHCANL图图4.26 CAN4.26 CAN总线网络拓朴示

168、意图总线网络拓朴示意图倍由呀乡七需料匿蝇匠拦蠕违廊谭亿逼傍佳掠卧窍嫂蒙蔼缄址婚劝孰月本现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 虽然每一个节点根据应用系统的任务有各自控制功能,但完成虽然每一个节点根据应用系统的任务有各自控制功能,但完成CAN-busCAN-bus信息交换的功能是相同的。信息交换的功能是相同的。CAN busCAN bus节点一般由微处理器、节点一般由微处理器、CANCAN控制器、控制器、CANCAN收发器三部分组成。收发器三部分组成。CAN busCAN bus节点示意图见节点示意图见图图4.274.27。微处理器微处理器CANCAN控制器控制器CANCA

169、N收发器收发器RXTXCAN CAN 总线总线边控制装置、传感器、变送器、人机接口等CANCANBusBus节点节点图图4.27 CAN bus4.27 CAN bus节点示意图节点示意图胁蹋弥滥熟榴双赤泣磊鸳孰炊籍亦膳墓颂克帐所弹仙承楚锅稚垮坯愿汗琵现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线2.2.硬件设计硬件设计 如如图图4.284.28所示为所示为CAN CAN 总线系统节点硬件电路原理图。从图中总线系统节点硬件电路原理图。从图中可以看出,电路主要由三部分所构成,微控制器可以看出,电路主要由三部分所构成,微控制器89C5189C51、 独立独立CANCAN通信控制器通信

170、控制器SJA1000SJA1000、CANCAN总线收发器总线收发器82C25082C250。微处理器。微处理器89C5189C51负责负责SJA1000SJA1000的初始化,通过控制的初始化,通过控制SJA1000SJA1000实现数据的接收实现数据的接收和发送等通信任务。和发送等通信任务。 SJA1000 SJA1000的的AD0-AD7AD0-AD7连接到连接到80C5180C51的的P0P0口,口,/CS/CS连接到连接到80C5180C51的的P2.7P2.7,P2.7P2.7为为0 0的的CPUCPU片外存贮器片外存贮器 地址可选中地址可选中SJA1000SJA1000,CPUC

171、PU通过这些地址可对通过这些地址可对SJA1000SJA1000执行相执行相应的读写操作,应的读写操作,SJA1000SJA1000的的/RD/RD、/WR/WR、ALEALE分别与分别与80C5180C51的对应引的对应引脚相连,脚相连,/INT/INT接接80C5180C51的的0INT0INT,80C5180C51也可通过中断方式访问也可通过中断方式访问SJA1000SJA1000。SJA1000SJA1000的的CLKOUTCLKOUT信号作为信号作为80C5180C51的时钟源,复位信号的时钟源,复位信号由外部复位电路产生。由外部复位电路产生。 鼎缴磊滑丙札昭扳鹅柴零哩饮账裴飞喇租侈

172、惩霜誉那息源刺膏盘裙铺损橇现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线图图4.28 CAN 4.28 CAN 总线系统节点硬件电路原理图总线系统节点硬件电路原理图 衔庆殴认套读惺铺恩趴卿告且搭驰像脑福腰棉荣蛙某杀拴婚脊桅吼浮店廓现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线1 1) 电源电源 SJA1000 SJA1000有三对电源引脚,用于有三对电源引脚,用于CANCAN控制器内部不同的数字控制器内部不同的数字和模拟模块。和模拟模块。VDD1/VSS1VDD1/VSS1:内部逻辑(数字):内部逻辑(数字)VDD2/VSS2VDD2/VSS2:输入比较器(模拟):

173、输入比较器(模拟)VDD3/VSS3VDD3/VSS3:输出驱动器(模拟):输出驱动器(模拟) 为了有更好的为了有更好的EMEEME性能电源应该分隔开来,例如为了抑制比性能电源应该分隔开来,例如为了抑制比较器的噪声,较器的噪声,VDD2VDD2可以用一个可以用一个RCRC滤波器来抑制噪声。滤波器来抑制噪声。2 2) 复位复位 为了使为了使SJA1000SJA1000正确复位,正确复位,CANCAN控制器的控制器的XTAL1XTAL1管脚必须连接管脚必须连接一个稳定的振荡器时钟,引脚一个稳定的振荡器时钟,引脚1717的外部复位信号要同步并被内的外部复位信号要同步并被内部延长到部延长到1515个个

174、tXTALtXTAL。这保证了。这保证了SJA1000SJA1000所有寄存器能够正确复所有寄存器能够正确复位。要注意的是必须要考虑上电后的振荡器的起振时间。位。要注意的是必须要考虑上电后的振荡器的起振时间。辖泄乖沙馏妄渍钙淫怠剑殴席锡挝捻篙汛颗寨漏绞砰赤软党势舞握篓限龙现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线3)振荡器和时钟方案振荡器和时钟方案SJA1000能用片内振荡器或片外时钟源工作。另外能用片内振荡器或片外时钟源工作。另外CLKOUT管脚可被使能,向主控制器输出时钟频率。图管脚可被使能,向主控制器输出时钟频率。图4.29显显示了示了SJA1000应用的四个不同的定时

175、原理。如果不需要应用的四个不同的定时原理。如果不需要CLKOUT信号,可以通过置位时钟信号,可以通过置位时钟分频寄存器(分频寄存器(ClockOff=1ClockOff=1)关断。示例中采用的是)关断。示例中采用的是CPUCPU的时钟由的时钟由SJA1000SJA1000提供方案。提供方案。 CLKOUT CLKOUT信号的频率可以通过时钟分频寄存器改变:信号的频率可以通过时钟分频寄存器改变: fCLKOUT=fXTAL/ fCLKOUT=fXTAL/时钟分频因子(时钟分频因子(1 1、2 2、4 4、6 6、8 8、1010、1212、1414)。)。 上电或硬件复位后时,钟分频因子的默认值

176、由所选的接口模上电或硬件复位后时,钟分频因子的默认值由所选的接口模式(引脚式(引脚1111)决定。如果使用)决定。如果使用16MHz16MHz的晶振,的晶振,IntelIntel模式下模式下CLKOUTCLKOUT的频率是的频率是8MHz8MHz,MotorolaMotorola模式中复位后的时钟分频因子模式中复位后的时钟分频因子是是1212,这种情况,这种情况CLKOUTCLKOUT会产生会产生1.33MHz1.33MHz的频率。的频率。 决侠廷拔包欧双停畅菌揪鹅萤令镇眷逝驰租召陷丰岩草惺扳煌扦吸罗瞥飘现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线a) 两个独立的时钟d) SJ

177、A1000和CPU由外部时钟提供b) SJA1000的时钟由CPU提供c) CPU的时钟由SJA1000提供图图4-294-29振荡器和时钟方案振荡器和时钟方案如羌爆崩惰躲赐致办拔疫某悉尧缓辟肠博贞肉肋庞剪曰蔼设法基古摸孩掺现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线4 4) 睡眠和唤醒睡眠和唤醒 置位命令寄存器的进入睡眠位(置位命令寄存器的进入睡眠位(BasicCANBasicCAN模式)或模式寄存模式)或模式寄存器(器(PeliCANPeliCAN模式)的睡眠模式位后,如果没有总线活动和中断模式)的睡眠模式位后,如果没有总线活动和中断等待,等待,SJA1000SJA1000

178、就会进入睡眠模式,振荡器在就会进入睡眠模式,振荡器在1515个个CANCAN位时间内保位时间内保持运行状态。此时,微型控制器用持运行状态。此时,微型控制器用CLKOUTCLKOUT频率来计时,进入自己频率来计时,进入自己的低功耗模式,如果出现三个唤醒条件之中的一个,振荡器会再的低功耗模式,如果出现三个唤醒条件之中的一个,振荡器会再次启动并产生一个唤醒中断,振荡器稳定后,次启动并产生一个唤醒中断,振荡器稳定后,CLKOUTCLKOUT频率被激活。频率被激活。5 5) CPU CPU接口接口 SJA1000 SJA1000支持直接连接到两个微型控制器系列:支持直接连接到两个微型控制器系列:80C5

179、180C51和和68xx68xx。通过。通过SJA1000SJA1000的的MODEMODE引脚可选择接口模式:引脚可选择接口模式:IntelIntel模式:模式: MODE= MODE=高高MotorolaMotorola模式:模式:MODE=MODE=低低 地址地址/ /数据总线和读数据总线和读/ /写控制信号在写控制信号在IntelIntel模式和模式和MotorolaMotorola模模式的连接如式的连接如图图4.304.30所示。所示。PhilipsPhilips基于基于80C5180C51系列的系列的8 8位微控制器位微控制器和和XAXA结构的结构的1616位微型控制器都使用位微型

180、控制器都使用IntelIntel模式。模式。陶颧框婪方渤蝶遇底氨群馈檄颜慧僚绒戌吼赢饲囚皑谢呢裔棒核囤缓梆终现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线80C51类型接口SJA100080C5168类型接口68SJA1000图图4.30 SJA10004.30 SJA1000在在Intel Intel 模式和模式和Motorola Motorola 模式的连接图模式的连接图 为了和其他控制器的地址为了和其他控制器的地址/ /数据总线和控制信号匹配,必须要数据总线和控制信号匹配,必须要附加逻辑电路。但是必须确保在上电期间不产生写脉冲。另一个附加逻辑电路。但是必须确保在上电期间不产

181、生写脉冲。另一个方法在这个时候使片选输入是高电平,方法在这个时候使片选输入是高电平,CANCAN控制器无效。控制器无效。裔峭淡驶笋玫艘扳颊测舞夸棵寝欺答垄翱昧得兆桩捆污蓉痔瞎歇或抽拧抬现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线3 . 3 . 软件设计软件设计1 1) CAN BUS CAN BUS通信的总体流程通信的总体流程通过通过CAN CAN 总线建立通讯的步骤是:总线建立通讯的步骤是:系统上电后的任务:系统上电后的任务: 根据根据SJA1000SJA1000的硬件和软件连接设置主控制器;的硬件和软件连接设置主控制器; 设置设置CAN CAN 控制器用于通讯的各控制器,如

182、模式、验收滤波器、控制器用于通讯的各控制器,如模式、验收滤波器、位定时等数值。位定时等数值。在应用的主过程中的任务:在应用的主过程中的任务: 准备要发送的报文,并激活准备要发送的报文,并激活SJA1000SJA1000发送它们;发送它们; 处理处理CANCAN控制器接收的报文信息;控制器接收的报文信息; 在通讯期间对发生的错误进行处理。在通讯期间对发生的错误进行处理。 图图4.314.31 表示了程序的总体流程。表示了程序的总体流程。蛙吾尼更泪伪味伎赛秉蔬膊各佰姑养吟篱户傣魁豹嫩涧崎墩昼括亲秘首挺现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线程序结束控制器上电复位等待至SJA10

183、00完全上电配置控制线路(中断、复位、片选等),建立控制器和SJA1000之间的通信初始化TJS1000主程序和中断服务程序,包括与SJA1000通信控制器上电复位图图4.31 4.31 通信的总体流程通信的总体流程翌拣性痹循青鳃素弃餐负撰睦蜂怯闺湖贯枷骸挖填跺萝郁颁母炎殉轿揪志现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线2 2) 通信软件设计通信软件设计 CAN CAN 总线节点的通信软件设计主要包括三大部分:总线节点的通信软件设计主要包括三大部分:CAN CAN 节点节点初始化程序;报文发送程序;报文接收程序。熟悉这三部分程初始化程序;报文发送程序;报文接收程序。熟悉这三部

184、分程序的设计,就能编写出利用序的设计,就能编写出利用CAN CAN 总线进行通信的一般应用程序。总线进行通信的一般应用程序。 如果通信任务比较复杂,还要需详细了解有关如果通信任务比较复杂,还要需详细了解有关CAN CAN 总线错误总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测以及检测以及CAN CAN 总线通信距离和节点数的计算等方面的内容。总线通信距离和节点数的计算等方面的内容。下面就初始化程序和报文发送程序的设计进行简要介绍。下面就初始化程序和报文发送程序的设计进行简要介绍。 初始化子程序初始化子程序 SJA1000

185、 SJA1000 的初始化只有在复位模式下才可以进行。的初始化只有在复位模式下才可以进行。 初始化主要包括:工作方式的设置、接收滤波方式的设置、初始化主要包括:工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器接收屏蔽寄存器AMR AMR 和接收代码寄存器和接收代码寄存器ACR ACR 的设置、波特率参的设置、波特率参数设置、和中断允许寄存器数设置、和中断允许寄存器IERIER的设置等,在完成的设置等,在完成SJA1000 SJA1000 的初的初始化设置以后,始化设置以后,JA1000 JA1000 就可以回到工作状态进行正常的通信任就可以回到工作状态进行正常的通信任务。初始化子程序框图见务

186、。初始化子程序框图见图图4.324.32。 与累烃酣甩拓瓢株釉秀囊弧颠熏堕扇势章硷睁腮八墓班乖阮酶下娜盲弹憎现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线方式寄存器进入复位模式,对SJA1000 进行初始化时钟分频寄存器选择PeliCAN 模式或BasicCAN关闭时钟输出CLKOUT设置中断允许寄存器,禁止发送中断超载中断和错误警告中断设置接收屏蔽寄存器内容的首址,接收屏蔽寄存器赋初值设置接收代码寄存器内容的首址,接收代码寄存器赋初值设置总线定时寄存器0和总线定时寄存器1设置接收缓存器FIFO 起始地址清除发送错误计数寄存器、错误代码捕捉寄存器、清除错误代码捕捉寄存器方式寄存器

187、设置单滤波接收方式结束初始化返回工作状态初始化子程序图图4.32 4.32 初始化子程序框图初始化子程序框图谰瞻官楼撒匙念敏砂于俄郧侵阳锦翁豹贝捡鳞痴肛兜裔召奎杭唾恳妻巫虽现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线 发送子程序发送子程序 发送子程序负责节点报文的发送。发送子程序框图见发送子程序负责节点报文的发送。发送子程序框图见图图4.334.33,发送时用户只需将待发送的数据按特定格式组合成,发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入一帧报文,送入SJA1000 SJA1000 发送缓存区中,然后启动发送缓存区中,然后启动SJA1000 SJA1000 发送

188、即可。在向发送即可。在向SJA1000SJA1000发送缓存区送报文之前,必须先作发送缓存区送报文之前,必须先作一些判断一些判断 钝魄匣齐毯炮壤鼓贪宙年稿缴须浑倚蚁劣适愚辟糊苇抓怀肇生该令裁妈螟现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线从SJA1000 读入状态寄存器值判断是否正在接收,正在接收则等待判断上次发送是否完成,未完成则等待发送完成判断发送缓冲区是否锁定,锁定则等待CPU向发送缓冲区写8 个字节帧格式报文并形成4 个字节的标识符ID0-ID3, 通过命令寄存器启动SJA1000 发送发送子程序图图4.33 4.33 发送子程序框图发送子程序框图溃潍遭毯唤条糯值凌莫液遇户答垦坊纯擎矿地眠伎壕训茵浙浩抄娥扬邱予现场总线与工业以太网CAN总线现场总线与工业以太网CAN总线

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号