基于AT89S52和SJA1000的CAN-232智能通信模块软硬件设计及实现

| 浏览次数:

摘 要:本文理论结合实际,依据RS232串行通信标准、CAN2.0技术规范,由浅入深的论述了基于AT89S52和SJA1000的CAN-232智能通信模块的软硬件设计及实现。给出了整体设计思路、软件流程以及软件初始化程序。并结合实际测试中出现的问题对设计中存在的优缺点以及应用前景做了介绍。

关键词:通信模块;CAN-bus;SJA1000;AT89S52

中图分类号:TP302.1 文献标识码:A

The CAN-232 Intelligent Communication Module Design and Realization of Software and Hardware Based on AT89S52 and SJA1000

WANG Guo-hua,WU Zhong-dong

(School of Electronic & Information Engineering, Lanzhou Jiaotong University, GansuLanzhou 730070)

Key words: Connection module;CAN-bus;SJA1000;AT89S52

CAN(Controller Area Network)总线又称控制器局域网,是属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络。CAN总线由于其卓越的性能广泛应用于工业现场控制、智能大厦小区安防、交通工具、医疗仪器环境监控等众多领域数据通信。CAN-232智能通信模块包括1个RS232通道、1个CAN通道,可以很方便地嵌入使用RS232C接口通信的节点中,在不需改变原有硬件结构的前提下使设备获得CAN通信接口,可以实现CAN总线数据与RS232总线数据之间互连通信。CAN-232智能通信模块提供标准的串行通信协议和CAN2.0A通信协议,包含有基本的控制命令。通信参数的设置均由简单的控制命令实现,能使用户快速进入高效率的CAN通信应用。

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.1CAN节点核心器件及其选择

目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如PCA82C200、SJA1000及Intel82526/82527等,另一类是带有在片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。本设计选取PHILIPS公司的SJA1000 CAN控制器以及PCA82C250总线收发器,主要是考虑到SJA1000支持CAN 2.0A/B规约。而PCA82C250可以支持110个CAN节点,并且国内市场上PHILIPS的产品型号比较多,购买比较方便。

2.2CAN总线接口电路

SJA1000是一种独立CAN控制器,它是PHILIPS公司的PCA82C200 CAN控制器的替代产品SJA1000具有BasicCAN和PeliCAN两种工作方式,PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议。SJA1000在软件和引脚上都是与它的前一款PCA82C200独立CAN控制器兼容的SJA1000引脚功能在此基础上增加了很多新的功能.为了实现软件兼容,SJA1000采用了两种工作方式,BasicCAN方式PCA82C200兼容方式PeliCAN方式扩展特性方式工作方式通过时钟分频寄存器中的CAN方式位来选择上电复位默认工作方式是BasicCAN。

SJA1000在电路中是一个总线接口芯片,通过它实现上位机与现场微处理器之间的数据通信。该电路的主要功能是通过CAN总线接收来自上位机的数据进行分析组态,然后下传给下位机的控制电路实现控制功能,当CAN总线接口接收到下位机的上传数据,SJA1000就产生一个中断,引发微处理器产生中断,通过中断处理程序接收每一帧信息并通过CAN总线上传给上位机进行分析。AT89S52是CAN总线接口电路的核心,其承担CAN控制器的初始化、CAN的收发控制等任务。CAN总线接口框图见图1。

在进行电路设计时应注意以下几点,否则达不到预期的效果。

(1)总线两端必须接两个终端匹配电阻RT,忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低。

(2)PCA82C250为CAN控制器和物理总线之间的接口,它可以提供向总线的差动发送能力和CAN控制器的差动接收能力,TXD和RXD引脚分别发送经过驱动后的发送和接收信号。其引脚8(RS)可以选择2种不同的工作方式:把该引脚直接与地相连,系统将处于高速工作方式,在这种方式下,为避免射频干扰,建议使用屏蔽电缆作总线;而在波特率较低,总线较短时,一般采用斜率控制方式,上升及下降的斜率取决于RS的阻值,实践表明15-200k为RS较理想的取值范围,在这种方式下,可以使用双绞线作总线(本系统采用该工作方式)。

(3)SJA1000的TX1脚悬空,RX1引脚的电位必须维持在约0.5VCC上,否则,将不能形成CAN协议要求的电平逻辑。因本系统传输距离近,环境干扰小,可以不用电流隔离,这样可以直接把PCA82C250的VREF端(约为0.5VCC)与SJA1000的RX1相连,从而简化了电路。

(4)设计时将SJA1000的CLOCKOUT的时钟信号接至AT89S52的时钟电路输入端,作为AT89S52的外部时钟输入,解决了时钟同步问题;SJA1000中断输出信号/INT接至AT89S52的/INT0端,通过中断方式与AT89S52通信。

(5)本系统采用Atmel公司新一代AT89S52单片机,该MCU具有ISP接口,使用特别方便。

3 CAN总线接口软件设计(基于BasicCAN_V1.0模式)

CAN接口通信软件分为4部分(如图2所示):CAN初始化、数据发送、数据接收和RS232数据收发。CAN初始化主要是设置CAN的通信参数,需要初始化的CAN控制寄存器有:模式寄存器、时分寄存器、接收代码寄存器、屏蔽寄存器、总线定时寄存器、输出控制寄存器等。值得注意的是,这些寄存器只能在CAN控制器处于复位状态下才可写访问。发送数据程序把数据存储区中待发送的数据取出,组成信息帧,并将主机的ID地址,填入帧头,然后将信息帧发送到CAN控制器的发送缓冲区。在接收到主机的发送请求后,发送程序启动发送命令。信息从CAN控制器发送到总线是由CAN控制器自动完成的。信息从CAN总线到CAN控制器的接收缓冲区也是由CAN控制器自动完成的。接收程序只需从接收缓冲区读取信息,并将其存储在数据存储区。

4 结束语

本文在硬件电路设计中重点阐述了CAN独立控制器SJA1000 及其外围电路的设计。软件设计给出了总体设计流程图,详细给出了SJA1000的初始化程序。同时在实际的软硬件测试和应用中,总结了很多宝贵的实践经验,现将其列出供大家在CAN的实际开发或应用中参考:

(1)该接口电路在51仿真环境下调试通过,在实际工程应用中SJA1000晶体频率12MHZ,AT89S52晶体频率11.0592MHZ,在CAN总线电缆小于10米的环境下测试,证实可达到1MBPS传输速率。在此基础上构建CAN总线控制系统具有实际意义,但针对不同的控制系统,在硬件和软件上需作相应的改动。

(2)在调试的时候至少需要两块电路板进行点对点的通信,特别注意在始端和末端的H与L之间并接120欧姆的电阻。

(3)各节点的速率设置必须一致,应根据传输距离的远近设置合适的速率。

智能CAN-232通信模块有较好的市场应用前景,在不需改变原有硬件结构的前提下使设备获得CAN通信接口,可以实现CAN总线数据与RS232总线数据之间互连通信,同时CAN-232智能通信模块可作为开发模块直接嵌入到用户产品中。

参考文献:

[1]饶运涛,邹继军,郑勇芸编著.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2003.

[2]严天峰.单片机应用系统设计与仿真调试[M].北京:北京航空航天大学出版社,2005.

[3]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,2003.

推荐访问: 软硬件 模块 通信 智能 设计

【基于AT89S52和SJA1000的CAN-232智能通信模块软硬件设计及实现】相关推荐

工作总结最新推荐

NEW
  • XX委高度重视党校的建设和发展,出台《创建全省一流州市党校(行政学院)实施方案》及系列人才培养政策,为党校人才队伍建设提供了有力的政策支撑。州委党校在省委党校的悉心指导下、州委的正确领导下,深入贯彻落

  • 为推动“不忘初心、牢记使命”主题教育常态化,树牢“清新简约、务本责实、实干兴洛”作风导向,打造忠诚干净担当、敢于善于斗争的执纪执法铁军,经县纪委常委会会议研究,决定在全县纪检监察系统开展“转变作风工作

  • 为进一步发展壮大农村集体经济,增强村级发展活力,按照中共XXX市委抓党建促乡村振兴工作领导小组《关于印发全面抓党建促乡村振兴四个工作计划的通知》要求,工作队与村“两委”结合本村实际,共同研究谋划xx村

  • 今年来,我区围绕“产城融合美丽XX”总体目标,按照“城在林中,水在城中,山水相连,林水相依”以及“城乡一体、景城一体、园城一体”的建设思路,强力推进城市基础设施建设、棚户区改造、房地产开发和城市风貌塑

  • 同志们:新冠疫情发生至今已有近三年时间。三年来,在广大干群的共同努力下,我们坚决打好疫情防控阻击战,集团公司范围内未发生一起确诊病例,疫情防控工作取得了阶段性胜利。当前国际疫情仍在扩散蔓延,国内疫情多

  • 我是毕业于XX大学的定向选调生,当初怀着奉献家乡、服务人民的初心回到XX,在市委的关心关爱下,获得了这个与青年为友的宝贵历练机会。一年感悟如下。一要对党忠诚,做政治坚定的擎旗手。习近平总书记指出,优秀

  • 同志们:今天召开这个会议,主要任务是深入学习贯彻习近平总书记重要指示批示精神,以及李克强总理批示要求,认真落实全国安全生产电视电话会议和全省、全市安全生产电视电话会议精神,研究我县安全生产和安全隐患大

  • 2022年市委政研室机关党的建设工作的总体要求是:坚持以XXX新时代中国特色社会主义思想为指导,全面贯彻党的XX届X中X会和省、市第十二次党代会精神,自觉运用党的百年奋斗历史经验,弘扬伟大建党精神,深

  • 同志们:今天,我们在这里召开市直机关基层党建示范点工作会议,一方面是对各示范点单位进行表彰授牌,另一方面是想通过这种会议交流的方式,给大家提供一个相互学习、取长补短的平台和机会。市直工委历来把创建基层

  • 新冠疫情暴发以来,学校党委坚决贯彻习近平总书记关于疫情防控工作的指示要求和党中央的决策部署,严格执行×××部、×××厅关于疫情防控的系列要求,认真落实驻地防疫部门的工作举措,继承发扬优良传统,以最高标