微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于CAN总线的大容量汉字火灾楼层显示器设计

基于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中的汉字信息可以通过串口在线擦写,便于现场调试。目前产品已经投入实用,用户反应运行良好。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top