历史上的今天
返回首页

历史上的今天

今天是:2024年12月20日(星期五)

正在发生

2019年12月20日 | AVR单片机电梯外呼板系统设计

2019-12-20 来源:elecfans

随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。


电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过CAN总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。


AVR单片机具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI-SC结构,具有16 kB的系统内可编程Flash,512 B的EEPROM,1 kB的片内SRAM。同时,芯片具有独立片内振荡器的可编程看门狗定时器,通过改变熔丝位可以设置片内晶振的振荡周期,这样可以省去外围的看门狗电路和晶振电路的设计。


1 电梯外呼板系统硬件结构

电梯外呼板的硬件电路主要由乘客按键模块、指示灯控制模块、LED模块、CAN通信电路以及电源模块构成,如图1所示。

AVR单片机电梯外呼板系统设计

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相连接。

AVR单片机电梯外呼板系统设计

1.1.3CAN的报文格式

在总线中传送的报文,每帧由7部分组成。CAN协议支持2种报文格式,其唯一不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。本设计中使用标准数据帧,由帧起始、仲裁域、控制域、数据域、CRC域、应答域和帧结尾等7种位域组成,如图3所示。

AVR单片机电梯外呼板系统设计

其中数据域的长度为0~8个字节。仲裁域由标识符和RTR组成,在标准格式中,标识符为11位。在本例通信协议的制定中,标志位的前4位用作通信的类型码,后7位用作CAN节点的ID号。数据域则用来存储通信的具体内容信息,例如电梯所在的楼层,运动方向等。


1.2LED显示模块

本模块由3片8x8 LED显示屏以及以单片机为核心的驱动电路构成。LED显示屏由LED点阵显示器P2158构成。它是以发光二极管为像素,按照行与列的顺序排列而成的显示器件,采用逐行(或逐列)扫描方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。以AVR高速单片机为核心的驱动电路如图4所示。

AVR单片机电梯外呼板系统设计

LED显示功能采用逐行扫描的方法,在3片8×8点阵LED显示屏上显示相应的信息。控制信号由MCU发出,经过缓冲器74F244后分成2路,一路经过移位寄存器74S164,串行转并行后来驱动LED点阵的行;另一路经过锁存器68595,串行转并行后驱动LED点阵的列。LED点阵显示采用逐行扫描,每行显示取模方式为从右到左,字节正序输出。其中,锁存器的输入数据由软件中的字库提供。LED显示每20 ms显示一次,故显示频率为50Hz,符合人眼的闪烁特性。


2 电梯外呼板软件设计

电梯外呼板软件设计流程如图5所示。电梯外呼板通过CAN总线接收电梯主板的数据帧,并将数据帧暂时存入缓存区,经过分析处理后按一定的方式保存起来。然后根据数据帧要显示的方式,从数据存储器中取出相应的数据存到一个显示缓存区进行显示,采用逐行扫描方式显示。电梯外呼板上如果有召唤信号输入,相应指示灯亮,同时电梯外呼板上通过CAN总线向电梯主板发送数据帧,数据帧内容包含召唤信息。通信的方式建立握手应答机制。

AVR单片机电梯外呼板系统设计

3 结束语

本系统采用AVR单片机,使用CAN总线通信,通信安全可靠,实时性好,主要用在电梯系统中的外呼召唤显示,同时也可以用在电梯轿厢中用于楼层信息的显示。将其接入电梯仿真系统中,本系统能够快速响应,长时间运行期间安全可靠,增加和删除节点简单方便。

推荐阅读

史海拾趣

Babcock Inc公司的发展小趣事

Babcock Inc公司的创立源于创始人对电子技术的深厚热爱和前瞻视野。在创业初期,公司便致力于电子技术的研发与创新,不断积累核心技术和专利。通过持续的技术投入和人才培养,Babcock逐渐在电子行业崭露头角,为后续的快速发展奠定了坚实的基础。

明波通信(BWAVE)公司的发展小趣事

在2002年,一群从海外归来的留学生和技术专家,怀揣着对通信技术的热情与梦想,在上海创立了明波通信技术股份有限公司。他们深知国内在通信领域的技术与海外相比还有较大差距,因此决心将自己在海外学到的先进知识和经验,应用到国内的市场和技术创新中。明波通信从创立之初就致力于数字电视芯片的研究与开发,并逐渐在行业中崭露头角。

达晶微(CREATEK)公司的发展小趣事

为了加强研发实力和应用能力,达晶微在上海设立了研发中心和应用中心。这些中心汇聚了来自全球的优秀人才和先进技术,为公司提供了强大的技术支持和创新动力。通过不断研发新产品和拓展新领域,达晶微在电子行业中保持了领先地位。

Holmes Co Inc公司的发展小趣事

面对突如其来的新冠疫情挑战,Holmes Electronics迅速调整策略,加速数字化转型。他们利用云计算、大数据和人工智能等先进技术,构建了高效的远程办公和智能制造体系。通过数字化转型,公司不仅有效保障了员工的安全健康和生产效率,还进一步提升了产品质量和客户满意度。此外,Holmes Electronics还积极开发防疫相关的电子产品,如智能体温检测设备和消毒机器人等,为抗击疫情贡献了自己的力量。

CONTRINEX公司的发展小趣事

在数控加工领域,Contrinex的数字测量智能传感器带来了革命性的变革。这些先进的传感器能够精确实时地测量拉杆位置,通过智能决策,确保加工精度,防止潜在损坏。其卓越的性能和稳定性,使得Contrinex在这一领域取得了显著的成绩,并赢得了众多客户的赞誉。

Axiohm公司的发展小趣事

Axiohm公司最初是一家小型电子元件制造商,面对激烈的市场竞争,公司创始人李先生意识到唯有技术创新才能脱颖而出。他带领团队投入大量研发资源,成功开发出一种具有高性价比的新型半导体材料。这一创新不仅降低了生产成本,还提高了产品的性能稳定性,迅速赢得了市场的青睐。随着销量的不断增长,Axiohm逐渐在电子行业中崭露头角。

问答坊 | AI 解惑

电容隔直通交问题

对于电容器构造的简单描述是这样的:“一般由用电介质隔开的两个金属板构成。” 而关于电流的定义是这样的,“单位时间内通过导体横截面的电荷量。” 如果把电容看成一个横截面,那么 在电容两端加恒定电压U时,就会在两个金属板上分别积累正负 ...…

查看全部问答>

我的FLUKE196坏了,请大家给个建议。

fluke196示波表能做表,二个通道不示波,不知道是设置问题还是坏了,那位大虾指点一下 。…

查看全部问答>

有人询问NANDFLASH的寻址方式,简单说下

Nand Flash结构与读写分析 NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device 的位宽。这些Line 会再 ...…

查看全部问答>

M22 如何发彩信

Atmega64 加明基M22gsm模块,如何实现彩信收发。也就是说与gprs连接需要发送那些数据?!!!。。。…

查看全部问答>

这个小程序有问题吗?

#include __CONFIG (INTRC & PROTECT & MCLREN & WDTEN); const unsigned char cs @ 0x1FF; void DelayUs( int  x)    // 32US {while(--x!=0)   { CLRWDT();     NOP();     unsigned ...…

查看全部问答>

请教EVC动态库调用方法

在EVC下开发程序,有一个基于MFC Extension的动态库,其中包含有多个对话框架及一个菜单项,现在创建一个MFC应用程序,不知怎么调用此动态库,求助一下大家,谢谢!…

查看全部问答>

VxWorks中的守护任务(daemon task)

Vxworks中的守护任务(daemon task)与一般的任务有什么区别?编写守护任务需要注意什么?最好能够举个实例。小女子初学vxworks,还请各位大侠不啬赐教,在此感激不尽。…

查看全部问答>

大家推荐个高精度的霍尔传感器吧,价格可不考虑!!!

现在要测量的电流最大15V直流 大家谁用过霍尔传感器的给推荐一下吧,用在PCB上的,要求精度高,成本可不考虑 多谢啦!!!…

查看全部问答>

如何将堆栈放置在RAM最尾端?

最近做项目的时候碰到了一个因为局部变量导致堆栈越界的问题,虽然最后靠扩大堆栈空间暂时解决了,但这也限制了全局变量的定义。有没有一种好的方法来解决这些问题了?看了看编译后的MAP文件,发现MDK将STACK放在了最后一个全局变量的后面。现 ...…

查看全部问答>

激电源及变压器设计

激电源及变压器设计…

查看全部问答>