第
39
卷 第
年
12
月
2013
12
期
工 矿 自 动 化
Industry and Mine Automation
Vol.39No.12
Dec.2013
文章编号:1671-251X(2013)12-0017-04 DOI:10.7526/j.issn.1671-251X.2013.12.005
王树丰
多主通信协议模块设计
工矿自动化
方斌
,
程大伟
,
等
,
基于类令牌环的
.
RS485
[J].
,2013,39(12):17-20.
基于类令牌环的
RS485
多主通信协议模块设计
王树丰,
方斌,
程大伟,
李龙
中煤科工集团常州自动化研究院
(
江苏 常州
,
213015)
RS485
摘要:针对现有煤矿安全 监 控 系 统 的
差、无法实现即插即用功能、通信效率低的问题,设计了一种基于类令牌环的
牌信息包含在每个数据帧的帧头,RS485
时间内为关键设备抢发时间,RS485
按令牌顺序轮流与主控机交互数据,当 设 备 有 紧 急 情 况 需 要 抢 先 上 传 数 据 时,可 在 抢 发 时 间 内 抢 占
总线。测试分析表明,在
时间内为帧结束标志,RS485
4~5byte
时间段为一般设备抢发时间;正常情况下通信节点
总线容量不大且信道干扰较小的情况下,该模块具有良好的使用效果。
总 线 采 用 主 控 机 对 子 通 信 节 点 轮 询 呼 叫 方 式 存 在 实 时 性
多主通信协议模块。令
5~6byte
总线空闲
总线空闲
总线空闲
4byte
RS485
RS485
RS485
关键词:煤矿安全监控;数据传输;多主通信;RS485
中图分类号
网络出版地址
:TD76
文献标志码
:A
网络出版时间
总线;通信协议;类令牌环
:2013-11-28 17:18
:http://www.cnki.net/kcms/detail/32.1627.TP.20131128.1718.005.html
Design of multi-host communication protocol module of RS485based on class token ring
WANG Shu-feng, FANG Bin, CHENG Da-wei, LI Long
(Changzhou Automation Research Institute of CCTEG,Changzhou 213015,China)
Abstract:In view of problems of bad real-time performances,no plug-and-play function and low
中煤科工集团常州自动化研究院科研项目
收稿日期:2013-08-01。
基金项目:
作者简介:
檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿
主要研究方向为煤矿安全
,
,E-mail:cariwsf@126.com
(Z044)。
硕士
,
男
(1978-),
辽宁朝阳人
,
工程师
,
王树丰
。
参考文献:
刘玉珍
程政
,
蒋靖
,
基于
.
ZigBee
仪表技术与传感器
系统
范雪
[J].
熊伟丽
,
统的设计
基 于
徐 保 国
,
.
煤矿安全
WSN
的 井 下 巷 道 瓦 斯 监 测
,2012(9):49-51.
的 井 下 瓦 斯 检 测 系
[1]
[2]
[3]
秦宪礼
统研究
[J].
刘新蕾
,
沈斌
,
,2011,42(9):75-77.
等
,
采掘作业面无线瓦 斯 监 测 系
.
矿山机械
[J].
,2009,37(24):18-21.
煤矿安全监 测 监 控 系 统 升 级 改 造 初 探
.
煤 炭
[J].
,2006,38(3):85-87.
汪云甲
杨敏
,
张克
,
数 字 矿 山 与 煤 矿 瓦 斯 监 测 及 预 警
.
地理信息世界
,2008,6(5):26-32.
丁恩杰
,
徐钊
,
等
,
物联网与感知矿山专 题 讲 座 之
.
感知矿山物联网的特征与关键 技 术
工 矿 自
[J].
,2010,35(12):117-121.
李松林
,
王春雷
,
等
,
基于物联网的智 能 矿 山 体
.
系研究
工矿自动化
[J].
,2011,36(3):63-66.
[J].
张申
二
———
动化
解海东
图
8
收发节点间距与
之间的关系
RSSI
[4]
张勇
工程
、
LED
光 源
无 线 通 信 功 能
降低了矿灯的体积
,
实现了对充放电过程的实时监测及保护
,
ZigBee
电
灯内部
免了因短路而出现电池爆炸的问题
了该矿灯的可行性
覆盖的瓦斯检测及 人 员 定 位 功 能
研究提供了丰富的具有位置信息的瓦斯样本数据
采 用
锂 电 池 供
,
将锂电池充电电路设计到矿
;
避
,
测试结果验证
该矿灯可实现煤矿井下全方位
为 煤 矿 瓦 斯 预 测
。
,
。
。
[5]
[6]
[7]
中国煤炭期刊网 www.chinacaj.net
·81·
工矿自动化
2013
年第
卷
39
communication efficiency existed in poll calling mode of main control computer for communication nodes
used by RS485bus of current coal mine safety monitoring and control system,a multi-host communication
protocol module of RS485based on class token ring was designed.Token information is included in frame
head of each frame,it is frame end mark in 4byte time of RS485bus idle state,it is snatching sending time
of key devices in 4~5byte time of RS485bus idle state,and it is snatching sending time of common
devices in 5~6byte time of RS485bus idle state.Communication modes exchange data with main control
computer by turns according to token order under normal condition.While one device needs snatch to send
data under emergency condition,it can snatch RS485bus in snatching sending time.Test analysis shows
that the module has good application effect under conditions that RS485bus has little capacity and channel
interference.
Key words:mine safety monitoring and control;data transmission;multi-host communication;RS485
bus;communication protocol;class token ring
引言
0
RS485
RS485
RS485
总线为半双 工 总 线
总线具有接口芯片丰富
作方便
控 系 统 多 采 用
硬件成本低
、
低速传输时传输距离远等特点
、
操
、
煤矿安全监
,
总 线 进 行 数 据 传 输 [1-7]。
现 有 大 部 分 煤 矿 安 全 监
,
总 线 采 用 中 心 主 控 机 对 子 通 信 节
应用成本
、
子节点轮询的巡
较难对关键设备进行实时可靠
,
必
,
通 信 过 程
影 响 通 信
笔 者 设 计 了 一 种 基 于 类 令 牌 环 的
RS485
控系统的
点轮询呼叫的方式
低
检周期长
控制
须先在主控机 上 配 置 才 可 增 删 设 备
。 ③
中需要主控机向子 节 点 发 送 巡 检 指 令 帧
效率
实时性差
,
通信节点设备无法实现即插即用功能
该通信方式拓扑简单
,
但存在如下问题
,
可靠性高
、
。②
:①
,
基 于 该 系 统
开 发 了
,
,
,
,
该 模 块 具 有 如 下 特 点
提高了通信效率
,
方 便 令 牌 环 的 构 建
,
RS485
多主通信协议 模 块
:①
系统中节点设备可 按 类 令 牌 环 实 现 多 主 抢 发
主控机呼叫
作
无需另发令牌帧
有总线仲裁机 制
模块的插入 和 删 除 操 作
RS485
通 信
无 需
可实现自成环操
。 ②
令 牌 信 息 包 含 在 帧 头
,
。 ③
具
可实时侦测通信信道数据
,
可 自 动 成 环 及 自 动 进 行 节 点
实 现 设 备 即 插 即 用 功 能
。
提高设备一致
,
承担通信物理层和链路层的工作
便于设备维护
,
减少应用产品开发成本
,
。④
。 ⑤
⑥
性
,
。
。
鉴 此
多 主 通 信 系 统
,
模块硬件设计
1
基于 类 令 牌 环 的
。
1
所 示
该单片机为
,
具 有
件结 构 如 图
单片机
频为
口
45 MHz,
路
2
接口[8-9]。
I2C
、1
RS485
处 理 单 元 选 用
多 主 通 信 协 议 模 块 硬
系 列
最高主
,
接
LPC1224
架构
ARM Cortex M0
接 口
路
路 全 隔 离
路
UART
模 块 具 有
、1
SPI
1
RS485
,RS485
接口芯片的接受使能端接地
接口电路
保证串口在发送数 据 的 同 时 接 收 总 线 数 据
信道的实时 侦 测 功 能
电源输入管脚
模 块 的 管 脚
,
和 管 脚
1
从而
,
实 现 对
为
。
为
,
CPU
接 口 芯 片 供 电
为
4
BUSY
RS485
3.3V
管脚为
管 脚
低电平有效
为
闲
处理器程序的烧写
输出
管脚
;
8、9、10
;
。
;
2
隔离
;
5V
及外设供电
管 脚
管 脚
和
,
为 片 选 信 号
,
3
低 电 平 表 示 空
用 于 模 块
ISP,
的
和
RS485
A
B
TXD0,RXD0
为
管脚
;
11、12
图
1
基于类令牌环的
RS485
多主通信协议模块硬件结构
通信协议设计
2
。
,
RS485
通信 协 议 规 定 总 线 空 闲
多主通信协 议 采 用 类 令 牌 环 方 式
不 单
令牌 信 息 包 含 在 每 个 数 据 帧 的 帧 头
,
时 间 内 为
4byte
时 间 内 为 关 键 设
时 间 内 为 一 般 设
正 常 情 况
:
当 节 点 设 备
可 在 抢 发 时 间 内
抢发的数 据 帧 结 束 后 仍 回 到 抢 发 前 的 令
,
独发送令牌帧
信息中
帧结束标志
备抢发时间
备抢发时间
下按令牌顺序轮流 与 主 控 机 交 互 数 据
有紧急情况需要抢 先 上 传 数 据 时
抢占总线
牌环位置进行顺序上传
总 线 空 闲
,
总 线 空 闲
,
通信 协 议 分
种 传 输 机 制
4~5byte
5~6byte
2
。
;
,
。
2.1
协议帧定义
通信协议有数据帧和命令帧
帧用于数据的交 互
帧格式
引导码
:
,
(2byte)+
种帧格式
命 令 帧 用 于 命 令 的 传 递
2
数据
,
数 据
。
上个站点地址
(1byte)+
中国煤炭期刊网 www.chinacaj.net
2013
年第
期
12
王树丰等:基于类令牌环的
RS485
多主通信协议模块设计
·91·
(1byte)+
:
源地址
引 导 码
源地址
址
(1byte)+
(1byte)+
命令
命令帧格 式
目 标 地 址
下 个 站 点 地
(1byte)+
长度
数据
(2byte)+
+
上 个 站 点 地
,
。
目标地址
(1byte)+
(2byte)+
(1byte)+
命 令
CRC。
址
(1byte)+
下个站点地址
控机在令牌环中作 为 一 个 特 殊 节 点
址
机可进行数据和命 令 的 通 信
互通信
(1byte)+
主
具 有 特 定 的 地
数据帧和命令帧的定义不仅使节点设备与主控
节 点 设 备 之 间 也 可 相
(1byte)+CRC。
。
节点自动成环
为便于同端口下节点设备的顺序管理
在首次
启动或增删节点设备时通信系统作节点自动排序成
环管理
删除环
成环操作包括首次成环操作和插入
,
、
节点操作
,
,
2.2
。
,
(
,
。
个
),
1—32
当主控机检测到环记录为
对 信 道 设 备 进 行 遍 寻
0
在首次成环操作时
时
主控机发起首
系统按主从结构
,
,
同 信
相 应 地 址 节 点 设 备 回
32
主 控 机 根 据 节点 回 送 信 息 记 录
相应节 点 设 备 也 记 录所 属 上 下 节 点 的
,
次成环操作
主控机按地址由
道最大的设备数量 为
送相应的回送帧后
从节点位置
地址
主控机遍历完成后形成环
。
当已成环的系统有新节点插入时
插入的新节
主
点在总线等待抢发 的 时 间 内 发 送 请 求 入 环 指 令
控机记录插入节点 设 备 的 地 址
已 成 环 的 子 节 点 分
析自身地 址 和 所 属 上 个 节 点 地 址 以 及 下 个 节 点 地
址
主控机记录新节点在环
,
内的位置
由地址高低顺序插入环
,
,
。
,
,
。
子节点设备回送超时或帧错误次数超过一设定
判断此节点故障
,
系统从环中删除此节点
,
。
值
2.3
数据抢发
当通信系统站点有紧急情况需要及时上传数据
可在抢发时间内将数据上传
主控机记录当前环
,
,
使抢发帧 发 送 结 束 后 仍按 已 定 的 环 结 构
,
时
结构顺序
进行顺序上传
2.4
。
断环处理
当 通 信 系 统 有 节 点 设 备 丢 失 或 节 点 设 备 故 障
主控机检测信道无信
时
令牌环中断
,
号或信号错误
当连
,
将故障节点
续
,
3
下 个
下个站点地址
“
故 障 节 点 恢 复 正 常 后 需
站点地址
要进行节点成环操作
需重新组环
,
主控机向当前节点发询问指令
,
赋给故障节 点 的 上 个 节 点 的
主控机发续环指令
,
剔除故 障 节 点
次询问无效后
”,
“
。
”
,
重新加入环
,
。
2.5
竞争处理
当多个节点同时占用信道时会导致冲突
使数
,
,
,
,
,
,
。
。RS485
总 线 出 现 竞 争
总线出现竞 争 时 会 导 致 帧 破 坏
据传输错误甚至系统通信瘫痪
议模块具有信道侦听功能
信道为空闲时节点 开 始 占 用 信 道
发时间内出 现 了 同 时 抢 发 后
多主通信协
在协议规定的时间内且
当 多 个 节 点 在 抢
由 于
发 送 的 数 据
RS485
节 点 判 断 自 发 的 引 导 码 并 与 自 侦
与接收数据不同
,
当 节 点 监 测 到 发 送 引 导 码
测的信道信号进行 比 较
当 总
表 明 信 道 出 现 竞 争
数据与侦测数据 相 异 后
优先级最低的
线出现竞争后
节点重复发送引导码
,
,
个字节的引导码错误后立即退出
节点在检测到第
并一直
总线
,
如 果 判 断 自 发 的 引 导 码 与 侦 测 的
侦测判断引导码
,
退出总线
引导码相异的次数超过节点的优先级数
,
次 相 符 后
当自发的引导码与 侦 测 的 引 导 码 连 续
,
表面抢占总线成 功
当 自 发
的帧内 容 与 侦 测 的 帧 内 容 相 同 后 表 明 发 送 完 成
优先级最高的节点重复发多个引导码
,
重 新 发 送 完 整 数 据 帧
,
。
1
3
,
。
。
,
信号清零
2.6
BUSY
2
,
。
优先级设定
每个节点设备有固定优先级和浮动优先级
固定优先级 分 两 级 优 先 级
浮动优先级与节点设备所处的地址一致
;
种
节 点 设 备 出 厂 时
级别
。
即
已确定
,
节点设备的优先级由固定
地址数越大优先级越高
固定优先级高的节
优先级和浮动优先级共同确定
固 定
点设备在总线 空 闲
时 间 内 起 作 用
优先级低的在 总 线 空 闲
,
所处设备的固定优先级相同时按浮动优先级进行判
断
保 证 在 通 信 系 统
防止总线出现锁死
出现竞争时总有节点退出竞争
,
每个节点都有 唯 一 的 优 先 级
。
时 间 内 起 作 用
4~5byte
5~6byte
。
。
,
,
。
模块软件设计
3
多主 通 信 协 议 模 块 采 用
RS485
模块 程 序 中 定 义 了
FrameLoad()
、MakeCir()
抢发操作函数
断 环 操 作 函 数
程序基本流程如图
所示
2
。
、FrameSend()
。
语 言 编 程
C
帧 装 载 函 数
组环操作函数
、
帧 数 据 发
对帧的结构体
、
GetBus()
BreakCir()
送函数
。
定义如下
:
struct frame{
unsigned char LastAdr;//
unsigned char SelfAdr;//
上个站点的地址
存本机地址
存下个站点的地址
unsigned char NextAdr;//
unsigned char Commad;//
存命令
unsigned char FremData[256];//
存发送的数 据
单 帧 最 大 数 据
,
长度为
256
*Fun();//
函数指针
}frame 1;
中国煤炭期刊网 www.chinacaj.net
·02·
工矿自动化
2013
年第
卷
39
下的总线竞争时
无效字节数为
,
市场上常用的
ModBus
_
RTU
54byte。
通信协议的无效
字节数分析
:
_
RTU
以读
,
4x
ModBus
帧和回送帧
如下
头
闲判断
共无效字节数为
(6byte)+
(4byte)+
校验
协议采用主从通信结构
寄 存 器 为 例
,
分巡检
,
无 效 字 节 数 分 析
帧
回送帧无效字节数为空
总
(4byte)+
校验
(2byte)。
(2byte);
帧头
(3byte)+
21byte。
巡检帧 无 效 字 节 数 为 空 闲 判 断
:
综上所述
,RS485
多 主 通 信 协 议 模 块 在 信 道 正
数据传输 效 率 高 于 普 通 的 主 从 式 传 输 协
,
节点频繁出现断线或传输
,
当总线出现较大干扰
,
常运行时
议
错误时
系统传输有阻塞的可能
,
。
结语
5
,
RS485
基于 类 令 牌 环 的
有较高的数据传输效率
,
多 主 通 信 协 议 模 块 在
总线节点容量不大 并 且 信 道 干 扰 较 小 的 情 况 下
无
具有信道自
效字节数较少
;
保 证 通 信
动侦测功能及可靠 的 总 线 竞 争 仲 裁 机 制
系统在出现总线竞 争 时 可 自 动 恢 复
数 据 抢 发 机 制
链路层和物
保证了关键设备的响应速度
理层进行了 统 一
并 提 高 开 发 效
,
率
但 在 总 线 出 现 较
大干扰时
可实现现场 设 备 的 即 插 即 用
;
便 于 设 备 的 维 护
总线会频繁出现续环操作
,
耗时较长
,
RS485
对
;
,
;
,
。
。
参考文献:
许开君
李忠波
,
模拟电子技术
.
北 京
[M].
机 械 工 业 出
:
张国雄
金 篆 芷
,
测 控 电 路
.
北 京
[M].
机 械 工 业 出 版
:
恩格尔
普 罗 阿 基 斯
,
数 字 信 号 处 理
使 用
:
刘树棠
译
,
西安交通大学出版社
:
.
西安
.
MATLAB
,2009.
机 械 工 业 出 版 社
晶 闸 管 应 用
.
[M].
北 京
:
版社
,2000.
社
,2004.
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[M].
张庆 双
2009.
秦曾煌
2002.
赵文博
出版社
,
,
电工学
.
[M].
北京
高等教育出版社
:
,1999.
邹伯 敏
自 动 控 制 理 论
.
北 京
[M].
:
机 械 工 业 出 版 社
常用集 成 电 路 速 查 手 册
.
北 京
[M].
机 械 工 业
:
陈翡
[8]
,2010.
韩旭杉
,
无模型自适应控制策略在动态 电 压 恢 复
.
器 中 的 应 用 研 究
工 矿 自 动 化
[J].
,2010,36(12):
33-36.
张雪平
[9]
单片机 在 交 流 电 动机 软 启 动 中 的 应 用
.
矿自动化
,2005,21(4):17-18.
工
[J].
图
2 RS485
多主通信协议模块程序基本流程
效果分析
4
通信数据帧结构为帧头
相对于帧数据而言
,
据通信系统的目的 是 传 输 帧 数 据
内
无效字节
效率越高
个循环周期内
在
。
1
+
+
。
帧数据
在
数
帧校验
个 传 输 周 期
将其他传输字节称为辅助的
,
通信
,
无效字节越小
,
,
1
。
以 下 分 析 协 议 模 块 组 成 的 通 信 系 统 在 顺 序 传
抢发操作
并与市场
、
断环操作时的无效字节数
、
输
上常用的通信协议进行比较分析
。
顺 序 传 输 时 无 效 字 节 数 如 下
空 闲 判 断
。
:
上个站点地址
(1byte)+
目 标 地 址
(1byte)+
长度
(1byte)+
下 个 站 点 地
无效字
(1byte)+
(2byte)。
引导码
(6byte)+
源地址
址
节数为
(1byte)+
(1byte)+
命令
14byte。
抢发操作时无效字节数如下
字节数与顺序传 输 时 相 同
情况下
为
,
即同信道 下 接 有 最 大
,
的
32
个模块站同时发送帧
和
32
31
2
总线竞争
则无 效 字 节 数 如 下
,
帧破坏字节
效字节数为
(34byte)+
54byte。
14byte;
正常情况下
:
无效
,
在 最 恶 劣 的
地 址 为
并且信道出现了
,
个 模 块 站
,
空 闲 判 断
:
重 新 发 送 帧
(5byte)+
无
(15byte)。
当通信系统出现断环时无效字节数如下
表 明 当 前 模 块 无 响 应
时 间 内
,
7byte
线空闲
机发送续环指令
指令 帧 和 数 据 传 输 帧
续 环 指 令 帧
。
下个站点继续发送数据
,
续 环 指 令 帧
,
当总
:
主 控
则有续环
,
空 闲 判 断
空 闲
无效字节数
:
:
数 据 传 输 帧
(9byte);
下个数据帧
(15byte)。
(7byte)+
判断
为
37byte。
(6byte)+
从以上分析可看出
设计的
:
议模块 在 信 道 良 好 并 且 未 出 现 信 道 竞 争 时
输 周期内无效字节数为
14byte;
RS485
多主通信协
个 传
当出现最恶劣情况
,1
中国煤炭期刊网 www.chinacaj.net