电梯控制系统CAN通信节点设计
扫描二维码
随时随地手机看文章
摘 要: 针对电梯控制系统对分布式、实时性和模块化的特点要求,设计了以AT91RM9200微处理器为核心、以MCP2510为CAN控制器的CAN通信节点,从硬件和软件两方面详细叙述了如何进行CAN网络节点的设计,并将其成功应用在电梯控制系统中,提高了系统实时响应和抗干扰能力。
关键词: CAN总线; CAN控制器; 智能节点; 电梯控制系统; MCP2510
现场总线控制系统FCS(Fieldbus Control System)是一种非常典型的实现分布式网络控制的总线结构。它将工业控制现场大量的传感器、电子控制单元和执行机构等装置互连,实现高准确性、快实时性的控制。CAN(Controller Area Network)总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的多主串行总线,能将挂接在其上作为网络节点的智能设备连接成网络系统,并进一步构成自动化系统,实现控制的目的。CAN 总线通信具有速度快 (最高可达1 Mb/s)、传输距离长(最远可达10 km)和干扰小等特点,被认为是最有前途的现场总线之一,被广泛应用于交通工具、智能楼宇、医疗仪器和工业现场控制等领域中[1]。
CAN总线网络的拓扑结构是多个智能装置节点分别连接在总线上构成局域网,进行信息传递用以实现实时控制。设备控制器连接到CAN总线主要是通过CAN控制器和CAN驱动器。CAN控制器主要分为两大类:一类直接集成在微控制器(MCU)上,即用于控制的MCU本身具有用于CAN总线通信的模块;另一类则是独立可编程CAN控制器芯片。前者不需另外扩展CAN口,集成度较高,但价格较昂贵;后者配置灵活,MCU的选择范围不受限制,独立的CAN控制器功能也更加完善。CAN总线驱动器提供了CAN总线控制器与物理总线之间的接口,是影响系统网络性能的关键因素之一[2]。本文设计了以AT91RM9200微处理器为核心、以MCP2510为CAN控制器和以PCA82C250为总线驱动器的CAN通信节点,并应用于电梯控制系统中,提高了系统实时响应和抗干扰能力。
1 电梯控制系统结构
电梯控制系统的结构示意图如图1所示。对于一个单梯系统,主要包括外呼控制器、内选控制器和主控制器。外呼控制器分布于大楼各层电梯间内,主要负责收集和向主控制器传送乘客目的楼层的方向(上行或下行)信息,还负责显示目的楼层方向和当前电梯所在楼层等信息。内选控制器位于电梯轿厢内,主要负责收集和向主控制器传送乘客目的楼层号(要去第几层)信息,还负责显示轿厢内所有乘客的目的楼层号和当前电梯所在楼层等信息。主控制器汇总接收到的外呼、内选控制器的信息,依据规则进行逻辑调度以控制电机实现轿厢运行接送乘客,同时发送电梯运行信息给各外呼、内选控制器去显示,此外,主控制器还兼有其他的扩展功能。外呼控制器、内选控制器和主控制器通过CAN总线进行信息传递,它把三者连成网络实现了单部电梯系统整体控制。在该控制系统中,外呼控制器、内选控制器和主控制器是分别作为节点挂接到CAN总线上的。单部电梯的内部系统结构图如图1所示。
与传统RS-485总线“主从”的工作方式相比,CAN总线采用“多主”的工作方式,把各个控制器看成网络中平等自治的节点,相互协调完成总的控制任务,而且这样的结构也有利于提高系统的稳定性。在CAN控制器的“多主”的工作方式中,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁方式竞争向总线发送数据,CAN协议废除了站地址编码而对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高了系统的可靠性和灵活性。采取“多主”的工作方式,各个网络节点能根据本身的状态是否发生变化来自主判断是否发送信息,这样与RS-485只能以主站轮询的方式进行通信相比,可以有效地减轻网络负载,减小网络时延,增加系统的实时性[3-4]。
对于目前建筑物中比较常见的由多个电梯组成的多梯系统,由于要求其能够在调度的性能上实现快速、高效、稳定、节能,因此大多嵌入了一些优化的电梯群控调度算法用以实现复杂控制。这就要求在各电梯独立运行的基础上设置一个群控器用于综合信息结合群控算法实现群组控制。可以采用CAN总线将各单梯的主控制器与另外的群组控制器及监控设备等相连组成更高一级的CAN网络来实现。如图1中的外部群控CAN总线。
2 主控制器在CAN网络中的节点设计
2.1 节点硬件设计
主控制器CAN节点硬件上主要包括MCU、CAN控制器和CAN驱动器,CAN通信节点硬件电路原理图如图2所示。其由AT91RM9200通过SPI串行外设接口连接CAN控制器MCP2510进行数据传输,MCP2510负责将数据再通过光电耦合器6N137连接到CAN驱动器PCA82C250,最后挂在CAN网络上与其他CAN通信节点进行通信。