一种串口波形纠正方法及系统技术方案

技术编号:37332180 阅读:20 留言:0更新日期:2023-04-21 23:09
本发明专利技术涉及串口采样技术领域,提供了一种串口波形纠正方法及系统,包括:若字节中第n位的所有采样点的值仅存在一次值的变化,则计算每一位的高电平占比和低电平占比,并基于所有位的高电平占比和低电平占比,判断字节的波特率状况和偏移点的个数,根据字节的波特率状况和偏移点的个数,确定字节中第n位的第二数组,并基于第二数组中值的变化情况,计算第n位的值;若字节中第n位的所有采样点的值存在多次变化,则根据值发送变化的位置,计算第n位的值。保证了数据的准确性。保证了数据的准确性。保证了数据的准确性。

【技术实现步骤摘要】
一种串口波形纠正方法及系统


[0001]本专利技术属于串口采样
,尤其涉及一种串口波形纠正方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]现在的串口采样机制为在一个位上采样8个点或16个点,然后取中间3个点或1个点的值作为该位的值。
[0004]上述采样方式只适用于较规范的波形,对于一些异常波形采样的准确率较低,尤其是某些特定的异常波形,由于波形存在波特率偏差、相位偏差等问题,上述采样机制就有可能识别不到正确的数据。

技术实现思路

[0005]为了解决上述
技术介绍
中存在的技术问题,本专利技术提供一种串口波形纠正方法及系统,可以检测波形是否存在异常,若存在异常则判断是哪种异常,然后自适应的去纠正波形,从而保证数据的准确性。
[0006]为了实现上述目的,本专利技术采用如下技术方案:
[0007]本专利技术的第一个方面提供一种串口波形纠正方法,其包括:
[0008]获取一个字节的所有采样点的值;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种串口波形纠正方法,其特征在于,包括:获取一个字节的所有采样点的值;若字节中第n位的所有采样点的值仅存在一次值的变化,则计算每一位的高电平占比和低电平占比,并基于所有位的高电平占比和低电平占比,判断字节的波特率状况和偏移点的个数,根据字节的波特率状况和偏移点的个数,确定字节中第n位的第二数组,并基于第二数组中值的变化情况,计算第n位的值;若字节中第n位的所有采样点的值存在多次变化,则根据值发送变化的位置,计算第n位的值。2.如权利要求1所述的一种串口波形纠正方法,其特征在于,确定字节中第n位的第二数组的步骤包括:在所有位的高电平占比中,按顺序取出所有不为0的值,放入第一向量;在所有位的低电平占比中,按顺序取出所有不为0的值,放入第二向量;若第一向量和第二向量内的值均逐渐变小,且第n位的高电平占比high[n]和低电平占比low[n]均不为0,则偏移点的个数P为(2
k
‑2k
*low[n+1])/(n+1),若偏移点的个数P等于(2
k
‑2k
*high[n+1])/(n+1),则定义一个2
k

P大小的第二数组collect_check[n][],将第n位的采样点的值collect[n][]赋值到第二数组collect_check[n][],其中,k为设定值。3.如权利要求2所述的一种串口波形纠正方法,其特征在于,确定字节中第n位的第二数组的步骤还包括:若第一向量和第二向量内的值均逐渐变大,且第n位的高电平占比high[n]和低电平占比low[n]均不为0,则偏移点的个数P为(2
k
‑2k
*low[n+1])/(n+1),若偏移点的个数P等于(2
k
‑2k
*high[n+1])/(n+1),则定义一个2
k
+P大小的第二数组collect_check[n][],将第n位的采样点的值collect[n][]赋值到第二数组collect_check[n][],其中,k为设定值。4.如权利要求1所述的一种串口波形纠正方法,其特征在于,若第n位的第二数组...

【专利技术属性】
技术研发人员:温振新曹永龙乔敏杨成元
申请(专利权)人:山东有人物联网股份有限公司
类型:发明
国别省市:

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

1