基于CAN总线的大容量汉字火灾楼层显示器设计
时间:12-27
来源:互联网
点击:
3.4CAN总线通讯模块设计
我们选择Microchip公司的MCP2510CAN控制器和Philips公司的PCA82C250CAN收发器构建CAN总线通讯模块。MCP2510支持CAN2.0A/B协议,可接收和发送2.0协议下的标准帧、扩展帧和远程帧。MCP2510拥有三个发送缓冲区和两个接收缓冲区,可以进行接收滤波和消息管理,防止过度发送和过度接收形成拥塞。其最大的优点是拥有传输速率可达5Mb/S的SPI端口,节省MCU端口,提高通信速度。Philips公司的82C250CAN总线收发器可与MPC2510无缝连接,它有高速模式,斜率控制模式和延时模式。经过多次的实验证实其工作在斜率控制模式下最为稳定,速度也能构满足系统10Kbps的传输速率。

图5CAN总线通信电路
CAN总线通讯模块电路如图5所示,单片机通过I/O口直接和MCP2510的SPI口相连,用软件模拟实现SPI接口协议。PCA82C250作为MCP2510与物理CAN总线的接口。如果需要进一步提高系统的抗干扰能力,可在MCP2510和PCA82C250之间加一个光电隔离器。
4 系统软件设计
汉字楼层显示器软件功能主要是1.将串口发送下来的汉字信息文件写入FLASH存储。2.和火灾报警控制器进行CAN通信,如果发现有火警信息,则查找FLASH中的汉字地址信息,予以显示在汉字液晶上报警,如有多条火警信息,则滚动显示各条信息。

图6汉字楼层显示器软件流程图
图6是汉字楼层显示器软件流程图。用page(值为0-7)表示读写的FLASH页,用count(值为0-65535)表示每页页内地址。其中page0-page6用来存储通过串口下载的汉字信息,page7用来存储接收到的火警等动态信息。一旦接收到新火警,即查询FLASH中相应的汉字信息,并在液晶上滚动显示。
为了快速定位所查询的火警汉字地址信息,我们采用数组结构存储。尽管这样会因为实际火警地址不等长,而造成存储中出现一些空地址,存储效率不高,但是由于我们对数组的查找是一种可以直接定位的快速查找,不用采用链表之类的复杂数据结构,也避免了二分检索之类复杂的搜索算法。对于单片机而言,实质上是以比较小的空间为代价换来了比较高的时间效率,还是十分值得的。
5 结语
本文提出的基于CAN总线的大容量汉字火灾楼层显示器,较好的解决了现有火灾楼层显示器的缺陷。对大于51单片机ROM64K寻址空间的数据存储需求,采取分页存储的访问方式可以很好的解决这个问题。通过在FLASH中存储大容量数据信息,可以避免因为CAN总线上通讯数据流量过大而导致火警不能及时传达,延误报警时机。而且FLASH中的汉字信息可以通过串口在线擦写,便于现场调试。目前产品已经投入实用,用户反应运行良好。
显示器 总线 单片机 51单片机 MCU CAN总线 电路 二极管 Keil 电子 Microchip 收发器 相关文章:
- 提高实时系统数据采集质量的研究(04-09)
- 基于MSP430的低功耗便携式测温仪设计(06-18)
- 以超低功耗微处理器MSP430为核心的热计量表设计(06-18)
- 用MSP430单片机实现微波成像系统的扫描控制与数据采集(06-20)
- 硬盘录像机死机原因分析处理(06-12)
- MSP430在大量程浮子式液位计中的应用(06-20)
