- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全面了解CAN总线(一).
10799修改稿2008-7-14
CAN总线的抗干扰能力
杨福宇 2008-4-27
Email:yfy812@163.com
Disturbance reject design of CAN bus by Fuyu Yang
摘要:本文通过对RS485、CAN与FlexRay协议中有关抗干扰能力的指标的比较与分析,说明CAN总线在抗干扰设计上有独到之处:在物理层上总线信号的二值性以及发生竞争时结果的唯一性,使总线有高的抗干扰信号阈值并在出错时可及时发现错;在数据链路层上设计有出错时的报错帧发送以及出错自动重发功能,保证了总线上数据的一致性以及毋须应用层参预的纠错能力。这些特点使CAN总线在环境恶劣的应用场合有着明显的优势。
CAN总线经近20年的发展已步入壮年期,它不仅在汽车上的应用占了压倒优势,在其它工业应用上也生机勃勃,枝繁叶茂,究竟是什么原因使它这么成功?当人们发现它的局限,又有新的总线例如FlexRay在挑战时,它的荣耀还能持续多久?这些问题都离不开对通信技术本质的理解,对CAN总线特性的分析与理解。通信技术的不断进步离不开应用对带宽与抗干扰的追求,又要快又要正确,当然关键点是适合当前需求的最佳性价比的技术。没有这些追求,可能我们会一直停留在RS232的标准上。当今CAN的竞争对手前有以RS485为物理层的总线,后有FlexRay,这种形势下 CAN总线的生命力在于它的优越的抗干扰能力与性价比,这些都来源于它独特的物理层与数据链路层的设计。
物理层[1],[2],[3]
信号状态
CAN总线的信号状态为二种:隐位与显位。当总线上出现同时有隐位与显位发送的竞争时,总线上的最终结果是显位。这种二值特性对CAN总线的可靠性与其它特性有很大贡献。作为对比,以EIA-485(即RS-485)为例,它有“0”,“1”以及“高阻”三种状态,当所有节点都不发送的空闲状态时,“高阻”使总线电平处于“0”-“1”之间的不定状态。在干扰影响下,错误可能是局部性的,有的接收节点会误以为新帧的开始,例如在其上运行以UART为基础的协议时,“0”被视为新Byte的起始位。等到发现错而复位到空闲状态时,可能已经与其它节点不同步,因为其它节点可能并未发现这个“0”。为了解决这个问题,485总线往往采用外加上拉与下拉电阻,使发送节点在高阻状态时,总线上保持确定的“1”电平。但是这种办法降低了节点的负载能力。
CAN总线信号的二值且“单稳态”的特性为它的数据链路层创造了条件,即CAN总线上可以容许多主发送,竞争占线的方式。这极大简化了消息的调度。为使总线上的节点均有机会发送,有些总线采用主从方式,主节点用查询来让从节点有发送机会,这种方法使总线的利用率较低,从节点消息发送的等待时间较长。有些总线采用令牌方式,令牌的丢失和重复也需要特别的处理机制。
许多总线是不容许总线上有冲突的,因为发生冲突后,不同的接收节点得到的电平结果是不同的,使它们对总线上发生的事在时间上与内容上产生不同的解释,退出冲突就会有时间的先后,形成节点间状态的不同步。但是由于干扰,节点可能会有误动作,会发生不希望的冲突。为此,要加需多辅助的设备来防止冲突,例如在时间触发协议中经常采用的总线监守(bus guardian)。在CAN总线里,冲突的处理由于该信号的二值且“单稳态”的特性变为很简单,报错帧可以使所有节点(包括发生冲突的节点)很容易地取得数据的一致性和节点状态的同步。
FlexRay总线的状态有低功耗闲置、闲置、“0”、“1”四种,在正常工作模式时,总线接收部分只认后三种状态。与RS485不同的是FlexRay收发器有一个判断闲置状态的机制。当总线电平差处于某范围内( uBusActiveLow(最小-450mv)~uBusActiveHigh(最大450mv))一段时间(dIdleDetection(最小50ns最大250ns)后,它就将RxEN引脚置”1”,并将RxD置”1”。当总线电平超出该范围以段时间(dActivityDetection(最小100ns最大300ns))后,就退出闲置状态。因此它不会在闲置状态受干扰而轻易地误判为新帧的开始。而总线上因干扰而引起冲突的情形由另设的总线监守加以防止。当然这些功能的添加意味着成本的增加。
信号电平与共模电压
信号电平的大小有二层影响,一是闲置时有干扰被误认为传送的启动信号,二是传送逻辑信号时因干扰而产生误码。
RS485接收器的阈值很小,总线电压差小于-200mv时为“0“,大于200mv时为“1“。因此200mv幅度的干扰就可能
文档评论(0)