[发明专利]隔离型RS485/RS422中继隔离器的波特率识别方法及数据流控制方法有效
申请号: | 201410218853.2 | 申请日: | 2014-05-22 |
公开(公告)号: | CN103973533B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 王建民;赵有以;任会权 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | H04L12/40 | 分类号: | H04L12/40 |
代理公司: | 哈尔滨市松花江专利商标事务所23109 | 代理人: | 张宏威 |
地址: | 150080 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 隔离 rs485 rs422 中继 隔离器 波特率 识别 方法 数据流 控制 | ||
技术领域
本发明涉及通信技术领域。
背景技术
RS485/RS422异步通信是目前在工控领域广泛采用的总线标准。当实际节点数目超出最大限制,或是通信距离过远、干扰过大时,如何保证信息的完整可靠传输,是通讯系统中的巨大挑战。实际应用中,一般使用在总线上插入中继器的方式来解决这一问题,如图3所示。在两线制半双工通信系统中,传统的中继器通常不具有波特率自适应的功能,或是具有简单的精度不高的适应性,或是对主机具有一定的依赖性,需要主机发送特定字节完成波特率识别,导致数据流方向控制实时性差,从而使其应用领域受到很多限制。
发明内容
本发明是为了解决传统的中继器通常不具有波特率自适应的功能,精度低,导致数据流方向控制实时性差的问题,从而提供了一种隔离型RS485/RS422中继隔离器的波特率识别方法及数据流控制方法。
隔离型RS485/RS422中继隔离器的波特率识别方法,该方法通过以下步骤实现,所述步骤包括:
空闲状态步骤:中继隔离器处于空闲状态,接收测量信号,并判断该信号是否有效,判断结果为是,则将i置0,并执行等待步骤;判断结果为否,则返回空闲状态,等待接收测量信号;
其中i表示一个计数值;
等待步骤:该步骤中令第i个测量值cnt[i]=0,并判断中继隔离器的接收引脚上是否有时钟下降沿,判断结果为是,则执行运行步骤;判断结果为否,则重新执行等待步骤;
运行步骤:该步骤每个时钟上升沿将cnt[i]的值加1,即cnt[i]←cnt[i]+1,并判断中继隔离器的接收引脚上是否有时钟上升沿,判断结果为否,则继续对低电平持续时钟数统计;判断结果为是,则对低电平持续时钟数统计结束,i的值加1,该值表示测量次数,判断i是否等于50时,判断结果为是,则j=0,j表示计数变量,并执行排列步骤;判断结果为否,则重新执行等待步骤;
排列步骤:该步骤中令i=0,执行比较步骤;
比较步骤:判断第i个测量值cnt[i]是否大于第i+1个测量值cnt[i+1],判断结果为是,则交换cnt[i]和cnt[i+1]的值,即tmp←cnt[i],cnt[i]←cnt[i+1],cnt[i+1]←tmp,其中tmp表示中间变量,使得相邻的两个数中后者大,并i的值加1;判断结果为否,则i的值直接加1;
比较步骤完成则判断i是否等于49,判断结果为否,则重新执行比较步骤,判断结果为是,则令j的值加1,并判断j是否为49,若是,则执行求开始序号步骤,若判断结果为否,则重新执行排列步骤;
求开始序号步骤:根据排列步骤和比较步骤,得到cnt[i]的值排列顺序为由小至大排列,判断相邻两个值后者比前者差值是否小于20,即cnt[i]+20>cnt[i+1],判断结果为是,则令start的值等于i,其中start表示开始序号,并执行求结束序号步骤;判断结果为否,则i的值加1,并重新执行开始序号步骤;
求结束序号步骤:判断相邻两个值后者比前者差值是否大于20,即cnt[i]+20<cnt[i+1],判断结果为是,则令stop的值等于i,其中stop表示结束序号,并计算结束序号stop与开始序号start间数据的个数num,即num←stop-start+1,同时令i的值为start的值,sum为0,sum表示所有数据的和,执行求和步骤;判断结果为否,则i的值加1,并重新执行求结束序号步骤;
求和步骤:令sum等于原sum的值加cnt[i],判断i的值是否等于stop的值,判断结果为是,则执行计算步骤;判断结果为否,则i的值加1,并重新执行求和步骤;
计算步骤:令sum除以num得到该方法计算出的数avg,即得到对应一位数据的时间的均值,根据得到的时间的均值计算得出波特率。
隔离型RS485/RS422中继隔离器的数据流控制方法,该方法通过以下步骤实现,所述步骤包括:
空闲状态步骤:接受使能信号有效,发送使能信号无效,判断中继隔离器的左右两个数据接收引脚是否同时出现信号下降沿,判断结果为是,则重新执行该步骤;判断结果为否,即只有左侧或右侧出现信号下降沿,则令cnt为0,并执行等待步骤;该步骤中左右两侧数据接收引脚后续步骤相同;
等待步骤:关闭右侧接收使能信号,打开右侧发送使能信号,并令cnt的值加1,判断cnt的值是否等于10*avg,其中avg为波特率识别中计算出来的数,判断结果为是,则执行检测步骤;判断结果为否,则继续执行等待步骤;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410218853.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种消毒洗涤剂
- 下一篇:一种复方太子参芳香油