基于AVR单片机显示板设计
随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑 。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大 。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增 。
电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用 。电梯外呼板将乘客及维保人员的需求信息通过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)节点在错误严重的情况下,具有自动关闭总线的功能,切断其与总线的联系,以使总线上其他操作不受影响;
【基于AVR单片机显示板设计】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.3CAN的报文格式
在总线中传送的报文,每帧由7部分组成 。CAN协议支持2种报文格式,其唯一不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位 。本设计中使用标准数据帧,由帧起始、仲裁域、控制域、数据域、CRC域、应答域和帧结尾等7种位域组成,如图3所示 。
其中数据域的长度为0~8个字节 。仲裁域由标识符和RTR组成,在标准格式中,标识符为11位 。在本例通信协议的制定中,标志位的前4位用作通信的类型码,后7位用作CAN节点的ID号 。数据域则用来存储通信的具体内容信息,例如电梯所在的楼层,运动方向等 。
1.2LED显示模块
本模块由3片8x8 LED显示屏以及以单片机为核心的驱动电路构成 。LED显示屏由LED点阵显示器P2158构成 。它是以发光二极管为像素,按照行与列的顺序排列而成的显示器件,采用逐行(或逐列)扫描方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息 。以AVR高速单片机为核心的驱动电路如图4所示 。
LED显示功能采用逐行扫描的方法,在3片8×8点阵LED显示屏上显示相应的信息 。控制信号由MCU发出,经过缓冲器74F244后分成2路,一路经过移位寄存器74S164,串行转并行后来驱动LED点阵的行;另一路经过锁存器68595,串行转并行后驱动LED点阵的列 。LED点阵显示采用逐行扫描,每行显示取模方式为从右到左,字节正序输出 。其中,锁存器的输入数据由软件中的字库提供 。LED显示每20 ms显示一次,故显示频率为50Hz,符合人眼的闪烁特性 。
2 电梯外呼板软件设计
电梯外呼板软件设计流程如图5所示 。电梯外呼板通过CAN总线接收电梯主板的数据帧,并将数据帧暂时存入缓存区,经过分析处理后按一定的方式保存起来 。然后根据数据帧要显示的方式,从数据存储器中取出相应的数据存到一个显示缓存区进行显示,采用逐行扫描方式显示 。电梯外呼板上如果有召唤信号输入,相应指示灯亮,同时电梯外呼板上通过CAN总线向电梯主板发送数据帧,数据帧内容包含召唤信息 。通信的方式建立握手应答机制 。
3 结束语
本系统采用AVR单片机,使用CAN总线通信,通信安全可靠,实时性好,主要用在电梯系统中的外呼召唤显示,同时也可以用在电梯轿厢中用于楼层信息的显示 。将其接入电梯仿真系统中,本系统能够快速响应,长时间运行期间安全可靠,增加和删除节点简单方便 。
推荐阅读
- pic单片机p18f458A/D中断转换程序
- 有限状态机在单片机和 Arduino 编程中的应用
- 74HC595 74HC165程序例子_AVR
- 中国研发首个为亚洲象量身订制的智能项圈,基于北斗导航和IOT技术
- 单片机编程软件很简单_24,keil单片机编程软件仿真、调试技巧+常见错误
- 单片机编程软件很简单_23,keil单片机编程软件调试stm32
- ARM7单片机_学习ing—(六)、SPI接口—02
- 单片机编程软件很简单_22,keil单片机编程软件优化等级+概念解析
- 51单片机——定时器
- 关于STM32单片机GPIO口上拉与下拉输入