| | 网站首页 | 技术文章 | 专业论文 | PLC可编程 | 单片机 | 变频器 | 传感器 | 嵌入式系统 | 电源技术 | 运动与伺服 | | 校园招聘 | 留言板 | |
|
![]() |
|
| 您现在的位置: 自动化学习网 >> 技术文章 >> 传感器 >> 文章正文 |
|
||||||||||||||||||||||||||||||||||||||
| 一种基于CAN总线的集散型火灾报警控制系统 | ||||||||||||||||||||||||||||||||||||||
作者:佚名 文章来源:互联网 点击数: 更新时间:2007-4-15 ![]() |
||||||||||||||||||||||||||||||||||||||
|
摘 要 提出了一种基于CAN总线的集散型火灾报警控制系统的设计方案,系统以AT89C51单片机为节点控制器,MCP2510为总线控制器,MCP2551为总线收发器。文章主要介绍了AT89C51与MCP2510的SPI接口实现方法,以及MCP2510的初始化方法。 随着经济建设的发展,社会对火灾报警控制系统的规模的要求越来越大,为了适应市场的需要,笔者利用CAN现场总线技术,设计出了一种集散型火灾报警控制系统,该系统结构灵活、使用方便,可满足大、中、小各种规模的火灾报警及消防控制的要求。CAN(Controller Area Network)即控制器区域网——一种有效的支持分布式控制和实时控制的串行通讯网络,由于其高性能、高可靠行,及独特的设计,越来越受到人们的重视,其总线规范已被ISO国际标准化组织制定为国际标准,并被公认为是最有前途的现场总线之一。本文主要介绍由MCP2510与MCP2551组成的CAN现场总线的在集散型火灾报警控制系统中的应用。 1、系统组成与工作原理概述
图1中的MCP2510是Microchip公司为简化CAN总线的接口应用而专门设计的一种独立CAN控制器芯片【3】,支持 CAN协议2.0A/2.0B,最大可编程波特率为1Mbps;MCP2551是Microchip公司生产的可容错的高速CAN总线收发器芯片【4】,支持1Mbps的运行速率,可连接高达112个节点,适合12V和24V系统,管脚特性与MCP2510完全兼容。 2 硬件电路与SPI接口技术
图2是本文系统节点进行CAN通信的硬件电路图,在原理图中,总线控制器MCP2510与总线收发器MCP2551直接相连,因为它们的管脚是完全兼容的,另外,考虑到系统总线速率比较低,所以使MCP2551的斜率电阻输入引脚RS悬空,选择最小斜率,这样,既可将RFI抑制到最小,又可简化线路设计。下面重点说明一下MCP2510与AT89C51的接口技术。
图2 节点进行CAN通信的硬件接口电路 MCP2510面向单片机有1个高速SPI接口(5Mhz),该接口由片选控制输入CS、移位脉冲输入SCK、串行数据输入S I和输出SO等4个引脚组成。AT89C51不具备标准的SPI接口,但是,可以利用UART接口与SPI接口通信。 为了实现与MCP2510的SPI接口交互,单片机的UART接口选择方式0,采用12MHz晶振作为单片机的时钟频率,在方式0下,波特率固定为1Mbps。在图2所示的硬件电路的支持下,AT89C51就可按照普通移位寄存器的方式与MCP2510进行数据交互,对MCP2510进行写操作和读操作的汇编语言子程序从略。值得指出的是,因为SPI传输数据的顺序是先高位后低位,与UART传输数据的顺序相反,因此,编写单片机与MCP2510的接口程序时,对MCP2510的控制字、状态字以及寄存器地址,要进行二进制到排处理。例如,MCP2510的接收缓冲寄存器RXB0的首地址是01010110B,单片机读其中的内容时,写入单片机的串口缓冲寄存器SBUF的地址值应该是01101010B。 3 MCP2510初始化 MCP2510的初始化包括设定可编程引脚功能、总线波特率以及接收过滤器与屏蔽器,以下主要介绍总线波特率以及接收过滤器与屏蔽器的初始化。 3.1 波特率初始化 MCP2510内含的波特率发生器由可编程预分频器、固定2分频器和位定时器级连而成,它使设计者可以方便地选择所需要的任何波特率。在位定时器中,MCP2510将一个位周期依次分割为同步段、传播段、相位缓冲段1和相位缓冲段2等4个时间段,每个时间段的长度都是输入信号周期TQ的整数倍,其中同步段固定为1TQ,其余3个时间段的长度都是可编程的。所谓波特率初始化,就是设置可编程预分频器和位定时器各可编程时间段的值,使其满足波特率的需要。 根据CAN技术协议,波特率为1Mbps时,通信距离为40m,波特率为5Kbps时,通信距离最远可以达到10Km【1】。考虑到本文系统既可用作一个高层楼宇的火灾报警控制网络,又可用作一个单位内部多个仓库、车间等的火灾报警控制网络,所以通信距离应该在数千米以上,而所要传输的数据量不大,故可以选择较低的波特率。在实际应用中,笔者选择波特率为8Kbps。 本文系统选择12Mhz晶体振荡器为MCP2510提供时钟信号。根据位定时器中各个时间段的长度必须满足的约束条件,初始化传播段寄存器PRSEG=3,相位缓冲段1寄存器PHSEG1=4,相位缓冲段2寄存器PHSEG2=4;然后初始化预分频器BRP=49。从而可得总分频系数为(49+1)×2×[1+(3+1)+(4+1)+(4+1)]=1500,最终获得8Kbps的波特率。 3.2 过滤器与屏蔽器初始化 MCP2510具有完善的总线争用功能,可用于分布式系统,但是,在火灾报警控制系统中,因为集中机担负着对区域机的监管任务,所以本文系统采用了集中-分散控制方式,集中机不断地巡回查询区域机,在工作台上随时反映区域机工作的情况,为工作人员提供维护设备的依据。 MCP2510支持标准帧、扩展帧和远程帧,数据段长度为0-8个字节。器件对CAN总线上的数据接收是通过2个接收缓冲器、6个接收过滤器和2个接收屏蔽器的组合来实现的。CAN总线上的帧只有至少满足一个接收过滤器的条件才可被接收。为了说明过滤器与屏蔽器的初始化方法,这里首先介绍报文帧。本文系统只使用标准数据帧进行数据传输。标准数据帧的长度为44+8n位,其中11位ID段在本文系统中被分为两部分,高7位用来表示区域机的逻辑地址码,整个系统允许接入的区域机最多为50个,低4位用来表示报文类型码。集中机发送的报文帧如表1所示,区域机发送的报文帧如表2所示。8n位数据段可有可无,在表1中,只有选呼联动报文含有数据段,表示请求联动的设备号,在表2中,只有请求点名报文不含数据段,其余报文必须至少含有1个字节数据,用来表示区域机的逻辑地址码,其余数据用来表示故障、报警的探测器号和设备号,或区域机配置。 表1:集中机发送的报文帧 表2:区域机发送的报文帧
表1中的xx xxxx表示集中机要访问的区域机的逻辑地址码。表1的报文是发送给区域机的,表2的报文是发送给集中机的,报文能否被接收,要由MCP2510的过滤器来决定,因此,初始化时,集中机按从上到下的顺序将表2中的数据依次写入MCP2510的过滤器RXF1~RXF5,区域机在用本机的逻辑地址码代替表1中的xx xxxx之后,也按从上到下的顺序将表1中的数据依次写入MCP2510的过滤器RXF1~RXF5,未曾用到的过滤器RXF0被设置为全“1”,使其不接收总线上的任何有效报文。初始化时,在区域机方面,将2个接收屏蔽器都设置为全“1”,在集中机方面,将接收屏蔽器RXM1设置为全“1”,而将RXM0设置为101 1011 1010B,表示除集中机的过滤器RXF1的SID9、SID6、SID2和SID0等4位外,过滤器的其余所有位都参与信息过滤,这是因为上述4位与请求点名帧的ID码在跳变位置上的隐性位相对应,而请求点名帧容许多个区域机同时发送,从而由传输延迟引起的码间串扰,很可能使这些位的状态不确定。 4 通信过程简介 集散型火灾报警控制系统的通信过程,也就是集中机对区域机循环进行的点名和查询过程。在点名阶段,集中机发送广播点名帧,区域机以请求点名帧响应,若接收到未被登录的区域机发出的请求点名帧,集中机进行选呼点名,区域机以配置帧响应;在查询阶段,集中机反复判断有无自检请求,若有自检请求,则对区域机逐个选呼自检,区域机以配置帧响应,自检结束,继续选呼查询,区域机以正常帧、或故障帧,或报警帧响应,在查询中若接收到报警信号,再根据需要发送选呼联动帧,区域机以正常帧确认。 5 结束语 实验结果表明,因为MCP2510具有完善的现场总线管理机制和面向单片机的SPI接口,一方面简化了系统的软、硬件设计,另一方面使节点控制器摆脱了对网络通信的频繁干预,从而大大提高了系统的整体性能,与采用RS232等其它串行通信技术的集散型系统相比较,本文提出的基于CAN总线的集散型火灾报警控制系统具有较高的安全性、可靠性和实时性,可用于各种场合的火灾报警控制。
参考文献 1 阳宪惠,现场总线技术及其应用,北京:清华大学出版社,2000. 2 张友德,飞利浦80C51系列单片机原理与应用技术手册,北京,航空航天大学出版社,1992. 3 带有SPITM接口的独立CAN控制器MCP2510, Microchip 公司, 2004, http:// ww1.microchip.com/downloads/en/ DeviceDoc/21291e_cn.pdf . 4 MCP2551 High-Speed CAN Transceiver Data Sheet, DS21667,Microchip Technology, Inc |
||||||||||||||||||||||||||||||||||||||
| 文章录入:admin 责任编辑:admin | ||||||||||||||||||||||||||||||||||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||||||||||||||||||||||||||||||||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 基于Profibus现场总线的煤矿… 按平台模式设计的虚拟I2C总线… Neuron多处理器芯片及其应用 基于HART协议的智能变送器设… 加密IC卡保险柜控制器的设计 基于音乐特征识别的音乐喷泉… 基于Honeywell DCS的锅炉燃烧… 电力驱动系统逆变器实时仿真 高性能超声电机驱动及控制电… 电机转子动平衡半自动去重系… |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 文章索引 | 网站地图 | |
| 声明:本网站资源均来源于网络,如涉及版权问题,请通知我们,我们将尽快删除! QQ:279619038 备案序号:吉ICP备06005743号 自动化学习网版权所有 站长:guxing |
|