基于CAN总线的电梯外呼系统设计
随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。
电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过CAN总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。
AVR单片机具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI- SC结构,具有16 kB的系统内可编程Flash,512 B的EEPROM,1 kB的片内SRAM。同时,芯片具有独立片内振荡器的可编程看门狗定时器,通过改变熔丝位可以设置片内晶振的振荡周期,这样可以省去外围的看门狗电路和晶振电路的设计。
1 电梯外呼板系统硬件结构
电梯外呼板的硬件电路主要由乘客按键模块、指示灯控制模块、LED模块、CAN通信电路以及电源模块构成,如图1所示。
1.1 CAN通信模块
1.1.1 CAN的技术特点
CAN是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,具有物理层、数据链路层和应用层等3层协议,其通信速率可达1 Mb/s。CAN总线专用接口芯片中以固件形式集成了CAN协议的物理层和数据链路层2层功能,完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等多项工作。它具有以下特点:
1)废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作;
2)采用非破坏性仲裁技术,当2个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;
3)采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短;
4)每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用;
5)节点在错误严重的情况下,具有自动关闭总线的功能,切断其与总线的联系,以使总线上其他操作不受影响;
6)可以点对点,一对多及广播集中方式传送和接收数据。
基于以上特点,在本设计中将电梯主板节点的优先级设为最高,而其他电梯外呼板的优先级次之,电梯主板可以接收任何电梯外呼板的数据,而电梯外呼板只能接收电梯主板的数据。电梯主板可以发送广播信息(例如楼层运行的信息),也可以发送点对点信息(例如针对某层的指示灯控制信息)。
1.1.2 CAN的硬件实现
CAN控制器采用MicroChip公司的MCP2510,该器件使用SPI接口与MCU通信。只需4条总线就可以实现与MCU的通信,但为了具有更好的实时性,一般采用中断方式与MCU进行通信,因此还需要一个中断信号总线用来通知MCU接收从CAN总线上发来的数据。CAN的接口器件采用TJ-Al050,该器件是CAN控制器与物理总线之间的接口器件。
在CAN模块电路中,如图2所示,ATmegal6的SS,MOSI,MISO,SCK,INT分别与MCP2510的,SI,SO,SCK,相连接。为了进一步提高CAN总线节点的抗干扰能力,MCP2510的TXCAN和RXCAN通过光耦6N137分别与TJAl050的TXD和RXD相连接。
1.1.3 CAN的报文格式
在总线中传送的报文,每帧由7部分组成。CAN协议支持2种报文格式,其唯一不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。本设计中使用标准数据帧,由帧起始、仲裁域、控制域、数据域、CRC域、应答域和帧结尾等7种位域组成,如图3所示。
其中数据域的长度为0~8个字节。仲裁域由标识符和RTR组成,在标准格式中,标识符为11位。在本例通信协议的制定中,标志位的前4位用作通信的类型码,后7位用作CAN节点的ID号。数据域则用来存储通信的具体内容信息,例如电梯所在的楼层,运动方向等。
1.2 LED显示模块
本模块由3片8x8 LED显示屏以及以单片机为核心的驱动电路构成。LED显示屏由LED点阵显示器P2158构成。它是以发光二极管为像素,按照行与列的顺序排列而成的显示器件,采用逐行(或逐列)扫描方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。以AVR高速单片机为核心的驱动电路如图4所示。
LED显示功能采用逐行扫描的方法,在3片8×8点阵LED显示屏上显示相应的信息。控制信号由MCU发出,经过缓冲器74F244后分成2路,一路经过移位寄存器74S164,串行
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)