CAN总线使用总结

发布者:WhisperingSoul最新更新时间:2015-05-08 来源: eefocus关键字:CAN总线  使用总结 手机看文章 扫描二维码
随时随地手机看文章
can总线基本概念

CAN  是Controller Area Network  的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制 系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的 数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN  通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。

CAN总线使用总结

一,can总线是由德国BOSCH公司提出,目的是为了解决汽车内部硬件信号线的复杂走线

二,CAN:controller area area:控制器局域网络

三,can总线的特点:

        与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。

  1,CAN为多主方式工作,网络上任一节均可在任意时刻主动向网络上其他节点发送信息,不分主从

  2,CAN节节点只需通过对报文的标志符进行滤波就可以方便的实现点对点,点对多点及全局广播等

几种传送接收方式;

  3,CAN总线采用非破坏总线仲裁技术。当发生冲突时,优先级低的节点自动退出发送,而优先级高

的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在负载很重的情况下,也不

会出现瘫痪情况(以太网则可能)。

  4,在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据

最多可在134us内得到传输;

  5,CAN的直接通信距离最远可达10KM(速率在5kbps以下),通信速率最高可达1Mbps, 

(此时通信距离最长为40m);

  6,CAN上的节点数主要取决于总线驱动电路,目前可达110个;

  7,报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低;

  8,CAN的每帧信息都在CRC校验及其他检错措施,具有极好的检错效果;

  9,CAN的通信介质为双绞线、同轴电缆或光纤,选择灵活;

  10,CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响;

  11,CAN总线具有较高的性价比。

四,can总线的系统构成及数据传输原理

   (一),系统构成

         1,CAN控制器:接收来自微控制器的数据,并处理发送给收发器,同时,也接收来自收发器的数据,处理传给微控制器。

        2,CAN收发器:总线驱动

四,can总线的的通信协议

(一),网络层次结构

              可分为三个层:目标层,传送层,物理层,如下图所示

              物理层:规定了信号的传输过程中的电气特性(如传输方式及传输介质)及信号特性;

              传送层:帧组织,总线仲裁,错误检测等;

              目标层:信息识别,为应用层提供接口;

其上述分层按iso/osi也可以分为两层:物理层,数据链路层(即目标层和传送层)。

(二),位表达

CAN协议中有两种逻辑位表达方式

1. 当总线线上发送的都是弱位时,总线的状态就是弱位(逻辑1);

2.当总线上有强位出现时,弱位信号让位于强位信号,即总线上显示强位信号(逻辑0);

(三),帧类型

1. 数据帧:传送数据,携带数据从一个节点到另一个节点或多个节点,结构如下图(标准格式)所示。 

数据帧由7种不同的位域组成:起始域,仲裁域,控制域,数据据域,CRC域,应答域,帧结束域。

        起始域:表示数据帧或远程帧的开始,它由一个强位组成,主要用于接收状态下的CAN控制器的硬同

步。

        仲裁域:由信息标志符及RTR位组成,当多个CAN控制器同时发送数据时,在仲裁域要进行面向位的

冲突仲裁。对于标准格式里,标志符由11位组成,用于提供信息地址和优先级,其发送的顺序为ID28~ID18

(注:高7位不允许均为弱的现象);对于扩展格式,仲裁域由11位的基本ID(ID28~ID18)和18位

的扩展ID(ID17~ID0)组成,格式与标准格式略有不同,详见书P25。RTR为:远地请求发

送位,数据帧里为显性,远程帧里为隐性。当can总线上接收节点想请求某节点发送数据时,就向网络上发

送一远程帧,用标志符指出节点地址,同时置RTR位为高。如果寻址节点立即发送数据,则使用相同的标

志符,总线不会产生冲突,因为此时数据帧的RTR位为低(数据强位)。在扩展帧里SRR位取代了RTR

位。[page]

       控制域:由6个位组成,包括2个保留位(IDE,ro)用于CAN协议扩展,4位数据长度码,允许数据的

长度值为0~8。

       数据域:发送缓冲区按照长度码指示的数据长度进行发送,接收的数据同样如此,第一个字节的最高有

效位第一个被发送/接收。

       循环冗余校验域(CRC):由CRC序列位(15位)和一个CRC边界符(1个弱位)组成。CRC的范围

包括起始域、仲裁域、控制域、数据域、CRC序列。之所以选用这种帧校验方式,因为:这种CRC码对于

少于127位的帧最佳。

        应答域:应答域由发送方发送的两位弱位组成(应答空隙和应答分界位),当接收器正确地接收到有

效的报文时,接收器就会在应答间隙期间(发送ACK信号)向发送器发送一显性位以示应答。因此发送节

点一直监测总线信号以确认网络中至少有一个节点正确接收到发信息。应答分界位是应答域中的第二个弱

位,有此可见,应答空隙两边有两个弱位:CRC分界位和应答分界位。

       帧结束域:每一个数据帧或远程帧一串7位的弱位帧结束域结束。

2. 远程帧:请求数据

远程帧由6个域组成:起始域、仲裁域、控制域、CRC域、应答域、帧结束域。

远程帧与数据帧不同之处在于:RTR位为高,无数据域。

3. 错误指示帧:用于指示传送过程中的错误信息

     错误指示帧由两个不同的域组成:第一个域反映来自控制器的错误标志,第二个域为错误分界符。

            错误标志:有两种,一个由6个强位组成的主动错误标志;另一个由6个弱位组成的被动错误标志,

它是被其他CAN控制器强位改写。 处于主动错误状态的CAN节点检测到错误发出主动错误标志,该错误标

志不满足位填充规则,或者是破坏应答域或结束域固定格式,所有其他节点都检测到错误状态,并发出该错

误标志。因此,这些从总线上监测到的强位串是不同节点发出错误标志的结果,这一标志最短为6个,最长

为12个。被动错误标志(不太理解。。。后续)

          错误分界:它由8个弱位组成,与过载分界有相同的格式,当错误标志发生后,每一个CAN节点监测

总线,直到检测到一个强位出现,这表明所有CAN节点已经完成错误标志的发送,并开始发送8个弱位的分

界符,之后网络上的主动错误节点便可同时开始其他的发送。如果数据帧或远程帧在发送过程中发现错误

后,当前的信息作废,并启动重新发送。如果CAN节点发现错误指示帧错误,则重发,当连续多次出现此错

误时,则相应的节点变为被动错误节点。为正确结束错误标志,被动态节点需要至少3个位周期。

4. 过载帧:用于后续帧的延时

过载帧由两个域组成:过载标志和过载分界。

以下情况可以导致过载帧发送:

                                    (1). 接收未准备好即接收方需要过多的时间处理当前的数据;

                                     (2).在帧间空隙的第一位或第二位发现显性位信号;

过载帧发送条件:

                                    (1).在帧间空隙域的第一个位周期;

                                     (2).在帧间空隙域中检测到强位信号一个位周期后,方可启动过载帧发送。

过载标志:由6个显性位组成,与错误标志格式相同,当超载标志发生后,每个节点监测总线状态,当发

现线上有弱位后,此时所有节点已完成超载标志的发送,并开始发8个弱位串;

过载分界符:由8个隐性位组成,与错误分界符格式相同;

英飞凌(infineon)单片机XC800之CAN总线

    CAN内部硬件结构,如下图所示

 

一,CAN处理机制

     发送:根据报文缓存中的报文对象,由位流处理器产生的通过can总线发送的数据帧和过程帧,即从报

文缓存中取出的报文对象,位流处理器给它加上起始域,结束域和CRC校验数据,组成一个完整的数据帧

和远程帧,此时位流控制器还在对总线进行监测,当发现总线空闲时,就启动数据的传送,传送过程中监测

总线的信息,当发现与传送的信息不相符时,就会产生一个“最近错误”中断请求。[page]

    接收:数据帧或远程帧通过总结接口,到CAN节点,位流控制器对其进行CRC域进行检测,验证数据的

一致性,当检测到错误时,产生一个“最近错误”中断请求,并产生一个错误帧,发送到总线上。对一个无

错误的帧,位流处理器将它分解成数据部分和标识符部分,列表控制器将其以链表的形式存储于报文缓存

中,执行远程帧或数据帧处理。

    在上述数据传送和处理过程中,会出现一些状态字,指示操作完成或出现错误,这些状态字或引发中

断,进行中断处理。

二,从上述结构框图可以看出,主要包括:CAN节点,报文控制器,中断处理单元

(一),CAN节点

(1),位流控制器(Bitstream Prosessor)

        主要任务:处理数据帧,远程帧,错误帧和过载帧,同时还进行串行数据流与输入/输出寄存器之间

转换工作(Perdiv data frame ,remote frame ,error frame and overload,conversion thd seiral data

stream and the input/output register)。

      详述:位流控制器:对于发送:根据报文缓存中的报文对象,由位流处理器产生通过CAN总线的数据

帧和远程帧。该的控制器控制CRC产生器,且给新的远程帧和数据帧加上校验和信息。在加入‘帧起始

位’和‘帧

结束域’之后,位流处理器开始CAN总线仲裁过程,且当发现总线空闲时连续进行帧发送。进行数据发送

的同时,位流控制器连续地监测I/O线的的电平和发送移位寄存器当前送出位的逻辑状态之间检测到失配,

产生一个‘最近错误’中断请求,错误码由位域NSRX.LEC给出。

     对于接收:通过验证CRC相关域,确定接收到的帧是否有问题,或有问题,产生一个‘最近错

误’中断请求,同时产生一个错误帧,并发送到总线上。若接收的帧无错误,将接收到的帧分解成标志符和

数据部分,并将接收到的信息传给报文缓存,执行远程帧或数据帧处理,中断产生和状态处理。

(2),位时序单元(Bit timing unit)

       考虑到传播延迟和相移,根据用户设置确定采样点和位时间长度,同时也处理再同步操作(define a

length of a bit time and the location of the sample point according to the user settings,takeing into

accout propration delays and phase shift errors and re-sychronization).

(3),错误处理单元(error handling unit)

          对发送和接收过程中错误进行计数,当计数值达到一定时,进入不同的错误指示状态:错误激活,错

误认可,关闭总线。

(4),节点控制单元(Node control unit)

        A, 使能/禁止节点的传送

        B, 使能/禁止可引发中断的特定节点事件

         C 帧计数管理

(5),中断控制单元(interrupt control unit)

       控制CAN产生的不同类型的事件的中断

(二),报文控制器

(三),列表控制器

(四),中断处理单元

关键字:CAN总线  使用总结 引用地址:CAN总线使用总结

上一篇:不切入CAN总线的车联网都是伪车联网
下一篇:德国工程师的CANopen备忘录

推荐阅读最新更新时间:2024-05-02 23:40

基于dsPIC30F6011单片机的CAN总线扩展技术
0 引 言 CAN总线是一种串行多主站局域网总线,被广泛应用于汽车控制系统、自动控制、楼宇自动化、医学设备等各个领域。其传输距离远,最远可达10 km,传输速率高,最高可达1 Mb/s,容错性能好,可靠性能高。但是由于CAN驱动器的驱动能力有限,CAN总线能够驱动的节点数有限,一般在100个左右,同时会随着传输距离的增加,最高传输速率会下降,如果距离过长会引起信号丢失、反射等故障。在实验室条件下测得在5 Kb/s的通信速率下最远通信距离能达到10 km;在18 Kb/s的通信速率下最远通信距离只能达到2 km;而在42 b/s的通信速率下,最远通信距离只能达到1 km。测试条件:线缆采用线径为0.75 mm2的屏蔽双绞线,线缆为
[单片机]
基于dsPIC30F6011单片机的<font color='red'>CAN总线</font>扩展技术
汽车CAN总线基础-CAN总线简介
1. CAN的介绍 1.1 CAN是什么 CAN是Controller Area Network的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。   1.2 CAN的起源 汽车CAN总线是20世纪80年代初德国Bosch公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发的一种串行通信协议。   传统汽车线束连接如图1.21。   在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”,“通过
[嵌入式]
基于CAN总线的运动控制系统设计
1 总体设计 主节点采用ARM7内核的LPC2294微控制器,使用RTL8019AS作为以太网控制器,软件上采用具有网络功能强、性能稳定、移植性好的μCLi nux作为操作系统。基于CAN总线的运动控制系统,主要由1个主节点(主控制器节点)、若干个从节点(电机控制节点)以及1台计算机构成,主节点与从节点之间通过CAN总线进行通信,主节点与计算机之间则通过以太网进行通信,如图1所示。 图1 运动系统控制结构 主节点主要功能包括:1)通过CAN总线发送电机控制信息给从节点,并接收各从节点的反馈信息:2)通过以太网与计算机监控端进行通信,以实现远程监控。 1.1 整体硬件设计 主节点整体硬件结构如图2所示。 图2 硬件结构
[单片机]
基于<font color='red'>CAN总线</font>的运动控制系统设计
STM32外设DMA使用总结
STM32外设DMA使用总结: 1、根据需要选择DAM模式: (1)循环模式—DMA_Mode = DMA_Mode_Circular (2)正常模式—DMA_Mode = DMA_Mode_Normal 2、对于DMA1的Chanel3,对应外设为USART3的RX 试想:如果串口接收中断和DAM中断同时打开,CPU如何相应? (1)中断优先级不同:这好说,支持嵌套中断(NVIC)的Cortex-M3自然优先服务中断优先级高的 (2)中断优先级相同:处理原则,先来先处理;若同时到来,中断号低的优先处理 查询手册可知,DMA(IRQn number 13)会先于USART3(39)被CPU处理 3、设置DMA模式为循环模式,则:
[单片机]
基于ARM处理器智能电表系统的功能设计与论证
用电管理收费多年来一直采用先用电、后抄表、再付费的传统作业方式,电量值计算方面也无法实现更高的精确度,偏差较大。为了适应社会的需要,保证用户安全、合理、方便地用电,对传统的电表和用电的进行重新设计,使之符合社会发展的需要就显得很有必要。 1、智能电表的发展前景: 第一阶段 2000-2007 逐步以电子计量表取代传统机电式电表;在美国和欧洲着手推广单向通信网络; 第二阶段 2008-2012 全球范围内正在淘汰机电式电表;在欧美及中国大规模推广基于自动计量基础架构(AMI,即有IP地址的智能电表和电力公司之间的一种自动双向流通架构)的双向通信网络;智能电表作为简易型家庭网关,可用于多种公用设施的自动抄表(AMR)和负荷管理。 第三
[单片机]
基于ARM处理器智能电表系统的功能设计与论证
例举CAN总线网络应用
        CAN总线网络   CAN采用多主工作方式,节点之间不分主从,但节点之间有优先级之分,通信方式灵活,可实现点对点、一点对多点及广播方式传输数据,无需调度。也就是说,它可向系统中的所有节点进行报文发送广播,即CAN系统中的每个节点均同时接收到同样的数据。缺省情况下,CAN是基于报文而非地址的。系统采用分布式控制实现方法集成了多节点(见图1a所示分布式网络)。这种拓扑结构的好处之一是,节点的增加和去除非常简单,对软件的影响也很小。CAN网络要求每个节点均具备智能,但智能化水平可根据节点所承载的任务进行调整。因此CAN系统中使用的单片机通常较简单并且引脚数也较少。图1a进一步显示了CAN网络可实现分布式网络,从系统中增加或
[嵌入式]
基于CAN总线的高压开关柜状态监测单元通讯模块的设计
1. 引言 高压开关柜是电力系统的关键主设备之一,其运行状态对电力系统的可靠性具有重大影响。 统计表明,20世纪90年代中国电力系统开关事故类型分布如下:机械故障(拒分、拒合、误动)33.3%,尽缘故障37.3%,温升故障(载流)8.9%,其它20.5% 。 因此,有必要对高压开关柜的机械、温升及尽缘状态实施在线监测,及时发现事故隐患,防止事故发生。 现有高压开关柜监测单元的核心一般采用单片机(MCU),其处理能力有限、存贮空间很小,只能对数据进行简单的处理和存放少量的历史数据 。为了存放大量的历史数据以便对已有的数据进行复杂的处理(如寿命评估、故障诊断等),也为了对电力系统运行状态进行远程检测和诊断,有必要使监测单元具有通讯能
[单片机]
基于<font color='red'>CAN总线</font>的高压开关柜状态监测单元通讯模块的设计
基于CAN总线多视觉传感器测控系统的设计
    1 引言       视觉检测技术是以机器视觉为基础的新型测试技术,因其具有测量非接触、速度快、信息量大、应用领域宽广等特点而受到欢迎。结构光传感器是应用较早、发展较成熟的视觉传感器,因此本系统采用结构光传感器来采集图像并经图像采集卡送给计算机处理。由于视觉传感器在视觉测量中担负着视频图像信号(测量数据)的采集、切换与传输。因此,如何让视觉传感器测控系统快速、精确地获得理想的视频图像信息,进而为后期的图像处理提供可靠的支持,亦即视觉传感器的测控系统的设计显得尤为重要。       2 视觉系统的概述       视觉检测系统中采集被测物体图像的视觉传感器有单目和双目两种之分,本测控系统可以使用单目视觉传感器也可以使用双目视
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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