基于CAN总线的电梯主控系统
用之前,需要调用相应的CAN 控制器初始化函数,对CAN 控制器中断、波特率、验收过滤器等进行相关的设置。在CAN通信任务中,一方面需要完成4 路CAN 控制器通过中断方式接收到缓冲区中的数据再验证无误后交付给主控调度任务,令一方面需把主控会把给群控调度器、变频器、内召板、轿厢板发送的信号或者命令交付给CAN 通信任务。CAN 通信任务再接收到主控的数据做相应的验证,封装成相应的协议格式的帧,然后发送给相应的子系统。
在CAN 通信中,发送数据的封装和接收数据的解封遵循的格式除了变频器部分参考第三方提供的CAN 总线通信协议,其他模块与主控系统的通信完全依靠下述自定义协议。在电梯控制系统中,CAN 通信全部采用CAN2.0 所规定的扩展数据帧[5-7],其格式如表1 所示。传输的帧中29 位ID 按下表划分(全0 或者全1 将被舍弃)。
表1 扩展帧ID 格式
![](../img/eep/emb/emb-30529flgn5ymooet.jpg)
在表1 中,主控部分的子设备dev 有外呼、内召、群控、变频器,以序号001、010、011、100 等;-部分是在设计协议中没有用到的数据位,程序中用0填充;cmd 表示发送方给接收方发送的命令字(如相应信号登记命令、相应信号清除命令);data 部分表示发送方给接收方发送的信号数据,由于在系统设计的时候考虑的最高楼层为64,因此数据部分在传输的时候,每次主控给与外呼、内召通信的时只需要一帧就可以完成,其数据字节bye1 的BIT0 表示第1 楼信号,byte8的BIT8 表示第64 楼信号。
3.3 液晶显示任务
从任务间通信角度,液晶显示任务主要接收主控任务以消息队列方式传入的相关系统参数(如上/下行、当前楼层、目标楼层等),然后通过调用12864 点阵液晶驱动函数和查询用户按键的输入状态,提供给用户相应的显示菜单,以现实相关的系统参数。
当然该任务,也得提供给用户相关系统参数设置的接口, 然后把相关参数保存在铁电存储器FM24CL64 中。
4 结束语
本文设计的基于CAN 总线的电梯主控制系统具有成本低,工作稳定等特点,完全能够满足国标GB7588-2003 对电梯控制系统的各项指标。由于篇幅的限制,本文没有给出相应的外召板、内叫板,群控板的设计及其具体的实现,另外与变频器的接口完全按照变频器第三方基于CAN 总线的具体通信协议。
- 磁场检测仪的嵌入式软件和硬件协同开发模式(10-13)
- USB3.0主控端系统设计应用(12-21)
- CAN总线的特点有哪些(12-14)
- 认识CAN总线(12-12)
- 研究arduino支持Atmega8作为主控制芯片(11-30)
- TC15单片机和nRF240I的无线门禁系统设计(10-15)