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

CAN总线设计(最终版)(1)
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虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、扩展槽地址;中断资源有限;并且插拔不方便;价格较贵;而且设计复杂、需有高质量的驱动程序保证系统的稳定;且无法用于便携式计算机的扩

展;RS-232虽然插拔方便,但是传输速率太慢。

本文的设计思想是通过使用USB接口芯片CH372,将计算机与CAN网络控制节点参数相互准确快速地传输。CH372是一种USB总线通用接口芯片,在计算机系统中,通过CH372的配套软件可提供简洁易用的操作接口,从而使其与本地端的单片机通讯就如同读写硬盘中的文件一样简单,由于CH372屏蔽了USB通讯中的所有协议,因而可在计算机应用层与本地端控制器之间提供端对端的连接,在不需要了解任何USB协议或者固件程序甚至驱动程序的情况下,就可轻松地将并口、串口产品升级到USB接口。

CAN适配器用于完成USB总线和CAN总线之间的数据交换。使用MCU统筹安排数据在USB总线和CAN总线之间的数据交换。以MCU为界可以将硬件分为两部分:一是MCU和USB总线交换数据;二是MCU控制CAN控制器,完成CAN数据包到CAN总线位序列协议解释,该系统结构如图1所示。

2 CAN总线与USB的转换概述

USB是英文UniVersalSerial Bus的缩写,即通用串行总线,它是针对计算机外设的一种新型串行通信的接口标难。最初的USB总线标准由Intel、Microsoft、Compaq和NEC等多家公司于1994年共同提出,到1998年推出了1.1全速版本,2000年又推出了2.0高速版本,再到最近的USB—OTG新兴技术,随着规范的不断完善和发展,具有快速、双向、即插即用且价格低廉特点的USB总线,近几年来已在计算机与外设的连接以及基于计算机的各种仪器中获得了广泛的应用。USB总线共有4种基本类型的数据传输,分别为控制传输、批量传输、中断传输和同步传输,为不同的通信任务要求提供了灵活的选择。但USB总线毕竟不是为工业现场测控应用而设计的总线,它可连接的设备数较少,通信距离短,抗干扰能力也不是很强;而CAN总线则具有可连接设备数目多、传输距离远、抗干扰能力强等许多优点,但其不能直接与计算机相连。如果能将USB总线与CAN总线结合起来,设计一个USB—CAN转换器,就能同时利用两者的优点,在现场测控领域实现更强大而灵活的通信任务。

图2 网关中断处理程序流程图(接收CAN子网报文)

3 适配器硬件接口设计

3.1 USB接口电路

USB接口电路在微控制器和USB接口的选择上有两种方式:一种是采用具备USB通讯功能的微处理器。随着USB应用的日益广泛,Intel、Cypress、Philips等芯片厂商都推出了具有USB通信接口的微处理器,如8X930A、8X931A、EZ-USB等。由于这些微处理器具有USB 接口,它们与过去的开发系统不兼容,需要购买新的开发系统,投资较高。另一种是采用普通微处理器加上专用的USB通信芯片。

现在的专用芯片中较流行的有USBN9602、SL11、PDIUSBD12等。但是,USB接口的开发一般要求设计人员对USB的标准、Firmware编程及驱动程序编写等有较深入的理解,因

此限制了一般的硬件工程师对USB接口产品的开发使用。本系统中使用了USB接口芯片CH372,使用非常简单,开发人员只要熟悉单片机的编程及简单的VB或者VC应用程序编程,在较短的时间内就可开发出相应的USB产品。

CH372是一个USB总线的通用设备接口芯片,遵守USB1.1协议。在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、DSP等控制器的系统总线上;在计算机系统中,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如同读写硬盘中的文件。CH372内置了USB通讯中的底层协议,具有内置固件模式和外置固件模式。在内置固件模式下CH372屏蔽了USB通信中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。使用CH372,不需要了解任何USB 协议或者固件程序,甚至驱动程序,就可以轻松地将并口、串口的产品升级到USB接口。

CH372芯片的RD和WR可以分别连接到单片机的读选通输出引脚和写选通输出引脚。CS由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。INT可以连接到单片机的中断输入引脚,中断请求是低电平有效。当CS和RD以及A0都为低电平时,CH372中的数据通过D7~D0输出;当CS和WR以及A0都为低电平时,D7~D0上的数据被写入CH372芯片中;当CS和WR都为低电平而A1为高电平时,D7~D0上的数据被作为命令码写入CH372芯片中。CH372芯片的UD+和UD-引脚应该直接连接到USB总线上。如果为了芯片安全而串接保险电阻或者电感,那么交直流等效串联电阻应该在5Ω之内。CH372芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。CH372芯片正常工作时需要外部为其提供12MHz的时钟信号。一般情况下,时钟信号由CH372内置的反相器通过晶体稳频振荡产生。外围电路只需要在X1和X0引脚之间连接一个标称频率为12MHz的晶体,并且分别为X1和X0引脚对地连接一个容量为30pF的高频振荡电容。CH372芯片支持5V电源电压或者3.3V电源电压。当使用5V工作电压时,CH372芯片的VCC引脚输入外部5V电源,并且,V3引脚应该外接容量为0.1μF左右的电源退耦电容。当使用3.3V工作电压时,CH372芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V电源,并且与CH372芯片相连接的其它电路的工作电压不能超过3.3V。接口电路如图3所示。

图3 USB接口电路

3.2 CAN总线接口电路

CAN总线接口电路这部分由CAN控制器、CAN接口芯片和光耦组成。CAN控制器完成CAN通讯协议的所有要求,CAN接口芯片是CAN控制器和物理总线间的接口,并经由光耦将数据发往CAN总线,接口电路图如图4所示。

图4 CAN总线接口电路

CAN总线控制器采用Philips公司的SJA1000,并辅以该公司的PCA82C250接口驱动器,通过光电隔离器件6N137实现了总线与控制器的隔离。SJA1000是一款独立的控制器,用于汽车和一般工业环境中,从软件的角度来看,对SJA1000的操作通过单片机的访问外部存储器指令来完成,所以,SJA1000可以被视为一种扩展RAM,SJA1000具有标准模式和Peli模式两种应用模式。标准模式符合CAN2.0A协议标准,接收缓冲器有64个字节;Peli模式符合2.0B标准,能处理扩展数据格式,具有仲裁丢失捕获、代码读取等功能。

PCA82C250是CAN控制器和物理总线之间的接口,它具有限定的电流值以保护接收器输出级,避免阳极和阴极的短路,以防止输出级的损坏,PCA82C250CAN接口控制器提供了总线驱动发送和接收能力,高速可达1Mbps,具有较强的抗干扰能力。

图5为设计的基于CH372的USB—CAN转换器硬件电路原理图。转换器的微控制器采用89C52,负责整个转换器的监控任务以及CAN总线与USB总线的通信任务。CAN控制器接口电路由CAN通信控制器SJAl000和CAN收发器82C250

组成,USB控制器接口电路采用CH372。SJAl000和CH372的中断输出INT分别与89C52的0

INT相连,从而可采用中断方式来接收USB与CAN总线报INT和1

文。这种方法能保证最快的9向应速度,可提高通信效率。‘

图5 USB-CAN适配器硬件电路原理图

4 USB通用设备接口芯片CH372

4.1 概述

CH372是一种USB总线的通用设备接口芯片。与其他USB接口芯片相比,该芯片具有接口设计简单,编程使用方便等优点。CH372具有8位数据总线和读、写、片选控制线以及中断输出,可方便地挂接到单片机或DSP等控制器的系统总线上。在计算机系统中,CH372的配套软件提供了简洁、易用的操作接口,与本地端的单片机通信就如同读/写文件一样。

CH372内置了USB通信中的底层协议,具有内置固件模式和外置固件模式。在内置固件模式下,CH372自动处理默认端点0的所有事务,完成标准的USB 枚举配置过程,而本地单片机只负责数据交换。在外置固件模式下,由外部单片机或DSP根据需要自行处理各种USB请求,从而可以实现符合各种USB类规范的设备。CH372提供一对主端点和一对辅助端点,支持控制传输、批量传输和中断传输。通用Wjndows驱动程序提供设备级接口,通过DLL提供API应用层接口。

4.2 引脚功能说明

CH372采用SSOP—20封装,表1对其各引脚功能进行了说明。

表1 CH373引脚功能

4.3 内部结构

CH372芯片内部集成了USB接口SIE、数据缓冲区、被动并行接口、命令解释器、电压调整器、通用的固件程序等。通用的固件程序用于自动处理USB默认端点o的各种标准事务等。

CH372芯片内部具有5个物理端点:端点o是默认端点,支持上传和下传,上传和下传缓冲区各是8字节;端点l包括上传端点和下传端点,上传和下传缓冲区各是8字节,上传端点的端点号是81H,下传端点的端点号是olH;端点2包括上传瑞点和下传端点,上传和下传缓冲区各是64字节,上传端点的端点号是82H,下传端点的端点号是02H。

在内置固件模式下,端点1的下传端点破禁止,端点1的上传端点作为中断端点,端点2的上传端点作为批量数据发送端点,端点2的下传端点作为批量数据接收端点。在外部固件模式下,端点o作为默认端点,端点1和端点2可根据USB产品的需要选择使用,并且可由外部固件提供的描述符分别定义其用途。通常情况下,端点2作为数据传输的主端点,如果USB产品需要,则可将端点1作为辅助端点。

4.4 命令

CH372内部的各种功能都是通过命令的方式来实现的。表2列出了CH372在内置固件模式下可能用到的命令。

表2 CH372命令

5 软件设计

5.1 概述

软件主程序的流程图如图6所示。

图6 系统软件主程序流程图

首先进行MCU、SJA1000和USB的初始化,初始化后系统处于循环等待状态,若有中断产生,就进入相应的中断服务程序,如果CAN总线有数据上传,则转入CAN中断服务程序,由微处理器从SJA1000缓冲区接收数据,写入微处理器的数据缓冲区,并置标志返回,如果上位机有数据下传,则转入USB中断服务程序(下位机中断服务程序流程如图7所示),微处理器从USB缓冲区中读取数据,存入缓冲区,并置标志返回,接收数据是将数据从缓冲区读出发送到USB总线,通过USB总线传送到上位机(下位机数据上传子程序流程简图如图5所示),发送数据是将数据从缓冲区读出写入SJA1000的缓冲区,由CAN节点读取,这种处理可以使微处理器在执行完相应的中断程序后只需读取缓冲区,然后执行相应的接收或发送程序即可完成上位机和下位机的数据交换。对于计算机应用层的程序,在计算机上装载WINCHIPHEAD提供的CH372的通用驱动程序后,不必再考虑USB通信协议、固件程序、驱动程序、自动配置过程和底层数据传输过程。只需要根据提供的动态连接库的接口函数,用VB或VC编制自己的应用程序即可。

图7 下位机中断服务程序流程

图8 下位机数据上传子程序流程

USB与CAN总线适配器软件主要实现USB与CAN总线之间的协议转换,即将接收到的CAN报文通过USB接口发送给计算机,把从计算机接收到的USB报文通过CAN接口发送给外部设备。为了实现上述通信任务,其软件设计主要包括以下部分:主监控程序、CAN和USB接口芯片的初始化、CAN报文的接收和发送、USB报文的下传和上传。

在介绍具体程序设计之前,为了程序说明的需要,现将程序中用到的一些变量或符号的定义列举如下:

USB接口芯片端口地址

COMPORT EQU 8100H

DATPORT EQU 800H

MODE EQU 0200H

CHR EQU 0201H

CBFRP EQU 2AH

CBFTP EQU 2BH

BFLEN EQU 2CH

USBRP EQU 2DH

USBTING BIT 00H

5.2 主监控程序设计

主监控程序负责对USB和CAN报文的接收缓冲区进行监视,若某一路缓冲区非空,则向另一路转发。但要实现在USB总线与CAN总线之间的通信,必须考虑到USB总线与CAN总线在帧格式方面的不同。例如:USB传输报文的数据长度最大可达64字节,而CAN总线为8字节,两者是不兼容的;CAN总线有ID 标识符,而USB总线没有,两者也是不兼容的。为了保持两种协议的兼容性,提高通信效率,在本设计中将USB传输报文的大小限定在5—12字节之间,其中包括4字节的ID。也可以根据实际需要不作上述限制,而当USB报文内容超过8字节时,采用通过CAN总线多次传送的办法实现。

本设计中CAN报文接收缓冲区采用FIFO算法管理,共分配88字节单元(30H 一87H)的内存,USB报文接收缓冲区的管理没有采用FIFo算法。USB—CAN转换器主监控程序的设计与CAN网控器的设计类似,这里只简单介绍:MLLOOP: NOP

MOV A,CBF1RP

CJNE A,CBF1TP,LOOP1

NOP

SJMP LOOP2

NOP

LOOP1: LCALL TDATA2

LOOP2: NOP

MOV A,CBF2RP

CJNE A,CBF2TP,LOOP3

NOP

SJMP MLOOP

NOP

LOOP3: LCALL TDATA1

NOP

SJMP MLOOP

5.3 CAN和USB接口芯片的初始化

5.3.1 CH372初始化

USB接口芯片CH372的初始化主要是测试芯片是否工作正常,并进行工作模式的设置。CH372占用两个端口地址,当Ao引脚为高电平时选择命令端口,可以写入命令;当Ao引脚为低电平时选择数据端口,可以读/写数据。微控制器通过8位并口访问CH372,所有操作都是由一个命令码、若干个输人数据和若干个输出数据组成,部分命令不需要输入数据,部分命令没有输出数据。命令RESET —ALL使CH372执行硬件复位,通常情况下,硬件复位在40 ms时间之内完成。

CH372命令的具体操作步骤如下:

①在Ao=1时向命令端口写人命令代码;②如果该命令具有输入数据,则在Ao=o时依次写入输入数据,每次1字节;③如果该命令具有输出数据,则在Ao=o时依次读取输出数据,每次1字节;④命令完成,可以暂停或者转到第①步继续执行下一个命令。下面提供了CH372初始化源程序:

USBINI:MOV DPTR,#COMPORT ;复位CH372

MOV A,#05H

MOVX @DPTR,A

MOV R0,#00H

DL1:MOV R1,#00H ;延时40MS

DJNZ R1,$

DJNZ R0,DL1

MOV A,#06H ;测试工作状态

MOVX @DPTR,A

MOV DPTR, #DATPORT

MOV A,#0AAH

MOVX @DPTR,A

NOP

MOVX A,@DPTR

CJNZ A,#55H,USBINI

MOV DPTR,#COMPORT

MOV A,#15H

MOVX @DPTR,A

MOV DPTR, #DATPORT

MOV A.#02H

MOVX @DPTR,A

MOV R0,#0AH

DJNZ R0,$

MOV DPTR,#DATPOT

MOVX A,@DPTR

CJNZ A,#51H,USBINI

NOP

RET

5.3.2 SJAl000初始化

SJAl000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、验收滤波方式的设置、验收屏蔽寄存器(AMR)和验收代码寄存器(ACR)的设置、波特串参数设置和中断允许寄存器(1ER)的设置等。在完成SJAl000的初始化设置以后,SJAlo00就可以回到工作状态,进行正常的通信任务。电路中SJAl000使用的外部品振频率是16MHz。下面提供了SJAlooo初始化的51汇编源程序,程序中寄存器符号表示的是SJAlo00相应寄存器占用的片外存储器地址,这些符号可在程序的头部用伪指令EQU进行定义。

5.4 CAN报文的发送

发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入团A1000发送缓存区中,然后启动SJAl000发送即可。当然,在往SJAlo00发送缓存区送报文之前,必须先作一些判断(如下面程序所示)。发送程序分发送远程帧和数据帧两种,远程帧无数据场。

1)发送数据帧

2)发送远程帧

5.5 CAN报文的接收

接收子程序负责节点报文的接收以及其他情况处理。接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线关闭、错误报警、接收溢出等情况进行处理。SJAl000报文的接收主要有两种方式:中断接收方式和查询接收方式。如果对通信的实时性要求不是很强,建议采用查询接收方式。两种接收方式的编程思路基本相同。下面仅以查询方式接收报文为例对接收子程序作一个说明。

5.6 自检过程

进行CAN总线自检,可测试CAN总线和网络终端在内的物理层接口是否可用,测试SJAlo00和82C250是否工作正常。SJAlooo支持两种不同的自检模式:全局自检和局部自检。全局自检时必须至少有一个其他的CAN节点连接到总线上以得到一个应答,而局部自检可应用于单节点的测试,它不需要其他节点的应答。但局部自检模式下,SJAlooo必须处于自检测模式中,然后启动发送和自接收请求命令一起执行,而全局自检模式只需启动发送和自接收请求命令即可。

下面提供了启动局部自检模式的汇编代码,它与启动正常的CAN发送相似。但需要注意的是,SJAlooo必须先进入复位模式,为接收CAN报文配置好中断允许寄存器和验收滤波

器,然后选定自检测模式并退出复位状态,在正常工作模式下填充报文,最后启动发送和自接收请求命令。

5.7 USB下传子程序设计

CH372初始化后,就可以进行USB与计算机之间的通信了。在本设计中采用了端点的批量传输模式来下传数据,CH372接收到计算机的下传数据时,就会以中断方式通知微制器接收USB报文。接收到的报文暂存在微控制器的USB 报文接收缓冲区中,主监控程在检测到该缓冲区非空时即通过CAN总线转发该报文。下面提供了USB接收中断子程

USBREC:CLR EA ;查询接收方式

PUSH ACC ;保护现场

基于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.360docs.net/doc/428441360.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 总线具有较高的性能价格比。

相关主题
相关文档
最新文档