基于CAN总线的智能节点设计

来源 :数位时尚 | 被引量 : 0次 | 上传用户:dcf0124
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】根据CAN总线技术特点,以ATmega16单片机为核心,通过控制CAN 控制器SJA1000工作,实现CAN总线通信。给出了基于CAN总线智能节点的硬件和软件设计方法,并实现了智能节点之间的通信。实际应用表明,该智能节点工作稳定可靠,具有较强的抗干扰能力。
  【关键词】CAN总线;AVR单片机;SJA1000;智能节点;CAN收发器
  CAN(Controller Area Network局域控制网)总线由Bosch、Benz研究试验,于1986年2月正式提出,至1993年11月Bosch CAN2.0成为国际标准(ISO11898)。2000年CAN总线芯片年度销售超过1亿片,欧产轿车都至少装配一条CAN总线网络。CAN的许多特点使其成为诸多工业测控领域中优先选择的现场总线之一。在广泛的工业领域,CAN总线可作为现场设备级的通信总线,并且与其他的总线相比,具有很高的可靠性和性价比。本文介绍了一种基于AVR单片机 ATmega16的CAN智能节点设计方案,软硬件均已通过测试。
  一、节点硬件电路设计
  CAN智能节点硬件电路如图1所示。电路主要由五部分组成:微控制器 ATmega16、独立CAN控制器SJA1000、CAN总线收发器82C250、高速光电耦合器6N137、看门狗复位电路。微控制器采用ATMEL公司生产的AVR单片机ATmega16,该单片机采用一级流水线技术,在当前指令执行时,就取出下一条要执行的指令,实现了一个时钟周期执行一条指令,大大提高了CPU的运行速度,同时也提高了系统的可靠性。ATmega16负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。SJA1000 负责完成CAN总线通信协议的物理层和数据链路层的功能。
  图1 CAN总线智能节点硬件电路
  为了增强CAN总线节点的抗干扰能力,在CAN控制器SJA1000和CAN总线收发器82C250之间加接高速光电耦合器6N137,这样就很好的实现了总线上各个CAN节点之间的电气隔离。光电耦合电路所采用的两个电源VCC和VDD必须完全隔离,虽然增加了节点的复杂性,但是却提高节点的稳定性和安全性。82C250与CAN总线接口部分也采取了一定的安全和抗干扰措施。82C250的CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,电阻可以起到一定的限流作用,保护82C250免受过流的冲击。CANH和CANL与地之间并联了两个30pf的小电容,可以起到消除总线上的高频干扰和一定的防电磁辐射能力。另外,在两根CAN总线接入端与地之间分别反接了一个保护二极管,当CAN总线有较高的负压时,通过二极管可以起到一定的过压保护作用。在程序运行过程中,微控制器有可能因为受到外界干扰而不能正确执行指令,甚至陷入死循环。为了防止由此导致的系统瘫痪,在电路中加入了看门狗复位芯片MAX813L。该芯片具有独立的看门狗计时器,当系统发生故障时间达到看门狗的计时值时,MAX813L自动产生复位信号给ATmega16和SJA1000复位。
  二、软件设计
  CAN总线通信程序是指在单片机控制下,模块将采集到的数据发送到总线上供上位机或其他模块使用,以及接收总线上发送给本模块的数据帧并将其存入缓冲区中的程序。如图2所示,在通电或复位后,主控制器通过运行它自身的复位例行程序来对SJAl000控制器进行初始化,以建立CAN总线通信。CAN总线通信程序由三大部分组成:SJAl000初始化、接收和发送。
  1.SJA1000初始化。初始化是在程序运行前对SJA1000的工作方式进行设定,使其能够按照用户需要的方式进行CAN总线通信工作。SJA1000控制器在通电后或硬件复位后,必须通过初始化设置以建立CAN通信。而且SJA1000可以在主控制器工作期间被再次初始化,这可以通过发送软件复位请求来实现。SJA1000的初始化流程如图3所示。在通电后,CAN控制器在引脚17上获得一个低电平复位脉冲,使之进入复位模式。在开始对SJA1000的各个配置寄存器设定之前,主控制器通过读复位模式/请求标识来检测SJA1000是否进入复位模式。单片机要等待SJA1000完成上电复位后才能对SJA1000的配置寄存器进行配置,存储配置信息的寄存器只能在复位模式下才能写入。
  2.CAN总线发送程序。对SJA1000进行初始化建立CAN总线通信后,模块就可以通过CAN总线发送和接收CAN数据包。消息的发送由CAN控制器SJA1000根据CAN的规则自动完成,主控制器必须把要发送的信息发送到SJA1000的发送缓冲器中,并设置“发送请求标识位”于命令寄存器中。发送过程既可由SJA1000产生的中断请求来控制,也可通过检测SJA1000控制部分的状态标识符来控制。本文使用的是中断方式, 在发送前和发送后需要进行一些判断,避免不必要错误。在发送前需要确保SJA1000没有正在接收报文,发送缓冲区没有处于锁定状态,在发送后需要判断发送是否完成才能中断返回。发送子程序流程如图4所示。
  3.CAN总线接收程序。CAN控制器SJA1000根据规则自动接收消息,接收到的消息放入接收缓冲器,此时接收缓冲器状态标识RBS置为“1”(表示接收缓冲器中有接收到的消息)。主控制器将消息保存到程序设置的消息缓冲器中,同时释放接收缓冲器并对消息内容做出反应。接收过程可以通过SJA1000的中断请求或查询SJA1000的标识控制部分来进行。在系统应用中,模块从总线上获取上位机或者其他模块的信息,接收消息是被动的。如果采用查询法,将耗费大量的时间来查询SJA1000接收状态,且实时性不好。因而在接收程序设计中,采用中断法进行控制。如果SJA1000接收到消息,消息已通过接收过滤并存放于接收队列中,则产生一个接收中断,于是主控制器立即做出反应,把收到的消息送到消息存储器,并且在设置了相应命令寄存器中的标识符“RRB”后,发送释放接收缓存命令。接收队列中的下一个消息将会产生新的接收中断,因此在一个中断期间不必读出接收队列中所有可获得的消息。和这种情况相对的是立即读出队列中所有消息的程序,这样可以避免不断进入中断,流程图见图5。在释放了接收缓冲器后,消息检查状态寄存器中的接收缓冲器状态标识(RBS)清“0”,以标志接收缓冲器已被释放。整个接收过程在中断程序中实现,而不需要与主程序发生关联,甚至对消息的反应也可中断中进行。
  三、结语
  CAN总线具有较强的纠错能力,适用于高噪声环境,具有较远的传输距离,广泛应用于计算机测控领域,该设计作为CAN总线节点的一个模块,介绍了一种基于AVR单片机ATmega16的CAN智能节点设计方案,描述了主要设计思路,给出了设计流程图,通过串口调试软件实现了两个智能节点的通信测试。通过测试表明该智能节点具有结构简单、易于扩展、系统运行稳定、实时性好、抗干扰能力强等优点,具有良好的应用前景。
  参 考 文 献
  [1]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社,2007
  [2]刘建昌,周玮,王明顺.计算机控制网络[M].北京:清华大学出版社,2006
  [3]史久根,张培仁,陈真勇.CAN现场总线系统设计技术[M].北京:国防工业出版社,2004
  [4]朱悦涵,林立,邵明.基于CAN总线的智能节点设计[J].电子工程设计.2012(12):90~92
其他文献
【摘 要】目前高职高专体育教学观还停留在传统的体育教育观上,单纯以学生跑、跳为基本教学手段,忽视了高职高专体育教育应以加强学生身体健康和提高学生职业能力为共同教育目的。高职高专学生以就业为主,体育课也应该做必要调整,为有利于学生就业所需要的职业素质开设更加有针对性的体育课程。  【关键词】高职学生;体育教育;深度改革  “每天锻炼一小时,健康工作五十年,幸福生活一辈子。”这是在2009年“全国高校
该文给出一个基于神经网络的多媒体智能计算机辅助教学和考试一体化系统中决策子系统的设计思想,功能及其结构。说明了在该系统中较好地应用、解决了人工智能有关知识表示、问
【摘 要】本文运用文献资料法,对我国中学生足球运动员身体训练进行了分析与讨论。旨在为各层次教练员在足球身体训练的实践中提供参考。  【关键词】中学生;足球运动员;身体训练  身体素质是技能的基础,技能是身体素质的表达。一名优秀足球运动员,必须具备多种条件,其中良好的身体素质是最基本的前提条件之一。国内外各类不同级别的足球队在训练中,都把身体训练放在了一个重要的位置。我国足球运动水平不能迅速提高,与
马铃薯新品种──宁薯4号西吉县良种所(756200)官学尧,宋杰宁薯4号是西吉县良种示范繁殖场,1978年用蓝洋芋和阿普它进行杂交选育而成的。1988年12月23日经宁夏回族自治区农作物品种审定委员会审定通过
【摘 要】在网络维护工作中,在处理网络故障时,首先要判断网络连接的状态。当手头缺乏实现这个功能的工具软件时,可以通过windows系统自带的小程序来进行相应的诊断工作,以达到快速侦测并解决网络故障的目的。  【关键词】Tracert;快速侦测;网络故障;Ping;windows;TCP/IP  在工作中,我们常常需要诊断网络工作的状态,虽然有许多工具软件可以做到这一点,但在实际工作中,通过Wind
【摘 要】设计及实现了基于远程网络的一种电路实验仪器。提出用低成本单片机来控制并运行电路实验,运用网络微控制器及融合开源嵌入式TCP/IP协议栈uIP实现网络通信功能,同时与远程LabVIEW 程序交互,以在线控制试验仪和获取真实实验结果数据,搭建了一种低成本网络虚拟电路实验仪器。  【关键词】虚拟电路实验;嵌入式;网络控制器;uIP协议栈  当前在远程实验室的构建中最常使用的方式是采用虚拟仪器技
语法填空是2014年全国卷II英语科推出的一种新题型,这种题型全面考查学生词汇、语法、句法以及语篇分析等能力,可是许多学生对这一新题型却无从下手。对此根据英语语法填空题
【摘 要】目前,高职院校在硬件建设上的投入是有史以来规模最大的教育投资项目。大多数高职院校都已建成了自己的网络环境,但接下来如何去管理校园网成了多数学校的头痛问题,高职院校有自己的特色,与普通本科院校有着不同之处,因此校园网内的用户群也不相同,用户群的不同就决定着对网络资源的访问不同,如果不管理好校园网内的不同用户群,那么花费巨资建成的网络就失去了它本应发挥的用途,同时数字化校园也成了空谈。为解决