首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
煤矿安全监控分站的研究
来源:本站整理  作者:佚名  2009-09-18 10:03:08



安全监控分站软件设计
系统总体软件结构如图3所示。在整个软件流程中,测频中断的优先级最高,以保证测频的精度。CAN通信的中断优先级次之,RS-232中断的优先级最低。
为保证主站与分站通信的实效性,本设计完成测频中断服务仅需13个机器周期,而信号的周期比机器周期大数千倍,从而大大减小了主站在测频中断服务期间与分站进行通信的概率。
在本设计中,已知来自传感器的信号的频率范围为200Hz~1000Hz,信号的周期为1ms~5ms,而机器周期为0.0005ms,故主站与分站在测频中断响应期间进行通信的概率为0.12~0.60%,即主站与分站进行通信的实效率为99.40~99.88%,完全能够满足安全生产的要求。

关键技术及其实现
测频技术
通常使用的单片机的测频方法有两种:直接测频法和测周期的方法。本设计中选用了测周期的方法,因为本设计中被测信号的频率较低,用测周期的方法精度较高,而且实时性强、测频时间短,即使主站与分站每隔400ms通信一次,也能够完成测频的功能。
根据频率计算公式得到周期法测频公式,式中,TO为定时器/计数器的计数脉冲周期时间,由单片机主脉冲经12分频得到,N为计数器在测周期期间的计数脉冲。当晶振振荡频率为24MHz时,定时器的计数脉冲周期时间为0.5s,测量最大绝对误差为信号前后边界之差共1s。对于周期为1ms~5ms(频率200Hz~1000Hz)的信号,最大误差折算成频率约为0.002Hz~0.01Hz,所以,频率测量精度可达到0.001Hz~0.01 Hz。
CAN总线通讯技术
CAN 总线通信是整个软件设计的重要部分。通信过程主要包括发送和接收部分,本设计中两部分都设置成了中断方式而不是查询方式,可以把它们做成模块,采用调用子程序的方式来访问。
发送子程序负责节点报文的发送,发送时用户只需将待发送的数据按特定格式组合成一帧报文送入SJA1000发送缓存区中,然后启动SJA1000发送即可。但在往SJA1000发送缓冲区送报文之前,必须先作一些判断。程序如下:
MOV  DPTR,#CAN_SR  ;状态寄存器
WS0:   MOVX  A,@DPTR      ;从SJA1000读出状态寄存器值
JNB    ACC.3,WS0   ;判断上次发送是否完成
WS1:   MOVX   A,@DPTR     ;
JNB    ACC.2,WS1   ;判断发送区是否锁定
CAN总线通讯的发送模块根据用户制定的应用层协议,将要发送的数据分类、拆解、合并,确定发送对象,然后根据CAN的数据链路层协议填写到CAN数据帧的各个场,并发送出去。发送程序分为发送远程帧和数据帧两种,远程帧无数据场。
接收子程序负责节点报文的接收以及其它情况。接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线脱离、错误报警、接收溢出等情况进行处理。SJA1000报文的接收主要有两种方式:中断接收和查询接收,考虑到对通信的实时性要求很强,本设计采用中断接收方式。
接收模块的工作与发送模块相反,首先进行接收滤波,确认该帧数据是否接收。如果接收,先按照数据链路层协议拆解数据包,将数据场的数据提取出来,再根据应用层协议确定数据的具体含义,进行相应的处理。CAN信息帧共有4种:数据帧、远程帧、出错帧和超载帧。其中,数据帧将数据由发送器传至接收器。一个数据帧由7个不同场构成。其中仲裁场由标识符ID和RTR构成。

结语
本文以微处理器AT89S52为核心,设计的KJ122型煤矿安全监控分站,通过CAN总线、RS-232总线,在定制的KJ122型煤矿监控系统协议下与中心站计算机进行通讯,具有实时性强、可靠性高、结构简单、互操作性好、价格低廉等特点,目前已投入实用。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:136,734.40000 毫秒