CAN总线节点电路的设计与实现

发布者:EnchantedDream最新更新时间:2012-02-01 来源: dzsc关键字:CAN总线  节点电路  局域网络 手机看文章 扫描二维码
随时随地手机看文章

      CAN(Controller Area Network)即控制器局域网络。由于其具有较强的抗干扰能力、通讯中没有地址的概念及节点数不受限制等优点,已经被广泛应用于汽车、数控机床、仪器仪表、现场总线控制等领域。在CAN总线的节点设计中,目前应用较多的是通过单片机的控制来实现。有的单片机已经嵌入了CAN控制器的功能,比如Philips的P8XC592,Motorola的68HC05X4等,但这类单片机的应用并不普及,而且价格相对较高。对于目前应用最为普及、价格也很便宜的MCS-51系列单片机,本身并不嵌有CAN控制器的功能。下面就给出一种基于MCS-51单片机和SJA1000的CAN总线节点设计方法。

1 CAN总线简介

      CAN 总线是现场总线的一种,它是德国Bosch 公司在1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯总线。它与其它总线最大的区别是两个节点之间传送信息时报文中没有地址信息,而是对不同性质的数据加以标识。在通讯时,以全网广播为基础,各接收节点根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。虽然CAN总线最初是为在汽车行业应用而开发的,但由于其具有很强的纠错能力,支持差分收发,因而适合高噪声环境,而且传输距离比较远。另外,象Philips,Motorola,Intel等半导体制造商相继开发出了支持CAN协议的集成芯片,更是推动了CAN总线的应用。目前,CAN总线在数控机床、医疗设备、工业控制等领域也取得了广泛的应用。1993年,国际标准化组织正式颁布了CAN总线的国际标准ISO11898。其具体特性如下:

      (1)CAN网络上的节点信息可以分成不同的优先级,用来满足不同的实时要求。

      (2)CAN为多主工作方式,网络上任一节点均可在任意时刻主动地向网络上的其他节点发送信息,而不分主从。

      (3)当多个节点同时向总线发送信息时,CAN采用非破坏性总线仲裁技术,低优先级的节点会依此退出发送,而最高优先级的节点正常发送,不会受到任何影响,极大地节省了总线冲突仲裁时间。

      (4)发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送。

      (5)CAN的直接通讯距离最远可达到10km(速率5kbps以下),通讯速率最高可以达到1Mbps(此时通讯距离最长为40m)。

      (6)CAN的每帧信息都有CRC校验及其它检错措施,保证了出错率很低。

      (7)CAN节点在错误严重的情况下具有自动关闭,退出总线的功能,从而使总线上的其它接点不受影响。SOC开发平台360元 单片机开发系统498元 单片机学习板138 无线nRF-9E5模块100元 51单片机试验开发板238元 Genius NSP通用编程器260元 Mini ARM Debugger330元 LABTOOL-48UXP2800元 S3C2410 ARM9开发板800

2 SJA1000的介绍

      SJA1000是Philips生产的独立CAN总线控制器,它是早期的PCA82C200的替代产品。它与PCA82C200在管脚、电气特性上完全兼容,不仅有和PCA82C200一样的基本CAN(BasicCAN)工作模式,而且新增加了增强CAN(PeliCAN)工作模式,这种模式支持具有很多新特性的CAN2.0B协议。经过简单连接和正确设置的SJA1000,能自动完成CAN总线物理层和数据链路层的所有功能,对于单片机来说,只要把它看成一个基本的I/O设备即可,使用非常简单、方便。SJA1000的主要特性如下:

      (1)扩展的接受缓冲器(64字节,先进先出FIFO)。

      (2)和CAN2.0B协议兼容。

      (3)同时支持11位和29位识别码。

      (4)位速率最高可达1Mbits/s。

      (5)支持多种微处理器接口。

      (6)增强的温度适应性。

3 节点硬件电路设计说明

      目前广泛流行的CAN器件分两大类,一类是独立的CAN控制器,如PCA82C200、SJA1000等,另一类就是带有CAN功能的微控制器,如Philips的P8XC592,Motorola的68HC05X4等。考虑芯片的市场普及程度、开发工具及成本等因素,在这次设计中选用单片机AT89C51为核心,SJA1000为CAN控制器,同时还使用了PCA82C250,它是CAN控制器的接口芯片。从功能上来分,SJA1000主要完成CAN的通讯协议,实现报文的装配和拆分、接收信息的过滤和校验等。PCA82C250则是实现CAN控制器和通讯线路的物理连接,提高CAN总线的驱动能力和可靠性。具体电路如下图所示,虽然整个电路比较简单,但结合本人设计、现场调试的体会,给出下面几点说明。


图 1    CAN总线节点原理图

      (1)SJA1000并没有和单片机共用复位电路,而是通过单片机的一I/O口来控制,这样,SJA1000的复位就可以方便地由单片机通过软件来控制。

      (2)SJA1000的地址/数据端和单片机的P0口相连时,不需要再加锁存器,因为它内部已经有地址锁存功能。

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

      (4)总线上电阻R3、R4一定不能省略,它们对匹配总线阻抗起着相当重要的作用,如果去掉它们,系统通讯的可靠性和抗干扰能力就会大大降低,甚至不能正常工作。

4  软件设计

      和硬件电路相比,软件的设计相对来说要复杂的多。而且,其中还涉及到有关通讯协议的问题,对于不同的控制系统、不同的功能要求,CAN总线通讯软件的差别很大,在此不可能一一列出。但是,对于基于SJA1000的CAN总线系统,它们开始时都必须对SJA1000进行初始化,而这种初始化的流程是基本一致的。下面给出用汇编语言编制的SJA1000的初始化程序,假设SJA1000的首地址为0100H,其中设置波特率的有关参数是针对晶振为12M,波特率为500Kbit/s计算出来的。另外,在整个CAN总线系统中,所有节点设置的波特率必须一致,否则,系统就不能正常工作。

      MODE  EQU  0100H

      BTR0   EQU  MODE+6

      BTR1   EQU  MODE+7

      ACR0   EQU  MODE+16

      AMR0  EQU   MODE+20

      OCR    EQU  MODE+8

      RBSA   EQU  MODE+30

      CDR    EQU  MODE+31

MOV  A,#01H

MOV  DPTR,#MODE 

MOVX  @DPTR,A

MOV  A,#0C0H

MOV  DPTR,# CDR

MOVX  @DPTR,A         

MOV  A,#1AH

MOV  DPTR,# OCR   

MOVX  @DPTR,A

MOV  A,#85H

MOV  DPTR,# BTR0

MOVX  @DPTR,A           

MOV  A,#0B4H

MOV  DPTR,# BTR1

MOVX  @DPTR,A

MOV  A,#00H

MOV  DPTR,# RBSA  

MOVX  @DPTR,A

MOV  A,#0FFH

MOV  DPTR,# AMR0

MOV  R0,#04H

BEGIN10:MOVX  @DPTR,A         

INC  DPTR

DJNZ  R0,BEGIN10

MOV  A,#00H

MOV  DPTR,#MODE 

MOVX  @DPTR,A

5  结束语

      CAN 具有较强的纠错能力,适用于高噪声环境, 并具有较远的传输距离, 现已广泛应用于许多领域,该设计作为CAN总线节点的一个模块,能够和仪器仪表等设备相结合,使其具有网络通讯的能力,有着广阔的应用前景。

关键字:CAN总线  节点电路  局域网络 引用地址:CAN总线节点电路的设计与实现

上一篇:基于PCI Express架构的第三代局域I/O总线
下一篇:单片机外部接口分析与存储器扩展

推荐阅读最新更新时间:2024-05-02 21:52

CAN转串口/CAN总线转RS-232 CAN总线转RS-485
CAN转串口产品有两款型号:CAN-232B、CAN-485B。前者为CAN转RS232产品,后者除具有前者的所有功能外,还增加一个共享的RS485口,但RS232口与RS485口不能同时使用。 CAN-232B是智能型RS232总线CAN转换网桥,用于PC或其他带RS232端口的设备与CAN设备之间的通讯 。CAN (Controller Area Network)是一种串行总线系统,特别适合组建智能工业设备网络和楼宇自动化控制系统。CAN拥有高传输速度(高达1Mbps) 和高可靠性, 能以高性能和高品质的方式实现高度可靠的监控系统,因此,CAN系统首先被大量地应用于汽车网络中。 基于CAN网络的实时和多主机特性,它可以很容易地帮
[嵌入式]
基于汽车CAN总线的老化测试系统的设计
0 引言 汽车上用的电子设备的可靠工作与优良性能关系者驾驶者的生命安全。车用电子设备出厂前要求对设备内部电路板进行长时间老化测试,以检测电路板在高温环境和各种输入信号条件下,是否仍正常工作。只有经过老化测试的电路板才能出厂。由于需要老化测试的电路板数量巨大,要求该系统能同时老化测试许多块被检测电路板,因此设计了本老化测试系统。整个老化测试由 1个通信模块、 10个测试模块、1个温控模块及上微机软件构成。本老化检测系统的系统结构图如图 1所示。   图 1 系统结构图在本系统中,每个检测模块最多可同时检测 10块电路板,共有 10个检测模块,因此,整个系统在一次老化检测过程可以同时检测100块电路板。检测模块将检测的数据通过
[嵌入式]
基于CAN总线的多通道实时模拟器设计
CAN总线与一般的串行通信总线相比,它的数据通信具有可靠性高,实时性高,灵活性强等优点,不仅广泛应用于汽车行业,而且扩展到了机械工业、机器人、数控机床等诸多领域。尤其在大量数据通信处理中,高可靠性及实时响应的场合,单通道CAN总线不能满足实际通信的要求。为此,介绍一种基于多通道实时CAN模拟器的设计方案。 步骤/方法 1 CAN总线与一般的串行通信总线相比,它的数据通信具有可靠性高,实时性高,灵活性强等优点,不仅广泛应用于汽车行业,而且扩展到了机械工业、机器人、数控机床等诸多领域。尤其在大量数据通信处理中,高可靠性及实时响应的场合,单通道CAN总线不能满足实际通信的要求。为此,介绍一种基于多通道实时CAN模拟器的
[单片机]
基于<font color='red'>CAN总线</font>的多通道实时模拟器设计
LPC2000系列的CAN总线验收滤波器应用
CAN(Controller Area NetWork)总线,即控制器局域网总线,是由德国Bosch公司于1982年开发和推出的最早用于汽车内部测量与执行部件之间的数据通信协议。在20多年的历史中,CAN总线在许多领域得到了应用,是到目前为止唯一有国际标准的现场总线。 CAN现场总线按照国际标准化组织ISO提出的"开放系统互联(OSI)"参考模式,实现其中的物理层、数据链路层和应用层。CAN控制器用来实现CAN总线协议。CAN控制器芯片分为两类:一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。两类控制器都提供了报文标识过滤的验收滤波器。但
[单片机]
LPC2000系列的<font color='red'>CAN总线</font>验收滤波器应用
基于CAN总线的多路电源智能监控系统
  0 引言        邮电通信线路的供电电源的稳定性和可靠性对整个邮电通信起着关键作用。因此要求能对供电电源的运行状态进行实时监控,及时发现异常情况和事故隐患,在出现异常和故障时迅速进行诊断并予以修复。 1 CAN总线与485总线的比较    1)485总线的特点    相对于RS一232,RS一485半双工异步通信总线具有通信距离远、通信速率高、成本低等特点,是一种被广泛使用的数据通信总线。但485总线的波特率设置受到单片机的波特率设置的限制,在单片机使用24M晶振的情况下,也只可以设置到9600bps的波特率。485总线的容错和应用层的协议,可以自己通过软件来实现,比较灵活,但是编程的工作就变得复
[嵌入式]
CAN总线学习笔记 | STM32CubeMX配置CAN环回测试
CAN基础知识介绍文中介绍了CAN协议的基础知识,以及STM32F4芯片的CAN控制器相关知识,下面将通过实例,利用STM32CubeMX图形化配置工具,来实现CAN通讯的环回测试 一、STM32CubeMX配置 CAN是挂载在APB1总线上,设置PCLK1时钟频率到最大45MHz 激活CAN1,配置位时序参数,其他基本参数以及工作模式(此处设置为Loopback环回模式) CAN波特率的计算公式:只需要知道BS1和BS2的设置,以及APB1的时钟频率,就可以方便的计算出波特率。比如设置TS1=8、TS2=6和BRP=6,在APB1频率为45Mhz的条件下,即可得到CAN通信的波特率=45000/6/(8+6+1)=5
[单片机]
dsPIC30F6014控制DS18B20温度+CAN总线的发送程序
dsPIC30F6014控制DS18B20温度+CAN总线的发送程序 // 1。DS18B20定时采集温度 // 2。温度采集时间间隔用T1定时器控制 // 3。采集到的温度通过CAN总线送另一主机处理 #include p30f6014.h //dsPIC30F6014标准头文件 _FOSC(0x0ffe5); //4倍频晶振,Failsafe 时钟关闭 _FWDT(WDT_OFF); //关闭看门狗定时器 _FBORPOR(PBOR_OFF & MCLR_EN); //掉电复位禁止,MCLR复位使能。 _FGS(CODE_PROT_OFF);
[单片机]
模糊控制在基于CAN总线的数据采集与控制系统中的应用
    摘要: 介绍了如何的把把模糊算法与CAN部线结合起来应用于控制系统;并设计了一种智能型模糊控制算法,给出了系统的整体结构和现场模糊控制单元的硬件实现电路及其软件设计思路。系统的仿真结果表明,该系统实时性好、控制精度较高。     关键词: 模糊控制 现场总线 数据采集 控制系统 CAN总线 L.A.扎德教授于1965年创立的模糊集合理论(Fuzzy Sets)及模糊数字(Fuzzy Mathematics)为模糊逻辑控制的形成提供了理论基础。近年来,随着各企业生产规模的不断扩大,生产过程控制系统也变得越来越复杂。由于整个系统的非线性增强、时滞增大,而且不是系统中的每个环节都需要建立精确的数学
[传感技术]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved