- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无线抄表mac层协议20140926
无线抄表消息交换内容与格式
1 节点消息交换流程
1.1 采集器收发流程
(1)初始化状态:sleep状态,定时唤醒计时器Twakeup开始工作。
(2)每月自动wakeup一次,或接收到外部抄表命令后,将所有定时器、计数器清0,然后循环广播开始抄表命令1秒钟,保证所有节点自动wakeup时都有机会收到广播消息,启动定时器TJ0(假设10min),进入等待接收状态;
(3)接收并立即回复状态:如果没收到消息,继续等待直至TJ0超时,返回抄表失败消息,返回sleep状态;如果收到消息,核对目的地址,如果不是采集器ID,直接忽略,丢弃此数据包;如果是采集器ID,进一步核对消息类别号,如果是:
请求上报水表数据消息,提取水表ID号(源地址),比较当前日期和相应水表数据更新日期,如果相同,则说明已上报更新过水表数据,回复禁止发送命令;如果不同,回复请求允许命令;
上报水表数据消息,提取水表ID号(源地址),比较已存数据和提交数据,如果相同,则说明已上报更新过水表数据,回复禁止发送命令;如果不同,保存更新数据,回复确认数据收到命令;
Twakeup到时wakeup,或外部抄表命令唤醒,所有定时器、计数器清0
循环广播开始抄表命令1s,启动TJ0,进入接收状态
是否收到消息?
Y
N
是采集器地址否?
Y
N
处于Sleep状态,Twakeup开始工作
TJ0是否超时?
Y
N
返回抄表失败消息
返回sleep状态,Twakeup开始工作
是请求上报消息否?
Y
N
提取源地址,查找数据表
日期是否相同?
Y
N
回复禁止发送命令
回复上报请求允许命令
是请求上报消息否?
Y
N
提取源地址,查找数据表
数据是否相同?
Y
N
回复禁止发送命令
更新数据,回复收到确认消息
1.2 水表节点收发流程
(1)初始化状态:进入sleep状态,定时唤醒(每秒)计时器Twakeup开始计时。
(2)每秒钟自动wakeup一次,定时sleep(每5ms)计时器Tsleep开始计时,进入等待接收状态,如果收到开始抄表命令,读水表数据并存下来,将所有定时器、计数器清0,抄表状态标识位WorkFlag置1,准备好请求上报水表数据消息,sleep 1s后(保证抄表命令广播结束),启动发送超时定时器TBTx0(假设3min),进入发送状态;如果没收到开始抄表命令,继续等待,直至Tsleep超时,返回sleep状态。
(3)发送状态:侦听信道是否空闲(由两方面判断:首先,自己是否收到消息,是则不空闲,否则再查看RssiValue,如果超过RssiThreshold则不空闲,否则认为空闲),如果空闲,发送消息,发送次数计数器CBTx0++,启动接收超时定时器TBRx0,进入接收状态;如果不空闲,休眠随机时间wakeup,若TBTx0未超时,进入发送状态,若TBTx0超时,返回sleep状态。
(4)接收状态:如果未收到消息,继续等待直至TBRx0超时,进入下一步;如果收到消息,保存并核对目的地址,如果不是本节点ID或广播消息,直接忽略,丢弃此数据包;否则进一步保存并核对消息类别号,如果是:
上报请求允许命令,则准备好发送上报水表数据消息,重启TBTx0,进入发送状态;
禁止发送命令,则返回sleep状态;
确认数据收到消息,则返回sleep状态;
(5)检查CBTx03(已尝试3次发送)? 是则放弃发送,视为上报失败,返回sleep状态;否则按已保存的消息类别号重新准备消息,重启TBTx0,进入发送状态;
定时wakeup,Tsleep开始计时,WorkFlag清0
是否收到消息?
Y
N
是开始抄表命令吗?
Y
N
处于Sleep状态,Twakeup开始工作
Tsleep是否超时?
N
Y
保存消息类别号至MsgType,存水表数据,所有定时器、计数器清0,WorkFlag置1
准备好请求上报水表数据消息
延时1 s
启动TBTx0计时器,调用发送子函数
WorkFlag==1?
N
Y
图1.2-1 水表节点收发程序主流程图
接收参数
信道是否空闲?
Y
N
TBTx0是否超时?
N
Y
发送消息,CBTx0++
启动TBRx0计时器,调用接收子函数
休眠随机时间后wakeup
返回Sleep状态,Twakeup开始工作
图1.2-2 水表节点发送子程序流程图
处于等待接收状态,TBRx0工作
是否收到消息?
Y
N
TBRx0是否超时?
N
Y
读MsgType,重新准备待发送消息
返回Sleep状态,Twakeup开始工作
Y
启动TBTx0计时器,调用发送子函数
是允许上报命令?
Y
N
是禁止发送命令吗?
N
Y
CBTx03?
N
是确认收到消息吗?
N
Y
准备好上报水表数据消息
启动TBTx0计时器,调用发送子函数
图1.2-3 水表节点接
您可能关注的文档
最近下载
- 安全监理应急预案应急预案计划.doc VIP
- 清理河道施工合同协议.docx VIP
- 骨科与康复科MDT 团队.docx VIP
- 防溺水安全专题教育ppt课件.pptx VIP
- BS ISO-IEC 38500-2024 Information technology — Governance of IT for the organization 信息技术ーー组织的信息技术治理.pdf
- 妇产科半年工作总结.pptx
- 杭剧的现状及传承发展对策.docx VIP
- 妇产科火灾演练应急预案和脚本.docx VIP
- TCL 滚筒洗衣机G100V200-HD1使用说明书.pdf
- 川崎机器人培训(厂家内部资料).pptx VIP
文档评论(0)