1.1 CAN总线概述
1986年2月,Bosch公司在深度探讨现有的串行总线系统运用于轿车的可能性后提出来CAN,此时就是这个称之为“Automotive Serial Controller Area Network(汽车串行控制局域网) ”的最成功的网络协议诞生的时刻。一年后,第一片CAN控制芯片82526由Intel公司推出,它是CAN协议的第一个在硬件上的实现。随后,多家半导体公司相继推出相关的CAN控制芯片。随后,CAN总线的应用范围越来越广泛,所以Bosch CAN规范(2.0版)在20世纪90年代初被提交作为国际标准ISO 11898。其中ISO 11898-1描述了“N数据链路层”,ISO 11898-2定义了“无错误-误差CAN物理层”,ISO 11898-3规定了“错误-误差物理层”。[2]
CAN总线特点突出,优势明显,主要有以下特点:CAN总线挂接节点能力极强,最多可达110个,所有节点地位平等,其中任意一个节点均可在任意时刻主动地向网络上其它节点发送信息;CAN对数据的处理能力突出,总线上挂接的节点在报文标识符中分成不同的优先级,当多个节点遇到同时传输的情况时,优先级较低的节点会主动退出,而高优先级的节点享受优先传输数据的特权,这种仲裁方式叫做非破坏总线仲裁技术,这种仲裁方式大大地节省了总线冲突仲裁时间,有效解决了大量报文在同时传输时总线出现拥堵的状况;CAN节点报文传输简单,数据传输速度快,通信距离长,传输速率在5Kbps以下时通信距离最远可达10km; CAN的每帧信息都有循环冗余校验校验及其他检错标定用以保证通信数据的正确性 [2]。
1.2 CAN总线的实际应用
CAN现场总线打破了传统控制系统一对一的结构形式,采用把控制模块、各输入输出模块都置于现场的智能设备并作为挂接在CAN现场总线上的节点,因而各节点之间可以直接在现场完成数据通信实现节点的分散控制。CAN现场总线在工业领域中应用极其广泛,例如在王春设计的客车网络系统[3]、张传斌设计的移动机器人分布式控制系统[4]、缪庆设计的汽车车门控制系统[5]、何川设计的温室智能控制系统[6]、王忠设计的建筑智能监控系统[7]、火灾报警系统、步进电机的控制[8]等中都有应用,步进电机多应用在精准控制运动量的场合,步进电机的控制往往配合着单片机的使用,而基于CAN现场总线的步进电机控制技术已日趋成熟,其在工程中已经得到了越来越多的关注和使用。
1.3 课题的主要内容及文章章节安排
本次毕业设计课题的主要工作是设计出由单片机STC89C52控制的步进电机驱动模块,使得步进电机做到启动停止、正转反转、3种不同速度转动,此模块作为一个节点挂接在CAN现场总线上,而由单片机控制的LED显示模块作为另外一个节点,并且完成两个节点之间的数据通信,单片机控制步进电机旋转的节点发送信息,而单片机控制的LED显示模块的节点接收信息。总的来说,本论文完成了系统硬件的选取和软件的设计,其中硬件设计主要包括CAN通信模块、单片机控制模块、步进电机驱动模块、LED显示模块;而软件设计:主要包括节点1(单片机A板)的按键发送及步进电机控制程序、节点2(单片机B板)的接收显示程序。
第一章介绍课题的相关背景及意义,本课题需要达到的目标;文章第二章介绍了系统各模块硬件的设计思路及方案:包括步进电机PM42S-048-TT04的驱动模块、基于SJA1000的CAN总线通信模块、基于STC89C52的单片机控制模块、LED显示模块几个重要模块的硬件电路设计;第三章主要介绍了系统软件的设计,主要包括电机驱动程序以及CAN总线通信的程序。
2 系统硬件设计
2.1 整体介绍 基于CAN的现场总线控制系统步进电机驱动模块设计(2):http://www.751com.cn/zidonghua/lunwen_17751.html