当前位置:文档之家› can总线温度控制

can总线温度控制

can总线温度控制
can总线温度控制

祝你成功

本系统以AT89S52单片机为核心部件,外加温度采集电路、及显示电路和越限报警等电路。采用单总线型数字式的温度传感器DS18B20,使系统具有测温误差小、分辨率高、抗干扰能力强,动态显示的方式等特点。本设计既可以对当前温度进行检测又可以对温度进行数码显示,两位整数两位小数的显示方式具有更高的显示精度,若超越极限温度则触发蜂鸣器报警。利用功能强大的Keil和具有互动电路仿真的Proteus进行程序的编写和仿真。

关键词:仿真温度检测报警DS18B20

I

目录

第一章选题依据 (1)

1.1课题背景 (1)

1.2研究设计内容 (2)

第二章温度检测系统的硬件设计 (3)

2.1电路总体原理框图 (3)

2.1.1 AT89S52介绍 (4)

2.2DS18B20的特性 (6)

2.2.1 DS18B20的外形和内部结构 (6)

2.2.2 DS18B20的使用方法 (7)

2.3测温电路 (8)

2.4单片机复位电路 (9)

2.5LED显示电路 (10)

2.6报警电路 (11)

第三章温度检测系统软件设计 (12)

3.1总流程图 (12)

3.2延时设计 (13)

3.3复位设计 (14)

3.4显示设计 (14)

第四章系统仿真调试 (16)

4.1P ROTEUS7.1 (16)

4.2K EIL UVISION2 (17)

4.3仿真结果分析 (19)

4.4硬件焊接及系统调试问题 (20)

4.5结论 (22)

致谢 (23)

参考文献 (24)

附录 (25)

II

第一章选题依据

在科学技术突飞猛进的今天,温度检测、控制起不可忽视的作用。温度控制无论在医疗电子领域还是工业控制领域应用都非常广泛,如在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制,医疗电子领域的生化分析仪等,内部都涉及到温度控制。本课题它完成了从温度的采集、转换、显示以及报警的一系列任务。

本文介绍了以AT89S52单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机,单片机进行温度的判断是否超越所设置的温度极限,若低于或高于所设温度,单片机将发出信号使蜂鸣器自动报警。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控报警,完成了课题所有要求。

1.1课题背景

自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向。

采用单片机AT89S52来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

1

1.2 研究设计内容

本系统采用的新型智能化温度传感器DS18B20,能以数字形式直接输出被测点温度值,具有测温误差小、分辨率高、抗干扰能力强、成本低,是研制和开发具有高性价比的新一代温度检测系统的核心器件。

本系统设计了一个由数字化测温元件构成的温度检测报警系统,本系统包括了温度检测、温度显示、温度越限报警等部分。

本系统主要运用了单片机AT89S52,高性能CMOS 8位单片机,片内含8K bytes 的可反复擦写的。兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元等强大功能。也采用了新型传感器DS18B20,利用它的体积小,高精度、强大的读写功能等特点进行温度的采集。

用PNP型三极管做驱动,采用4位共阴LED动态显示方式。主要采用了手动复位操作。

2

第二章温度检测系统的硬件设计

2.1电路总体原理框图

温度测量及显示、报警系统控制的总体结构如图2-1所示。系统主要包括现场温度采集、温度显示、电路控制输出、与报警装置和系统核心AT89S52单片机作为微处理器。

图 2-1电路总体原理框图

温度采集电路以数字量形式将现场温度传至单片机。单片机结合现场温度与用户设定的目标温度,进行判断是否超越极限以此控制蜂鸣器自动报警。

3

2.1.1 AT89S52介绍

1、AT89S52性质

AT89S52单片机是美国ATMEL公司生产的AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器256 bytes 的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

AT89S52芯片有40条引脚,双列直插式封装引脚图如2-2图所示:

2-2 AT89S52引脚图

Vss(20): 接地。

Vcc(40):电源+5V。

PSEN(29):片外程序存储器选通信号,低电平有效。

(9):复位信号输入端。AT89S52接能电源后,在时钟电路作用下,该脚上RST/V

PD

,即备用电源输入出现两个机器周期以上的高电平,使内部复位。第二功能是V

PD

端。

ALE/PROG(30):地址锁存信号输出端。

P0口(39—32):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。

4

P1口(1—8):准双向通用I/O口。

P2口(21—28):准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用

P3口(10—17):多用途口,既可做普通I/O口,也可按每位定义的第二功能操作。ALE/PROG(30):地址锁存信号输出端。

主要功能特性:

◆兼容MCS-51指令系统

◆8k可反复擦写(>1000次)Flash ROM

◆32个双向I/O口

◆ 4.5-5.5V工作电压

◆时钟频率0-33MHz

◆全双工UART串行中断口线

◆256x8bit内部RAM

◆2个外部中断源

◆低功耗空闲和省电模式

◆中断唤醒省电模式

◆3级加密位

◆看门狗(WDT)电路

◆软件设置空闲和省电功能

◆灵活的ISP字节和分页编程

◆双数据寄存器指针

◆2个16位可编程定时/计数器

AT89S52共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2、P3口均为准双向I/O 口;其中P2口还用于传送高8位地址信号;P3口每一引脚还具有特殊功能,用于特殊信号的输入输出和控制信号。

AT89S52内部有一个可编程的、全双工的串行接口。它串行收发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据。

5

2.2 DS18B20的特性

◆适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下由数据线供电。

◆独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现

微处理器与DS18B20的双向通讯。

◆DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网

多点测温。

◆DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如

一只三极管的集成电路内。

◆温范围-55℃~+125℃,在-10~+85℃时精度为0.5℃。

◆可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃

和0.0625℃,可实现高精度测温。

◆在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在你

750ms内把温度值转换为数字,速度更快。

◆测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送

CRC校验码,具有极强的抗干扰纠错能力。

◆负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

2.2.1 DS18B20的外形和内部结构

DS18B20的外形结构及引脚排列

图2-3 DS18B20 外形结构图

DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

6

2.2.2 DS18B20的使用方法

DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。

1、DS18B20的读时序

DS18B20的读时序分为读0时序和读1时序两个过程。DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。

图 2-4 DS18B20的读时序

2、DS18B20的写时序

DS18B20的写时序仍然分为写0时序和写1时序两个过程。DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。

图 2-5 DS18B20的写时序

7

2.3 测温电路

DS18B20测温原理如图2-6所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

图 2-6 DS18B20测温原理框图

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

图2-7 DS18B20温度值格式表

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。如+125℃的数字输出07D0H,+25.0625℃的数

8

字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。最后CPU向传感器读取温度,加以处理。

2.4 单片机复位电路

当单片机AT89S52的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位图如3-5中A图所示。图中电容C1和R1对电源+5V来说构成微分电路。上电后使RST持续一段时间的高电平。由于单片机内的等效电阻作用,不用图中电阻R1,也能达到上电复位的功能,如3-5图B所示。

图2-8(A)上电复位图图2-8(B)上电复位电路上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如上图(B)所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。

上图(A)中:Cl=10-30uF,R1=1kO

上图(B)中:C:=1uF,Rl=lkO,R2=10kO

单片机复位后的状态:

单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。

9

说明:表中符号*为随机状态;A=00H,表明累加器已被清零。

2-1

PSW=00H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中。

Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;IP=×××00000B,表明各个中断源处于低优先级;

IE=0××00000B,表明各个中断均被关断;

系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。

2.5 LED显示电路

单片机I/O的应用最典型的是通过I/O口与LED数码管构成显示电路,我不采用LCD液晶显示器的主要原因是液晶显示,省电,常用于精密仪器仪表,而且编程复杂,而数码管显示,亮度高,成本低,编程简易,易操作。

显示采用4位共阴LED动态显示方式,显示内容有温度值的十位、个位及小数点后两位。用P2口作为段控码输出,P1.0—P1.2作为位控码输出,用PNP型三极管做驱动。模块电路如下图

10

图2-9显示接口电路

工作原理:利用DS18B2O所测量到的温度经过转换,再将转换出来的温度输入LED使内部的二极2管发光,使我们能看到清晰的温度值。

2.6 报警电路

此设计选择了蜂鸣器,因为是做设计,且比扬声器使用起来简单,只要按照极性要求加上合适的直流电压,就可以发出固有频率的声音,从经济性、电路结构、系统性等各方面考虑。

当用户设定的目标温度达到时需用声音的形式提醒用户,此时蜂鸣器为断续的滴答滴答的叫声。在本系统中我们为用户设计了越限报警,当温度低于用户设置的目标温度20度或高于30度时蜂鸣器为连续不断的滴答滴答叫声。当单片机P1.7输出高电平时,三极管导通,蜂鸣器工作发出报警声。

报警及指示灯电路如下图2-10示

图2-10 报警及指示灯电路图

当温度在正常范围内显示绿灯,当温度低于设限温度时,显示红灯2亮,同时,蜂鸣器报警。当温度高于设限温度时,显示红灯3亮,同时,蜂鸣器报警。

11

第三章温度检测系统软件设计3.1 总流程图

图 3-1 总流程图

主程序:

void main()

{

uchar i;

12

uchar temp;

float backbit;

uchar counter;

counter=5;

sp=1;

for(i=0;i<4;i++)

dispbuf[i] = 0;

while(1)

{

//温度测量频率没有必要太高,太高反而影响数码显示

//所以用计数器加以控制

if(counter-- == 0)

{

readtemp();

counter = 2;

}

// readtemp();//读18B20

backbit = temper[0];//换成浮点数

backbit = backbit * 6.25;//乘以0.0625*100

temp = backbit; //取低2位整数部分

dispbuf[3] = temp%10 ;

temp = temp/10;

dispbuf[2] = temp%10 ;

temp = temper[1]; //取整数部分

dispbuf[1] = temp%10;

temp = temp/10;

dispbuf[0]= temp%10;

saomiao();

}

}

3.2 延时设计

本系统选用的AT89S52单片机的工作频率为12MHZ。可以知道具体每条指令的周期数,这样就可以通过指令的执行条数来确定时间。具体的延时程序:void delay(uint z)

{

uint x,y;

13

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

本系统不仅对主函数进行了延时,还对DS18B20的操作进行了延时,以便我们能更容易看清楚所测温度的变化。对DS18B20的延时程序如下:

void delay1(uint z)

{

while(z--);

}

3.3 复位设计

本系统主要采用的是手动进行复位,在上电后使RST持续一段时间的高电平。就能使系统复位。其程序如下:

void reset(void)

{

uchar x=0;

DQ = 1;

delay1(8); //稍做延时

DQ = 0;

delay1(80); //精确延时大于 480us

DQ = 1; //拉高总线

delay(14);

x=DQ;

delay1(20);

}

3.4 显示设计

本设计主要是采用了四位一体LED数码管,都对起进行了上拉,以增加数码管的亮度。其程序:

void saomiao()

{

P0=table[dispbuf[0]];//十位

P1=0xfe;

14

delay(2);

P1=0xff;

P0=table1[dispbuf[1]];//个位

P1=0xfd;

delay(2);

P1=0xff;

P0=table[dispbuf[2]];//十分位

P1=0xfb;

delay(2);

P1=0xff;

P0=table[dispbuf[3]];//百分位

P1=0xf7;

delay(2);

P1=0xff;

15

第四章系统仿真调试

4.1 Proteus7.1

Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。

Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。

Proteus的工作过程

◆运行proteus的ISIS程序后,进入该仿真软件的主界面。

◆Proteus 软件所提供的仪表资源,对于一个仿真软件或实验室,测试的仪器

仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。

◆Proteus 软件所提供的调试手段,Proteus提供了比较丰富的测试信号用于电

路的测试。

16

图4-1 Proteus的的主界面

4.2 Keil uvision2

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

在打开Keil主界面后,新建工程进入界面如下图:

17

图 4-2 Keil主界面

程序编译成功后,点击Options for target后再点击Output进入以下界面

再点击Greate HEX Fi:生成 HEX文件。

图4-3 生成HEX文件界面

18

CAN总线8个特点

CAN总线8个特点 一、CAN总线是什么 CAN总线是与串行总线不同的工业控制通信系统,是德国博世公司为提供汽车电子产品的升级服务,所有它更多的用于汽车控制。 为什么它非常适合汽车行业呢?有以下几个原因: ●CAN总线最远的数据传输距离为10公里,完全可以满足汽车的通讯控制需求。●CAN总线具有很强的抗干扰性,不容易出现问题,可以有效地保证驾驶员的安全。 ●can总线的数据传输速度快,理论峰值达到1Mbps,并且具有很高的数据通信即 时性。 ●一条CAN总线可以同时连接128个节点。对于一辆汽车,一个或两个CAN总线 可以完全完成汽车控制工作,这对于广阔的汽车行业来说是个再合适不过的选择。 二、CAN总线原理 ●需要传输的数据从一个节点通过CAN总线被广播到另一个节点,当一个节点发送 数据时,该节点的CPU将发送的数据和标识符发送到该节点的CAN芯片,并使它们处于就绪状态。

●当CAN芯片接收到总线分配时,消息进入发送状态,并且CAN芯片发送的数据 以预定的消息格式发送。此时,网络中的所有其他节点都处于接收状态,并且所有节点都首先接收该节点,并通过检测消息是否发送给自身来进行判断。 ●CAN总线是一种面向内容的地址方案,可实现控制系统的建立和灵活部署,并允 许在不修改硬件和软件的情况下将新节点添加到CAN总线。 三、CAN总线的8个特点 ●采用两线串行通讯方式,具有较强的错误检测能力,可以在高噪声干扰环境下工作●具有实时性强,传输距离长,电磁干扰强,成本低的优点。 ●可靠的错误处理和错误检测机制 ●节点具有严重错误时自动终止总线的功能 ●具有通过CAN控制器将多个控制模块连接到CAN总线以形成多主机本地网络的 优先级和仲裁功能。 ●消息的身份可以决定接收还是屏蔽消息 ●如果传输的信息已损坏,则可以自动重新传输 ●该消息不包含源地址和目标地址,仅使用标志来指示功能信息和优先级信息。

CAN总线的特点有哪些

CAN总线的特点有哪些 CAN 总线的特点有哪些?(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权(CSMA/CA 方式*1)。多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。 (2) 消息的发送在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送 消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始 发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行 接收工作。(3) 系统的柔软性与总线相连的单元没有类似于地址的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。(4) 通信速度根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它 的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可 以有不同的通信速度。(5) 远程数据请求可通过发送遥控帧请求其他单元发送数据。(6) 错误检测功能-错误通知功能-错误恢复功能所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同时通知其他所有单元(错误 通知功能)。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。 强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢 复功能)。(7) 故障封闭CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总

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)CAN是到目前为止唯一具有国际标准的现场总线; (2)CAN为“多主”工作方式,网络上任一节点均可在任意时刻主动的向网络上的节点发送信息,不分主从。 (3)在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134us内得到传输。 (4)CAN采用非破坏性总线仲裁技术。当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响的继续传输数据,从而大大的节省了总线冲突仲裁时间。 (5)CAN节点只需要通过对报文的标识符滤波即可实现点对点,一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。 (6)CAN上的节点的个数主要取决于总线驱动电路,目前可达110个。在标准“帧”报文标识符(CAN2.0A)可达2032种,而在扩展帧的报文标识符(CAN2.OB)几乎不受限制。 (7)CAN报文采用“短帧”结构,传输时间短,受干扰概率低,具有极好地检错效果。 (8)CAN的每帧信息都有CRC校验以及其他检错措施,具有很

好的检错效果。 (9)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上的其它节点的操作不受影响。 (10)CAN的最大通信速率为1Mbps(当总线长为40m时),直接通信距离可达10km(而当通信速率为5Kbps时),其通信距离与通信速率之间的关系如下图所示: 图 1 CAN总线位的数值表示 (10)CAN总线具有较高的性能价格比。它结构简单,器件容易购置,每个节点的价格较低,而且开发技术容易掌握,能充分利用现有的单片机开发工具。

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总线应用于传统的温度检测中,也是一种新的尝试。

CAN总线基础(1)— CAN简介及特点

1.CAN是什么? CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。 下图是车载网络的构想示意图。CAN 等通信协议的开发,使多种LAN 通过网关进行数据交换得以实现。

2.CAN的应用实例 3.总线拓扑图 CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。 CAN的连接示意图

4.CAN的特点 CAN 协议具有以下特点: (1) 多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。 最先访问总线的单元可获得发送权(CSMA/CA 方式)。 多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。 (2) 消息的发送 在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。(3) 系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。 (4) 通信速度 根据整个网络的规模,可设定适合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。 (5) 远程数据请求 可通过发送“遥控帧” 请求其他单元发送数据。 (6) 错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 (7) 故障封闭 CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 (8) 连接 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。 1.CAN的错误状态类型 单元始终处于3 种状态之一。

汽车CAN总线车身控制系统介绍

汽车CAN总线车身控制系统介绍 一、 CAN总线CAN总线简介 CAN总线是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps,距离可达10km。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN 总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。因此,CAN协议对于许多领域的分布式测控很有吸引力。 随着集成电路和单片机在汽车上的广泛应用,汽车上电子控制单元越来越多,汽车总线已经成为汽车电气的一个必然的趋势。使用汽车总线不但可以简化线束,更主要的是可以增加各种智能化的功能。如故障检测和语音报警等。 二、汽车上的CAN总线应用 目前汽车上的网络连接方式主要采用2条CAN,一条用于驱动系统的高速CAN,速率达到500kb/s;另一条用于车身系统的低速CAN,速率是100kb/s。 驱动系统CAN主要连接对象是发动机控制器(ECU)、ABS控制器、安全气囊控制器、组合仪表等等,它们的基本特征相同,都是控制与汽车行驶直接相关的系统。 车身系统CAN主要连接和控制的汽车内外部照明、灯光信号、雨刮电机等电器。 目前,驱动系统CAN和车身系统CAN这两条独立的总线之间设计有"网关",以实现在各个CAN之间的资源共享,并将各个数据总线的信息反馈到仪表板上。驾车者只要看看仪表板,就可以知道各个电控装置是否正常工作了。 三、上海同济同捷科技股份有限公司汽车CAN总线车身控制系统 同捷公司的汽车CAN总线车身控制系统通过CAN总线来控制车身电器,如汽车外部照明、灯光信号、雨刮电机、洗涤电机、喇叭、启动电机、后除霜加热器、后备箱锁执行器,油箱盖锁执行器、车窗、后视镜等器件。 整套控制系统可以采用集中与分散相结合的控制方式。由一个主控模块、几个从控制模块以及语音中控模块组成。从控制模块的具体数量由控制量的多少决定。一般来说可以分成前控制模块、后控制模块、玻璃升降器控制模块、电动后视镜控制模块、电动天窗控制模块和电动座椅控制模块。 除前后盒主控模块外,其它几个模块自成系统并通过LIN总线与主控模块通讯以实现各种控制功能,例如语音中控模块可以通过LIN总线从主控模块读取各种故障信息以语音的方式向驾驶员报告,并将锁车设防信息送到主控模块供玻璃升降器和电动天窗读取,在锁车时实现玻璃的自动升降和天窗的自动关闭,还可以将电动后视镜和车窗的集控开关的信号通过LIN总线传递给各控制器以实现相应的控制。 各个模块的具体功率执行器件可以采用继电器或智能功率器件,采用智能功率器件可以减小控制盒体积,且具有过流,短路保护和断线反馈等功能。系统中融入故障检测和语音报警功能以及遥控、防盗功能,并提升了整车控制的智能化、人性化,简化整车线束、提高电气系统的可靠性。 基础框架:整个系统的基础框架由主控模块、车前模块、车后模块共3个部分组成。其控制了大部分车身电器,参见基础框架功能示意图。 四、上海同济同捷科技股份有限公司车身CAN总线系统的优势 (一)简化整车的供电系统,方便电气布线 由于改变了控制方式并使用了电子开关,取消了大部分继电器和熔断丝。整车线束减少20%~40%(发动机线基本保持不变,前围线减少20%~30%,底板线减少30%~40%)。

CAN总线特点与规范

CAN总线特点与规范 CAN 总线规范: CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,位速率可高达1MBPS。可以应用在汽车控制系统,自动化电子领域中的各种部件(传感器,灯光,执行机构等)与主机连接组成CAN 网络。本章介绍通过CAN总线与液晶显示器的连接。 CAN 具有下列主要特性: 1 多主站依据优先权进行总线访问。 总线开放时,任何单元均可开始发送报文,具有最高优先权的报文的单元赢得总线访问权。利用这个特点可以用液晶显示器作为多主机的公用监视器,不用每台主机配一个监视器,从而节约系统成本。 2 无破坏性的基于优先权的仲裁。 网络上的每个主机可以同时发送,哪个主机的数据可以发送出去取决于主机所发送报文的标识符决定的优先权的大小,没有发送出去的帧可自动重发。以后将介绍数据怎样仲裁。 3 借助接收滤波的多地址帧传送 收到报文的标识符与本机的接收码寄存器与屏蔽寄存器相比较,符合的报文本机才予以接收。 4.远程数据请求。 网络上的每个接点可以发送一个远程帧给另一个接点,请求该接点的数据帧,该数据帧与对应的远程帧以相同的标识符ID命名。 5.配置灵活性 通过八个寄存器进行接点配置,每个接点可以接收,也可以发送。 6.全系统数据相容性 7.错误检测和出错信令 有五种错误类型,每个接点都设置有一个发送出错计数器和一个接收出错计数器。发送接点和接收接点在检测到错误时,出错计数器根据一定规则进行加减,并根据错误计数器数值发送错误标志(活动错误标志和认可错误标志),当错误计数器数值大于255时,该接点变为“脱离总线”状态,输出输入引脚浮空,既不发送,也不接收。 CAN 中的总线数值为两种互补逻辑数值:“显形”和“隐性”,用差分电压表示。 “显形”表示逻辑“0”,显性状态用大于最小阈值的差分电压表示。 “隐性”表示逻辑“1”,这时输出的差分电压Vdiff 近似为0,Vcanh ,Vcanl固定于平均电压电平,显性位与隐性位同时发送时,最后总线数值为显性。在总线空闲或隐性位期间, 平均电压

CAN总线简介及其特点

摘要:CAN总线的数据通讯具有突出的可靠性、实时性和灵活性,其总线规范已经成为国际标准,被公认为几种最有前途的总线之一。本文在总结CAN总线特点的基础上,对其通信介质访问方式进行了详细的描述,介绍了它在应用中需要解决的技术问题以及目前应用状况。 关键词:CAN总线;通信介质访问控制;实时;应用技术 1CAN总线简介及其特点 CAN网络(ControllerAreaNetwork)是现场总线技术的一种,它是一种架构开放、广播式的新一代网络通信协议,称为控制器局域网现场总线。CAN网络原本是德国Bosch公司为欧洲汽车市场所开发的。CAN推出之初是用于汽车内部测量和执行部件之间的数据通信。例如汽车刹车防抱死系统、安全气囊等。对机动车辆总线和对现场总线的需求有许多相似之处,即能够以较低的成本、较高的实时处理能力在强电磁干扰环境下可靠地工作。因此CAN总线可广泛应用于离散控制领域中的过程监测和控制,特别是工业自动化的底层监控,以解决控制与测试之间的可靠和实时数据交换。 CAN总线有如下基本特点: * CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作; * CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突; * CAN采用短帧结构,每一帧的有效字节数为8个(CAN技术规范2.0A),数据传输时间短,受干扰的概率低,重新发送的时间短; * CAN的每帧数据都有CRC效验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境中使用; * CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响; * CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据; * CAN总线直接通讯距离最远可达10km/5Kbps,通讯速率最高可达1Mbps/40m; * 采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术。 详细的CAN协议可参见CAN技术规范2.0a和2.0b以及CAN国际标准ISO11898(参考文献3)。

CAN总线总结

CAN总线技术学习(一) CAN总线是控制器局域网络(Controller Area Network,CAN)的简称,是德国BOSCH公司开发,是国际上应用最广泛的现场总线之一,CAN总线已成为汽车计算机和嵌入式工控局域网标准总线。 为了全面了解CAN总线,需要先对其有个整体的概念,这中间还有一个小故事,一个应届毕业生到公司去应聘,负责招聘的经理问他:“你会哪方面的技术?”,毕业生说:“我会CAN总线”,经理疑惑的问:“你会看什么总线?”。那么什么是CAN总线呢? 1、首先CAN总线是一种串行总线,不是并行的,是用来传输电子数据的, 就像串口总线、USB总线、以太网一样; 2、CAN总线是半双工传输模式,发的时候不能收,收的时候不能发; 3、CAN总线使用双线传输,一根定义为CAN_H,一根定义为CAN_L,使用 差分信号传输(差分信号就是通过计算两线压差); 4、CAN总线的波特率最高可达1Mbps,传输距离最远10公里,传输波特 率和传输距离成反比,波特率越高有效传输距离越短; 5、组网时总线两端CAN_H和CAN_L之间要分别连接一个120欧的终端电 阻(起吸收反射波、高频抗干扰的作用)。 那么CAN总线有什么优势呢? 1、CAN总线作为现场总线只有两根传输线,比以太网组网简单,成本也低 很多,在不需要大数据量传输的设备通讯上有相当的优势; 2、CAN总线使用差分信号和屏蔽线传输,抗干扰能力强,数据传输稳定, 因为在某点有干扰时两根信号会被同步干扰,不会影响信号传输的信息; 3、CAN总线波特率最高可达1Mbps,传输速率相对串口快很多,同时总线 协议中加入CRC校验,相对于串口的奇偶校验,数据安全性强; 4、CAN总线使用差分双线传输,易于组网,布线简单; 5、CAN总线通讯不分主从,网络上每个设备都可以主动发送数据; 6、CAN总线协议应用非破坏性逐位仲裁机制,即通过发送帧的帧ID的大 小作为优先级判断网络上数据发送冲突,优先级高的信息发送,优先级 低的数据停止发送,极大提供总线的利用率;

CAN总线系列讲座第三讲CAN控制器和收发器

CAN总线系列讲座第三讲——CAN控制器和收发器 一 CAN控制器 官方定义:CAN控制器用于将欲收发的信息(报文),转换为符合CAN规范的CAN帧,通过CAN收发器,在CAN-bus上交换信息。 举个便于理解的例子:就像您发快递一样,要根据快递公司提供的快递单填写具体的信息(发件人和收件人的地址、联系电话等),快递公司将之标准化(统一的快递单格式,并对每一件快递进行编号),随后才能传递信息(您快递的具体东西,如文件、衣服、手机等)。 (1)CAN控制器分类 CAN控制器芯片分为两类:一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如NXP半导体公司的Cortex-M0内核LPC11Cxx系列微控制器、LPC2000系列32位ARM微控制器。CAN控制器的大致分类及相应的产品可参见表1。 表1 CAN控制器分类及相应产品型号 (2)CAN控制器的工作原理 为了便于读者理解CAN控制器的工作原理,下面给出了一个SJA1000 CAN控制器的经过简化的结构框图如图1所示。 图1 CAN控制器结构示意 接口管理逻辑 接口管理逻辑如图1所示。接口管理逻辑用于连接外部主控制器,解释来自主控制器的命令,控制CAN控制器寄存器的寻址,并向主控制器提供中断信息和状态信息。

CAN核心模块 CAN核心模块如图1所示。收到一个报文时,CAN核心模块根据CAN规范将串行位流转换成用于接收的并行数据,发送一个报文时则相反。 发送缓冲器 发送缓冲器如图1所示。发送缓冲器用于存储一个完整的报文,当CAN控制器发送初始化时,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文。 验收滤波器 验收滤波器如图1所示,验收滤波器可以根据用户的编程设置,过滤掉无须接收的报文。 接收FIFO 接收FIFO如图1所示。接收FIFO是验收滤波器和主控制器之间的接口,用于存储从CAN 总线上接收的所有报文。 工作模式 CAN控制器可以有两种工作模式(BasicCAN和PeliCAN)。BasicCAN仅支持标准模式,PeliCAN支持CAN2.0B的标准模式和扩展模式。 二 CAN收发器 官方定义:CAN收发器是CAN控制器和物理总线之间的接口,将CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线电缆上传输数据。 举个便于理解的例子:这类似于快递员,负责收发快递的工作。 目前市面上常见CAN收发器的分类及相应产品参见表2。 表2 CAN收发器分类及相应产品 三 CAN-bus接口电路保护器件 在汽车电子中,CAN-bus系统往往用于对安全至关重要的功能,比如引擎控制、ABS系统以及气囊等,如果受到干扰导致工作失常将出现严重事故;此外,在不受到干扰的的同时,CAN-bus系统也不能干扰其它电子元件;所以CAN-bus系统必须满足电磁干扰(EMI)和静电放电(ESD)标准的严格要求。此外,在许多场合CAN-bus接口有可能会遭到雷电、大电流浪涌的冲击(例如许多户外安装的设备),所以还需要使用保护器件以防浪涌。

CAN总线原理及应用

CAN总线原理及应用 摘要介绍了CAN总线的特点、工作原理和应用领域,并且对每个应用领域进行了描述和举例讲解。 关键字 CAN总线,汽车,现场控制系统,通信 1 引言 控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议由德国的Robert Bosch公司开发,用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。 CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电子干扰性,并且能够检测出产生的任何错误。CAN总线可以应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输等领域。 2 CAN总线的特点 ●具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点; ●采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作; ●具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络; ●可根据报文的ID决定接收或屏蔽该报文; ●可靠的错误处理和检错机制; ●发送的信息遭到破坏后,可自动重发; ●节点在错误严重的情况下具有自动退出总线的功能; ●报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。 3 CAN总线的工作原理 CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。 当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。

汽车通信-CAN总线详解

CAN总线及应用实例 (1)CAN特点 ●CAN为多主方式工作,网络上任意智能节点均可在任意时刻主动向网络上其他节点发送信息,而不分主从,且无需站地址等节点信息,通信方式灵活。利用这特点可方便地构成多机备份系统。 ●CAN网络上的节点信息分成不同的优先级(报文有2032种优先权),可满足不同的实时要求,高优先级的数据最多可在134,us内得到传输。 ●CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,大大节省了总线冲突仲裁时间。 ●CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式收发数据,无需专门“调度”。 ●CAN的直接通信距离最远可达l 0km(速率5kbp以下):通信速率最高可达Mbps(此时通信距离最长为40m) 。 ●CAN上的节点数主要取决于总线驱动电路,目前可达110个;报文标识符可达2032种(CAN2.0A),而扩展(CAN2.0B)的报文标识符几乎不受限制。 (2)CAN总线协议 CAN协议以国际标准化组织的开放性互连模型为参照,规定了物理层、传输层和对象层,实际上相当于ISO网络层次模型中的物理层和数据链路层。图3.9 为CAN总线网络层次结构,发送过程中,数据、数据标识符及数据长度,加上必要的总线控制信号形成串行的数据流,发送到串行总线上,接收方再对数据流进行分析,从中提取有效的数据。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,数据在网络上通过广播方式发送。其优点是可使网络内的节点个数在理论上不受限制(实际中受网络硬件的电气特性限制),还可使同一个通信数据块同时被不同的节点接收,这在分布式控制系统中非常有用。CAN 2.0A版本规定标准CAN的标识符长度为11位,同时在2.0 B版本中又补充规定了标识符长度为29位的扩展格式,因此理论上可以定义2的11次方或2的19次方种不同的数据块。遵循CAN 2.0 B协议的CAN控制器可以发送和接收标准格式报文(11位标识符)或扩展格式报文(29位标识符),如果禁止CAN 2.0B则CAN控制器只能发送和接收标准格式报文而忽略扩展格式的报文,但不会出现错误。每个报文数据段长度为0-8个字节,可满足通常工业领域中控制命令、工作状态及检测数据传送的一般要求。同时,8个字节占用总线时间不长,从而保证了通信的实时性。CAN协议采用CRC检验并提供相应的错误处理功能,保证了数据通信的可靠性。 (3)报文传送和帧结构 CAN总线以报文为单位进行信息传送。报文中包含标识符,它标志了报文的优先权。CAN总线上各个节点都可主动发送。如同时有两个或更多节点开始发送报文,采用标识符ID来进行仲裁,具有最高优先权报文节点赢得总线使用权,而其他节点自动停止发送。在总线再次空闲后,这些节点将自动重发原报文。CAN系统中,一个CAN节点不使用有关系统结构的任何信息。报文中的标识符并不指出报文的目的地址,而是描述数据的含义。网络

CAN总线控制系统实例

CAN总线 控制系统 实例 信科08-2班 陈磊08063538

目录1.Can总线的发展过程 2.CAN总线技术在汽车中的应用实例3.Can总线技术在其它方面的应用实例4.总结

1.Can总线的发展过程 CAN总线是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。随着电子技术的迅速发展和在汽车上的广泛应用,汽车电子化程度越来越高。从发动机控制到传动系统控制,从行驶、制动、转向系统控制到安全保证系统及仪表报警系统,从电源管理到为提高舒适性而作的各种努力,使汽车电子系统形成了一个复杂的大系统。这些系统除了各自的电源线外,还需要互相通信,不难想象,若仍沿用常规的点对点的布线方式进行布线,那么整个汽车的布线将会如一团乱麻,需要应用大量的电源线而且通信效率很低。若采用总线方式布线(如CAN总线),则可以节省大量的电源线而且会大大提高通讯效率。因此,采用CAN总线方式布线,能大大简化汽车布线。 布线增加使汽车布线中所使用铜线增加。虽然有些线是用于控制且通过电流只有几十毫安,但是为了提高可靠性,规定所用线径最小不能低于0.5mm。实际上,传输距离远的线一般都在0.8mm或1.0mm以上。汽车布线一般是先将线制成线束,然后再把线束装在纵梁下等看不到的地方,这样一旦线束中出了问题,不仅查找相当麻烦,而且维修也很困难,多数情况下要把线束全部换掉。但是,由于每种车型的长度、宽度以及电器安装的位置都不同,所以线束也太不一样,每辆车都要单独设计,从而增加了设计和试制的难度。在实际生产安装中,要仔细走线并对线头对线号,由于线束很粗而安装位置有限,所以工效也很低。有时想在车上增加一两种新的功能,或将某个落后的电器配件用一种新型的配件代替,便会多出几根线,使原来已经很乱的布线更加的乱成一团。鉴于这些原因,在借鉴计算机网络和现场控制技术的基础上,汽车网络技术应运而生。 CAN(Controller Area Network)数据总线是一种极适于汽车环境的汽车局域网。CAN总线是德国Bosch公司为解决汽车监控系统中的复杂技术难题而设计的数字信号通信协议,它属于总线式串行通信网络。由于采用了许多新技术和独特的设计思想,与同类车载网络相比,CAN总线在数据传输方面具有可靠、实时和灵活的优点。 国内在CAN总线方面的研究和应用与国外相比还存在明显的差距,体现在两个方面: (1)国内在自主研究和开发汽车电子CAN网络方面尚处于试验和起步阶段,国内绝大部分的汽车还没有采用汽车总线设计; (2)国内汽车合资企业不少已采用CAN总线技术,但核心技术掌握在外商手中。为顺应世界汽车工业发展的趋势,我国也相应加强了对CAN总线的研究,并开发具有自主知识产权的CAN总线产品。 早在20世纪70年代末,众多国际知名的汽车公司就积极致力于汽车总线技术的研究及应用,如BOSCH公司的CAN、马自达的PALMNET、德国大众的ABUS等。其中CAN总线由于其技术背景和来源于工业现场总线和计算机局域网这样非常 成熟的技术,现已成为汽车总线的主流技术和标准。世界上很多著名的汽车制造厂商,如Volkswagen(大众)、BenZ(宝马)、Porsche(保时捷)、Rolls—Royce(劳斯莱斯)、等都已经采用CAN总线来实现汽车内部控制系统的数据通信。CAN总线在汽车电子系统中得到广泛应用,已成为欧洲汽车制造业的主体行业标准,代表着汽车电子控制网络的主流发展趋势。现代汽车越来越多地采用电子装置控制,例如发动机的定时注油控制,加速、刹车控制及防抱死刹车系统(ABS)等。

几种总线的总结之CAN 总线

CAN总线 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境 基本概念 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 编辑本段CAN总线优势 CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 网络各节点之间的数据通信实时性强 首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差; 缩短了开发周期 CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN

CAN总线的特点和优点

CAN总线的特点和优点 CAN总线的特点和优点; (1)多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权(CSMA/CA)。多个单元同时开始发送时,发送高优先级D消息的单元可获得发送权。 (2)消息的发送 在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(D)决定优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。 (3)系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。 (4)通信速度 根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。 表1一1 CAN总线系统任意两节点间的最大距离 最大距离/m 位速率bps 10 1000 130 500 270 250 530 125 620 100 1300 50

3300 20 6700 10 10000 5 CAN总线上任意两节点之间的通信距离与其位速率有关,表2一1列举了相关数据。 (5)远程数据请求可通过发送“请求帧”请求其他单元发送数据。 (6)错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 (7)故障封闭 CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 (8)连接 CAN总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。

rs85和can总线与以太网比较

以太网、CAN总线、RS485总线都属于现场总线范畴,用户根据不同的场合和应用需求而采用不同的现场总线方式,每种总线有不同的标准特性,通过下列描述了解各种总线的特性以及各种总线优缺点。 一、RS485接口标准 ?RS-485的电气特性:逻辑"1"以两线间的电压差为+(2-6)V表示;逻辑"0"以两线间 的电压差为-(2-6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。 ?RS-485的数据最高传输速率为10Mbps ?RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声 干扰性好。 ?RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米,另外RS-232-C 接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。但RS-485总线上任何时候只能有一发送器发送。 ?因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使 其成为首选的串行接口。 ?因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽 双绞线传输。 二、CAN总线接口标准 ?国际标准的工业级现场总线,传输可靠,实时性高; ?传输距离远(最远10Km),传输速率快(最高1MHz bps); ?单条总线最多可接110个节点,并可方便的扩充节点数; ?多主结构,各节点的地位平等,方便区域组网,总线利用率高; ?实时性高,非破坏总线仲裁技术,优先级高的节点无延时; ?出错的CAN节点会自动关闭并切断和总线的联系,不影响总线的通讯; ?报文为短帧结构并有硬件CRC校验,受干扰概率小,数据出错率极低;

相关主题
文本预览
相关文档 最新文档