搜档网
当前位置:搜档网 › CAN总线设计

CAN总线设计

CAN总线设计
CAN总线设计

微机应用课程设计报告

题目:基于单片机的16*16点阵系统设计

专业:

班级:

姓名:

学号:

地点:

时间:

指导老师:

摘要

现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中,由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业中,而被广泛的用到自动控制、楼宇自动化、医疗设备等各个领域。

本文主要介绍一种基于CAN总线的控制系统,通过对这一系统的制作流程来说明CAN总线的简单应用,文章主要是对本控制系统的三个硬件模块进行介绍及模块中相关芯片的应用,同时本文也对软件的编写进行了说明。

关键字:现场总线;CAN总线;单片机;控制系统

目录

1 绪论 (1)

1.1 CAN总线的简单介绍 (1)

1.2 CAN总线的优势 (1)

1.2.1 网络各节点之间的数据通信实时性强 (2)

1.2.2 缩短了开发周期 (2)

1.2.3 已形成国际标准的现场总线 (2)

1.2.4 最有前途的现场总线之一 (2)

2 硬件电路设计 (3)

2.1单片机模块 (3)

2.1.1 STC89C52主要特性如下: (4)

2.1.2 STC89C52RC单片机的工作模式 (5)

2.2 CAN总线控制器模块 (6)

2.2.1 SJA1000简介 (6)

2.2.2 PCA82C250简介 (9)

2.3 通信模块和外围接口 (11)

2.3.1 通信模块 (11)

2.3.2 外围接口 (12)

3 CAN总线控制系统软件设计 (13)

3.1 初始化程序 (13)

3.2 数据的接收和发送功能 (15)

3.2.1 发送数据 (15)

3.2.2 接收数据 (17)

4 总结 (19)

参考文献 (20)

附录一 (21)

1 绪论

CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,CAN总线的应用范围遍及从高速网络到低本钱的多线路网络,在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps,同时,它可以廉价地应用于交通运载工具电气系统中,例如,灯光聚束电气窗口等等以代替所需要的硬件连接。CAN总线采用双绞线串行通讯方式,检错能力强,可在高噪声干扰环境中工作,CAN总线具有优先和仲裁功能,多个控制模块通过CAN控制器挂到CAN-BUS上,形成多主机局部网络,其可靠性和实时性远高于普通的通讯技术。

本文所论述的CAN总线控制系统是一个类似单片机最小开发系统一样的开发板,其主要分为三个部分:单片机模块,CAN总线控制模块,外围接口和通信模块。单片机模块主要是用单片机来控制整个系统,CAN总线控制模块主要是利用CAN总线控制器来实现和外围CAN总线的通信和交换信息,而外围接口和通信模块主要功能是为单片机下载程序和连接外围功能模块,主要是连接一些其他功能模块来实现相关的功能,接口分为输入接口和输出接口,这样可使一个系统构成闭环控制系统,从而可有效的实现所需要的控制功能,完成以后可应用于各种领域,实现各种控制功能,例如说路灯控制,汽车上的一些通信,电机控制等。

1.1 CAN总线的简单介绍

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

CAN(controller area network)最初是由德国Bosch公司在80年代初期,为了解决汽车中众多的控制与测量设备之间的数据交换而开发的一种串行数据通信总线,属于现场总线的范畴,1993年成为国际标注(ISO11898:道路车辆的高速控制器局域岗数字交换系统标准)。CAN总线是一种有效支持分布式控制系统或实时控制的串行通信网络,是一个多主总线,总线上的各节点都有权随时向其他节点发送信息,总线冲突时通过总线仲裁方式决定占用总线的节点,实现在电磁干扰环境下,远距离实时数据的可靠传输。

1.2CAN总线的优势

CAN是一种有效支持分布式控制或实时控制的串行通信网络。和目前许多

RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:

1.2.1 网络各节点之间的数据通信实时性强

首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN 协议废除了站地址编码,而代之以通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性,而利用RS-485只能构成主从结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。

1.2.2 缩短了开发周期

CAN总线通过CAN接收器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象,而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现显现在网络中,因个别节点出现问题,使得总线出于“锁死”状态,而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些都是仅有电气协议的RS-485所无法比拟的。

1.2.3 已形成国际标准的现场总线

另外,于其他现场总线相比较,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线,这些也是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。

1.2.4 最有前途的现场总线之一

CAN即控制器局域网络,属于工业现场总线的范畴,于一般的通信总线相比,CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ、PORSCHE、ROLLS-ROYCE等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信,同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、过程控制、机械工业、农用机械、数控机床、医疗器械及传感器等领域发展,CAN 已经形成国际标准,并已被公认为几种最有前途的现场总线之一,其典型的应用协议有:SAEJ1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

2 硬件电路设计

此控制系统主要有三个主要的模块组成,第一步分为单片机模块,第二部分为CAN总线控制器模块,第三部分为通信和外围接口,其主要分为输出和输入接口,使系统构成一个闭环系统,从而实现所需要的控制功能。

系统功能结构图如图1示

图1 系统结构示意图

2.1 单片机模块

图2为系统单片机模块的电路图

图2 单片机模块电路图

本系统单片机选择的是STC89C52,是双列直插式40引脚,其芯片引脚图如图2-4。

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

图3 STC89C52的芯片引脚图

2.1.1 STC89C52主要特性如下:

1. 增强型8051 单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代

码完全兼容传统8051。

2. 工作电压:5.5V~

3.3V(5V单片机)/3.8V~2.0V(3V单片机)。

3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达

48MHz。

4. 用户应用程序空间为8K字节。

5. 片上集成512字节RAM。

6. 通用I/O口(32个)复位后为,P1/P2/P3/P4是准双向口/弱上拉,P0 口是漏极开

路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,

可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。

8.具有EEPROM功能。

9.具有看门狗功能。

10.共3个16位定时器/计数器,即定时器T0、T1、T2。

11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低

电平触发中断方式唤醒。

12.通用异步串行口(UART),还可用定时器软件实现多个UART。

13.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)。

14. PDIP封装。

2.1.2 STC89C52RC单片机的工作模式

掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序。

空闲模式:典型功耗2mA典型功耗。

正常工作模式:典型功耗4mA~7mA典型功耗。

掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。

STC89C52RC引脚功能说明:VCC(40引脚):电源电压;VSS(20引脚):接地。

P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入每个引脚能驱动写入“1”时,可以作为高阻抗输入。

P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。

P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O 端口。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

P3 端口(P3.0~P3.7,10~17 引脚):P3 是一个带内部上拉电阻的8 位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。

RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。

ALE/ROG(30引脚)地址锁存控制信号:(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(ROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。

外部程序存储器选通信号(SEN)是外部程序存储器选SEN(29引脚):当AT89C51RC从外部程序存储器执行外部代码时,SEN在每个机器周期被激活两次,而访问外部数据存储器时,SEN将不被激活。A/VPP(31引脚)访问外部程序存储器控制信号:为使能从0000H到FFFFH的外部程序存储器读取指令,A必须接GND。注意加密方式1时,A将内部锁定位RESET。为了执行内部程序指令,A应该接VCC。在Flash编程期间,A也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。

2.2 CAN总线控制器模块

CAN总线控制部分的电路图如下所示:

图4 CAN总线部分电路图

2.2.1 SJA1000简介

本系统选择的CAN控制芯片是SJA1000,它是Philips半导体公司PCA82C200 CAN 控制(BasicCAN)的替代产品,而且它增加了一种新的操作模式

——PeliCAN,这种模式支持具有很多新特性的CAN 2.0B协议。其引脚图及内部功能块图分别如图5和图6。管脚定义见表1。

图5 SJA1000芯片引脚图

图6 SJA1000芯片内部引脚图

SJA1000控制器中的各个控制块的功能主要有:

1.接口管理逻辑(IML)

接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。

2.发送缓冲器(TXB)

发送缓冲器是CPU和位流处理器BSP之间的接口,能够存储发送到CAN网络上的完整信息,缓冲器长13个字节,由CPU写入BSP读出。

3.接收缓冲器(RXB,RXFIFO)

解释缓冲器是验收滤波器和CPU之间的接口,用来存储从CAN总线上接收到的信息,接收缓冲器(RXB13个字节)作为接收FIFO(RXFIFO长64字节)的一个窗口可被CPU访问,CPU在此FIFO的支持下可以再处理信息的时候接收其他信息。

4.验收滤波器(ACF)

验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收信息,在纯粹的接收测试中所有的信息都保存在RXFIFO。

5.位流处理器(BSP)

位流处理器是一个在发送缓冲器(RXFIFO)和CAN总线之间控制数据的程序装置,它还在CAN总线上执行错误检测仲裁填充和错误处理。

6.位时序逻辑(BTL)

位时序逻辑监视串口的CAN总线和处理与总线有关的位时序,它在信息开头“弱势-支配”的总线传输同步CAN总线位流(硬同步),接收信息时再次同步下一次传送(软同步)。BTL还提供可编程的时间段来补偿传播延迟时间、相位转换和定义采样点和一位时间内的采样次数。

7.错误管理逻辑(EML)

EML负责传送模块的错误管制。它接收BSP的出错报告通知BSP和IML进行错误统计。

2.2.2 PCA82C250简介

PCA82C50是CAN协议控制器和物理总线间的接口,它主要是为汽车中高速通讯(高达1Mbps)应用而设计。该器件对总线提供差动发送能力,对CAN控制器提供差动接收能力,完全符合“ISO11898”标准。

2.2.2.1 PCA82C250的特性

●完全符合“ISO11898”标准

●高速率(最高达1Mbps)

●具有抗汽车环境中的瞬间干扰,保护总线能力

●斜率控制,降低射频干扰(RFI)

●差分接收器,抗宽范围的共模干扰,抗电磁干扰(EMI)

●热保护

●防止电池和地之间的发送短路

●低电流待机模式

●未上电的节点对总线无影响

●可连接110个节点

PCA82C50的内部结构方框图如图7示。

图7 PCA82C50内部结构图

PCA82C250的封装形式及引脚配置如图8示,封装形式为DIP8,表中列出了其各引脚的功能。

表2 PAC82C250引脚功能

图8 PCA82C250芯片引脚

PCA82C250的主要功能有:首先,82C250驱动电路内部具有限流电路,可以防止输出级对电源、地或负载短路,虽然在这种故障条件出现时功耗增加,但不致使输出级破坏。其次,82C250采用双线差动驱动,有助于抑制恶劣环境下的瞬变干扰。引脚Rs可用于选择三种不同的工作方式:高速、斜率控制和待机。在高速工作方式下,发送器输出晶体管以尽可能快的速度启闭。在这种方式下,不采用任何措施限制上升和下降斜率,此时,建议使用屏蔽电缆以避免射频干扰问题。通过将引脚8接地可选择高速方式,对于较低速度或较短总线长度,可用非屏蔽双绞线或平行线作总线。为降低射频干扰,应限制上升和下降斜率,上升和下降斜率可通过由引脚8至地连接的电阻进行控制,斜率正比于引脚8上的电流输出,若脚8接高电平,则电路进入低电平待机方式,在这种方式下,发送器被关闭,而接收器转至低电流,若检测到显性位,RXD将转至低电平,位控制器应通过引脚8将发送器变为正常方式作为对此条件作出的反应,由于在待机方式下,接收器是慢速的,因此第一个报文将被丢失。对于CAN控制器及带有CAN总线接口的器件,82C250并不是必须使用的器件,因为多数CAN控制器均具有配置灵魂的收发器件,并允许总线故障,只是驱动能力只允许20-30个节点连接在一条总线上,而82C250支持多达110个节点,并能以1Mbps 的速率工作于恶劣电气环境下,利用82C250还可方便地在CAN控制器与收发之间建立光电隔离,以实现总线上各个节点之间的电气隔离。

CAN节点的硬件电路设计主要是CAN总线通信控制器与微处理器之间的接口电路,以及CAN总线收发器与物流总线之间的接口电路设计。CAN通信控制器是接口电路的核心,它主要完成CAN总线的通信协议,而CAN总线收发器的功能则是增大通信距离,保护系统不受干扰。

2.2.2.2 CAN总线设计需要注意的几点

1.物理总线两端的终端电阻R T要匹配,否则CAN总线数据通信的抗干扰性及可靠性会大大的降低;

2. PCA82C250为CAN总线通信控制器与物理总线之间的接口,它可以提供向总线的差动发送能力和CAN控制器的差动接收能力,TXD和RXD引脚分别发送经过驱动后的发送和接收信号,引脚8(R S)可以选择2种不同的工作方式:当与地相连,则系统将处于高速工作方式,在这种方式下,为避免干扰,最好使用屏蔽电缆作为总线,而在低波特率且总线较短时,一般采用斜率控制方式,上升及下降的斜率取决于R S的阻值,而R S的取值一般在1KΩ~140KΩ较为理想,在这种方式下可以采用双绞线作为总线的物理介质。本系统采用的就是这种方式,R S采用的是47KΩ的电阻。

3. SJA1000的TX1脚悬空,RX1引脚的电平必须维持在约0.5VCC以上,否则不能形成CAN协议要求的电平逻辑。

4.把STC89C52的X2引脚接SJA1000的外部振荡输入引脚XTAL1,这样就解决时钟同步的问题。将SJA1000的/INT与STC89C52的INT0相连,这样STC89C52

和SJA1000就通过中断方式来进行通信。

在实际的应用中,CAN总线大都用在如汽车和工业现场控制等的环境中,环境对电路的影响很大,所以为减少这些干扰,在设计CAN总线的节点时,通常在电路中使用高速光藕,如6N137等,使SJA1000的TX0与RX0不直接与82C520的TXD 和RXD相连,而是通过高速光耦与82C520相连,这样就能很好地实现总线上各CAN 节点间的电气隔离。同时还必须指出的是,光耦部分所采用的两个电源VCC和VDD 必须完全隔离,否则光耦就失去了意义,即无法达到隔离的目的。

2.3 通信模块和外围接口

2.3.1 通信模块

系统通信模块主要是采用串行通信,所用的芯片是MAX232,图2-9系统通信模块的电路图

图9通信模块电路图

MAX232芯片是美信公司专门RS-232标准串口设计的单电源电平转换芯片,使用+5V单电源供电。它一共有16个引脚,主要分为三个部分:第一部分是电荷泵电路。有1、2、3、4、5、6脚和4个电容构成,功能是产生+12V和-12V两个电源,提供RS-232串口电平的需要;第二部分是数据转换通道,由7、8、9、10、11、12、13、14脚构成两个数据通道,其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道,8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头,DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出;第三部分是供电,15脚(GND)、16脚(VCC)。

2.3.2 外围接口

整个系统要实现各种功能就必须要和外围的各种传感器、控制器连接,而要实现这个功能就需要系统上的这个外围接口单元,图10统的外围接口单元:

图10 外围接口单元

图2-11中的JX为系统的输出接口,连接系统外的传感器,主要是用来输出数据,而KZ是输入接口,当连接好外围的设备时,就可以构成一个闭环系统,从而来实现所希望控制的东西。就拿路灯控制来说,当光照很弱时,通过一个传感器把这个信号有KZ传到单片机内,由单片机原先写好的软件来分析,从而产生一个输出信号有JX 传到路灯上的控制器中使路灯亮或灭,从而实现路灯控制的功能。

3 CAN总线控制系统软件设计

CAN节点的初始化程序的主要任务是对总线通信控制器SJA1000进行合适的配置,以满足系统的运行要求。SJA1000有两种工作模式:Basic-CAN 和Peli-CAN,SJA1000 上电后首先进入的是Basic-CAN模式,而Peli-CAN支持CAN-2.0B 规范。

3.1初始化程序

对SJA1000的初始化程序的流程图如下图所示,SJA1000的初始化主要是对时钟分频器、中断使能寄存器、验收代码寄存器和接收屏蔽寄存器、总线定时器输出控制器等进行配置,它关系着能否成功进行通信的问题,如果配置不当的话,很可能CAN 总线不能正常运行。

No

图11初始化流程图

初始化程序如下:

void SJA1000_init(void)

{

CS=0; //片选SJA1000

EA=0;//关闭中断

while ((ModeCountReg&RM_RR_Bit)==ClrByte)

{

ModeControlReg-0x01;

}

ClockDivideReg=0xc8;

InterruptEnReg-0x03;

AcceptCode0Reg=##;

AccepCode1Reg=##;

AccepCode2Reg=##;

AccepCode3Reg=##;

AcceptMask0Reg=##;

AcceptMask1Reg=##;

AccepyMask2Reg=##;

AcceptMask3Reg=##;

BusTiming0Reg=##;

BusTiming1Reg=##;

OutControlReg=##;

RxBufstartAdr=0;

do(modeControlReg=0x08)

while((ModeControlReg&0x01)!=0x00);

EA=1;

}

各个寄存器的值则可以根据实际需要作合理的配置,需要指出的是,CAN总线上节点的波特率设置都必须相同,否则将引起通信失败。系统节点通信波特率是由总线定时寄存器0、总线定时寄存器1和系统的晶振频率所决定的,其计算方法如下:总线定时寄存器0决定了波特率预设值(BRP)和同步跳转宽度(SJW)值,它各个位的功能如下表所示:

总线定时寄存器1则定义了每个位周期的长度、采样点的位置和在每个采样点的采样数目,总线定时寄存器1各位的功能如下表所示

表4 SJA1000总线定时寄存器各位的功能

3.2 数据的接收和发送功能

完成对CAN 节点的初始化后,便可通过CAN 的通信控制器SJA1000向物理总线发送和接收数据。这一过程微处理器和总线通信控制器SJA1000之间的通讯是通过中断方式来实现的,也就是说,当SJA1000把前面写入缓冲区的数据发送完以后,亦会通过中断方式告知CPU 数据已经发送完,发送缓冲器已空,可以写入其他的数据,CPU 就是通过中断服务程序对SJA1000的中断请求作出相应的响应的。 3.2.1 发送数据

本文中CAN 总线节点所采用的通信控制器是SJA1000,因此有必要对SJA1000发送和接收报文的格式作一些介绍。SJA1000的发送缓冲器的帧格式如图所示: 表5 标准帧格式 表6 扩展帧格式

由此可见,发送缓冲器被分成描述符区和数据区,描述符区的第一个字节是帧信息字节,它说明了帧格式(标准帧或扩展帧)、远程或数据帧和数据长度。本设计中帧格式采用的是扩展帧格式(EFF ),因为SJA1000的工作模式我们采用的是PeliCAN 工作模式,扩展帧与标准帧的主要区别是,扩展帧使用4个字节作为数据的识别码,而标准帧则只用2个字节。扩展帧对应的发送缓冲器中的描述符区的位的配置如下表所示,描述符的值越小,则该帧的优先级越高。

表9 TX 识别码2(EFF )

表10 TX 识别码3(EFF )

表11 TX 识别码4(EFF )

在发送帧的帧信息中,帧格式(FF )和远程帧发送请求位(RTR )的值如下表所示,而DLC 则代表了数据字节的长度,其范围为0-8

表12 帧格式请求位值定义

发送数据时用户只需将要发送的数据按照CAN 控制器SJA1000所规定的格式组合成一帧报文,送入控制器的发送缓冲区,然后启动SJA1000

发送就可以实现,但在将报文发送到缓冲区之前,应作一些判断,下图给出了发送子程序的程序流程:

图12 程序流程图

发送子程序:

void SJA1000_SendMessage(unsigned char *Msg_ptr,int length)

{

int i;

while(statusreg&0x01);

while((StatusReg&0x08)==0x00);

if((statusreg&0x04)==0x00);

else

{

for(i=0;i

{

XBYTE[0x7010+i]=*msg_ptr;

msg_ptr++;

}

commandreg=0x01;

}

}

3.2.2 接收数据

接收数据较之发送数据要复杂一些,因为在处理接收报文的过程中,要对如总线脱离、错误报警等情况作出处理。SJA1000对于报文的接收可采用两种方式,即中断接收方式和查询接收方式。接收数据的程序流程图如图13所示:

接收子程序:

temp_status=statusreg;

if((temp_status&0xc3)=0x00)

break;

else

{ if((temp_status&0x80)==0x00)

{ if((temp_int&0x80)=0x00)

{ while(statusreg&0x01)

{ temp=XBYTE[0x7010];

if(temp&0x40) commandreg=0x40;

}else {

bytecounter=temp&0x0f;

for(i=0;i

rdata.x[i]=XBYTE[0x7015+i];

commandreg=RRB_Bit;

}

}

}

}

基于STC89C51的CAN总线点对点通信模块设计

基于STC89C51的CAN总线点对点通信模块设计 [导读]随着人们对总线对总线各方面要求的不断提高,总线上的系统数量越来越多,继而出现电路的复杂性提高、可靠性下降、成本增加等问题。为解决上述问题,文中阐述了基于SJAl000的CAN总线通信模块的实现方法,该方法以PCA82C250作为通信模块的总线收发器,以SITA-l000作为网络控制器。并以STCSTC89C5l单片机来完成基于STC89C5l的CAN通信硬件设计。文章还就平台的初始化、模块的发送和接收进行了设计和分析。通过测试分析证明,该系统可以达到CAN的通信要求,整个系统具有较高的实用性。 0 引言 现场总线是应用在生产最底层的一种总线型拓扑网络,是可用做现场控制系统直接与所有受控设备节点串行相连的通信网络。在工业自动化方面,其控制的现场范围可以从一台家电设备到一个车间、一个工厂。一般情况下,受控设备和网络所处的环境可能很特殊,对信号的干扰往往也是多方面的。但要求控制则必须实时性很强,这就决定了现场总线有别于一般的网络特点。此外,由于现场总线的设备通常是标准化和功能模块化,因而还具有设计简单、易于重构等特点。 1 CAN总线概述 CAN (Controller Area Network)即控制器局域网络,最初是由德国Bosch公司为汽车检测和控制系统而设计的。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其良好的性能及独特的设计,使CAN总线越来越受到人们的重视。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。目前,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。它的直线通信距离最大可以达到l Mbps/30m.其它的节点数目取决于总线驱动电路,目前可以达到110个。 2 CAN系统硬件设计 图1所示是基于CAN2.0B协议的CAN系统硬件框图,该系统包括电源模块、MCU部分、CAN控制器、光电耦合器、CAN收发器和RS232接口。硬件系统MCU采用STC89C5l,CAN控制器采用SJAl000,CAN收发器采用PCA82C250,光耦隔离采用6N137。

CAN总线设计

微机应用课程设计报告 ` 题目:基于单片机的16*16点阵系统设计 专业: … 班级: 姓名: 学号: 地点: 时间: 指导老师:

~

摘要 现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中,由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业中,而被广泛的用到自动控制、楼宇自动化、医疗设备等各个领域。 本文主要介绍一种基于CAN总线的控制系统,通过对这一系统的制作流程来说明CAN总线的简单应用,文章主要是对本控制系统的三个硬件模块进行介绍及模块中相关芯片的应用,同时本文也对软件的编写进行了说明。 关键字:现场总线; CAN总线;单片机;控制系统

目录 1 绪论 (1) CAN总线的简单介绍 (1) CAN总线的优势 (1) 网络各节点之间的数据通信实时性强 (2) 缩短了开发周期 (2) 已形成国际标准的现场总线 (2) 最有前途的现场总线之一 (2) 2 硬件电路设计 (3) 单片机模块 (3) STC89C52主要特性如下: (4) STC89C52RC单片机的工作模式 (5) CAN总线控制器模块 (6) SJA1000简介 (6) PCA82C250简介 (9) 通信模块和外围接口 (11) 通信模块 (11) 外围接口 (12) 3 CAN总线控制系统软件设计 (13) 初始化程序 (13) 数据的接收和发送功能 (15) 发送数据 (15) 接收数据 (17) 4 总结 (19) 参考文献 (20) 附录一 (21)

CAN总线网络设计

1 引言 can(controller area network)即控制器局域网络,最初是由德国bosch公司为解决汽车监控系统中的自动化系统集成而设计的数字信号通信协议,属于总线式串行通信网络。由于can总线自身的特点,其应用领域由汽车行业扩展到过程控制、机械制造、机器人和楼宇自动化等领域,被公认为最有发展前景的现场总线之一。 can总线系统网络拓扑结构采用总线式结构,其结构简单、成本低,并且采用无源抽头连接,系统可靠性高。本设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等持点。 2 系统总体方案设计 整个can网络由上位机(上位机也是网络节点)和各网络节点组成(见图1)。上位机采用工控机或通用计算机,它不仅可以使用普通pc机的丰富软件,而且采用了许多保护措施,保证了安全可靠的运行,工控机特别适合于工业控制环境恶劣条件下的使用。上位机通过can总线适配卡与各网络节点进行信息交换,负责对整个系统进行监控和给下位机发送各种操作控制命令和设定参数。 网络节点由传感器接口、下位机、can控制器和can收发器组成,通过can收发器与总线相连,接收上位机的设置和命令。传感器接口把采集到的现场信号经过网络节点处理后,由can收发器经由can总线与上位机进行数据交换,上位机对传感器检测到的现场信号做进一步分析、处理或存储,完成系统的在线检测,计算机分析与控制。本设计can总线传输介质采用双绞线。 图 1 can总线网络系统结构 3 can总线智能网络节点硬件设计 本文给出以arm7tdmi内核philips公司的lpc2119芯片作为核心构成的智能节点电路设计。该智能节点的电路原理图如图2所示。该智能节点的设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等特点,下面分别对电路的各部分做进一步

课程设计--CAN总线

课程设计 题目 CAN通信 二级学院电子信息与自动化 专业自动化 班级 107070103 学生姓名学号 指导教师熊文 考核项目 设计50分平时 成绩 20分 答辩30分 设计质量 20分 创新设计 15分 报告质量 15分 熟练程度 20分 个人素质 10分 得分 总分考核等级教师签名

摘要: CAN总线是控制器局域网总线(contr01ler AreaNetwork)的简称。属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独立的设计而被广泛应用于工业现场控制系统中。SJAl000是一个独立的CAN控制器,PCA82C200的硬件和软件都兼容,具有一系列先进的性能,特别在系统优化、诊断和维护方面,因此,SJAl000将会替代PCA82C200。SJAl000支持直接连接到两个著名的微型控制器系列80C51和68xx。下面以单片机AT89C52和SJAl000为例,介绍CAN总线模块的硬件设计和CAN通信软件的基本设计方法。 关键词:AT89S52 CAN通信 SJA1000

目录: (一) 背景: (二) CAN介绍 (三) SJA1000内部结构和功能简介 (四) 硬件电路图 (五) 初始化程序 (六) 测试 (七) 总结

一背景: CAN(Controller Area Network)数据总线是一种极适于汽车环境的汽车局域网。CAN总线是德国Bosch公司为解决汽车监控系统中的 复杂技术难题而设计的数字信号通信协议,它属于总线式串行通信网 络。由于采用了许多新技术和独特的设计思想,与同类车载网络相比,CAN总线在数据传输方面具有可靠、实时和灵活的优点。 1991年9月Philips半导体公司制定并发布了CAN技术规范(版本 2.0),该技术规范包括A部分和B两部分,其中2.0A给出了CAN报文的标 准格式;2.0B给出了标准和扩展两种格式。此后,1993年11月ISO正 式颁布了道路交通运输工具一数据信息交换一高速通信控制器局域 网(CAN)的国际标准IS011898,为控制器局域网的标准化和规范化铺 平了道路。 二CAN介绍 CAN通信的特点: (1) CAN是到目前为止唯一具有国际标准且成本较低的现场总线; (2) CAN废除了传统总线的站地址编码,对通信数据块进行编码,为 多主方式工作,不分主从,通信方式灵活,通过报文标识符通信,可 使不同的节点同时接收到相同的数据,无需站地址等节点信息。 (3) CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信 息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可 不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其 是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则有可

CAN总线设计(最终版)(1)

CAN-USB适配器设计 ***** 指导老师:*** 学院名称:***** 专业班级:**** 设计提交日期:**年**月 摘要 随着现场总线技术和计算机外设接口技术的发展,现场总线与计算机快速有效的连接又有了更多的方案。USB作为一种新型的接口技术,以其简单易用、速度快等特点而备受青睐。本文介绍了一种基于新型USB接口芯片CH372的CAN总线网络适配器系统的设计,提出了一种使用USB接口实现CAN总线网络与计算机连接

的方案。利用芯片CH372可在不了解任何USB协议或固件程序甚至驱动程序的情况下,轻松地将并口或串口产品升级到USB接口。该系统在工业现场较之以往的系统,可以更加灵活,高速,高效地完成大量数据交换,并可应用于多种控制系统之中,具有很大的应用价值。 关键词:USB;CH372;CAN;SJA100;适配器 目录 1.设计思想 (3) 2.CAN总线与USB的转换概述 (4) 3. 适配器硬件接口设计 (5) 3.1 USB接口电路 (5)

3.2 CAN总线接口电路 (7) 4.USB通用设备接口芯片CH372 (8) 4.1 概述 (8) 4.2 引脚功能说明 (9) 4.3 内部结构 (9) 4.4 命令 (10) 5.软件设计 (10) 5.1 概述 (10) 5.2主监控程序设计 (12) 5.3 CAN和USB接口芯片的初始化 (13) 5.4 CAN报文的发送 (15) 5.5 CAN报文的接收 (17) 5.6.自检过程 (19) 5.7 USB下传子程序设计 (20) 5.8 USB上传子程序设计 (22) 5.9.USB—CAN转换器计算机端软件设计 (23) 6. 抗干扰措施 (25) 7. 估算成本 (26) 8. 应用实例介绍 (27) 9 总结及设计心得 (28) 10 参考文献 (28) 1 设计思想 现场总线网络技术的实现需要与计算机相结合。目前,在微机上扩展CAN总线接口设备一般采用PCI总线或者RS-232总线。PCI虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、扩展槽地址;中断资源有限;并且插拔不方便;价格较贵;而且设计复杂、需有高质量的驱动程序保证系统的稳定;且无法用于便携式计算机的扩

CAN总线系统设计中的几个问题

CAN总线系统设计中的几个问题 北京航空航天大学管理学院(100083) 邬宽明 摘 要:论述了CAN总线系统设计中系统时钟和位时间的选定、CAN中断服务程序编制以及较长报文拼接等问题。 关键词:CAN总线设计 系统时钟 位时间 中断服务 报文拼接 CAN总线是德国Bo sch公司在80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信总线,它是一种多主总线系统,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1M bp s。CAN总线通信控制器中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括零位的插入 删除、数据块编码、循环冗余检验、优先级判别等项工作。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位(按CAN技术规范210A)或29位(按CAN 技术规范210B)二进制数组成,因此可以定义211或229个不同的数据块。这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN的这些卓越特性,极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界重视,并已被公认为最有前途的现场总线之一。1993年11月ISO正式颁布了道路交通运载工具—数字信息交换—高速通信控制器局部网(CAN)国际标准(ISO11898)。为控制器局部网标准化、规范化推广铺平了道路。可以预料,控制器局部网在我国迅速发展和普及是指日可待的。 本文分别论述CAN总线系统设计中经常遇到的系统时钟和位时间如何选定、CAN中断服务程序如何安排以及较长报文如何拼接等几个问题。 1 系统时钟和位时间的选定 在CAN控制器中提供两个总线定时寄存器,其中总线定时寄存器0(BR T0)可决定波特率予分频(BR P)和同步跳转宽度(SJW)的数值,其低六位(D5~D0)用来确定系统时钟,而其高二位(D7,D6)用来确定同步跳转宽度(SJW)。总线定时寄存器1(BR T1)可决定位周期宽度、采样点位置和在每个采样点进行采样的次数,其D3~D0用于T SEG1,而D6~D4用于T SEG2并按下式计算: t TSEG1=t SCL(8T SEG1.3+4T SEG1.2+2T SEG1.1 +T SEG1.0+1) t TSEG2=t SCL(4T SEG2.2+2T SEG2.1+T SEG2.0+1) 图1 每位时间和采样点位置T SEG1和T SEG2可 确定每位的时钟周期数目 和采样点位置,如图1所 示 若P8XC592复位请求 位被置为高,这两个寄存器 均可被访问(读 写)。系统时 钟t SCL可使用下列等式计算: t SCL=2t CL K(32BR P.5+16BR P.4+8BR P.3+4BR P.2 +2BR P.1+BR P.0+1) 其中:t CL K为P8XC592振荡器的时钟周期 实例:设晶体振荡器频率为16M H Z,BTR0=00H, BTR1=14H,计算系统时钟和位时间 由给定BTR0和BR T1值可知: BR P.5,BR P.4,BR P.3,BR P.2,BR P.1和BR P10均为0,另外,除T SEG112和T SEG210为1外,其余系数均为01因此有, t SCL=2t CL K(32×0+16×0+8×0+4×0+2×0 +0+1)=2t CL K t TSEG1=t SCL(8×0+4×0+2×0+1)=5t SCL t TSEG2=t SCL(4×0+2×0+1×0+1)=2t SCL t b=(1+5+2)t SCL=2×8×t CL K=1M bp s 此时同步跳转宽度(SJW)为 t SJW=t SCL(2SJW.1+SJW.01+1)=t SCL即1 8(Λs)实例2:设晶体振荡器频率为16M H z,BTR0= 7FH,BTR1=7FH,计算系统时钟和位时间 由给定BR T0和BR T1值可知: BR P15,BR P14,BR P13,BR P12,BR P11,和BR P10,均为1,另外,T SEG11X和T SEG21X亦均为 81四通电脑应用美国德州工控机6257723062577231 《电子技术应用》1998年第9期

CAN总线系统智能节点设计

https://www.sodocs.net/doc/a110033049.html, CAN总线系统智能节点设计 作者:邹继军饶运涛 信息工程系 华东地质学院 摘要:CAN总线上的节点是网络上的信息接收和发送站;智能节点能通过编程设置工作方式、ID地址、波特率等参数。它主要由单片机和可编程的CAN通信控制器组成。本文介绍这类节点的硬件设计和软件设计;其中软件设计包括SJA1000的初始化、发送和接收等应用中的最基本的模块子程序。 关键词:总线节点CAN 控制器 引言: CAN (Controller Area Network)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局部网,由于其卓越的性能、极高的可靠性、独特灵活的设计和低廉的价格,现已广泛应用于工业现场控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域。CAN已被公认为几种最有前途的现场总线之一。CAN总线规范已被ISO国际标准组织制订为国际标准,CAN 协议也是建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层。用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN总线极高的可靠性,从而使应用层通信协议得以大大简化。 CAN总线与其他几种现场总线比较而言,是最容易实现、价格最为低廉的一种,但其性能并不比其他现场总线差。这也是目前CAN总线在众多领域被广泛采用的原因。节点是网络上信息的接收和发送站,所谓智能节点是由微处理器和可编程的CAN控制芯片组成,它们有两者合二为一的,如芯片P8XC592,也有如本文介绍的,独立的通信控制芯片与单片机接口,后者的优点是比较灵活。当然,也

基于STM32F407的双CAN总线设计与实现

基于STM32F407的双CAN总线设计与实现 【摘要】本文是基于意法半导体(ST)新推出的一款高性能CortexTM-M4内核的ARM 芯片STM32F407ZGT6,进行的双CAN总线设计。在开发过程中采用了ST提供的可视化图形界面开发工具STM32Cube进行底层驱动的配置,简化了设计工作。但由于该工具链接的固件库函数存在传递参数错误,使得CAN总线无法接收数据,本文对该库函数进行了更正。 【关键词】STM32F407;CAN;STM32Cube Design and Realization of Double CAN Buses on STM32F407 LIU Peng (Chinese Electron Scientific and Technological Company 20th Institute,Xi’an Shaanxi 710068,China) 【Abstract】Based on a high-performance ARM with CortexTM-M4 core which launched by STMicroelectronics (ST)--STM32F407ZGT6,the double CAN bus is designed in this paper. A visual graphical interface-STM32cube which is provided by ST,is used to configure the underlying driver in this development process. It simplifies the design work. However,

CAN总线硬件设计

EDN-CAN总线助学【之八】-CAN总线硬件设计 这一讲我们详细介绍一下CAN总线通讯模块的硬件设计:CAN总线学习板上C AN通讯模块的设计。包括三个部分:(1)与CPU的接口;(2)CAN控制器SJA1000与驱动器82C250接口及其他外围电路;(3)82C250外围电路。 电路如下: 1 SJA1000与CPU接口 我们在学习单片机原理的时候,我相信大家都学习过RAM,ROM,I/O口扩展。大家可以把SJA1000看作一个外部的RAM,扩展电路十分简单。SJA1000支持两种模式单片机的连接,我们选用的是8051系列的单片机,所以选择的是I ntel模式。 (1)SJA1000的数据线和地址线是共用的,STC89C52的数据线和地址线也是共用的,这就更加方便了,直接连接就OK了。 (2)既然数据线和地址线共用,必须区分某一时刻,AD线上传输的是地址还是数据,所以就需要连接地址锁存信号 ALE。 (3)随便使用一个单片机管脚作为SJA1000的片选信号,我们学习板使用的是P20。当然你也可以直接接地。

(4)读写信号直接和单片机连接就行了,就不必多说了! (5)我们采用单片机的IO口线控制SJA1000的RST管脚,是为了软件可以实现硬复位SJA1000芯片。 (6)SJA1000的中断管脚连接单片机的INT1外部中断。当收到一包数据后,通知CPU。 2 SJA1000与82C250的接口及其他外围电路 (1)SJA1000有两路发送和接收管脚,CAN总线学习板使用了第0路。与82 C250的连接比较简单,直接连接就可以了。但应该数据发送和接收管脚不要接反了。而且我们增加了通讯状态指示灯,便于调试。 (2)时钟电路:SJA1000的最高时钟可达24M,我们学习板使用的是16M的晶振。另外增加了一个启动电阻R9(10M欧姆)。 (3) 3 82C250外围电路 (1)CANH和CANL管脚增加阻容电路,滤除总线上的干扰,提高系统稳定性。(2)RS管脚为斜率电阻输入。通过这个管脚来选择82C250的工作模式:高速模式(应用与对数据传输速率高的情况,通讯数据线最好是屏蔽的);斜率模式(速度较低,通讯线可以是普通的双绞线)。准备模式(应用于对功耗要求比较高的场合)。我们的学习板采用的是斜率模式,方便大家学习。 (3)J3是外部总线的连接口。 (4)J4是终端电阻的选择端。 到现在为止,CAN总线学习的硬件部分就介绍完了,请等待下面的软件试验部分!

基于ARM7处理器的CAN总线网络设计

基于ARM7处理器的CAN总线网络设计 1 引言 can(controller area network)即控制器局域网络,最初是由德国bosch公司为解决汽车监控系统中的自动化系统集成而设计的数字信号通信协议,属于总线式串行通信网络。由于can 总线自身的特点,其应用领域由汽车行业扩展到过程控制、机械制造、机器人和楼宇自动化等领域,被公认为最有发展前景的现场总线之一。 can总线系统网络拓扑结构采用总线式结构,其结构简单、成本低,并且采用无源抽头连接,系统可靠性高。本设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等持点。 2 系统总体方案设计 整个can网络由上位机(上位机也是网络节点)和各网络节点组成(见图1)。上位机采用工控机或通用计算机,它不仅可以使用普通pc机的丰富软件,而且采用了许多保护措施,保证了安全可靠的运行,工控机特别适合于工业控制环境恶劣条件下的使用。上位机通过can总线适配卡与各网络节点进行信息交换,负责对整个系统进行监控和给下位机发送各种操作控制命令和设定参数。 网络节点由传感器接口、下位机、can控制器和can收发器组成,通过can收发器与总线相连,接收上位机的设置和命令。传感器接口把采集到的现场信号经过网络节点处理后,由can收发器经由can总线与上位机进行数据交换,上位机对传感器检测到的现场信号做进一步分析、处理或存储,完成系统的在线检测,计算机分析与控制。本设计can总线传输介质采用双绞线。 图 1 can总线网络系统结构 3 can总线智能网络节点硬件设计 本文给出以arm7tdmi内核philips公司的lpc2119芯片作为核心构成的智能节点电路设计。该智能节点的电路原理图如图2所示。该智能节点的设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等特点,下面分别对电路的各部分做进一步的说明。

汽车can总线设计

湖南机电职业技术学院 《汽车单片机应用技术》实训报告 题目汽车CAN总线系统智能节点的设计 院系汽车工程系 专业汽车电子1004 学生姓名向杰 指导教师冉成科 完成日期 2012年3月23日

目录 概述 (3) 实训要求 (4) 第一章汽车车载网络系统的组成和原理 (4) 1.1汽车网络技术概述 (4) 1.2 汽车网络技术的作用 (4) 第二章 CAN总线 (4) 2.1 CAN简介 (5) 2.2汽车CAN总线网络系统结构图 (6) 第三章CAN总线的维修与检修 (7) 3.1 故障类型及检测诊断方法 (7) 第四章 CAN总线在汽车领域的应用 (8) 4.1摘要 (8) 4.2 CAN总线技术的应用 (8) 4.3汽车CAN总线节点ECU的硬件设计 (8) 4.4CAN总线在国内自主品牌汽车中的应用 (9) 第五章实训心得 (10)

概述 随着现代汽车中所使用的电子表之间、系统和汽车故障诊断系统之间均需要进行数据交换,如使用普通的线索完成这些数据之间的交换,线索总长可能超过1600m,实现起来是相当困难的。为解决这一问题控制系统和通讯系统越来越多,如发动机电控系统、自动变速器控制系统、防抱死制动系统(ABS)、自动巡航系统(ACC)和车载多媒体系统等,这些系统之间、系统与显示仪,德国的博世(Bosch)公司及几个半导体生产商开发出一种新型的车用控制器——CAN。 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO 国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持,所以它在汽车领域中运用只会越来越广泛越来越重要。我们作为汽车电子的学习者有必要学好这方面的技术,这样才能顺应汽车高智能化的特点。为自己提升技能。

CAN总线接口电路设计注意事项(精)

CAN总线接口电路设计注意事项收藏 CAN 总线是一种有效支持分布式控制和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域得到了广泛的应用。为提高系统的驱动能力,增大通信距离,实际应用中多采用Philips公司的82C250作为CAN控制器与物理总线间的接口,即CAN收发器,以增强对总线的差动发送能力和对CAN控制器的差动接收能力。为进一步增强抗干扰能力,往往在CAN 控制器与收发器之间设置光电隔离电路。典型的CAN总线接口电路原理如图1所示。 图1 典型的CAN总线接口电路原理图 1 接口电路设计中的关键问题 1.1 光电隔离电路 光电隔离电路虽然能增强系统的抗干扰能力,但也会增加CAN总线有效回路信号的传输延迟时间,导致通信速率或距离减少。 82C250等型号的CAN收发器本身具备瞬间抗干扰、降低射频干扰(RFI以及实现热防护的能力,其具有的电流限制电路还提供了对总线的进一步保护功能。因此,如果现场传输距离近、电磁干扰小,可以不采用光电隔离,以使系统达到最大的通信速率或距离,并且可以简化接口电路。如果现场环境需要光电隔离,应选用高速光电隔离器件,以减少CAN总线有效回路信号的传输延迟时间,如高速光电耦合器 6N137,传输延迟时间短,典型值仅为48 ns,已接近TTL电路传输延迟时间的水平。

1.2 电源隔离 光电隔离器件两侧所用电源Vdd与Vcc必须完全隔离,否则,光电隔离将失去应有的作用。电源的隔离可通过小功率DC/DC电源隔离模块实现,如外形尺寸为DIP-14标准脚位的5 V 双路隔离输出的小功率DC/DC模块。 1.3 上拉电阻 图1中的CAN收发器82C250的发送数据输入端TXD与光电耦合器6N137的输出端OUT相连,注意TXD必须同时接上拉电阻R3。一方面,R3保证6N137中的光敏三极管导通时输出低电平,截止时输出高电平;另一方面,这也是CAN 总线的要求。具体而言, 82C250的TXD端的状态决定着高、低电平CAN 电压输入/输出端CANH、CANL的状态(见表1。CAN总线规定,总线在空闲期间应呈隐性,即CAN 网络中节点的缺省状态是隐性,这要求82C25O的TXD端的缺省状态为逻辑1(高电平。为此,必须通过R3确保在不发送数据或出现异常情况时,TXD端的状态为逻辑1(高电平。 表1 TXD与CANH、CANL的关系表 TXD CANH电CANL电CAN总 状态平(V 平(V 线状态 1 2.5 2.5 隐性(逻辑1 0 3.5 1.5 显性(逻辑0 1.4 总线阻抗匹配 CAN总线的末端必须连接2个120Ω的电阻,它们对总线阻抗匹配有着重要的作用,不可省略。否则,将大大降低总线数据通信时的可靠性和抗干扰性,甚至有可能导致无法通信。

can节点设计

课程设计 课程名称车载总线题目名称 学生学院 专业班级 学号 学生姓名 指导教师 20 年月日

摘要:通过iCAN协议,设计单片机对SJA1000连接,进行控制收发器TJA1050的收发,通过iCAN-4050数字I/O产品进行流水灯输出试验。 关键词:CAN总线、SJAl000、TJA1050、AT89C52 1 引言 CAN(Controller Area Network)是控制器局域网,主要用于各种设备检测及控制的现场总线。CAN总线是德国BOSCH公司20世纪80年代初为解决汽车中众多控制与测试仪器间的数据交换而开发的串行数据通信协议。这是一种多主总线,无论是在高速网络还是在低成本的节点系统,应用都很广泛。由于采用了许多新技术及独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,其主要特点如下: ●通信方式灵活,可以多主方式工作,网络上任意一个节点均可以在任意时刻主动向网络上的其他节点发送信息,不分主从。 ●CAN节点只需对报文的标识符滤波即可实现点对点、点对多点及全局广播方式发送和接收数据,其节点可分成不同的优先级,节点的优先级可通过报文标识符进行设置,优先级高的数据最多可在134μs内传输,可以满足不同的实时要求。 ●CAN总线通信格式采用短帧格式,每帧字节数量多为8个字节,可满足一般工业领域中控制命令、工作状态及测试数据的要求,同时,8个字节不会占用总线时间过长,保证了通信的实时性。 ●采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息出现冲突时,优先级低的节点会主动退出数据发送,而优先级高的节点可不受影响地继续传输数据,大大节省了总线冲突仲裁时间,在网络重载的情况下也不会出现网络瘫痪。 ●直接通信距离最大可达10 km (速率在5 kb/s以下),最高通信速率可达1 Mb/s (此时距离最长为40 m);节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。 ●CAN总线采用CRC检验并可提供相应的错误处理功能,保证数据通信的可靠性,其节点在错误严重的情况下具有自动关闭输出功能,使总线上其他节点的操作不受影响。

CAN总线接口电路设计注意事项

CAN总线接口电路设计注意事项 CAN 总线是一种有效支持分布式控制和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域得到了广泛的应用。为提高系统的驱动能力,增大通信距离,实际应用中多采用Philips公司的82C250作为CAN控制器与物理总线间的接口,即CAN收发器,以增强对总线的差动发送能力和对CAN控制器的差动接收能力。为进一步增强抗干扰能力,往往在CAN 控制器与收发器之间设置光电隔离电路。典型的CAN总线接口电路原理如图1所示。 图1 典型的CAN总线接口电路原理图 1 接口电路设计中的关键问题 1.1 光电隔离电路 光电隔离电路虽然能增强系统的抗干扰能力,但也会增加CAN总线有效回路信号的传输延迟时间,导致通信速率或距离减少。82C250等型号的CAN收发器本身具备瞬间抗干扰、降低射频干扰(RFI)以及实现热防护的能力,其具有的电流限制电路还提供了对总线的进一步保护功能。因此,如果现场传输距离近、电磁干扰小,可以不采用光电隔离,以使系统达到最大的通信速率或距离,并且可以简化接口电路。如果现场环境需要光电隔离,应选用高速光电隔离器件,以减少CAN总线有效回路信号的传输延迟时间,如高速光电耦合器6N137,传输延迟时间短,典型值仅为48 ns,已接近TTL电路传输延迟时间的水平。 1.2 电源隔离 光电隔离器件两侧所用电源Vdd与Vcc必须完全隔离,否则,光电隔离将失去应有的作用。电源的隔离可通过小功率DC/DC电源隔离模块实现,如外形尺寸为DIP-14标准脚位的5 V 双路隔离输出的小功率DC/DC模块。 1.3 上拉电阻 图1中的CAN收发器82C250的发送数据输入端TXD与光电耦合器6N137的

简易CAN总线实验系统设计

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

高可靠性CAN总线分析与布局设计

南京理工大学2015年校级科研训练 开题报告 高可靠性CAN总线分析与布局设计 指导老师:徐群 小组成员:王宏远913101140233(主持人) 李俊杰913101360110 李泽宇913101340116

一、应用背景 1、CAN简介 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。 2、CAN 总线特点 (1)CAN 是到目前为止唯一有国际标准现场总线。 (2)CAN 为多主方式工作,网络上任一个节点均可在任意时刻主动向网络上其它 节点发送信息,而不分主从。 (3)在报文标志符上,CAN 上的节点分成不同的优先级,可满足不同的实时要求, 优先级高的数据最多可在134us 内得到传输。 (4)CAN 采用非破坏性总线仲裁技术。 (5)CAN 节点只需通过报文的标识符滤波即可实现点对点,一点对多点及全局广 播等几种方式传送数据,无需专门的“调度”。 (6)CAN 的直接通信距离最远可达10K 米;通信速率最高可达1Mbps。 (7)CAN 上的节点数主要取决与总线驱动电路,目前可达110 多个。 (8)报文采用短帧结构,传输时间短,受干扰概率低,使数据的出错率降低。 (9)CAN 的每帧信息都有CRC 校验及其他检错措施,具有极好的检错效果。 (10)CAN 通信介质可为双绞线、同轴电缆或光纤。 (11)CAN 节点在严重的情况下具有自动关闭输出功能,以使总线上其他节点的操 作不受影响。 (12)CAN 总线具有较高的性能价格比。

相关主题