System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() HDLC协议串口波特率自适应调节方法及装置制造方法及图纸_技高网

HDLC协议串口波特率自适应调节方法及装置制造方法及图纸

技术编号:41063895 阅读:8 留言:0更新日期:2024-04-24 11:17
本申请提供一种HDLC协议串口波特率自适应调节方法及装置,涉及串口通信技术领域。所述方法包括:检测接收数据是否存在边沿变化;在检测到接收数据存在边沿变化的情况下,确定当前比特的实际采样点的位置;比较当前比特的实际采样点的位置与当前比特对应的理论中间位置的关系,得到比较结果;根据所述比较结果调节接收端在接收后续比特时的HDLC协议串口波特率。本申请提供的HDLC协议串口波特率自适应调节方法及装置,简便易行,且能够降低成本。

【技术实现步骤摘要】

本申请涉及串口通信,尤其涉及一种hdlc协议串口波特率自适应调节方法及装置。


技术介绍

1、高级数据链路层控制(high-level data link control,hdlc)是一种面向比特(bit)的链路层协议,其最大特点是不需要数据必须是规定字符集,对任何一种比特流均可以实现透明传输。hdlc协议通信要求收发双方约定波特率并保持一致,一般来说,接收方在接收串行数据时要求在每bit数据的中点位置进行采样,因为此位置的波形最稳定,但由于硬件差异和传输距离等因素的影响,串行通信收发双方的波特率往往存在一定偏差,由于hdlc协议需要连续传输上百字节,且每字节不存在类似通用异步收发传输器(universalasynchronous receiver/transmitter,uart)协议的起始位和停止位,导致由波特率偏差引起的采样点偏离每bit中点位置的情况无法及时纠正,且随着每bit数据的传输,偏差会不断累计,最终必然导致数据锁存出错(如图1所示)。而目前串行通信的波特率自适应的方法较为复杂,难以实现,因此亟需提出一种新的串口波特率自适应调节方法。


技术实现思路

1、本申请提供一种hdlc协议串口波特率自适应调节方法及装置,能够解决目前串行通信的波特率自适应的方法较为复杂,难以实现的问题。本申请提供的hdlc协议串口波特率自适应调节方法简便易行,且能够降低成本。

2、第一方面,本申请实施例提供一种hdlc协议串口波特率自适应调节方法,包括:

3、检测接收数据是否存在边沿变化;

4、在检测到接收数据存在边沿变化的情况下,确定当前比特的实际采样点的位置;

5、比较当前比特的实际采样点的位置与当前比特对应的理论中间位置的关系,得到比较结果;

6、根据所述比较结果调节接收端在接收后续比特时的hdlc协议串口波特率。

7、在一个实施例中,在检测到接收数据存在边沿变化的情况下,确定当前比特的实际采样点的位置,包括:

8、在检测到接收数据存在边沿变化的情况下,启动第二计数器,记录从所述第二计数器启动时刻起所述接收端同步时钟的震荡次数;

9、在第一计数器重新启动时停止所述第二计数器,记录所述第二计数器的锁存值;所述第一计数器用于计算每一比特对应的理论中间位置;

10、根据所述锁存值确定当前比特的实际采样点的位置。

11、在一个实施例中,当前比特的实际采样点的位置至当前比特的起始位置的宽度为(z-1)/y;

12、其中,z为所述锁存值,y为所述接收端同步时钟的频率。

13、在一个实施例中,所述方法还包括:

14、在确定收到起始帧的时刻,启动第一计数器,记录从所述第一计数器启动时刻起所述接收端同步时钟的震荡次数;

15、在所述第一计数器每次计数到(y/x)-1时,停止、清零并重新启动所述第一计数器;

16、其中,y为所述接收端同步时钟的频率,x为发送端和所述接收端约定的初始波特率。

17、在一个实施例中,根据所述比较结果调节接收端在接收后续比特时的hdlc协议串口波特率,包括:

18、在(1/2x)-a<(z-1)/y<(1/2x)+a的情况下,确定所述接收端在接收后续比特时的hdlc协议串口波特率仍为x;

19、其中,(z-1)/y为当前比特的实际采样点的位置至当前比特的起始位置的宽度,1/2x为当前比特对应的理论中间位置至当前比特的起始位置的宽度,a为第一预设常数。

20、在一个实施例中,根据所述比较结果调节接收端在接收后续比特时的hdlc协议串口波特率,包括:

21、在(z-1)/y>(1/x)-b的情况下,确定增大所述接收端在接收后续比特时的hdlc协议串口波特率至x1;

22、其中,(z-1)/y为当前比特的实际采样点的位置至当前比特的起始位置的宽度,1/x为当前比特对应的理论终止位置至当前比特的起始位置的宽度,b为第二预设常数。

23、在一个实施例中,根据所述比较结果调节接收端在接收后续比特时的hdlc协议串口波特率,包括:

24、在(z-1)/y<b的情况下,确定减小所述接收端在接收后续比特时的hdlc协议串口波特率至x2;

25、其中,(z-1)/y为当前比特的实际采样点的位置至当前比特的起始位置的宽度,b为第二预设常数。

26、第二方面,本申请实施例提供一种hdlc协议串口波特率自适应调节装置,包括:

27、检测模块,用于检测接收数据是否存在边沿变化;

28、确定模块,用于在检测到接收数据存在边沿变化的情况下,确定当前比特的实际采样点的位置;

29、比较模块,用于比较当前比特的实际采样点的位置与当前比特对应的理论中间位置的关系,得到比较结果;

30、调节模块,用于根据所述比较结果调节接收端在接收后续比特时的hdlc协议串口波特率。

31、第三方面,本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。

32、第四方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。

33、第五方面,本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。

34、本申请实施例提供的hdlc协议串口波特率自适应调节方法及装置,在边沿变化的情况下,确定当前比特的实际采样点的位置,并基于当前比特的实际采样点的位置与当前比特对应的理论中间位置的比较结果调节串口波特率。该方法既不需要对既有串行通信硬件做任何修改,也不需要在hdlc协议中补充校验字节,可直接部署在rs-485等硬件接口上,简便易行,而且可以在降低成本的情况下保证hdlc协议串行通信的准确性和稳定性。

本文档来自技高网...

【技术保护点】

1.一种HDLC协议串口波特率自适应调节方法,其特征在于,包括:

2.根据权利要求1所述的HDLC协议串口波特率自适应调节方法,其特征在于,在检测到接收数据存在边沿变化的情况下,确定当前比特的实际采样点的位置,包括:

3.根据权利要求2所述的HDLC协议串口波特率自适应调节方法,其特征在于,当前比特的实际采样点的位置至当前比特的起始位置的宽度为(Z-1)/Y;

4.根据权利要求1所述的HDLC协议串口波特率自适应调节方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的HDLC协议串口波特率自适应调节方法,其特征在于,根据所述比较结果调节接收端在接收后续比特时的HDLC协议串口波特率,包括:

6.根据权利要求1所述的HDLC协议串口波特率自适应调节方法,其特征在于,根据所述比较结果调节接收端在接收后续比特时的HDLC协议串口波特率,包括:

7.根据权利要求1所述的HDLC协议串口波特率自适应调节方法,其特征在于,根据所述比较结果调节接收端在接收后续比特时的HDLC协议串口波特率,包括:

8.一种HDLC协议串口波特率自适应调节装置,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述HDLC协议串口波特率自适应调节方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述HDLC协议串口波特率自适应调节方法。

...

【技术特征摘要】

1.一种hdlc协议串口波特率自适应调节方法,其特征在于,包括:

2.根据权利要求1所述的hdlc协议串口波特率自适应调节方法,其特征在于,在检测到接收数据存在边沿变化的情况下,确定当前比特的实际采样点的位置,包括:

3.根据权利要求2所述的hdlc协议串口波特率自适应调节方法,其特征在于,当前比特的实际采样点的位置至当前比特的起始位置的宽度为(z-1)/y;

4.根据权利要求1所述的hdlc协议串口波特率自适应调节方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的hdlc协议串口波特率自适应调节方法,其特征在于,根据所述比较结果调节接收端在接收后续比特时的hdlc协议串口波特率,包括:

6.根据权利要求1所述的hdlc协议串口波特率自适应调节...

【专利技术属性】
技术研发人员:刘明张帆罗鑫刘昊于银刚
申请(专利权)人:交控科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1