当前位置:文档之家› CAN总线系统智能节点设计

CAN总线系统智能节点设计

CAN总线系统智能节点设计
CAN总线系统智能节点设计

https://www.doczj.com/doc/547015481.html,

CAN总线系统智能节点设计

作者:邹继军饶运涛

信息工程系

华东地质学院

摘要:CAN总线上的节点是网络上的信息接收和发送站;智能节点能通过编程设置工作方式、ID地址、波特率等参数。它主要由单片机和可编程的CAN通信控制器组成。本文介绍这类节点的硬件设计和软件设计;其中软件设计包括SJA1000的初始化、发送和接收等应用中的最基本的模块子程序。

关键词:总线节点CAN 控制器

引言:

CAN (Controller Area Network)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局部网,由于其卓越的性能、极高的可靠性、独特灵活的设计和低廉的价格,现已广泛应用于工业现场控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域。CAN已被公认为几种最有前途的现场总线之一。CAN总线规范已被ISO国际标准组织制订为国际标准,CAN 协议也是建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层。用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN总线极高的可靠性,从而使应用层通信协议得以大大简化。

CAN总线与其他几种现场总线比较而言,是最容易实现、价格最为低廉的一种,但其性能并不比其他现场总线差。这也是目前CAN总线在众多领域被广泛采用的原因。节点是网络上信息的接收和发送站,所谓智能节点是由微处理器和可编程的CAN控制芯片组成,它们有两者合二为一的,如芯片P8XC592,也有如本文介绍的,独立的通信控制芯片与单片机接口,后者的优点是比较灵活。当然,也

https://www.doczj.com/doc/547015481.html,

有不要微处理器的节点。下面以CAN通信控制器SJA1000为例,对CAN总线系统智能节点硬件和软件设计作一个全面的介绍。

CAN 通信控制器SJA1000 功能简介

CAN的通信协议主要由CAN控制器完成。CAN控制器主要由实现CAN总线协议的部分和实现与微处理器接口部分的电路组成。对于不同型号的CAN总线通信控制器,实现CAN协议部分电路的结构和功能大多相同,而与微处理器接口部分的结构和方式存在一些差异。这里主要以SJA1000为代表对CAN控制器的功能作一个简单介绍。

SJA1000是一种独立CAN控制器,它是PHILIPS公司的PCA82C200 CAN控制器的替代产品。SJA1000具有BasicCAN和PeliCAN两种工作方式,PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议。

SJA1000在软件和引脚上都是与它的前一款PCA82C200独立CAN控制器兼容的(SJA1000引脚功能如表1所示),在此基础上增加了很多新的功能。为了实现软件兼容,SJA1000采用了两种工作方式:BasicCAN方式(PCA82C200兼容方式)、PeliCAN方式(扩展特性方式)。工作方式通过时钟分频寄存器中的CAN方式位来选择。上电复位默认工作方式是BasicCAN方式。BasicCAN和PeliCAN方式的区别如下:

在PeliCAN方式下,SJA1000有一个重新设计的含很多新功能的寄存器组。SJA1000包含PCA82C200中的所有位,同时增加了一些新的功能位。PeliCAN方式支持CAN2.0B协议规定的所有功能(29位的标识符)。

SJA1000 的主要新功能如下:

标准结构和扩展结构报文的接收和发送

https://www.doczj.com/doc/547015481.html,

●64字节的接收FIFO

●标准和扩展帧格式都具有单/双接收滤波器含接收屏蔽和接收码寄存器

●可进行读/写访问的错误计数器

●可编程的错误报警限制

●最近一次的错误代码寄存器

●每一个CAN总线错误都可以产生错误中断

●具有丢失仲裁定位功能的丢失仲裁中断

●单发方式当发生错误或丢失仲裁时不重发

●只听方式监听CAN总线无应答无错误标志

●支持热插拔无干扰软件驱动位速率检测

●硬件禁止CLKOUT输出

表1:SJA1000引脚功能。

https://www.doczj.com/doc/547015481.html, CAN 总线系统智能节点硬件电路设计

本文中所设计的CAN 总线系统智能节点,采用89C51作为节点的微处理器,在CAN总线通信接口中,采用PHILIPS公司的SJA1000和82C250芯片。SJA1000是独立CAN通信控制器,82C250为高性能CAN总线收发器。

如图1 所示为CAN总线系统智能节点硬件电路原理图。从图中1可以看出,电路主要由四部分所构成:微控制器89C51、独立CAN通信控制器SJA1000 、CAN 总线收发器82C250和高速光电耦合器6N137。微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。

SJA1000 的AD0~ AD7 连接到89C51的P0口连接到89C51的P2.0 ,P2.0为0的CPU片外存贮器地址可选中SJA1000 CPU通过这些地址可对SJA1000执行相应

的读写操作SJA1000的、、ALE 分别与89C51的对应引脚相连,接

89C51的,89C51也可通过中断方式访问SJA1000。

为了增强CAN总线节点的抗干扰能力SJA1000的TX0和RXO并不是直接与82C250的TXD和RXD 相连,而是通过高速光耦6N137后与82C250相连,这样就很好的实现了总线上各CAN节点间的电气隔离。不过,应该特别说明的一点是光耦部分电路所采用的两个电源VCC和VDD必须完全隔离,否则采用光耦也就失去了意义。电源的完全隔离可采用小功率电源隔离模块或带多5V隔离输出的开关电源模块实现。这些部分虽然增加了节点的复杂,但是却提高了节点的稳定性和安全性。

82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。82C250的CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,电阻可起到一定

https://www.doczj.com/doc/547015481.html,

的限流作用,保护82C250免受过流的冲击。CANH和CANL与地之间并联了两个30P的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。另外在两根CAN总线接入端与地之间分别反接了一个保护二极管,当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用82C250的Rs脚上接有一个斜率电阻,电阻大小可根据总线通讯速度适当调整,一般在16k ~140k 之间。

图1 :CAN 总线系统智能节点硬件电路原理图。

CAN 总线系统智能节点软件设计

CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。熟悉这三部分程序的设计,就能编写出利用CAN总线进行通信的一般应用程序。当然要将CAN总线应用于通信任务比较复杂的系统中,还需详细了解有关CAN总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测,以及CAN 总线通信距离和节点数的计算等方面的内容。下面仅就前面提到的三部分程序的设计作一个描述,以供大家在实际应用中参考。

1 初始化子程序

SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设

https://www.doczj.com/doc/547015481.html,

置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设、波特率参数设置和中断允许寄存器IER的设置等。在完成SJA1000 的初始化设置以后,SJA1000就可以回到工作状态进行正常的通信任务下面提供了SJA1000初始化的51汇编源程序,程序中寄存器符号表示的是SJA1000 相应寄存器占用的片外存贮器地址,这些符号可在程序的头部用伪指令EQU进行定义,后文对这一点不再作特别说明。

CANINI:

MOV DPTR ,#MOD ;方式寄存器

MOV A,#09H ;进入复位模式对SJA1000 进行初始化.

MOVX @DPTR ,A

MOV DPTR ,#CDR ;时钟分频寄存器

MOV A ,#88H ;选择PeliCAN 模式关闭时钟输出CLKOUT MOVX @DPTR,A

MOV DPTR ,#IER ;中断允许寄存器

MOV A ,#0DH ;开放发送中断超载中断和错误警告中断

MOVX @DPTR,A

MOV DPTR ,#AMR ;接收屏蔽寄存器

MOV R6 ,#4

MOV R0,#DAMR ;接收屏蔽寄存器内容在片内RAM 中的首址

AMR:MOV A,@R0

MOVX @DPTR,A ;接收屏蔽寄存器赋初值

INC DPTR

DJNZ R6,AMR

MOV DPTR ,#ACR ;接收代码寄存器

MOV R6 ,#4

MOV R0 ,#DACR ;接收代码寄存器内容在片内RAM 中的首址

https://www.doczj.com/doc/547015481.html,

ACR :MOV A ,@R0

MOVX @DPTR,A ;接收代码寄存器赋初值

INC DPTR

DJNZ R6,ACR

MOV DPTR ,#BTR0 ;总线定时寄存器0

MOV A,#03H

MOVX @DPTR,A

MOV DPTR #BTR1 ;总线定时寄存器1

MOV A #0FFH ;16MHz晶振情况下设置波特率为80kbps.

MOVX @DPTR A

MOV DPTR #OCR ;输出控制寄存器

MOV A #0AAH

MOVX @DPTR A

MOV DPTR #RBSA ;接收缓存器起始地址寄存器

MOV A #0 ;设置接收缓存器FIFO 起始地址为0

MOVX @DPTR A

MOV DPTR #TXERR ;发送错误计数寄存器.

MOV A #0 ;清除发送错误计数寄存器

MOVX @DPTR A

MOV DPTR #ECC ;错误代码捕捉寄存器

MOVX A @DPTR ;清除错误代码捕捉寄存器

MOV DPTR #MODE ;方式寄存器

MOV A ,#08H ;;设置单滤波接收方式并返回工作状态

MOVX @DPTR ,A

RET

2 发送子程序

发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组

https://www.doczj.com/doc/547015481.html,

合成一帧报文,送入SJA1000发送缓存区中,然后启动SJA1000发送即可。当然在往SJA1000发送缓存区送报文之前,必须先作一些判断(如下文程序所示)。发送程序分发送远程帧和数据帧两种,远程帧无数据场。下面以发送数据帧为例对发送子程序作一个说明。

TDATA:MOV DPTR #SR ;状态寄存器

MOVX A @DPTR ;从SJA1000读入状态寄存器值

JB ACC.4 TDATA ;判断是否正在接收正在接收则等待TS0 :MOVX A @DPTR

JNB ACC.3 TS0 ;判断上次发送是否完成未完成则等待发送完成TS1 :MOVX A @DPTR

JNB ACC.2 TS1 ;判断发送缓冲区是否锁定锁定则等待TS2 :MOV DPTR #CANTXB ;SJA1000发送缓存区首址

MOV A #88H ;发送数据长度为8个字节的扩展帧格式报文MOVX @DPTR A

INC DPTR

MOV A #ID0 ;4个字节的标识符ID0-ID3 依据实际情况赋值MOVX @DPTR A

INC DPTR

MOV A #ID1

MOVX @DPTR A

INC DPTR

MOV A #ID2

MOVX @DPTR A

INC DPTR

MOV A,#ID3

MOVX @DPTR A

MOV R0 #TRDATA ;CPU发送数据区首址数据内容由用户定义

https://www.doczj.com/doc/547015481.html,

MTBF :MOV A @R0

INC DPTR

MOVX @DPTR A

INC R0

CJNE R0 #TRDATA+8 MTBF ;向发送缓冲区写8个字节

MOV DPTR #CMR ;命令寄存器地址

MOV A #01H

MOVX @DPTR A ;启动SJA1000发送

RET

3 查询方式接收子程序

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

SEARCH:

MOV DPTR #SR ;状态寄存器地址

MOVX A @DPTR

ANL A #0C3H ;读取总线脱离错误状态接收溢出有数据等位JNZ PROC

RET ;无上述状态结束

PROC :JNB ACC.7 PROCI

BUSERR:

MOV DPTR #IR ;IR中断寄存器出现总线脱离

https://www.doczj.com/doc/547015481.html,

MOVX A @DPTR ;读中断寄存器清除中断位.

MOV DPTR #MODE ;方式寄存器地址

MOV A #08H

MOVX @DPTR A ;将方式寄存器复位请求位清0

LCALL ALARM. ;调用报警子程序

RET

NOP

PROCI:MOV DPTR #IR ;总线正常

MOVX A @DPTR ;读取中断位

JNB ACC.3 OTHER

OVER: MOV DPTR #CMR ;数据溢出中断置位.

MOV A #0CH

MOVX @DPTR A ;在命令寄存器中清除数据溢出和释放接收缓冲区RET

NOP

OTHER:JB ACC.0 RECE ;IR.0=1,接收FIFO 未满或接收中断使能LJMP RECOUT ;IR.0=0,接收缓冲区无数据退出接收

NOP

RECE :MOV DPTR #CANRXB ;接收缓冲区首地址16 准备读取数据MOVX A @DPTR ;首字节是接收帧格式字

JNB ACC.6 RDATA ;RTR=1 是远程请求帧无数据

MOV DPTR #CMR

MOV A #04H ;CMR.2=1释放接收缓冲区

MOVX @DPTR A ;只有接收了数据才能释放接收缓冲区

LCALL TDATA ;发送对方请求的数据

LJMP RECOUT ;退出接收

NOP

RDATA:

https://www.doczj.com/doc/547015481.html,

MOV DPTR #CANRXB ;读取并保存接收缓冲区的数据

MOV R1 #CPURBF ;CPU片内接收缓冲区首址

MOVX A @DPTR ;读取读取CAN缓冲区的2号字节

MOV @R1 A ;保存

ANL A #0FH ;截取低4位是数据长度0~8

ADD A #4 ;加4个字节的标识符ID

MOV R6 A

RDATA:INC DPTR

INC R1

MOVX A @DPTR

MOV @R1 A

DJNZ R6 RDATA0 ;循环读取与保存

MOV DPTR #CMR

MOV A #04H ;释放CAN接收缓冲区

MOVX @DPTR A

RECOUT :MOV DPTR #ALC ;释放仲裁丢失捕捉寄存器和错误捕捉寄存器MOVX A @DPTR

MOV DPTR #ECC

MOVX A @DPTR

NOP

RET

本文小结

上述介绍的是SJA1000工作在PeliCAN模式下的三种最基本的操作子程序。由于篇幅的关系,这里没有列出和解释SJA1000内部寄存器的地址和位定义。有关接收屏蔽寄存器(AMR)和接收编码寄存器(ACR)的使用在以往的文章中已有介绍。至于其他一些寄存器或位功能的使用,没有在上述例程中体现出来,需要视实际情况而定。

https://www.doczj.com/doc/547015481.html,

参考文献

1 PHILIPS SJA1000 stand-alone CAN controller product specification 2000 Jan 04

2 邬宽明CAN 总线原理和应用系统设计北京航空航天大学出版社1996

基于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总线系统智能节点设计

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

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总线智能传感器节点设计精修订

基于的C A N总线智能传感器节点设计 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

基于82527的CAN总线智能传感器节点设计 摘要:介绍一种以8051微控制器和82527独立CAN总线控制器为核心组成的CAN总线智能传感器节点的设计方法,并给出其硬件原理图和初始化程序。 关键词:CAN总线 82527 单片机数据采集智能节点 引言 CAN(Controller Area Network,控制局域网)属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车中众多的控制与测试仪器间的数据交换而开发的一种通信协议。1993年11月,ISO正式颁布了高速通信控制局域网(CAN)的国际标准(ISO11898)。CAN总线系统中现场数据的采集由传感器完成,目前,带有CAN总线接口的传感器种类还不多,价格也较贵。本文给出一种由8051单片机和82527独立CAN总线控制器为核心构成的智能节点电路,在普通传感器基础上形成可接收8路模拟量输入和智能传感器节点。

1 独立CAN总线控制器82527介绍 82527是Intel公司生产的独立CAN总线控制器,可通过并行总线与Intel和Motrorola的控制器接口;支持CAN规程标准,具有接收和发送功能并可完成报文滤波。82527采用CHMOS 5V工艺制造,44脚PLCC封装,使用温度为-44~+125℃,其引脚的排列和定义参见参考文献[1]。 (1)82527的时钟信号 82527的运行由2种时钟控制:系统时钟SCLK和寄存器时钟MCLK。SCLK 由外部晶振获得,MCLK对SCLK分频获得。CAN总线的位定时依据SCLK的频率,而MCLK为寄存器操作提供时钟。SCLK频率可以等于外部晶振XTAL,也可以是其频率的1/2;MCLK的频率可以等于SCLK或是其频率的1/2。系统复位后的默认设置是SCLK=XTAL/2,MCLK=SCLK/2。 (2)82527的工作模式 82527有5种工作模式:Intel方式8位分时复用模式;Intel方式16位分时复用模式;串行接口模式;非Intel方式8位分时复用模式;8位非分时复用模式。本文应用Intel方式8位分时复用模式,此时82527的30和44脚接地。

课程设计--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总线智能节点设计

基于CAN总线智能节点设计 The design of intelligent nodes Based on CAN Bus 李光忠1,吴士涛2 LI GUANG-ZHONG,WU SHI-TAO (1. 山东农业大学信息科学与工程学院,山东 泰安 271018; 2. 山东科技大学,山东 泰安 271000) (1. College of Information Science and Engineering, Shandong Agriculture University,Taian 271018 China;2. Shandong University of Science and Technology,Taian 271000 China) 摘要:CAN总线是一种应用极为普及的现场总线。文中提出了一种CAN总线通信接口的设计方案。CAN总线智能节点用单片机AT89S52和SJA1000控制器为核心组成。分别从硬件电路设计和SJA1000软件初始化、发送、接收设计方面进行了分析,实现了相应的网络控制功能,具有较高的实用性。 关键词:CAN总线,智能节点,系统设计 中图分类号:TP336 文献标识码:B Abstract:Can-Bus is popular as a field Bus.In this paper,a new modern CAN-bus communication interface is designed. Intelligent node of CAN-bus is mainly made up of MCU AT89S52 and SJA1000 controller.The hardware principle and the programming methods for initialization,transmitting and receiving modules of SJA1000 are introduced.The design can perform the control function.It is a practical design. Key words:CAN Bus,Intelligent node,system design 0 引言 CAN是控制器局域网络(Controller Area Network)的简称,是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线作为智能设备的联系纽带,把挂在总线上作为网络节点的智能设备连接为网络系统,并进一步构成自动化系统,实现基本控制的综合自动化系统。本文给出了一种基于AT89S52和SJA1000的CAN总线智能节点设计方案,并对软硬件设计进行了相应的说明。 1 系统硬件设计 智能节点能够通过监测设备采集的现场数据,并根据接收到的命令或者主动将数据发送到CAN总线。通过事先设置验收码和验收屏蔽码可以控制智能节点从总线上接收数据或命令。 CAN总线系统智能节点硬件电路由3部分构成:微控制器AT89S52、独立CAN通信控制器SJA1000和CAN总线驱动器82C250。 微处理器AT89S52负责SJA1000的初始化,通过控制SJA1000实现数据的接受和发送等通信任务。SJA1000作为独立CAN总线控制器具有完成CAN高性能通信协议所要求的全部必要特性。使用简单总线连接的SJA1000可完成物理层和数据链路层的所有功能。其硬件与软件设计包括与基本CAN工作模式(BasicCAN)兼容,同时它新增加的增强CAN工作模式(PeliCAN)可以支持CAN 2.0A及CAN 2.0B协议。CAN总线收发器PCA82C250提供协议控制器和物理传输线路之间的接口。它可以用高达1Mb/s的速率在两条有差动电压的总线电线上传输数据。 硬件电路如图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虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、扩展槽地址;中断资源有限;并且插拔不方便;价格较贵;而且设计复杂、需有高质量的驱动程序保证系统的稳定;且无法用于便携式计算机的扩

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总线系统智能节点的设计

汽车ECU电路分析 ECU电路解析 正如在本章开始时我们讲到的,不同厂商的汽车电脑在功能上不是完全相同的,但结构组成和要紧功能是差不多一样的,因此我们以有代表性的BOSCH MOTRONIC系统为例进行ECU的电路分析。 1、BOSCH MOTRONIC系统结构图 BOSCH MOTRONIC系统在电子燃油喷射系统中极具代表性,国内生产的大部分车型采纳的差不多上BOSCH电子喷射系统。图5.11为MOTRONIC系统框图,在此图中介绍了曲型电子燃油喷射系统的组成,各部分的联系情况,关于更好的了解电脑的工作过程,以至于分析故障与维修差不多上大有关心的。 图11 Motronic系统框图 1-燃油箱;2-燃油泵;3-燃油滤清器;4-燃油压力调节器;5-燃油脉动衰减器;6-电子操纵单元;7-分电器;8-喷油嘴;9-冷起动喷油嘴;10-节气门;11-节气门开关门;12-空气流量计;13-氧传感器;14-热敏开关;15-水温传感器;16-辅助空气阀;17-曲轴位置传感器;18-主继电器;19-燃油泵继电器

在图11中,电子操纵单元作为电控发动机的核心部分,由一8位/16位单片微机、集成电路和相关电子元件组成,英文表示为Electric control unit简称ECU。其作用是接收各种传感器送来的信息,以它们进行运算、处理、推断后再发出指令信号,经输出电路进行功率放大后驱动想应的执行单元,从而实现对发动机的各种工况的操纵。那个地点提级的ECU是各种操纵单元的统称,ECM/PCM则是发机操纵模组或动力操纵模组的缩写,是包含于ECU范围之内的。 2、BOSCH MOTRONIC1.3电路分析 汽车电子操纵单元(ECU),不论是BOSCH的MOTRONIC,福特的EEC IV、V,通用的P4、P6等,其最终的目的只有一个,让发动机工作的更出色,表现为动力更强劲,噪声小,污染低。这是针对发动机系统而言,其他系统也是一样,每个系统都有自己的目标,这就看起来是电视机一样,世界各国生产的电视机,不管是哪个厂家的,差不多上要以接收电视节目为目的。基于如此一种认识,我们能够把ECU抽样化的分成几个部分,见图12所示。

基于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总线系统智能节点的设计

汽车ECU电路分析ECU电路解析 正如在本章开始时我们讲到的,不同厂商的汽车电脑在功能上不是完全相同的,但结构组成和主要功能是基本一样的,因此我们以有代表性的BOSCHMOTRONIC系统为例进行ECU的电路分析。 1、BOSCH MOTRONIC系统结构图 BOSCH MOTRONIC系统在电子燃油喷射系统中极具代表性,国内生产的大部分车型采用的都是BOSCH电子喷射系统。图5.11为MOTRONIC系统框图,在此图中介绍了曲型电子燃油喷射系统的组成,各部分的联系情况,对于更好的了解电脑的工作过程,以至于分析故障与维修都是大有帮助的。 图11Motronic系统框图 1-燃油箱;2-燃油泵;3-燃油滤清器;4-燃油压力调节器;5-燃油脉动衰减器;6-电子控制单元;7-分电器;8-喷油嘴;9-冷起动喷油嘴;10-节气门;11-节气门开关门;12-空气流量计;13-氧传感器;14-热敏开关;15-水温传感器;16-辅助空气阀;17-曲轴位置传感器;18-主继电器;19-燃油泵继电器在图11中,电子控制单元作为电控发动机的核心部分,由一8位/16位单片微机、集成电路和相关电子元件组成,英文表示为Electric control unit 简称ECU。其作用是接收各种传感器送来的信息,以它们进行运算、处理、判断后再发出指令信号,经输出电路进行功率放大后驱动想应的执行单元,从而实现对发动机的各种工况的控制。这里提级的ECU是各种控制单元的统称,ECM/PCM则是发机控制模组或动力控制模组的缩写,是包含于ECU范围之内的。 2、BOSCH MOTRONIC1.3电路分析 汽车电子控制单元(ECU),不论是BOSCH的MOTRONIC,福特的EEC IV、V,通用的P4、P6等,其最终的目的只有一个,让发动机工作的更出色,表现为动力更强劲,噪声小,污染低。这是针对发动机系统而言,其他系统也是一样,每个系统都有自己的目标,这就好像是电视机一样,世界各国生产的电视机,无论是哪个厂家的,都是要以接收电视节目为目的。基于这样一种认识,我们可以把

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总线学习的硬件部分就介绍完了,请等待下面的软件试验部分!

整车CAN通信设计规范

文件编号: TKC/JS(S)-EV17 文件版本号: 0/A版 安徽天康特种车辆装备有限公司 整车CAN通信设计规范 编制: 审核: 批准: 发布日期:2014年12月22日实施日期:2014年12月22日安徽天康特种车辆装备有限公司

目录

前言 为使本公司整车CAN总线通信设计规范化,参考国际标准化组织协议以及国内外汽车总线总体设计的技术要求,结合本公司物流车开发车型的实际应用环境,编制本整车CAN总线通讯设计规范。本规范满足公司快速发展的需要,并将在实践中进一步提高完善。 本规范由安徽天康特种车辆装备有限公司技术部提出。 本规范由安徽天康特种车辆装备有限公司技术部批准。 本规范主要起草人:李劲松、查德国、和进军 本规范于2015年01月首次发布。

整车CAN通信设计规范 一、说明 范围 本规范规定了安徽天康特种车辆装备有限公司(以下简称“天康”)生产的纯电动汽车CAN通信设计规范。 本规范适用于安徽天康特种车辆装备有限公司设计开发的纯电动汽车的CAN总线通信设计。 如果本标准与其它标准或规范不一致,则按照如下方式处理: 与SAE J1939不一致,遵照本标准执行; 与ECU技术规范不一致,遵照ECU技术规范执行 规范性引用文件 下列文件中的条款通过本规范的引用成为本规范的条款。凡是注日期的引用文件,其随后的修改单(不包括勘误的内容)或修订版均不适用于本规范。凡是不注日期的引用文件,其最新版本适用于本规范。 表 1 参考文档 术语和缩写 表 2 缩写

二、物理层 本节详细规定了物理层的需求 相关标准 所有ECU应遵从标准、或者中的相关规定. 物理介质 CAN传输线束应该满足表3描述的参数和如下的条件: CAN线束采用非屏蔽双绞线; CAN_H和CAN_L应该被保护屏蔽包裹,如果天康允许,可以使用不带保护层的CAN 线束; 绞线率:13~58twist/m。 表 3 物理介质参数

CAN总线智能传感器节点设计

基于82527的CAN总线智能传感器节点设计 摘要:介绍一种以8051微操纵器和82527独立CAN总线操纵器为核心组成的CAN总线智能传感器节点的设计方法,并给出其硬件原理图和初始化程序。 关键词:CAN总线 82527 单片机数据采集智能节点引言 CAN(Controller Area Network,操纵局域网)属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车

中众多的操纵与测试仪器间的数据交换而开发的一种通信协议。1993年11月,ISO正式颁布了高速通信操纵局域网(CAN)的国际标准(ISO11898)。CAN总线系统中现场数据的采集由传感器完成,目前,带有CAN总线接口的传感器种类还不多,价格也较贵。本文给出一种由8051单片机和82527独立CAN总线操纵器为核心构成的智能节点电路,在一般传感器基础上形成可接收8路模拟量输入和智能传感器节点。 1 独立CAN总线操纵器82527介绍 82527是Intel公司生产的独立CAN总线操纵器,可通过并行总线与Intel和Motrorola的操纵器接口;支持CAN规程2.0B 标准,具有接收和发送功能并可完成报文滤波。82527采纳CHMOS

5V工艺制造,44脚PLCC封装,使用温度为-44~+125℃,其引脚的排列和定义参见参考文献[1]。 (1)82527的时钟信号 82527的运行由2种时钟操纵:系统时钟SCLK和寄存器时钟MCLK。SCLK由外部晶振获得,MCLK对SCLK分频获得。CAN总线的位定时依据SCLK的频率,而MCLK为寄存器操作提供时钟。SCLK频率能够等于外部晶振XTAL,也能够是其频率的1/2;MCLK 的频率能够等于SCLK或是其频率的1/2。系统复位后的默认设置是SCLK=XTAL/2,MCLK=SCLK/2。 (2)82527的工作模式 82527有5种工作模式:Intel方式8位分时复用模式;Intel 方式16位分时复用模式;串行接口模式;非Intel方式8位分时复用模式;8位非分时复用模式。本文应用Intel方式8位分时复用模式,现在82527的30和44脚接地。 3 / 27

基于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所示。该智能节点的设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等特点,下面分别对电路的各部分做进一步的说明。

基于SJA1000的CAN节点设计v1.0

基于SJA1000的CAN节点设计 文件信息 类别内容 关键词 SJA1000,CTM系列隔离CAN收发器 基于SJA1000的CAN节点设计 摘要 https://www.doczj.com/doc/547015481.html,

修订历史 版本日期原因Rev X1 2006-12-13 内部制定初稿 Rev 1.0 2006-12-15 第一次发布

目录 1. 基于SJA1000的CAN节点设计 (3) 1.1 硬件设计电路 (3) 1.1.1收发器隔离电路设计 (3) 1.1.2 CAN总线接口设计 (4) 1.2 软件设计 (5) 程序清单1.1 定义片选地址 (5) 程序清单1.2 初始化SJA1000 (5) 程序清单1.3 发送报文 (6) 2. 应用实例 (7) 3. 声明 (1)

1.基于SJA1000的CAN节点设计 1.1 硬件设计电路 CAN总线是一种最有前途的现场总线,因其优异性能而在工业控制、汽车电子、安防等方面得到广泛应用。设计CAN-bus通讯接口是很重要的一个环节,设备的正确运行与其密切相关。如图 1.1给出了一个实际的CAN-bus通讯单元电路图,电路结构为:MCU(P89C52)+CAN控制器(SJA1000)+隔离CAN收发器(CTM Module)。 图 1.1 CAN-bus通讯单元原理图 如图 1.1所示,整个系统电源采用+5V电源输入,上电复位芯片(CAT810L)可保证上电时正确的启动系统。微处理器采用PHILIPS的P89C52单片机,该系列单片机是80C51微控制器的派生器件,采用先进的CMOS工艺制造,指令系统与80C51完全相同。CAN控制器采用PHILIPS的SJA1000,SJA1000是一款独立的控制器,用于汽车和一般工业环境中的控制器局域网络。它是PHILIPS半导体PCA82C200 CAN控制器(BasicCAN)的替代产品。而且,它增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新特性的CAN 2.0B 协议,是目前市面上用的最广的一款CAN控制器。该电路中采用了隔离CAN收发器模块,以确保在CAN总线遭受严重干扰时控制器能够正常运行,该模块介绍见以下1.1.1节收发器隔离电路设计: 1.1.1 收发器隔离电路设计 1.1.1.1 常规设计 图 1.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 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持,所以它在汽车领域中运用只会越来越广泛越来越重要。我们作为汽车电子的学习者有必要学好这方面的技术,这样才能顺应汽车高智能化的特点。为自己提升技能。

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