基于STC12C5A60S2的火灾报警控制盘设计

  作者:苏世平 徐杜 时间:2015-05-14来源:电子产品世界

编者按:本文介绍了一种火灾报警控制盘设计方法。本控制盘采用STC12C5A60S2 单片机为主控芯片,可根据火灾报警控制系统要监控的设备节点的数量方便进行配置和扩展。

3.2 LED灯显示模块软件设计

  如图5、图8所示,STC12C5A60S2的P00、P01、P02控制两片级联的74HC595可以输出16位任意数据;STC12C5A60S2的P14、P15、P16、P17控制HC154可以输出16个互斥的低有效16位输出。LED显示采用动态扫描,先控制HC154输出一个互斥的低有效16位输出选中要显示LED点阵的列,然后控制两片级联的74HC154输出LED点阵对应的列要显示的内容,这样就显示好一列,然后进行10ms的延时再显示下一列。

3.3 CAN通信模块软件设计

  如图6、图8所示,MCP2515与STC12C5A60S2通过SPI总线连接,MCP2515第12引脚INT接到STC12C5A60S2的外部中断1。当MCP2515收到CAN总线上发送给它的数据时,会触发STC12C5A60S2的外部中断1,此时STC12C5A60S2通过SPI总线读MCP2515的RXB0DLC得到CAN数据包的字节长度LEN,读取RXB0D0处的LEN字节得到CAN数据包的内容;若MCP2515要发送CAN数据包,则STC12C5A60S2通过SPI总线写MCP2515的TXB0DLC寄存器来设置CAN数据包的长度LEN,写MCP2515的TXB0D0~TXB0Dx (x=LEN-1)设置CAN数据包的内容。

  因为控制盘系统涉及到多机通信,所以需要设置CAN通信使用的协议。CAN总线使用的数据帧由7个不同的位场组成,其中数据场代表CAN总线数据包内容,其长度最大为8字节,所以要通过CAN总线发送数据内容字节长度大于8字节需要分段进行发送。协议上使用的数据包格式为如表1。

  本设计中,CAN总线通信的主要内容是按键信息和LED灯的信息,其中按键信息格式用一个字节表示,字节的低7位表示按键的实际值,最高为1表示按键请求受控设备打开,为0表示请求设备关闭;LED灯显示信息用12个字节表示,对应96个LED灯的显示状态。

  在协议中,为了表示CAN数据包是表示哪种信息,设置数据包格式中第一个分段或当只有一个分段时,数据包格式中的数据DATA[0]=0x01表示按键信息,DATA[0]=0x02表示LED灯显示信息;DATA[1]表示要表示的信息对应的字节长度LEN,之后的LEN字节表示信息的内容。

  因为按键信息只需要用到一个字节就可以表示,所以设置CAN通信协议数据包格式中SEGFLG为0xfe表示只有一个分段,数据DATA[0]设置为0x01表示数据包代表按键信息,数据DATA[1]表示按键信息的长度LEN(LEN=1),DATA[2]表示按键的消息,DATA[3]为发送方地址SRC、分段说明、数据DATA[0]、DATA[1]、DATA[2]的校验和。

  若发送的是LED灯显示信息,则需要分段进行发送。设置CAN通信协议数据包格式中SEGFLG分别为1、2、0xff 表示分段1、2和最后一个分段。分段1的数据DATA[0]设置为0x02表示数据包代表LED显示信息,DATA[1]=0x0c表示LED灯显示的信息长度为12字节,DATA[2]~DATA[5]表示LED显示信息的前4个字节,字段2的DATA[0]~DATA[5]表示LED显示信息的第5到第10字节,字段0xff表示DATA[0]、DATA[1]表示LED显示信息的后两个字节,DATA[2]为校验和。

3.4 串口通信软件设计

  STC12C5A60S2串口发送数据一次可以发送多个字节,不需要分段发送。本设计中主控制盘与消防主机之间的通信采用串口通信。若使用现有的消防主机,则主控制盘串口通信程序需要根据消防主机使用的串口通信协议进行编程。

  本设计中,重点主要是火灾报警控制盘系统的设计,对消防主机设计不进行深入,假设消防主机使用的串口通信协议如下:通信协议采用校验和对发送过来的帧进行判断是否是正确。为保证通信协议的透明性,即保证用户的数据可以是任何内容,发送方和接收方永远不会对用户发送的数据内容做任何限制,该通信协议规定转义字符为0xdb,若传送的数据是帧尾(0xFF),则将传送0xdb,0xdc,若传送的数据是转义字符,则传送0xdb,0xdd这两个字符。

  通信协议中的帧格式如表2所示,串口通信协议中按键信息与LED灯显示信息的表示与CAN通信协议一样。

4 总结

  主和从控制盘上面硬件电路是一样的,只是从控制盘上面不需要串口接口电路,即需要把从控制盘上面的串口接口电路焊接即可。主控制盘的实物如图5-1所示。用PC机的串口调试助手模拟消防主机,将PC串口与主控制盘的串口连接,将主控制盘与从控制盘的CAN接口相连接,能够实现PC机串口调试助手与主控制盘通信,且可以借助主控制盘进行与从控制盘通信。

  本设计采用STC12C5A60S2单片机作为微控制器,设计火灾报警主控制盘和从控制盘,组成一套完整简便且成本较低的火灾报警控制盘系统。该系统能够根据火灾报警控制系统要监控的设备节点的数量进行扩展,和消防主机配合使用可以组成一套完整的消防火灾报警系统。

参考文献:

  [1]陈倬.单片机在火灾报警控制系统中的应用[J].科技资讯.2009(22)

  [2]陈会鸽,任凤娟.基于CAN总线的LED路灯控制器设计[J].现代商贸工业.2014(2)

  [3]王为国.ZLG7290与51单片机的接口与编程[J].中国基础教育研究.2008(8)

  [4]孔维东,许卫强.16×16点阵LED电子显示屏的设计[J].无线互联科技.2013(8)

  [5]吕宝锋.基于MCP2515的CAN总线扩展[J].电子科技.2012(6)

1 2 3

关键词: STC12C5A60S2 火灾报警 控制盘 单片机 LED 201505

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版