CAN总线几种正常的“异常”波形

发布者:SparklingStar22最新更新时间:2016-09-18 来源: eefocus关键字:CAN总线  “异常”波形 手机看文章 扫描二维码
随时随地手机看文章
工程师们通常使用示波器观察CAN总线的信号质量,一般主要关注CAN总线差分信号的幅值、最小位宽、边沿情况等。相信不少工程师都看到过一条报文数据的波形上高高低低存在多个幅值,心里可能会变得忐忑不安,幅值不统一是不是波形出现畸变了呢?其实并非如此,今天就把CAN总线上的幅值“异常”归归类。
一、CAN-bus信号产生原理

众所周知,一个标准CAN节点由微处理器、控制器、收发器构成。多个节点成总线型架构挂在一起,两个端节点上并有终端电阻。其结构简图如下图所示。


图1 CAN-bus节点网络结构

可以看出,与总线直接相连的是CAN节点的收发器,起内部电路等效如下图所示,CAN-H、CAN-L直接由三极管驱动,近似可以看成电流型输出。结合上文所述网络架构中的终端电阻,节点发出信号时电流流过终端电阻产生电压信号,当同一时间多个节点同时发出信号时就会使总线上的电流高于单一节点发出的电流,使得我们观察电压信号时出现突增的现象。


图2 CAN收发器结构

CAN-bus是总线型结构,通常状态下一般只有一个节点占有总线。那么有几种情况会导致多个节点同时发出,进而导致幅值出现“异常”呢,下文通过致远电子CANScope分析仪的几个测试案例总结一下。

二、应答位上的幅值“异常”

最常见的,当CAN网络上存在3个以上的节点时,应答位上的幅值要明显高于同一报文的其他位置,如下图所示。可以看到报文在ID段、数据段、CRC校验段处的幅值均比较一致,但是到应答位处时幅值出现突增。这是为什么呢,大家都知道CAN-bus总线拥有自动应答机制,即当某一节点发送完一帧报文时,所有总线中的其余非只听节点均会在应答位处做出响应,如果报文被成功识别则发出一个显性位做为应答信号。

结合上文所述,应答位此时CAN总线上的电流是若干节点电流叠加的综合,所以应答位的幅值高就很容易讲通了。


图3 应答位上的幅值“异常”

三、ID段上的幅值“异常”

CAN-bus总线的一大特点就是多主结构,即网络中所有节点功能对等,没有主从机的概念,所有节点均可自由收发数据。保证多主结构得以实现的关键在于CAN总线的仲裁机制也称优先级机制。当网络中同时有多个节点同时发送数据时会在ID段处产生仲裁,优先级高的节点会最终占有总线。

如下图所示,可以看到在图中的标记处波形出现了“台阶”。正是由于在“台阶”出现前有两个节点同时发出数据,导致幅值增高,在“台阶”处某一节点由于优先级高占有总线,另一个节点暂时退出,使得幅值又回归平常。


图4 ID段上的幅值异常

四、错误帧上的幅值“异常”

再看看这个案例,可以看到在波形的后半部分也出现了台阶式的幅值增高,光标卡住的显性电平区间可以看到宽度明显超过了5个标准位宽,按照CAN总线的位填充规则(不能存在连续六个相同的显性位或隐性位)表明这是一条错误帧。但是不要误会,并不是因为这个幅值“异常”而导致的错误帧,我们知道CAN总线有错误重发机制,以保证总线传输数据的可靠性。这种可靠性正式通过错误帧的“一票否决制”实现的。

当网络中某一节点识别到一条认为是有问题的报文后会发送六个连续的显性位(即错误帧),投出这一否决票通知网络上所有其他节点,本条报文无效。此后其他节点会以“跟票”的形式全部发出六个显性位错误帧。所以此时多个节点重叠部分的错误帧的幅值就会高一些了。


图5 错误帧上的幅值异常
关键字:CAN总线  “异常”波形 引用地址:CAN总线几种正常的“异常”波形

上一篇:CAN 总线波特率计算
下一篇:三大总线之CAN总线

推荐阅读最新更新时间:2024-05-03 00:39

嵌入式WinCE中CAN总线控制器的驱动设计
   0 引 言   近年来,由于消费电子、计算机、通信(3c)一体化趋势日趋明显,嵌入式系统再度成为研究和应用的热点。嵌入式操作系统(:Real-time Embedded OperatingSystem,RTOs或EOs)作为一种实时的、支持嵌入式系统应用的操作系统软件,成为嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等。Windows CE操作系统就是微软公司从整体上为有限资源平台设计的多线程、完整优先权、多任务的操作系统Win CE支持各种处理器产品家族,包括x86,Xscale,ARM,MIPS和SH系列。它
[嵌入式]
基于单片机和MCP2510的CAN总线通信模块的设计
1 前言 CAN(Controller Area Network)总线,即控制器局域网。由于具有高性能、高可靠性以及独特的设计,CAN总线越来越受到人们的重视。德国的Bosch公司最初为了汽车监控和控制系统设计了CAN总线,现在,其应用范围已面向过程工业、机械工业、纺织工业、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN 总线已经形成国际标准,并已经被公认为最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到众多半导体器件厂商的支持,推出各种集成有CAN协议的产品。CAN总线系统智能节点是网络上报文的接收&发送站,一般由单片机和CAN控制器或二者合二为一组成。 M
[单片机]
基于单片机和MCP2510的<font color='red'>CAN总线</font>通信模块的设计
基于CAN总线EPB驻车电流采集节点系统电路设计
  电子驻车制动系统(EPB)指将行车过程中的临时性制动和停车后的长时性制动功能整合在一起,并且由电子控制方式实现停车制动的技术。为了能够获取各车辆已施加的理论驻车压力,并监控各车辆一体化执行机构的工作状态,防止驻车电机长时间工作在大电流状态,防止驻车电机过热烧毀,EPB一般配有驻车车电流采集节点,并通过CAN总线将驻车电流发送给中央控制节点(ECU)。文中主要介绍了基于AD574A的驻车电流采集节点的接口设置。   1 系统硬件设计   驻车电流采集节点的硬件电路设计包括CAN总线通讯电路设计与车速采集电路设计两部分,如图1所示。   1)CAN总线通讯电路设计   CAN总线通讯电路设计时,CAN控制器使用由CTM10
[单片机]
基于<font color='red'>CAN总线</font>EPB驻车电流采集节点系统电路设计
基于CAN总线的机械手控制系统
1 引言   机械手可在空间抓放物体,动作灵活多样,适用于可变换生产品种的中、小批量自动化生产,广泛应用于柔性自动线。我们开发的用于热处理淬火加工的物料搬运机械手,是一种按预先设定的程序进行工件分拣、搬运和淬火加工的自动化装置,可部分代替人工在高温和危险的作业区进行单调持久的作业,并可根据工件的变化以及淬火工艺的要求随时更改相关控制参数。由于目前许多商品化的工业机器人(或机械手)大都采用封闭结构的专用控制系统,一般采用专用计算机(如PUMA工业机器人使用PDP-11)作为上层主控计算机,使用专用机器人语言(如VAL)作为离线编程工具,采用专用微处理器,并将控制算法固化在EPROM中 ,这种专用系统很难进行扩展、修改或再集成外部硬
[工业控制]
基于<font color='red'>CAN总线</font>的机械手控制系统
CAN总线技术在汽车ECU中的开发
CAN是ControlAreaNetwork的缩写,该项技术最早由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信。其总线规范现已被ISO国际标准组织制订为国际标准。由于得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它广泛应用在离散控制领域。由于其高性能、高可靠性、及独特的设计,CAN越来越受到人们的重视。国外已有许多大公司的产品采用了这一技术。现代汽车越来越多地采用电子装置控制,如发动机的定时、注油控制,加速、刹车控制(ASC)及复杂的抗锁定刹车系统(ABS)等。由于这些控制需检测及交换大量数据,采用硬接信号线的方式不但烦琐、昂贵,而且难于解决问题,采用CAN总线上述问题便
[嵌入式]
基于STM32F103的数字式电镀电源并联均流系统设计
STM32系列处理器是由意法半导体ST公司生产、基于ARM公司Cortex-M3内核的MCU,专门为微控制系统、汽车控制系统、工业控制系统和无线网络等嵌入式应用领域而设计,具有高性能、低功耗、高集成度、丰富且性能出众的片上外设、编程复杂度低等优点。数字式电镀电源并联均流系统以数字通信和控制的方式实现多个电源模块的并联工作,提供更大的输出功率,具有组合灵活、可靠性高、人机接口友善、工作模式多样等优点。本文采用STM32F103VET6处理器作为主控芯片,实现了一种以CAN总线为通信媒介、具有稳压/稳流/安培时/工艺曲线/远程控制5种工作模式、液晶图形显示的数字式电镀电源并联均流系统(以下简称“并联均流系统”),给出了系统主要软硬件
[单片机]
基于STM32F103的数字式电镀电源并联均流系统设计
CAN总线中节点ID相同会怎样?
CAN-bus网络中原则上不允许两个节点具有相同的ID段,但如果两个节点ID段相同会怎样呢? 实验前,我们首先要对CAN报文的结构组成、仲裁原理有清晰的认识。 一、CAN报文结构 目前使用最广泛的CAN-bus网络标准是V2.0版本,该标准又分为A、B两部分,它们主要的区别在仲裁区域的ID码长度。其中CAN2.0A(标准帧)为11位ID,CAN2.0B(扩展帧)为29位ID。下表1为CAN报文结构: 表1 CAN报文结构 二、仲裁原理 CAN总线的仲裁是基于“线与原理”,如图1所示。当个收发器同时发出不同电平信号时,隐性电平总是被显性电平覆盖。CAN控制器在发送报文的同时会监听总线状态与自己发送的电平是否一致,如果
[工业控制]
<font color='red'>CAN总线</font>中节点ID相同会怎样?
基于CAN总线的电动汽车控制系统设计
   一、前言   CAN总线是德国BOSCH公司在20世纪80年代初为解决汽车中众多的控制与测试仪器之间的数据交换而开发的一种通信协议。由于CAN总线具有突出的可*性、实时性和灵活性,因而得到了业界的广泛认同和运用,并在1993年正式成为国际标准和行业标准,被誉为“最有前途的现场总线”之一。以CAN为代表的总线技术在汽车上的应用不但减少了车身线束,也提高了汽车的可*性。在国外现代轿车的设计中,CAN已经成为必须采用的技术,奔驰、宝马、大众、沃尔沃及雷诺等汽车都将CAN作为控制器联网的手段。我国目前CAN总线技术在汽车上的应用存在着很大的空白,在电动汽车上应用CAN总线技术研究尚处于起步阶段。   电动汽车融合了许多的电子控制
[汽车电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved