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

来源 :光盘技术 | 被引量 : 0次 | 上传用户:wlm7411814
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文理论结合实际,依据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.
其他文献
领导混合领导风格企业持续卓越    以往人们总是期待领导者如神鬼战士一般十项全能,能扭转企业陨落的命运。但是,竞争加剧,神鬼战士退位,取而代之的能配合特定的形势需求,调整本身领导特质的新时代领导人。他们适时适地通过领导技巧及积极作为,让领导能力更上一层楼,让企业持续卓越。  既往人们总将“领导能力”视为与生俱来的天分,仿佛独行侠(Lone Ranger)的英雄人物一般,融合了勇气、魅力,甚至还带点
期刊
摘 要:SSL服务是目前互联网上常用的安全信息传输服务,尤其在电子商务、电子银行中更是普遍采用,本文介绍了在Windows环境下配置SSL服务的步骤。  关键词:SSL;服务器;数字证书  中图分类号:TP368.5文献标识码:A    How to Configure SSL Servers  CHEN Gang  (Huaiyin engineering,Jiangsu Huaian 2230
期刊
摘 要:伴随着电脑软硬件技术及网络技术的发展,计算机病毒技术、黑客技术及木马技术也取得了很大的发展,这就使得电脑系统随时都有可能出现故障,甚至于瘫痪,这将极大地影响到我们学习、生活、娱乐、办公的效率及质量!WinPE电脑系统维护基本上都是在图形化的窗口下进行,通过"傻瓜式"的点击几下鼠标就可以进行电脑系统的维护操作。  关键词:WinPE;系统;维护  中图分类号:TP393.08    WinP
期刊
在上一期《校园招聘:一场企业与人才的营销战》的专题中,我们给企业提供了如何进行成功校园招聘的理念与实务,让企业有了一个好的开始,可是在人才流动越来越频繁的今天,也许如何留住企业辛辛苦苦招来的人才更重要。  社会新鲜人是企业的新鲜血液,是保持企业活力的源泉,不仅可以解决企业人才缺乏的问题,还能保证企业的长久发展。据统计,全球500强每年都要吸纳几千名社会新鲜人进入企业,有时甚至不惜以高薪提前从名校挖
期刊
语境做好时间管理,不如改正工作习惯    要做好时间管理,与其花时间烦恼如何拟定规划,把最多的工作塞进有限的时间表里,还不如彻底检讨、修正你的工作习惯或方式,减少时间的浪费。  时间管理的第一守则,就是“Do the right thing right.”(用对的方法做对的事情)。  但是多数人只做到前半段,却忘了后半段。翻开许多谈论时间管理的书籍或文章,内容一定是告诉你,如何依据事情的轻重缓急,
期刊
摘 要:介绍基于CAN总线的船舶监控系统的基本结构。重点论述智能测控单元CAN通讯接口设计、CAN控制器外围硬件电路和CAN通信软件的实现。  关键词:现场总线;控制局域网;船舶监控系统;应用  中图分类号:TP273文献标识码:A    The CAN Fieldbus Technology Application in Ship Monitoring System  MA Li,XU Shan
期刊
摘 要:在系统上有许多类型的侵袭,我们一般把侵袭分为三种基本类型:入侵、拒绝服务(DOS)和盗窃信息。网络诞生以来遭受攻击事件不断发生,全球许多著名网站都遭到不名身份的黑客攻击,本文针对几种常见的DOS攻击提出在LINUX环境下的一些防御看法。  关键词:拒绝服务;攻击原理;Linux环境;防御  中图分类号:TP393.08 文献标识码:A    DOS attack principle and
期刊
摘 要:随着Red Hat Linux的迅速发展,Linux系统安全中的可信计算问题显得日益重要,虽然Linux kernel从版本2.6.13开始已经包含了对可信计算的支持,并已有许多Linux项目开始支持可信计算。但可信计算包括的:认证密钥、安全输入输出、内存屏蔽/受保护执行、封装存储、远程证明概念这5个核心技术在一个完全可信的系统中仍是必须的。研究和应用可信计算技术在系统安全方面具有重要意义
期刊
摘 要:针对数量庞大的教育网FTP资源检索困难的问题,提出一种基于开源软件NCFTP和Lucene实现对教育网FTP服务器进行索引并提供检索服务的FTP搜索引擎的设计及实现的方法。用开源软件NCFTP从FTP服务器上抓取FTP站点信息,并把抓取的信息转化为Lucene数据接口规定的文档(Document)类型,作为Lucene的数据源,并且采用基于字典的正向最大匹配中文分词法进行索引的建立及信息的
期刊
摘 要:MPICH是国内常用的集群计算消息传递系统。本文描述了MPI的基本概念及实现软件MPICH2,介绍了在Linux环境下如何构架基于MPICH的高性能计算集群系统的方法,给出了具体的步骤和基本配置过程。实验结果表明:在现有并行集群系统下能有效地利用现有计算机资源,大幅度提高计算效率,为一些复杂问题的求解提供可行方案。  关键词:并行计算;MPI;MPICH;集群  中图分类号:TP393.0
期刊