基于SJA1000的CAN总线接口电路的设计与实现

发布者:bin0990最新更新时间:2015-08-21 来源: eefocus关键字:SJA1000  CAN总线  接口电路 手机看文章 扫描二维码
随时随地手机看文章
0 引 言
控制器局部网( CAN——Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,其总线规范已被ISO国际标准化组织制定为国际标准,并被公认为是最有前途的现场总线之一。CAN总线的应用范围遍及从高速网络到低成本的多线路网络,广泛应用于控制系统中的各检测和执行机构之间的数据通信。
现场总线领域中, CAN总线得到了计算机芯片商的广泛支持,他们纷纷推出直接带有CAN接口的微处理器(MCU)芯片。带有CAN的MCU芯片总量已经达到1亿3千万片(不一定全部用于CAN总线);因此在接口芯片技术方面,CAN已经遥遥领先于FF、PROFIBUS、LONWORKS等其它所有现场总线。
现场总线标准及其技术日益成为国际自动控制领域关注的一大焦点,其原因是它改变了传统控制系统的结构,形成了全新的网络集成分布式控制系统。在我国,现场总线已经发展到推广应用阶段,中国已经成为各种现场总线激烈争夺的重要战场。因此研究现场总线技术及其产品就显得尤为重要。
1 CAN总线技术的特点
CAN总线与其它通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。CAN具有以下主要技术特性:
( 1)CAN遵从ISO/OSI模型,采用了其中的物理层、数据链路层与应用层。采用双绞线,通信速率最高可达到1Mbps/40m,直接传输距离最远可达10km/5kbps.同一段总线内最多可挂接110个设备。
( 2)CAN的信号传输采用短帧结构,每一帧有效字节数为8个。因而传输时间短,受干扰的概率低。当节点发生严重错误时,具有自动关闭的功能,切断该节点与总线的联系,使总线上其它节点不受影响,具有很强的抗干扰能力。
( 3)CAN支持多主工作方式,网络上任一节点均可在任何时候主动向其它节点发送信息,支持点对点、一点对多点和全局广播方式接收/发送数据,而优先级低的节点则主动停止发送,从而避免了总线冲突。
2 CAN总线接口硬件电路的设计
硬件电路的设计主要是 CAN通信控制器与微处理器之间和CAN总线收发器与物理总线之间的接口电路的设计。CAN通信控制器是CAN总线接口电路的核心,主要完成CAN的通信协议,而CAN总线收发器的主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现热防护等。
2.1 CAN节点核心器件及其选择
目前广泛流行的 CAN总线器件有两大类:一类是独立的CAN控制器,如82C200、SJA1000及Intel82526/82527等,另一类是带有在片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。本课题选取PHILIPS公司的SJA1000 CAN控制器以及82C250总线收发器,主要是考虑到SJA1000支持CAN 2.0A/B规约。而82C250可以支持110个CAN节点,并且国内市场上PHILIPS的产品型号比较多,购买比较方便。
2.2 CAN总线接口电路
SJA1000在电路中是一个总线接口芯片,通过它实现上位机与现场微处理器之间的数据通信。该电路的主要功能是通过CAN总线接收来自上位机的数据进行分析组态然后下传给下位机的控制电路实现控制功能,当CAN总线接口接收到下位机的上传数据,SJA1000就产生一个中断,引发微处理器产生中断,通过中断处理程序接收每一帧信息并通过CAN总线上传给上位机进行分析。AT89C51是CAN总线接口电路的核心,其承担CAN控制器的初始化、CAN的收发控制等任务。CAN总线接口框图见图1.
基于 <wbr>SJA1000的CAN总线接口电路的设计与实现
2.3 节点主要元件电路原理
接口主要元件电路原理图见图 2,在进行电路设计时应注意以下几点,否则达不到预期的效果。
( 1)总线两端必须接两个终端匹配电阻R T ,忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低。
( 2)PCA82C250为CAN控制器和物理总线之间的接口,它可以提供向总线的差动发送能力和CAN控制器的差动接收能力,TXD和RXD引脚分别发送经过驱动后的发送和接收信号。其引脚8(R S )可以选择2种不同的工作方式:把该引脚直接与地相连,系统将处于高速工作方式,在这种方式下,为避免射频干扰,建议使用屏蔽电缆作总线;而在波特率较低,总线较短时,一般采用斜率控制方式,上升及下降的斜率取决于R S 的阻值,实践表明15-200k为R S 较理想的取值范围,在这种方式下,可以使用双绞线作总线(本系统采用该工作方式)。
基于 <wbr>SJA1000的CAN总线接口电路的设计与实现
图 2 接口主要元件电路原理图
( 3)SJA1000的TX1脚悬空,RX1引脚的电位必须维持在约0.5V CC 上,否则,将不能形成CAN协议要求的电平逻辑。因本系统传输距离近,环境干扰小,可以不用电流隔离,这样可以直接把82C250的V REF 端(约为0.5V CC )与SJA1000的RX1相连,从而简化了电路。
( 4)设计时将SJA1000的CLOCKOUT的时钟信号接至AT89C51的时钟电路输入端,作为AT89C51的外部时钟输入,解决了时钟同步问题;SJA1000中断输出信号/INT接至AT89C51的/INT0端,通过中断方式与AT89C51通信。[page]
3 CAN总线接口软件设计
CAN接口通信软件分为3部分:CAN初始化、数据发送、数据接收。CAN初始化主要是设置CAN 的通信参数。需要初始化的CAN控制寄存器有:模式寄存器、时分寄存器、接收代码寄存器、屏蔽寄存器、总线定时寄存器、输出控制寄存器等。值得注意的是:这些寄存器只能在CAN控制器处于复位状态下才可写访问。发送数据程序把数据存储区中待发送的数据取出,组成信息帧,并将主机的ID地址,填入帧头,然后将信息帧发送到CAN控制器的发送缓冲区。在接收到主机的发送请求后,发送程序启动发送命令。信息从CAN控制器发送到总线是由CAN控制器自动完成的。信息从CAN总线到CAN控制器的接收缓冲区也是由CAN控制器自动完成的。接收程序只需从接收缓冲区读取信息,并将其存储在数据存储区。
#p##e#
3.1 CAN控制器SJA1000的初始化程序
设 SJA1000的首地址是8000H;
CR EQU 8000H;控制寄存器
CMR EQU 8001H;命令寄存器
SR EQU 8002H;状态寄存器
IR EQU 8003H; 中断寄存器
ACR EQU 8004H;验收码寄存器
AMR EQU 8005H;验收屏蔽寄存器
BTR0 EQU 8006H;总线定时寄存器0
BTR1 EQU 8007H;总线定时寄存器1
OCR EQU 8008H;输出控制寄存器
DI
LDB CL, #03H
STB CL, CR;开放接收中断,复位请求位置1,开始初始化
LDB CL, #01H
STB CL, ACR;将节点1标识符送给ACR
LDB CL, #0FFH
STB CL, AMR;验收滤波
LDB CL, #00H
STB CL, BTR0;波特率为250kbps
LDB CL, #14H
STB CL, BTR1;定义位周期宽度,采样点位置及采样次数
LDB CL, #0AAH
STB CL, 0CH
LDB CL, #1AH
STB CL, CR;复位请求位置0,初始化结束
EI
3.2 SJA1000接收与发送数据程序流程
程序流程见图 3、图4.
基于 <wbr>SJA1000的CAN总线接口电路的设计与实现
图 3 接收数据的中断服务程序流程图
基于 <wbr>SJA1000的CAN总线接口电路的设计与实现
图 4 发送数据中断服务程序流程图 
4 结 语
该接口电路利用 Xeltek公司的TOPICE-52仿真器进行调试,能模拟实现通信功能。在此基础上构建CAN总线控制系统具有实际意义,但针对不同的控制系统,在硬件和软件上需作相应的改动。
参考文献 :
〔 1〕 邬宽明.CAN总线原理和应用系统设计〔M〕.北京:北京航空航天大学出版社,1996.
〔 2〕 周凤余,鲁守银,李贻斌,等.CAN总线系统智能节点设计与实现〔J〕.微计算机信息,1999,(6):25-27.
〔 3〕 高强,董力川,朱宁.嵌入式CAN总线控制系统设计〔J〕.自动化技术与应用,2002,(2):33-34.
〔 4〕 陆前锋.基于SJA1000的CAN总线智能控制系统设计〔J〕.自动化技术与应用,2003,(1):61-64.
关键字:SJA1000  CAN总线  接口电路 引用地址:基于SJA1000的CAN总线接口电路的设计与实现

上一篇:基于CAN总线的分布式显示控制系统
下一篇:单片机超声波测距仪

推荐阅读最新更新时间:2024-03-16 14:29

CAN总线引领汽车电子掀起“绿色”热潮
一边是两个月前原油价格一天一个新高的一路狂飙,让我们现在还心有余悸。一边是各国政府对汽车尾气排放的规范一个比一个严格。节能和环保的解决方案已经摆在整车厂商和系统开发商研发和生产日程的头条位置,无论是新的动力传动系统,例如混合动力、直喷式汽油机和电池驱动,还是能随时监测油耗的智能导航系统,只要是和“绿色节能”沾边的技术都在成为汽车电子开发新的热点。 奥运会上的电动环保车   在今年的北京奥运期间,50辆环保电动汽车穿梭在奥运场馆和奥运村之间。电动汽车在倡导“绿色奥运”的北京奥运会上成功使用展示了电动汽车的发展巨大潜力。为这些环保电动客车提供CAN通信网络主控系统的是北京理工大学电动车辆工程技术中心。   CAN主控系
[汽车电子]
为什么车载空调压缩机CAN总线通讯需要采用隔离方案?
摘要:炎炎夏日,车内空调系统的稳定可靠运行显得尤为重要。本文将为您介绍如何通过总线隔离避免因通信不畅引起的车载空调故障。 一、为什么要用隔离 从能源种类来看,目前公路上的车型主要可以分为两类,一类是使用传统汽油、柴油作为燃料的车辆,另一类是使用电池的新能源车。这两类车型的车载空调系统有什么区别呢?传统的燃油车辆,空调压缩机是由发动机直接将动能传递给空调压缩机,而新能源车的空调压缩机则是由车内的电池驱动的。 图1 动力电池 将新能源汽车的动力电池驱动压缩机需要几个步骤,首先要将直流电转化为交流电(逆变),然后调整交流电频率使其能稳定驱动压缩机中的电机,该部分的功能部件在车辆中以空调驱动单元存在。说到高压、逆变、变频
[汽车电子]
为什么车载空调压缩机<font color='red'>CAN总线</font>通讯需要采用隔离方案?
采用NuMicro M05132读写接触式IC卡接口电路
   电路原理: 本系统采用NuMicro M05132位微控制器实现与IC卡的接口,负责卡时钟和数据的存储与读取,预留了其他种类IC卡所需要的RST、FUS、PGM等信号,IC卡的插入与拨出是通过IC卡适配插座上的开关来识别,其硬件接口电路图如图所示。N u M i c r o M051系列为ARM C o r t e x - M 0 内核的32位微控制器。Cortex-M0是ARM最新的32位嵌入式处理器,拥有可与传统8位单片机匹敌的价格优势。NuMicro M051系列包括M052、M054、M058和M0516。NuMicro M051内核系列最高可运行至50MHz,特别适用于需要高速控制的工业领域,NuMicro M05
[单片机]
采用NuMicro M05132读写接触式IC卡<font color='red'>接口电路</font>
基于VME总线的RDC接口电路设计
     引 言 随着现代雷达技术的不断发展,基于VME(Ver-saModule Eurocard)总线的数据处理单元得到越来越多的应用。而雷达伺服系统计算机控制部分常寄存在数据处理分机内,所以研制基于VME总线的伺服用电路板成为必然。RDC(旋转变压器/数字转换器)电路是数据I/O(输入、输出)电路中的一种,它的作用是把采集到的雷达天线的方位角、俯仰角转变成数字量送给CPU,是雷达伺服系统的基础电路之一。 本文介绍了使用美国Cypress公司生产的CY7C960和 CY7C964 芯片作为VME总线的接口电路,美国AD公司生产的 AD2S80A 芯片作为RDC电路,实现VME总线下的数据采集。
[嵌入式]
【stm32f407】CAN总线
一.CAN简介 CAN是ControllerArea Network的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的CAN通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在,CAN的高性能和可靠性已被认同,并被广泛地应用于工业
[单片机]
【stm32f407】<font color='red'>CAN总线</font>
基于CAN总线的机场目视着陆灯光引导设备
   引言    机场目视着陆灯光引导设备是用于进近灯光系统的闪光设备。通过控制闪光灯闪光,作为目视设施,显示机场跑道中心延长线。高亮度灯光作有规律的闪光,从跑道未端远处的进近航道上迅速移向跑道端口,能在较差能见度条件下和跑道进近地区中有较多杂乱灯光干扰时,给飞行员一个非常显著的动态提示,从而引导飞机找到机场中线,顺利进场着陆。    机场目视着陆灯光引导设备除了对可靠性和稳定性要求相当严格外,还要求设备能够对异常情况和故障进行迅速查找、排除,并能在闪光灯主控制室实时反映每一个闪光灯的状态。   设备组成    机场目视着陆灯光引导设备由主机控制器、分灯箱控制器、灯具、电源线、信号线等组成。    主机控制器接受操作人员发出
[嵌入式]
CAN总线K75系列产品在车库控制管理中的应用
机动车车库管理控制系统   一. 使用需求   1.车库内共有70个车位,每个车位入口设门, 应有控制开门,关门的控制信号。同时,还应检测每个车位是否有车,车位门状态是打开还是关闭。   2.设置一个集中管理站,由车库管理员统一管理整个车库的车辆入出状况,各车位空闲情况,远程管理各车位门的开闭。   3.对全车库车位的使用情况实时统计,记录各车位的车辆进入离开时间,并保留记录一定时间,以便于管理。应有车辆收费管理功能。   二. 方案   根据上述需求,考虑如下方案   1.在每个车位空间内安装一个红外反射式光电检测器来检测是否有车辆停入,检测器依此发出有,无的开关量信号。在车位门的适当位置安装红外检测开关来检测车位门的开关位置并发
[嵌入式]
基于CAN总线的智能照明控制系统
随着经济建设的日益发展和社会物质文化水平的不断提高,人们开始追求灯光艺术带来的美的享受,注重照明和其他相关设备、系统的整体控制效果。照明控制系统的安装便捷性、可靠性和经济性已经成为关注的热点。智能大厦内需大量的灯光照明设备,传统的控制方法是将被控制的设备用连线引入控制室,这样不仅造成电力电缆铺设过多,增加了投资成本,而且还大大增加了灯回路的辐射干扰,对空间电磁环境造成了污染。智能照明控制系统为智能办公大厦的照明提供了新途径。   随着微机控制技术的发展,出现了微机型灯光控制系统。它采用网络控制技术,使得照明灯的电力线路可以不再经过控制室,而直接引入顶棚或马道。这种控制方法不仅可以方便地控制灯光的亮度,还减少了电力线路及相应设施投资,
[工业控制]
基于<font color='red'>CAN总线</font>的智能照明控制系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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