您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于ARM7嵌入式系统的电梯群控系统的设计.
基于ARM7嵌入式系统的电梯群控系统的设计目前,大多数电梯公司的群控系统都是采用RS485总线进行通信,但RS485采用主从式的通信方式,由主机发起呼叫,对应的终端应答,因此只能采取轮询的通信方式,实时性差,一旦主机出现故障,整个系统将瘫痪;而CAN总线在电梯群控系统中却体现出更多的优势:CAN总线通信与RS485通信相比抗干扰能力更好;可连接较多的通信节点;通信速率更高;实时性与稳定性高。本文采用CAN总线来实现群控主机和各电梯之间的通信[2]。1系统总体结构本系统以ARM7为内核,主频达72MHz的32bit微处理器LPC2368作为群控主控制器,它有高达512KB的片内Flash程序存储器,具有在系统编程(ISP)和在应用编程(IAP)功能,同时LPC2368内部集成了2个CAN控制器,CAN控制器提供了一个完整的CAN协议(遵循CAN规范V2.0B)实现方案。包含这个片内CAN控制器的微控制器用来构建功能强大的局域网,支持极高安全级别的分布式实时控制,可以用在汽车、工业环境、高速网络和低价位多路连线的应用中。系统还选用了CAN总线收发器MPC2551,它可作为CAN控制器与物理总线接口,提供对总线的差动发送和接收能力。2通信模块设计2.1通信模块硬件实现本系统采用LPC2368内部集成了的CAN控制器和高速CAN收发器MPC2551配合实现群控主机和各电梯之间的通信任务的,CAN模块由2个部分组成:控制器和接收滤波器,所有的寄存器和RAM都作为32bit的字来访问。LPC2368的CAN控制器具有如下的特点:2个控制器和总线;支持11bit和29bit的标识符;双重接收缓冲器和三态发送缓冲器;可编程的错误报警界限和可读/写访问的错误计数器;仲裁丢失捕获和错误代码捕获(带有详细的位位置);单次触发的发送(不会重复发送);只听模式(无应答、无活动错误标志);“自身”报文的接收(自接收请求)[3]。LPC2368的接收滤波器有如下的特点:快速硬件实现的搜索算法,支持大量的CAN标识符;全局验收滤波器识别所有CAN总线的11bit和29bitRx标识符;允许11bit和29bitCAN标识符的明确定义和分组定义;验收滤波器可以为选择的标准标识符提供FullCAN-style自动接收。高速CAN收发器MPC2551是一个可容错的高速CAN器件,可作为CAN协议控制器和物理总线接口。MCP2551可为CAN协议控制器提供差分收发能力,它完全符合ISO-11898标准,包括能满足24V电压要求。其工作速率高达1Mb/s。典型情况下,CAN系统上的每个节点都必须有一个器件,把CAN控制器生成的数字信号转化为适合总线传输(差分输出)的信号。它也为CAN控制器和CAN总线上的高压尖峰信号之间加入了缓冲器,这些高压尖峰信号可能是由外部器件产生(EMI、ESD和电气瞬态等)。本系统设计的电路中,2个二极管D3与D4可有效地抑制传输介质的浪涌干扰,由于电梯群控系统中存在多个CAN通信节点,因此本电路中加入了终端电阻跳线JP3,由用户灵活地选择是否在该节点处加入终端通信电阻,本系统设计的CAN通信电路连接如图1。2.2通信协议及通信软件设计2.2.1CAN总线帧种类CAN总线上传输的信息称为报文,报文传输按照帧结构的不同,通常可表示为如下5种不同类型的帧:(1)数据帧:用于发送单元向接收单元传送数据的帧;(2)遥控帧:用于接收单元向具有相同ID的发送单元请求数据的帧;(3)错误帧:用于当检测出错误时向其他单元通知错误的帧;(4)过载帧:用于接收单元通知其尚未做好接收准备的帧;(5)帧间隔:用于将数据帧及遥控帧与前面的帧分离开来的帧。2.2.2CAN报文格式在总线中传送的报文,每帧由7部分组成,CAN协议支持2种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11bit,扩展格式为29bit[4]。标准格式帧的组成如图2所示。在标准格式中,报文的起始位称为帧起始(SOF),然后是由11bit标识符和远程发送请求位(RTR)组成的仲裁段。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。控制段包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括1个保留位(ro),为将来扩展使用。它的最后4个字节用来指明数据段中数据的长度(DLC)。数据段范围为0~8个字节,其后有一个检测数据错误的循环冗余检查CRC段。ACK段用来确认是否正常接收,由ACK槽(ACKSlot)和ACK界定符2个位构成。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。2.2.3通信协议设计由于在CAN总线中,标识符(ID)的大小规定了各节点发送消息的优先级,ID号越小,发送优先级越高,本系统中规定群控主控制器优先级最高,因此设为0x01,其他电梯主控制器次之,设为0x11,依次类推。本系统消息格式采用:目的ID号+命令+数据字节1+数据字节2+……+数据字节6的格式,在LPC2368中,存放数据的寄存器是CANRDA、CANRDB,每个寄存器是4个字节,因此一条CAN消息最多可存放8个字节。本协议中,CANRDA对应目的ID号、命令、数据字节1、数据字节2;CANRDB对应数据字节3~6。目的ID号确定消息的发出源,当目的ID号的内容为0x00时,所对应的消息是一条由主控制器发出的广播消息,各节点均接收并分析。命令字节的内容是协议的核心,由各命令组成,包括状态命令、控制命令,通常与数据字节搭配使用。2.2.4通信软件设计通信模块软件设计,首先要初始化CAN控制器,CAN控制器初始化主要实现CAN工作时的参数设置,这些初始化的内容包括:硬件使能CAN、设置CAN报警界限、设置总线波特率、设置中断工作方式、设置CAN验收过滤器的工作方式、设置CAN控制器的工作模式等。初始化结束之后CAN模块就可以进入工作状态,进行数据发送和接收。发送数据时,首先判断发送缓冲区是否空闲,如果有空闲发送缓冲区则将发送数据写入该发送缓冲区内,再启动发送命令,完成一帧数据的发送。接收数据时,读取接收缓冲区数据,同时释放该接收缓冲区,完成一帧数据的接收。数据发送和接收流程如图3所示。
本文标题:基于ARM7嵌入式系统的电梯群控系统的设计.
链接地址:https://www.777doc.com/doc-5188166 .html