CAN总线

CAN总线
CAN总线

实验一CAN总线网络的搭建

实验类型:验证型

一、实验目的

1、理解SJA1000的相关寄存器的设置,理解CAN通信的基本流程。

2、熟悉CAN总线网络的基本原理与结构组成。

3、能够会用CAN测试软件ZLGCANTest。

二、实验设备及仪器

1、CAN测试软件ZLGCANTest。

2、串口调试助手。

3、DP—51+单片机开发实验仪。

三、实验原理

1、CAN智能节点组成和框图

通常,如图1所示,一个完整的CAN节点应该包括以下三个部分:微控制器、CAN控制器、CAN收发器。在CAN节点的各个组成部分中,微控制器负责完成CAN控制器的初始化,进行与CAN控制器的数据传递,并按照预定的程序进行处理;CAN控制器主要负责将数据以CAN报文的形式传递,并进行系统的诊断、测试以及处理CAN总线上的错误等;CAN 收发器是CAN控制器和CAN总线之间的接口,完成物理电平的转换。

图1智能节点组成框图

2、DP-51实验板与PC机的连接

整个套件的完整连接框图如图2所示。

图2系统的开发套件连接

橙色框分别代表的是通用CAN测试软件ZLGCANTest和CAN智能节点人机界面,它们都起到提供一个人机交互的操作环境,均可控制和设置各自的CAN节点。不同的是ZLGCANTest控制的是CANmini,而CAN智能节点人机界面控制的是DP-51+的CAN模块。蓝色框分别代表了DB25并行接口和DB9针型CAN通讯接口。其中,PC机的并行接口即打印机接口,PC并口需要支持EPP传输模式及中断,在实际连接中,只需将CANmini直接插入PC并口中即可。CANmini的CAN接口与DP-51+的CAN接口通过CAN通讯电缆连接即可。

注意:CANmini需要5V供电,所以,在连接CAN通讯线时,除了正确连接CAN_L 和CAN_H这两条数据线外,还必须正确连接V-参考电源地线和V+参考电源线,将供电线的负端接入DB9针形CAN通讯接口的V-端,将供电线的正端接入DB9针形CAN通讯接口的V+端,否则将造成CANmini无电源供应的情况。其中DB9_OPEN5转换插座的实物图如图3所示,在DB9_OPEN5转换插座反面,有V-端和V+端的标志。

DB9_OPEN5转换插座正面DB9_OPEN5转换插座反面

图3 DB9_OPEN5转换插座实物图

2、数据链路的实现:

通过操作DP—51+的人机界面模块,按下按键,给出一个发送CAN报文的命令。此时,一个完整的CAN报文将被送到CAN控制器SJA1000的发送缓冲区,如果满足发送条件,这个CAN报文将按照CAN2.0(B)协议由硬件自动发送到CAN总线上去,然后,CAN总线上所有节点将会接收到此报文,并产生应答信号。如果此报文的ID信息满足某个节点的滤波设置,此报文就被送到此节点的CAN控制器SJA1000的接收缓冲区,数据流程如图4所示。在本实验中,用ZLGCANTest的主界面观察这个由DP—51+发送出来的CAN报文。

图4数据流程框图

四、实验内容及步骤

1、利用“CANstarter-I 开发套件”建立一个基本的CAN总线通信网络,由“ZLGCANTest+CANmini+DP-51+”组成,单台DP-51实验板与PC机串口相连,搭建硬件平台。

2、DP-51实验板上电,开关打到下载状态。

3、通过串口调试软件将给定的总线发送与总线接收程序下载到实验板,

4、利用ZLGCANTest 软件来监测CAN 总线上的数据,观察DP-51的发送与接收状态,观察数据帧的结构。

五、实验报告内容

1、简述本实验基本操作过程。

2、分析CAN总线通信的基本过程和网络的基本结构。

3、分析总线节点组成原理。

3、分析SJA1000如何支持CAN总线的通信。

实验二SJA1000局部自检测实验

实验类型:设计型

一、实验目的

1、理解SJA1000的相关寄存器的设置。

2、学会对CAN节点的基本操作,理解CAN通信的基本流程。

3、学会应用CAN测试软件ZLGCANTest和Keil C51开发环境。

4、初步了解CAN 总线的通信软件设计。

二、实验设备及仪器

1、基于上位机的CAN测试软件ZLGCANTest和Keil C51开发环境。

2、串口调试助手。

3、DP—51+单片机开发实验仪。

三、实验原理

1、CAN通信控制器SJA1000

CAN通信控制器SJA1000,实现CAN2.0A、CAN2.0B的两种格式通信帧的通信控制。SJA1000 内部寄存器分布于0~31 连续的地址空间中,包括控制段和信息缓冲区。控制段在初始化载入时可被编程来配置通讯参数(例如,波特率、位时序等)。微控制器也是通过这个段来控制CAN 总线上的通讯状态。

本实验对SJA1000的编程基于SJA1000_PELI 库,SJA1000_PELI 库提供在PeliCAN 模式下对SJA1000 进行操作的函数,在使用本库时,需要将SJA1000_PELI.LIB、

SJA1000_PELI.H 和SJA1000REG.H 三个文件一同拷贝到用户的工程所在文件夹,将

SJA1000_PELI.LIB 添加到用户的工程中,并在应用文件中包含SJA1000_PELI.H 即可。相应函数定义如下:

位清零函数

unsigned char ClrBitMask(unsigned char RegAdr,unsigned char BitValue);

入口参数:

RegAdr:要清零位的SJA1000 内部寄存器地址;

BitValue:要清零的SJA1000 内部寄存器位。

位置1 函数

unsigned char SetBitMask(unsigned char RegAdr,unsigned char BitValue);

入口参数:

RegAdr:要置位的SJA1000 内部寄存器地址;

BitValue:要置1 的SJA1000 内部寄存器位。

读SJA1000 寄存器函数

unsigned char ReadSJAReg(unsigned char RegAdr);

入口参数:

RegAdr:要读取的SJA1000 内部寄存器地址;

读SJA1000 寄存器区间函数

unsigned char ReadSJARegBlock(unsigned char RegAdr,unsigned char

*ValueBuf,unsigned char len);

入口参数:

RegAdr:要读取的SJA1000 寄存器区间的起始地址;

ValueBuf:用户指定的存储读出寄存器区间值的起始地址;

len:读取SJA1000 内部寄存器区间的长度。

写SJA1000 寄存器函数

unsigned char WriteSJAReg(unsigned char RegAdr,unsigned char Value);

入口参数:

RegAdr:要被写的SJA1000 内部寄存器地址;

Value:要写入SJA1000 内部寄存器的值。

写SJA1000 寄存器区间函数

unsigned char WriteSJARegBlock(unsigned char RegAdr,unsigned char

*ValueBuf,unsigned char len);

入口参数:

RegAdr:要被写入数据的SJA1000 寄存器区间的起始地址;

ValueBuf:用户指定的存储写入数据的地址;

len:写入SJA1000 内部寄存器区间的长度。

进入复位模式函数

unsigned char SJAEntryResetMode(void);

退出复位模式函数

unsigned char SJAQuitResetMode(void);

波特率设置函数

unsigned char SJASetBaudrateStandard(unsigned char CAN_ByteRate);

入口参数:

CAN_ByteRate: 通过参数设置SJA1000 的通信波特率,参数范围为0~14。

2、CAN通信

SJA1000_PELI 库中的总线发送函数与总线接收函数定义如下:

发送函数

unsigned char SENDSJADATA(unsigned char *SEND_BUFFER, unsigned char

len);

入口参数:

SEND_BUFFER:用户准备发送数据的存放区间的首地址;

len:用户发送的数据长度。

接收函数

unsigned char REVSJADATA(unsigned char *REV_BUFFER,unsigned char

len)

入口参数:

REV_BUFFER:用户存放接收数据的存放区间首地址;

len:用户接收的数据长度。

四、实验内容及步骤

1、利用“CANstarter-I 开发套件”建立一个基本的CAN 测试网络,由“ZLGCANTest+CANmini+DP-51+”组成,搭建硬件平台。

3、利用ZLGCANTest 软件来监测CANmini协议转换器的自发自收状态,观察总线的状态。

4、依据SJA1000_PELI 库,设计总线发送和总线接收程序,并在此基础上编程实现实验板的单帧自发自收程序。

5下载自发自收程序到实验板,实现实验板的局部自检测,观察局部自检的状态。

图1 发送流程

图2 接收流程

五、实验报告内容

1、简述本实验基本操作过程,记录实验果。

2、分析控制器SJA1000特点和基本工作原理。

3、分析节点局部自测试的过程,及其总线和节点的状态。

4、给出总线收发的基本程序。

实验三双节点通信实验

实验类型:设计型

一、实验目的

1、进一步熟悉CAN总线系统的组成、建立、通讯和应用。

2、初步了解CAN 网络的功能应用。

3、初步了解CAN总线系统应用协议设计。

二、实验设备及仪器

1、Keil C51开发环境。

2、串口调试助手。

3、DP—51+单片机开发实验仪。

三、实验原理

DP —51 学习板的键盘定义

1)、节点键盘操作说明

DP —51+

为了方便的演示组成的CAN 网络我们暂且设定各键的功能如下:

K5 键设定为功能键,用于选择功能项系统功能分为A 功能项B 功能项C 功能项和SD 项按K5 键可在这几大项功能间切换。

K1 键设定为检索键,用于选择各功能项下的功能小项。功能小项详介见功能项详介。

K6 键设定为移位键,在各功能状态下有效。

K7 键设定为确认键,在各功能状态下确认编辑数据有效,按下确认键后自动进入下一小项。K2 键设定为增加键,对正在进行的处于编辑状态的位加1。LED 显示的数据在0 —F 之间循环。

K4 键设定为退出键,返回系统状态。

K8 键设定为发送键,将编辑好的CAN 格式报文发送到CAN 总线。

2)、功能项详介

A 功能项

A 功能项为系统设置项,共分为A1~A3 三个小项在A 功能下,按检索键可以在

A1~A3 各小项间切换。其中A1 小项为设置验收代码,A2 小项为设置验收屏蔽,A3 小项为设置总线波特率。其中要设置报文滤波需结合A1 项和A2 项来设置。设置方法:验收代码和验收屏蔽共同来决定该节点要响应的报文的ID,验收屏蔽(AMR7~AMR0)中的某位为“1”时对验收代码ACR7~ACR0 的对应位和识别码高8位(ID7~ID0)的对应位是无影响的。但当验收屏蔽寄存器AMR 中的某位为“0”时则验收代码寄存器中对应的位和接收识别码高8位中对应的位必须相等,报文才能被接收。

设置报文滤波示例:

设置某节点只响应报文识别码为…10101010 XXX?的信息。则验收代码寄存器ACR 和验收屏蔽寄存器AMR的设置如下:ACR = …10101010? AMR = …00000000?。按K5 键(功能键)当系统显示“A 1 X X”且LED3 闪烁表示系统进入设置验收代码状态,LED3 和LED4 标识系统上一次的验收代码配置值,这时可配合移位键(K6键)和增加键(K2键)将LED3 和LED4 设为A A,并按确定键(K7键)将编辑结果写入验收代码,设置正确后系统自动进

入下一功能小项A2,按同样的方法将LED3 和LED4 设为0 0,按确定键,设置正确系统进入A3 小项。如果不想保留编辑结果可直接按检索键,在各功能小项间切换,按退出键返回系统状态。

A3 小项为设置CAN 总线波特率,系统默认的波特率为1000Kbps 设定值与波特率的对应关系如下表所示:

注:设定为其它的值系统将不予理会,检索时若设置的波特率表中没有则LED将显示“A3 FF”,总线上各节点的波特率必须一致。

B 功能项

B 功能项为发送命令数据帧或远程帧数据设定项。分为B1~B

C 共10小项在B 功能下,按检索键可以在B1~BA 各小项间切换。

B1 小项为设定发送报文识别码的高8 位。

B2 小项为设定发送报文识别码的低3 位+RTR(位)+DLC (高位在先)。

B3 小项为设定发送报文数据0。

B4 小项为设定发送报文数据1。

B5 小项为设定发送报文数据2。

B6 小项为设定发送报文数据3。

B7 小项为设定发送报文数据4。

B8 小项为设定发送报文数据5。

B9 小项为设定发送报文数据6。

BA 小项为设定发送报文数据7。

在各小项状态下可配合移位键(K6键)和增加键(K2键)来设定数据。在编辑完每一小项后,请按确认键。否则本次编辑结果不被保留。确认本次帧结构编辑完毕,按退出键退出编辑状态。按发送键将本次编辑结果发送到CAN 总线上。

注:本功能键在SJA1000 的工作模式下有效,否则显示“B---”。

C 功能项:

C功能项保留。

SD 功能项

SD 功能项项的功能为自动发送直通显示的数据帧。按功能键进入SD 功能项,屏显

“sd00”,并且LED3 闪烁,可以根据移位和增加键来设定自动发送的频率。

发送周期= 设定值×1ms。

发送的格式为帧ID 依次加1,数据依次加1。

四、实验内容及步骤

1、利用2块DP-51+,组成一个简单直观的、可测试的、1主1从的CAN总线网络平台。

2、将SJABCANTEST.HEX 文件下载到DP51 的FLASH 中,熟悉整个基于键盘的操作流程。实现两个DP-51+板之间的CAN报文通信。观察两实验板之间通信的状态,观察标准帧的结构。

设定:双方波特率相同(设为1M)(0E);主从节点ACR = …10101010? AMR = …00000000?;

主节点发送AA 06 C6 00 01 02 03 04;改变从节点(接收节点)的ACR(与主节点相同,或不同)观察接收数据状态;主节点发送远程帧AA 15(5对应命令字CMD=C6),观察状态。

3、重新找一个CAN总线应用实例,试着定义CAN应用层协议(选作)。

要求:网络通讯的起始信息总是由主节点发送。主节点向总线发送带有识别码(ID)的命令数据报文,从机根据识别码来判断是否响应该报文。(在CAN协议中规定识别码(ID)的最高7位不能全部为1)。识别码的报文滤波可以自己决定。

五、实验报告内容

1、简述本实验基本操作过程,记录实验果。

2、分析CAN总线应用协议的特点。

3、分析总结CAN总线应用层协议的设计编制方法。

can总线协议完全解析

CAN总线协议解析 李玉丽 (吉林建筑工程学院电气与电子信息工程学院,吉林长春,130021 ) 摘要:现场总线的发展与应用引起了传统控制系统结构的改变。控制局域网(C AN)总线因其自身的特点被广泛应用于 自动控制领域。本文对C AN总线协议作了详尽解析。 关键词:C AN总线;隐性位;显性位;节点 中图分类号:T U 85 文献标识码:A CAN(Cont roll e r A rea N et work)是分布式实时控 制系统的串行通信局域网,称谓CAN总线。在数据 实时传输中,设计独特、低成本,具有高可靠性,得到 广泛应用。 本文着重解析C AN 技术规范2.0B 版的CAN 的分层结构规范和CAN 报文结构规范。重点在于 充分理解CAN总线协议精髓,有助于CAN总线的 局网设计、软件编程、局网维护。 一、C AN的分层结构 CAN 遵从O SI ( Ope n Syste m I nte rc onnec ti on Re fe re nce Mode l ) 模型,其分层结构由高到低如图1 所示。 图1 C AN的分层结构 对应OSI 模型为两层,实际为三层,即LLC、 MA C、PL S。由此而知,对应于CAN总线系统每个 节点都是三层结构。数据发送节点数据流为LLC→ MA C→P LS ,然后将数据发送到总线上;而对于挂在 总线上的所有节点(包括发送节点)的接收的数据流 为PL S→MA C→LLC。 这种分层结构的规范保证了CAN 总线的多主 方式工作模式,即不分主从,非破坏性的仲裁工作模 式。而LLC 层的报文滤波功能可实现点到点、一点 对多点、全局广播、多点对一点,多点对多点等数据 传递方式。 各分层主要功能如下: LLC 层:接收滤波、超载通知、恢复管理; MAC 层:控制帧结构、执行仲裁、错误检测、出 错标定、故障界定。该层是CAN的核心; PL S 层:位编码/ 解码、位定时。 二、CAN总线的报文规范 CAN报文的传送有4 种不同类型的帧结构,数 据帧、远程帧、出错帧、超载帧。CA B2.0B 有4 种帧 格式。 (一)数据帧

使用泰克MSO4000示波器测试与分析CAN总线信号

主题TOPIC —————————————————————————————————TITLE:使用泰克MSO4000示波器测试与分析CAN总线信号 OBJET :介绍了泰克MSO4000系列示波器在CAN网测试中的若干应用

目录 1目的 (3) 2适用范围 (3) 3参考文件 (3) 4历史 (3) 5泰克MSO4000示波器简介 (4) 6利用MSO4000示波器对CAN LS信号进行采集和解码 (4) 6.1 对示波器进行设置 (4) 6.2 监测CAN LS网络上的CAN_H和CAN_L电平信号 (5) 6.3 技术规范对CAN LS信号电平值的规定 (8) 6.4 监测CAN LS网络的总线解码信号 (9) 7利用MSO4000示波器对CAN HS信号进行采集和解码 (10) 7.1 对示波器进行设置 (10) 7.2 监测CAN HS网络上的CAN_H和CAN_L电平信号 (10) 7.3 技术规范对CAN HS信号电平值的规定 (11) 7.4 监测CAN HS网络的总线解码信号 (11) 8使用泰克“e﹡Scope”功能对示波器进行远程操作 (12) 9使用Open Choice软件自动获取示波器屏幕截图 (13) 10使用SignalExpress TE软件实现自动化测试 (15) 2 of Page 19

1 目的 CAN网络信号的测试包括总新电平信号的采集、电压值的测量、信号解码分析、总线通讯状态监测等内容,这部分内容也是构成CAN网络底层测试的基础,测试结果的正确与否,直接关系到整车电器架构的稳定性与电控单元功能的完好性,因此如何便捷高效地完成CAN网络的测试,已经成为整车验证环节中不可回避的一个话题。本文中提出了一套使用泰克MSO4000系列示波器与配套的LabVIEW SignalExpress TE软件进行CAN总线信号测试与分析的方法,从而完成整车高速、低速CAN网络信号的分析与测试工作。通过“示波器+PC软件”的方式,测试人员可以方便快捷地对总线信号进行实时监测,也可以使用示波器的解码功能直接观测到对应的逻辑信号。在使用附属的SignalExpress TE软件后,还可以实现远程测试、自动化测试等功能,与其它测试和分析方法相比,具有入门简单、适用范围广、数据采集精度高等优点,大大提高了基于CAN总线技术的电控单元的开发与测试效率。 2 适用范围 供新车型项目中进行CAN网底层测试时参考使用。 3 参考文件 4 历史

CAN总线呕心沥血教程

哥很郁闷,为了CAN研究了不少,看了不少资料,现在我给大家总结一下先看看工作原理 当CAN总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式成为面向内容的编制方案。同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,当几个站同时竞争总线读取时,这种配置十分重要。 大体的工作原理我们搞清了,但是根本的协议我们还要花一番功夫。下面介绍一个重要的名词,“显性“和”隐性“ 在我看到的很多文章里,有很多显性和隐性的地方,为此我头痛不已,最终我把它们彻底弄明白了。 首先CAN数据总线有两条导线,一条是黄色的,一条是绿色的。分别是CAN_High线和CAN_Low线 当静止状态时,这两条导线上的电平一样。这个电平称为静电平。大约为2.5伏。这个静电平状态就是隐形状态,也称隐性电平。也就是没有任何干扰的时候的状态称为隐性状态.当有信号修改时,CAN_High线上的电压值变高了,一般来说会升高至少1V,而CAN_Low线上的电压值会降低一个同样值,也是1v,那么这时候。CAN_High就是2.5v+1v=3.5v,它就处于激活状态了。而CAN_Low降为2.5v-1v=1.5v。 可以看看这个图 由此我们得到 在隐性状态下,CAN_High线与CAN_Low没有电压差,这样我们看到没有任何变化也就检测不到信号。但是在显性状态时,改值最低为2V,我们就可以利用这种变化才传输数据了。所以出现了那些帧,那些帧中的场,那些场中的位,云云~~~~~~~~~~~ 在总线上通常逻辑1表示隐性。而0表示显性。这些1啊,0啊,就可以利用起来为我们传数据了。 利用这种电压差,我们可以接收信号。 一般来说,控制单元通过收发器连接到CAN驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。然后,这个放大器很自然地就放大了CAN_High和CAN_Low线的电平差,然后传到接收区。如下图 由上图可知,当有电压差,差动信号放大器放大传输,将相应的数据位任可为0。下面我们进入重点难点。报文 所谓报文,就是CAN总线上要传输的数据报,为了安全,我们要给我们传输的数据报编码定一下协议,这样才能不容易出错,所以出现了很多的帧,以及仲裁啊,CRC效验。这些都是难点。 识别符的概念。 识别符顾名思义,就是为了区分不同报文的可以鉴别的好多字符位。有标准的,和扩展的。标准的是11位,扩展的是29位。他有一个功能就是可以提供优先级,也就是决定哪个报文优先被传输,报文标识符的值越小,报文具有越高的优先权。CAN的报文格式有两种,不同之处其实就是识别符长度不同,具有11位识别符的帧称为标准帧,而还有29位识别符的帧为扩展帧,CAN报文有以下4个不同的帧类型。分别是

CAN总线通信接口及程序设计毕业设计

机电工程学院 毕业设计说明书设计题目: CAN总线通信接口及程序设计 2012 年 5 月21 日

目次

1 CAN总线介绍 1.1 CAN总线的发展背景 随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。但是传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发展方向。20世纪80年代,德国Bosch公司着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。这一崭新的网络协议使得汽车产业得到了飞速的发展。 CAN总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另外还大大提高了系统控制的可靠性和稳定性。在没有CAN总线协议之前,一辆汽车中用于各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。并且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。因此CAN总线的出现无疑具有重大的意义和作用。作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。 CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方面。仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。 CAN总线是串行通信网络。传统运用的是基于R线构建分布式控制系统,这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高,并且控制的可靠性能低。CAN总线通过每个网络节点进行数据通信,每个节点可以互相收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收到相同的数据,大大增强了数据通信的实时控制及传输性能。另一方面CAN总线使用起来非常方便。CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CAN总线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据

CAN总线故障检查方法

一、CAN总线简介 CAN总线即控制器局域网,为串行通信协议,能有效得支持具有很高安全等级得分布实时控制,在汽车电子行业中,使用CAN连接发动机控制单元,传感器,防刹车系统等等,其传输速度可达到1Mbit/S。 1、CAN总线数据生成 CAN总线得数据分为模拟信号与数字信号,模拟信号就是由传感器检测得到,并将得到得信号进行转换(A/D),变成数字信号,送给MCU,由MCU将生成得CAN报文发送到总线上。模拟信号一般显示在指针表上,如气压1,气压2等.数字信号相对简单,可直接由MC U接收,然后将报文发到CAN总线上,如发动机诊断,刹车片磨损等等,一般显示在仪表上. 2、CAN信号线 CAN传输得两条信号线被称为CAN_H 与CAN_L。通电状态:CAN_H(2、5V)、CAN_L(2、5V)或CAN_L(3、5V)、CAN_H(1、5V)断电状态:CAN_H、CAN_L之间应该有60~62欧电阻值,两个120欧分别在仪表模块与后控模块中,并联后就是60欧姆左右。 ?友情提示:用万用表就是测不准CAN_H或CAN_L电压得,因为通电后C AN线上得电压在不停变化,而万用表得响应速度很慢,所以测得得电压就是并不就是当前电压而就是电压得有效值。 3、唤醒线WAKEUP

CAN总线所有模块都有两个WAKEUP引脚,模块内部就是连接在一起得,前控模块为WAKEUP输出,其它模块为WAKEUP得输入,连线时总线各模块得WAKEUP都必须与前控连接在一起,当前控电源正常、钥匙1档(ACC档)开时,前控正常工作,WAKEUP输出(输出电压值约等于当前电源电压),总线其它模块收到WAKEUP信号,模块被唤醒,在电源正常得情况下,各模块开始工作。 二、线路与模块得基本检查 1、线路得基本检查分为输入与输出线路。 对输入线路得检查:首先,要找到输入得管脚(各种车得管脚定义不同);然后将输入得管脚与模块断开;最后对线路就是否有信号输入进行检查. 对输出线路得检查 首先,确定输出得线路就是否断线或搭铁。将管脚与模块断开后测量.然后就是测量线路就是否有输出.将模块与管脚连接后检查. 2、模块得基本检查包括对电源线、地线、唤醒线、CAN线得检查。 电源得检查:模块上一般有4根左右得电源线,在模块正常工作时,每个电源都应该有24 v得电压。 地线得检查:模块上一般都有2到3根地线,在模块工作时,这些地线都要与全车得地线接触良好. 唤醒线得检查:每个模块都要有1根唤醒线,在模块工作时有24v得电压。

CAN总线技术详解

CAN总线技术详解 起源 20世纪80年代,Robert Bosch 公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线CAN控制器局域网,那也是CAN 诞生的时刻。今天,在欧洲几乎每一辆新客车均装配有CAN 局域网。同样,CAN也用于其他类型的交通工具,从火车到轮船或者用于工业控制。CAN 已经成为全球范围内最重要的总线之一甚至领导着串行总线。CAN总线的工作原理 CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。 当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。 由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。

can总线分析仪kvaserlin产品详解

CAN总线分析仪Kvaser Linx 将Kvaser Linx连接到Kvaser 现场总线上,即可分析J1587、LIN、K-Line、SWC 或 LS 总线网络,其优越的兼容性、灵活性和可靠性,极大的方便了各种总线的分析,目前市场上尚只有Kvaser Linx J1587 ?Kvaser Linx LIN适用于LIN 2.0和LIN 1.x. ?Kvaser Linx J1587适用于 SAE J1587/1708. ?Kvaser Linx K-line适用于ISO 9141. ?Kvaser Linx SWC适用于SAE J2411, GMLAN. ?Kvaser Linx LS适用于ISO 11898-3 (故障容忍CAN). ?Kvaser Linx Analog I/O适用于从0到24伏的输入电压. 一般特点 ?塑模造的9针DSUB母连接器带大拇指螺钉 ?塑模造的9针DSUB公连接器 ?紧凑的塑料外壳 ?适用于Kvaser的高速CAN接口 ?特别适合于 Kvaser Memorator Professional, Kvaser USBcan Professional 产品版本 ?Kvaser Linx J1587 (Schedule for Item no. 00389-7) ?Kvaser Linx LIN (Schedule for Q1, 2007) ?Kvaser Linx K-line (Schedule for Q1, 2007) ?Kvaser Linx SWC (Schedule for Q1, 2007) Kvaser Linx LS (Schedule for Q1, 2007)

CAN总线实例介绍

CAN总线读书笔记 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准。CAN总线解决方案为嵌入式设计提供通信与连接,使其进入崭新阶段。CAN串行总线协议是一款高速可靠的通信协议,创建最初用于汽车应用,如今已广泛用于需要达到1 Mbps比特率的稳健通信应用。在产品设计中集成CAN协议将是在恶劣电气环境下实现高度实时通信功能的低成本的可靠途径。 CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。近年来广泛应用于汽车控制系统和工业控制系统领域。下面我们可以看到CAN-BUS总线技术应用的具体案例。 案例1:电动汽车充电站换电站充电桩CAN总线管理系统方案背景介绍:电动汽车充电站是电动汽车发展和普及的重要基础支撑系统,也是电动汽车商业化、产业化过程中的重要环节。 现在通常的通电方式有3类,适用于不同的应用场合。充电站通常主要提供快速充电服务,辅以用于慢速充电的充电桩;充电桩则只能提供慢速充电;换电站则提供为电动汽车更换电池的服务。 而这三类的充电方式都会同样使用到计算机作为管理核心,并且通过以太网来连接站内的各个功能部分,如计费和打印等计算机和系统。所以以太网是作为管理网络存在于系统当中。对于直接的充电的指示和监控则是由可靠性和实时性更好的CAN总线来管理的,所以BMS和充电桩都是CAN接口的。

基于CAN总线的汽车测试解决方案

基于CAN总线的汽车测试解决方案 于CAN总线的汽车测试解决方案一、前言 随着中国汽车市场的快速发展和汽车电子的价值含量迅速提高,针对汽车电子的测试技术也变的日益复杂,在全球化的汽车设计和生产的趋势下,中国本地的工程师越来越感觉到汽车电子测试所面临的种种困难,其中主要包括:(一)无法满足产品线不断更新的需求,并希望减少产品投放市场的周期。 1.汽车电子产品的日益更新,要求测试系统以最快的速度满足新的需求。而目前国外引进的专用测试系统往往升级周期较长,无法满足本地瞬息万变的产品测试需求。图1:基于PXI TestStand平台的测试系统 2.专业汽车电子厂商往往生产多个不同型号的同类产品,并根据订单、物流的条件,其生产计划经常发生变化。如果不同型号的产品都采用不同的测试设备,将会导致测试设备重复利用率过低,大大降低投资效率。 (二)目前汽车电子测试缺乏通用仪器的解决方案,如汽车音响及仪表盘的测试往往需要专门定制的仪器,而且这些仪器价格非常昂贵。 (三)本地的售后服务和及时的故障响应。测试生产线上一切以生产线的持续运行为最高目标,当中国工程师不能掌握

全面的故障诊断和维修技术时,就只能向国外的工程师求助,这样容易导致响应速度慢,且代价昂贵。 (四)复杂的汽车测试系统常常需要多种测量和控制任务的协同工作,一个用于集成的软硬件同步平台就显得尤为的重要。 二、支持CAN协议的柔性测试设备 20世纪80年代Bosch公司为解决汽车系统中各个电子单元之间的通信问题开发了CAN总线标准。这种串行总线用2 根或1根电线把汽车里的各个电子设备连接起来,相互可以传递信息。采用CAN总线避免了电子模块间大量繁复的连线,比如仪表板上车速、发动机转速、油量和发动机温度的指示就不需要连接不同的线缆到对应的传感器,而只需要接入CAN总线,就可以从总线上获取相应信息。CAN的卓越表现使汽车制造商们纷纷开发并使用基于CAN和数据采集 设备的测试系统。国际标准组织将CAN总线接纳为ISO 11898标准。NI公司在其标准虚拟仪器测试平台上推出CAN 控制器系列,支持多种CAN总线的协议,其中包括高速CAN、低速容错CAN和单线CAN。尤其是新推出的PXI-8464软 件可选类型的CAN控制器,可以让你不用更改硬件连接, 就适应各种CAN通信协议,同时既可以作为总线控制器, 又可以作总线通信分析仪,使得测试设备可以在最大程度上适应柔性生产。

CAN总线学习心得--重要

CAN总线学习心得--重要 SJ A1 0 0 0 的常用标准波特率设置,为什么基本上都是单次采样?即使是低速的时候也是这样的,既然T SEG1 的设置周期都很大,比如都大于1 0 了,为什么不让他采样三次呢?答:是不好理解,但那是Ci A 推荐的值。用5 1 系列芯片和两个SJ A1 0 0 0 接口还要外扩一个RAM,请问5 1 的AL E 能否同时与三个芯片的AL E 管脚相连( 地址不同) 有哪位高手做过双SJ A1 0 0 0 冗余的请指教!答:能同时连接。请问CAN 总线在想传输1 0 0 0 m 的情况下, 最快的速度能到多少呢?答: 5 0 k b p s = 1 3 0 0 m。如果一个网络中只有 2 个节点, 其中一个处于监听模式,另一个节点发送报文会使处于监听模式的节点进入中断吗?答:能进入接收中断,你自己的试验也可以证明。想组建一个简单的CAN 网络, 已经有两个节点, 我想问CAN 总线如何组建, 终端电阻安装在哪里?小弟还没有入门, 大虾们指点一下。答1 :直接将节点CANH 和CANL 连到总线上,终端电阻接在总线两端,大约1 2 0 欧。答2 :推荐北航出版《现场总线CAN 原理与应用技术》,研读一下。请问各位老师:我是一名c a n 总线的新手,我正在做c a n 总线的开发,控制器用s j a 1 0 0 0 t ( 我自己两个控制板互通) , 但我在发送数据后将出现总线关闭,我看到发送错误计数器在不断增加,直到0 x f f 最后恢复到0 x 7 f , 谢谢各位老师帮我解答这个问题。或者对我给与启发答1 ;首先调通单个节点。答2 :这是单节点发送没有成功( 或者由于网络中其他节点没有收到帧并在响应场响应) 建议参考网站CAN 应用方案。我想请教各位c a n 远程贞有何作用?如何应用?在什么情况下才需要用到远程贞?谢谢了!答:远程帧的用与不用完全取决你自己的协议,c a n 有远程帧的功能,是可用可不用的!用网站提供的计算波特率的工具算出的数,1 2 k 以上的都正确,无论是自接收还是两个节点通讯都没有任何问题。但是1 2 k 以下的数据一个都不能用,两个节点通讯没有成功的,自接收有1 0 k 的几个数据成功。我们的项目要求必须在1 0 k 以下,最好是5 k ,但是不成功,自己计算的数据也没有成功的。(我们至少试验了3 0 多个,所有情况都考虑了。)我现在怀疑s j a 1 0 0 0 的波特率根本达不到5 k 和相对应的传输1 0 k m。或者可以谁能提供个经过实践检验的正确的总线定时器0 和1 的设置呢?要求低于1 0 k 。答:PCA8 2 C2 5 0 / 2 5 1 可以保证5 KBPS 的速率;比如Z L GCAN 系列接口卡。答:t j a 1 0 5 0 在低速时好像有问题。我用1 0 5 0 进行5 k 的时候不行,用8 2 c 2 5 0 很好,你可以试一试。我本想双机调试,一边收,一边发,但跑程序后,发送方会不断进入复位模式,所以现在进行自测试模式,我先进入复位模式,设置进入PEL I CAN 模式,对寄存器初始化后,设置接收,发送中断使能,最后设置进入自接收,单滤波模式,这样初始化就结束了,我的ACR0 ~ ACR3 为0 x 5 5 , 0 x 5 5 , 0 x 5 5 0 x 5 0 , AMR0 ~ AMR3 为0 x f f , 之后,我就往BUF F ER 里填数,0 x 8 8 , 0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x 5 0 , 0 x 3 0 , 0 x 3 1 , .0 x 3 7 , 之后,启动自接收请求命令,但是程序只进入了中断一次,是发送空中断,接收中断没有产生,我读发送错误寄存器,发现有错误产生,我读接收计数寄存器,为0 ,说明我没有收到数,但我读接收BUF F ER 时,值为0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 , 0 , 0 , 0 , 0 , 以上测试时,我在CANH 和CANL 之间加入了两个1 2 0 欧的匹配电阻并联在一起的,请各位高手指点呀,谢谢了答:在总线上加个CAN 接口卡会方便许多,或者加个捕获功能的示波器也可以检测波形。仿真环境:k e i l u v 2 编译器:k e i l c 5 1 7 . 0 仿真器:t k s - 5 9 1 s c p u : p 8 7 c 5 9 1 程序大小:8 K 左右兄弟在一片CPU 中烧写了一个,运行一个CAN 总线,I I C 总线测试程序能够正常运行。这个基础上加上应用程序后在仿真机中运行正常,但是烧写到c p u 后插入c p u 程序不能运行,请问是什么原因?另外一个问题:在另外一个项目中条件相同,程序只有4 K, 程序正常跑着,CAN 接口可以检测到输出波形但是却不能正确传输数据,在一块旧板子上就可以,比较两者之后发现电路完全相同测量也正常,只是布局不同,请教原因。答:程序已运行了吧?可能是HEX 文件有错;编制程序时注意P8 7 C5 9 1 的ERAM 设置、6 CL K 设置。位流数据采样自发送节点的8 2 c 2 5 0 的T x 管脚。测试条件:p e l i c a n ,扩展,双滤波模式,对方I D:0 x 8 8 , 0 x 1 1 , 0 x 5 5 , 0 x 1 0 ,发送的对方I D 为:0 x 8 8 , 0 x 1 1 , 0 x 0 0 , 0 x 0 0 ,发送2 字节数据为:0 x 0 5 , 0 x 0 6 采集的位流数据如下:0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 请教位流数据的含义?答:自行计算时要区分位,还需要进行“位填充”的逆运行;简单的方法是将此信号连接

(完整版)CAN总线解析

一、概述 CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。 想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN 有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到1Mbps,通信距离最远到10KM,无损位仲裁机制,多主结构。 近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。 一个典型的CAN应用场景: 二、CAN总线标准 CAN总线标准只规定了物理层和数据链路层,需要用户来自定义应用层。不同的CAN标准仅物理层不同。

CAN收发器负责逻辑电平和物理信号之间的转换,将逻辑信号转换成物理信号(差分电平)或者将物理信号转换成逻辑电平。 CAN标准有两个,即IOS11898和IOS11519,两者差分电平特性不同。(有信号时,CANH 3.5V,CANL 1.5V,即显性;没有信号时,CANH 2.5V,CANL 2.5V,即隐性) IOS11898高速CAN电平中,高低电平的幅度低,对应的传输速度快。 双绞线共模消除干扰,是因为电平同时变化,电压差不变。 2.1物理层 CAN有三种接口器件

多个节点连接,只要有一个为低电平,总线就为低电平,只有所有的节点都输出高电平时,才为高电平。所谓“线与”。 CAN总线有5个连续性相同的位后,就会插入一个相反位,产生跳变沿,用于同步。从而消除累计误差。 和485、232一样,CAN的传输速度与距离成反比。 CAN总线终端电阻的接法:

特点:低速CAN在CANH和CANL上串入2.2kΩ的电阻;高速CAN在CANH和CANL 之间并入120Ω电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。(因为大多数双绞线电缆特性阻抗大约在100~120Ω。) 120欧姆只是为了保证阻抗完整性,消除回波反射,提升通信可靠性的,因此,其只需要在总线最远的两端接上120欧姆电阻即可,而中间节点并不需要接(接了反而有可能会引起问题)。因此各位在使用CAN Omega做CAN总线侦听的时候,大多数情况下是不需要这个120欧姆电阻的,当然,即使当前网络中并没有终端匹配电阻,只要传输线长度不长(比如SysCan360比赛环境中,传输线只有1-2米)CAN节点数量不多的情况下,不要这个120欧姆电阻也完全可以工作,甚至,你接任意电阻都是不会有影响的。因为此时传输线长度和波长还相差甚远,节点不多的情况下,反射波的叠加信号强度也不会很强,因此传输线效应完全可以忽略。 而哪些情况需要呢,主要就是,当使用2个CAN Omega对发或者当前网络中仅有2个CAN设备的时候,此时两个端点最好都加上终端匹配电阻,当然,前面也说过了,传输线长度不长的时候,也可以不需要2端120欧姆电阻,但为了信号完整性考虑,加上这两个电阻才是严谨的。 2个120欧姆电阻的意义在于,使用USB CAN调试某些不带终端电阻的中间节点设备时,有时候CAN总线上没有2个120欧姆电阻通信可能会异常,此时可以接入2个120欧姆电阻作为2个终端电阻来作阻抗匹配,这时候其他端点不应接入任何终端电阻!并且,这2个120欧姆电阻不可用1个60欧姆电阻代替!

CAN总线最全应用

幻灯片1 幻灯片2 第4讲 CAN 数据总线(CAN BUS) 幻灯片3 幻灯片4 CAN通信技术概述 CAN ( Controller Area Network ) 即控制器局域网络。由于其高性能、高可靠性、及独特的设计,CAN越来越受到人们的重视。国外已有许多大公司的产品采用了这一技术。 CAN最初是由德国的BOSCH公司为汽车监测、控制系统而设计的。现代汽车越来越多地采用电子装置控制,如发动机的定时、注油控制,加速、刹车控制(ASC)及复杂的抗锁定刹车系统(ABS)等。由于这些控制需检测及交换大量数据,采用硬接信号线的方式不但烦琐、昂贵,而且难以解决问题,采用CAN总线上述问题便得到很好地解决。 幻灯片5 1993年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。 CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。 幻灯片6 CAN总线特点 CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。 CAN总线特点如下: (1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。 (2)网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。 (3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。 幻灯片7 (4)可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。 (5)直接通信距离最远可达10km(速率5Kbps以下)。 (6)通信速率最高可达1MB/s(此时距离最长40m)。

CAN总线应用

设计(论文)题目:基于CAN总线的楼宇温度检测系统 前言 基于单片机实现传统温度检测技术的特点,提出了基于CAN总线的楼宇温度检测系统方案。该系统方案的硬件平台主要包括温度检测模块和主控平台,并详细介绍了其硬件实现、软件设计思想及流程。实验表明:该系统可实现对楼宇温度的实时检测,并由数码管显示检测结果,对异常情况进行处理,从而实现对楼宇房间温度的有效检测。 在传统的检测技术中,温度检测基本采用单片机系统为主,且大多数都针对工业需要,日常生活中的应用并不多;而通信多基于落后的485总线,不能进行远距离的实时数据传输,更不能与因特网相连,可靠性也不高。因此,本文提出一种基于CAN总线的温度测控技术,该技术适合远距离控制与传输,具有非常高的可靠性。 控制器局域网(Controller Area Network,CAN)是国际上应用最广泛的现场总线之一。CAN总线最早出现在20世纪80年代末的汽车工业中,由德国BOSCH公司最先提出,其主要特性为低成本,且总线利用率高。CAN采用串行通信方式工作,所提供的最高数据传输速率为1Mbit/s,最大通信距离为10km。CAN还具有可靠的错误处理和检错机制,极强的错误检测能力,发送信息遭到破坏后可自动重发;可在高噪声的干扰环境中只用,能够检测出产生的任何错误,当数据的传输距离达到10km时,CAN仍能提供5kbit/s的数据传输速率。 正是基于CAN总线的上述优点,目前CAN总线在众多领域被广泛应用,其应用范围不再局限于原先的汽车行业,而向过程工业、机械工业、纺织工业、数控机床、医疗器械及传感器等领域发展,CAN总线已经形成国际标准,并已被公认为是几种最有前途的现场总线之一。 考虑到CAN总线的高可靠性和远距离传输优点,结合目前温度检测技术的技术瓶颈,即距离短和实时性差的特点,本系统CAN总线应用于传统的温度检测中,也是一种新的尝试。

STM32的can总线实验心得要点

STM32的can总线实验心得 (一) 工业现场总线 CAN 的基本介绍以及 STM32 的 CAN 模块简介 首先通读手册中关于CAN的文档,必须精读。 STM32F10xxx 参考手册Rev7V3.pdf https://www.360docs.net/doc/f76978555.html,/bbs/redirect.php?tid=255&goto=lastpost#lastpos t 需要精读的部分为 RCC 和 CAN 两个章节。 为什么需要精读 RCC 呢?因为我们将学习 CAN 的波特率的设置,将要使用到RCC 部分的设置,因此推荐大家先复习下这部分中的几个时钟。 关于 STM32 的 can 总线简单介绍 bxCAN 是基本扩展 CAN (Basic Extended CAN) 的缩写,它支持 CAN 协议 2.0A 和 2.0B 。它的设计目标是,以最小的 CPU 负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。 对于安全紧要的应用,bxCAN 提供所有支持时间触发通信模式所需的硬件功能。 主要特点 · 支持 CAN 协议 2.0A 和 2.0B 主动模式 · 波特率最高可达 1 兆位 / 秒 · 支持时间触发通信功能 发送 · 3 个发送邮箱 · 发送报文的优先级特性可软件配置 · 记录发送 SOF 时刻的时间戳 接收 · 3 级深度的2个接收 FIFO · 14 个位宽可变的过滤器组-由整个 CAN 共享 · 标识符列表 · FIFO 溢出处理方式可配置 · 记录接收 SOF 时刻的时间戳 可支持时间触发通信模式 · 禁止自动重传模式 · 16 位自由运行定时器 · 定时器分辨率可配置 · 可在最后 2 个数据字节发送时间戳 管理 · 中断可屏蔽

CAN 总线通信原理分析

CAN总线通信原理分析 CAN(Controller Area Network)总线,即控制器局域网总线,在工业控制、医疗电子、家用电器及传感器领域都得到了广泛的应用。目前国内外文献中针对CAN总线协议分析的文章主要是针对CAN协议的帧结构以或位时序特性进行分析,如文献鲜有从通信的角度对CAN总线协议进行分析,鲜有从工程应用的角度出发,对CAN总线的通信机制进行深入分 析的文章。 1 CAN应用特性及结构构成 CAN总线协议具有两个国际标准,分别是ISO11898和ISO11519。其中,IS011898是通信速率为125 kbps~1Mbps的高速CAN通信标准,属于闭环总线,总线最大长度为40 m/1Mbps。ISO11519定义了通信速率为10~125kbps的低速CAN通信标准,属于开环总线,最大长度为1 km/40kbps。由于电气特性限制,即总线分布电容和分布电阻对总线波形的影响,CAN总线上最大节点数目为110个。对于应用工程师,只需正确配置收发端 的波特率和位参数即可实现收发节点的数据同步。通过CAN控制器硬件对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。同时,由于CAN报文采用短帧结构,并且每帧均包含CRC校验部分,保证了数据出错率极低。CAN总线在工 程应用中结构构成如图1所示。 系统实现中的CAN应用层、操作系统(在无操作系统的应用中以后台程序实现)及驱动程序共同实现了ISO参考模型中的应用层功能。其中,CAN应用层定义ID分组、发送数据装包、接收数据处理以及应用层总线安全监测;操作系统/后台程序用于在CAN中断到达后调度CAN驱动程序对数据进行处理;驱动程序包括初始化(控制器工作状态设置、波特率设置、验收滤波器配置)、收发驱动及异常处理程序。 对于传输介质层,需要根据环境干扰噪声、总线长度等来确定。在强干扰噪声的情况下必须采用屏蔽线;由于分布电容造成的总线波形失真及分布电阻造成的总线电平的衰减,总线长度需要考虑采用的传输介质的分布电阻和分布电容特性;同时,若采用高速总线还需通过实验确定总线的匹配电阻值。 对于CAN驱动层和应用层,驱动程序包括CAN初始化(包括硬件使能、波特率设置、控制器工作模式设置及验收滤波器ID表配置)、收/发驱动并向上层提供接口函数,其中需要说明的是验收滤波器的ID表配置需要根据应用层对系统ID的分组来进行;CAN应用层 根据总线上各节点之间的数据收发关系进行数据包的ID分组、发送数据装包、接收数据处

CAN宝马车系CAN总线信号的检测

宝马车系CAN总线信号的检测 CAN总线信号检测 此说明用于检查总线连接上的CAN高速和CAN低速信号电平是否正确。 使用的电缆。 多功能检测导线 检测提示 ◇电压检测(示波器):电压检测的前提条件是,蓄电池已连接并且点火开关已接通 ◇电阻测量:在电阻测量时,在测量前必须把待A部件断电,为此应断开车辆蓄电池的接线,等待约3 min,直到系统中的所有电容器放完电 关于CAN总线的信息 CAN(控制器区域网络)总线系统是一种线形总线系统并具有以下特征: ◇信号双向传播 ◇所有总线用户都接收同一个信息,每个一弥线用户决定,它是杏利用该信息 ◇通过简单并联即可添加附加的总线用户 ◇此总线系统构成一个多主控单元系统,每个总线用户可以是主控单元也可以是副控制单元,根据其作为发射器还是接收器被连接而定

◇传输媒介是双线连接,导线的名称为:CANLow(低速)和CANHigh(高速) ◇廊仕每个总线用户可以通过总线同所有其他总用户通信,通过干预法,控制总线上的数据交换,数据总线K-CAN(车身CAN)、PT-CAN(传动系CAN)和F-CAN(底盘CAN)之间的主要区别是: (1)K-CAN:数据传输率约l00kBit/s,可以进行单线运行。(2)PT-CAN:数据传输率约500kBit/s,不能进行单线运行。 (3)F-CAN:数据传输率约500kBits/s,不能单线运行。 主控单元:主控单元是主动式通信方,、通信的主动权由它发出。主控制单元掌控总线,并控制通信。主控制单元能够在总线系统中向被动式总线用户(副控制单元)发送信息,并根据被动式用户的要求接收信息。 副控制单元:副控制单元是一个被动式通信用户,副控制单元被要求接收和发送数据。 多主控单元系统:在一个多主控单元系统中所有的通信用户在某个时间都能够担当主控单元或副控制单元的角色。 示波器测量 K-CAN;PT-CAN、F-CAN 为了弄清CAN总线是否完好工作,必须观察总线上的通信情况。在这种情况下不需要分析单个位,而只需要观察CAN总线是否工作。示波器测量说明:“CAN总线很可能无故障工作”。

CAN总线技术讲解

摘要: 随着工业测控技术和生产自动化技术的不断进步,传统的RS-232、RS-485和CCITTV.24通信技术已不能适应现代化的工业控制需要,而现场总线(Fieldbus)以其低廉的价格、可靠的性能而逐步成为新型的工业测控领域的通信技术。现场总线是应用在生产现场,在微机化测量控制设备之间实现双向串行多节点数字通信的系统,是一种开放式、数字化、多点通信的底层控制网络。汇集了计算机技术、网络通信技术和自动控制技术(3C)的现场总线技术,从20世纪80年代开始发展起来,并逐步在制造业、流程工业、交通、楼宇等方面的自动化系统中得到了广泛的重视和应用。现场总线主要有以下几种类型[1-3]:基金会现场总线(FF)、LonWorks、ProfiBus、CAN、HART,而其中CAN即控制器局域网因为具有高性能、高可靠性以及独特的设计而越来越受到关注,现已形成国际标准,被公认为几种最有前途的现场总线之一。 Abstract: As industrial measurement and control technology and production automation technology advances, the traditional RS - 232, RS - 485 and CCITTV. 24 communication technology can not meet the needs of modern industrial control, and field bus (Fieldbus), with its low price, reliable performance, and gradually become a new kind of communication technology in the field of industrial measurement and control. Field bus is used in production field, between microcomputer-based measuring control equipment to realize the bidirectional serial multi-node digital communication system, is a kind of open, digital, multipoint communication bottom control network. Brings together computer technology, network communication technology and automatic control technology (3 c) field bus technology, developed in the 1980 s, and gradually in the manufacturing and process industries, transportation, building automation system has been widely attention and application. Fieldbus basically has the following several types: [1-3] foundation fieldbus (FF), LonWorks, ProfiBus, CAN, HART, and which CAN namely controller local area network (LAN) because of the high performance, high reliability and unique design is more and more attention, already formed the international standard, is recognized as one of the most promising fieldbus.

相关文档
最新文档