一种AD通讯方法、存储介质及装置与流程

文档序号:32347281发布日期:2022-11-26 11:47阅读:46来源:国知局
一种AD通讯方法、存储介质及装置与流程
一种ad通讯方法、存储介质及装置
技术领域
1.本发明涉及ad通讯方法领域,尤其涉及一种能够自动调整模拟量输入的方法及步骤。


背景技术:

2.ad是微控制器提供的一种接口,专门用于将模拟量(电压,电流,温度等信号)转换成数字信号。由于微控制器自身集成的ad分辨率不高,基本10位或者12位,在ad转换过程中容易出现量化噪声,失真,导致理论的线性结果变成非线性,造成结果误差。
3.为了减小误差,提高ad采样精度。文献cn103051339b提供了一种ad采样值校正方法及系统,依托系统获取每一采样区间内的模拟输入电压值与理论ad采样值、实际ad采样值两种对应关系,生成每一采样区间的实际ad采样值与理论ad采样值的补偿关系,然后根据补偿关系,对实际ad采样值进行校正。预先获取的补偿关系是在外部环境较为理想的情况下,但在产品的实际使用过程中,使用环境较为复杂,各种干扰源较多,补偿关系值的准确性是否正确就有待考量。文献cn112187263a公开了一种针对采用电阻分压采样技术的ad采样值补偿系数迭代方法及系统,利用自动迭代算法对ad采样值补偿系数进行自动计算,直至循环次数达到平均值计算次数预设值,计算所有ad采样值补偿系数的平均值作为最终的ad采样值补偿系数输出,计算得到ad采样值补偿系数的过程为在中断中执行,且ad采样值补偿系数存入rom中。但中断具有快速响应和优先级功能,循环计算ad采样值补偿系数并存入rom,容易被其他更高优先级中断干扰,若自身处于最高优先级,在计算的同时有任务到来则会影响任务的执行,影响实时性,若有需要频繁计算的情况,可能造成其他系统异常,数据丢失等现象。


技术实现要素:

4.鉴于上述问题,需要提供一种能够优化模拟量输入域结果的计算方法。
5.为实现上述目的,第一方面,申请人提供了一种ad通讯方法,包括如下步骤:
6.获取ad采样结果ad_value;
7.计算当前采样值b1,b1=ad_value*第一测量参数c1,
8.计算当前采样值与初始采样值的倍数值tmpnumv,tmpnumv=b1/b2;b2是初始采样值,
9.根据倍数值计算当前采样量级a1;
10.根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y;
11.x=a1/(b1

b2);
12.y=a1-(b1*x);
13.根据x和y得到校正模拟量result,
14.result=x*b1+y/2;
15.将所述校正模拟量传送至下一级单元。
16.在一些具体的实施例中,所述初始采样值设置为0.003。
17.在一些具体的实施例中,所述ad采样结果为滤波之后的ad采样结果。
18.在一些具体的实施例中,根据倍数值计算当前采样量级a1具体为:
19.a1=(float)tmpnumv/n;
20.其中tmpnumv是倍数值,n是预设系数;n的取值为100。
21.在一些具体的实施例中,还包括存储步骤,定义存储曲线缓存calctheslope[4]={a1,b1,a2,b2},其中a1是当前采样量级,b1是当前采样值,a2是初始采样量级,b2是初始采样值。
[0022]
在一些具体的实施例中,根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y:
[0023]
x=(a1

a2)/(b1

b2);
[0024]
y=a1-(b1*x);
[0025]
根据x和y得到校正模拟量result,
[0026]
result=x*b1+y/2。
[0027]
一种ad通讯存储介质,存储有计算机程序,所述计算机程序在被运行时执行包括如下步骤:
[0028]
获取ad采样结果ad_value;
[0029]
计算当前采样值b1,b1=ad_value*第一测量参数c1,
[0030]
计算当前采样值与初始采样值的倍数值tmpnumv,tmpnumv=b1/b2;b2是初始采样值,
[0031]
根据倍数值计算当前采样量级a1;
[0032]
根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y;
[0033]
x=a1/(b1

b2);
[0034]
y=a1-(b1*x);
[0035]
根据x和y得到校正模拟量result,
[0036]
result=x*b1+y/2;
[0037]
将所述校正模拟量传送至下一级单元。
[0038]
在一些具体的实施例中,所述ad采样结果为滤波之后的ad采样结果。
[0039]
在一些具体的实施例中,定义存储曲线缓存calctheslope[4]={a1,b1,a2,b2},其中a1是当前采样量级,b1是当前采样值,a2是初始采样量级,b2是初始采样值,所述初始采样值设置为0.003;
[0040]
根据倍数值计算当前采样量级a1具体为:
[0041]
a1=(float)tmpnumv/n;
[0042]
其中tmpnumv是倍数值,n是预设系数;n的取值为100;
[0043]
根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y:
[0044]
x=(a1

a2)/(b1

b2);
[0045]
y=a1-(b1*x);
[0046]
根据x和y得到校正模拟量result,
[0047]
result=x*b1+y/2。
[0048]
一种ad通讯装置,包括上述的ad通讯存储介质。
[0049]
区别于现有技术,上述方案能够通过设计简洁的外部电路,通过ad通讯的处理方法直接对采集到的当前采样值进行计算,因此能够及时地对采样值的校正量result进行计算,无需预先存储各式参数占用过多mcu资源空间,不用在中断中处理,预防被其他高优先级中断或者降低其他任务的实时性,增强了软件的健壮性。本方案根据实时输入的模拟量自动计算得出曲线结果并对采样结果进行校正。
[0050]
上述发明内容相关记载仅是本技术技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本技术的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本技术的上述目的及其它目的、特征和优点能够更易于理解,以下结合本技术的具体实施方式及附图进行说明。
附图说明
[0051]
附图仅用于示出本发明具体实施方式以及其他相关内容的原理、实现方式、应用、特点以及效果等,并不能认为是对本技术的限制。
[0052]
在说明书附图中:
[0053]
图1为具体实施方式所述的一种ad通讯方法的流程图;
[0054]
图2为具体实施方式所述的一种ad采样滤波方法流程图;
[0055]
图3为具体实施方式所述的一种存储方法流程图;
[0056]
图4为具体实施方式所述的一种ad通讯存储介质示意图;
[0057]
图5为具体实施方式所述的一种ad通讯装置示意图。
具体实施方式
[0058]
为详细说明本技术可能的应用场景,技术原理,可实施的具体方案,能实现目的与效果等,以下结合所列举的具体实施例并配合附图详予说明。本文所记载的实施例仅用于更加清楚地说明本技术的技术方案,因此只作为示例,而不能以此来限制本技术的保护范围。
[0059]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中各个位置出现的“实施例”一词并不一定指代相同的实施例,亦不特别限定其与其它实施例之间的独立性或关联性。原则上,在本技术中,只要不存在技术矛盾或冲突,各实施例中所提到的各项技术特征均可以以任意方式进行组合,以形成相应的可实施的技术方案。
[0060]
除非另有定义,本文所使用的技术术语的含义与本技术所属技术领域的技术人员通常理解的含义相同;本文中对相关术语的使用只是为了描述具体的实施例,而不是旨在限制本技术。
[0061]
在本技术的描述中,用语“和/或”是一种用于描述对象之间逻辑关系的表述,表示可以存在三种关系,例如a和/或b,表示:存在a,存在b,以及同时存在a和b这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”的逻辑关系。
[0062]
在本技术中,诸如“第一”和“第二”之类的用语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实际的数
量、主次或顺序等关系。
[0063]
在没有更多限制的情况下,在本技术中,语句中所使用的“包括”、“包含”、“具有”或者其他类似的开放式表述,意在涵盖非排他性的包含,这些表述并不排除在包括所述要素的过程、方法或者产品中还可以存在另外的要素,从而使得包括一系列要素的过程、方法或者产品中不仅可以包括那些限定的要素,而且还可以包括没有明确列出的其他要素,或者还包括为这种过程、方法或者产品所固有的要素。
[0064]
与《审查指南》中的理解相同,在本技术中,“大于”、“小于”、“超过”等表述理解为不包括本数;“以上”、“以下”、“以内”等表述理解为包括本数。此外,在本技术实施例的描述中“多个”的含义是两个以上(包括两个),与之类似的与“多”相关的表述亦做此类理解,例如“多组”、“多次”等,除非另有明确具体的限定。
[0065]
在本技术实施例的描述中,所使用的与空间相关的表述,诸如“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“垂直”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等,所指示的方位或位置关系是基于具体实施例或附图所示的方位或位置关系,仅是为了便于描述本技术的具体实施例或便于读者理解,而不是指示或暗示所指的装置或部件必须具有特定的位置、特定的方位、或以特定的方位构造或操作,因此不能理解为对本技术实施例的限制。
[0066]
除非另有明确的规定或限定,在本技术实施例的描述中,所使用的“安装”“相连”“连接”“固定”“设置”等用语应做广义理解。例如,所述“连接”可以是固定连接,也可以是可拆卸连接,或成一体设置;其可以是机械连接,也可以是电连接,也可以是通信连接;其可以是直接相连,也可以通过中间媒介间接相连;其可以是两个元件内部的连通或两个元件的相互作用关系。对于本技术所属技术领域的技术人员而言,可以根据具体情况理解上述用语在本技术实施例中的具体含义。
[0067]
请参阅图1,本实施例提供了一种ad通讯方法,包括如下步骤:s1获取ad采样结果ad_value;s2计算当前采样值b1,b1=ad_value*第一测量参数c1,
[0068]
s3计算当前采样值与初始采样值的倍数值tmpnumv,tmpnumv=b1/b2;
[0069]
s4根据倍数值计算当前采样量级a1;
[0070]
s5根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y;
[0071]
x=a1/(b1

b2);
[0072]
y=a1-(b1*x);
[0073]
根据x和y得到校正模拟量result,
[0074]
result=x*b1+y/2;
[0075]
s6将所述校正模拟量传送至下一级单元。
[0076]
其中ad通讯模块可以采集电压数值,并可以进行模拟信号(analog signal)与数字信号(digital signal)之间进行转化的模块,ad通讯方法可以是在ad通讯模块中进行,ad通讯模块可以具备简单的边缘计算功能,并可以利用其闪存功能存储部分能够被调用的数据。针对电路采样如采样电路的电压值ad_value。测量参数c1为用于调整采样结果和采样值之间关系的比例系数,可以根据需要设置。其中b2为设置的初始采样值,b2的具体设置可以根据电路的元件情况确定。再根据倍数值tmpnumv来确定当前采样量级a1,可以设置为当前采样量级与倍数值正相关,在一些具体的实施例中,当前采样量级a1还可以根据倍数
值所在的区间对应的当前采样量级数值进行确定。在计算得到a1和b1的值之后,通过中间参数x、y计算模拟校正量result。能够最终达到获得模拟校正量的效果,通过计算模拟校正量,能够让ad通讯模块能够直接根据采集的数据进行校正量的计算,能够为下一单元提供准确的采集量数据。从而无需预先存储各式参数占用过多mcu资源空间,不用在中断中处理,预防被其他高优先级中断或者降低其他任务的实时性,增强了软件的健壮性。外部电路也可以更为简洁。
[0077]
为了更好地进行校正量的计算,在一些具体的实施例中,所述初始采样值设置为0.003。将b2设置为0.003能够更加科学地进行校正模拟量的计算。
[0078]
在具体的应用场景下,采样电路的信号可能受到多重因素的影响,可能出现较多的杂波,因此在一些如图2所示的实施例中,还进行步骤s200、ad采样结果为滤波之后的ad采样结果。
[0079]
在一些具体的实施例中,根据倍数值计算当前采样量级a1具体为:
[0080]
a1=(float)tmpnumv/n;
[0081]
其中tmpnumv是倍数值,n是预设系数;n的取值为100。通过对倍数值进行浮点运算,再进行预设系数的调整,能够节约算力,更好地更快地得到当前采样量级a1。通过上述步骤,本实施例达到了能够优化计算当前采样量级的技术效果。
[0082]
在一些其他一些如图3所示的具体的实施例中,还包括存储步骤s300,定义存储曲线缓存calctheslope[4]={a1,b1,a2,b2},其中a1是当前采样量级,b1是当前采样值,a2是初始采样量级,b2是初始采样值。通过设计曲线缓存,能够让采样数据不容易消失,能够通过曲线缓存让外部处理器更好地调用到当前采样量级、当前采样值、初始采样量级、初始采样值的内容进行适用。
[0083]
在一些具体的实施例中,还可以设置初始采样量级a2,并调用初始采样量级对参数进行调整,具体的根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y步骤如下:
[0084]
x=(a1

a2)/(b1

b2);
[0085]
y=a1-(b1*x);
[0086]
根据x和y得到校正模拟量result,
[0087]
result=x*b1+y/2。初始采样量级a2也可以根据实际需要进行设置,在本实施例中,初始采样量级可以设置为0,还可以设置为自然数1、2

等。通过设置初始采样量级,能够达到更准确地调整校正模拟量的技术效果。使得本方案的适应性得到提升。
[0088]
在如图4所示的实施例中,本技术还设计一种ad通讯存储介质400,存储有计算机程序,所述计算机程序在被运行时执行包括如下步骤:
[0089]
获取ad采样结果ad_value;
[0090]
计算当前采样值b1,b1=ad_value*第一测量参数c1,
[0091]
计算当前采样值与初始采样值的倍数值tmpnumv,tmpnumv=b1/b2;
[0092]
根据倍数值计算当前采样量级a1;
[0093]
根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y;
[0094]
x=a1/(b1

b2);
[0095]
y=a1-(b1*x);
[0096]
根据x和y得到校正模拟量result,
[0097]
result=x*b1+y/2;
[0098]
将所述校正模拟量传送至下一级单元。
[0099]
上述存储介质设计在计算得到a1和b1的值之后,通过中间参数x、y计算模拟校正量result。能够最终达到获得模拟校正量的效果,通过计算模拟校正量,能够让ad通讯模块能够直接根据采集的数据进行校正量的计算,能够为下一单元提供准确的采集量数据。从而无需预先存储各式参数占用过多mcu资源空间,不用在中断中处理,预防被其他高优先级中断或者降低其他任务的实时性,增强了软件的健壮性。外部电路也可以更为简洁。
[0100]
在一些具体的实施例中,所述ad采样结果为滤波之后的ad采样结果。通过滤波能够更好地消除采样信号中的杂波干扰,更好地提升计算结果的准确性。
[0101]
在一些具体的实施例中,定义存储曲线缓存calctheslope[4]={a1,b1,a2,b2},其中a1是当前采样量级,b1是当前采样值,a2是初始采样量级,b2是初始采样值,所述初始采样值设置为0.003;
[0102]
根据倍数值计算当前采样量级a1具体为:
[0103]
a1=(float)tmpnumv/n;
[0104]
其中tmpnumv是倍数值,n是预设系数;n的取值为100;
[0105]
根据计算得到的当前采样量级a1和当前采样值b1计算得到曲线参数x和y:
[0106]
x=(a1

a2)/(b1

b2);
[0107]
y=a1-(b1*x);
[0108]
根据x和y得到校正模拟量result,
[0109]
result=x*b1+y/2。
[0110]
本技术的存储介质通过设置初始采样量级,能够达到更准确地调整校正模拟量的技术效果。使得本方案的适应性得到提升。
[0111]
在如图5所示的一些实施例中,还包括一种ad通讯装置500,包括上述的ad通讯存储介质400。上述ad通讯装置500能够通过设计简洁的外部电路,通过ad通讯的处理方法直接对采集到的当前采样值进行计算,因此能够及时地对采样值的校正量result进行计算,无需预先存储各式参数占用过多mcu资源空间,不用在中断中处理,预防被其他高优先级中断或者降低其他任务的实时性,增强了软件的健壮性。本方案根据实时输入的模拟量自动计算得出曲线结果并对采样结果进行校正。
[0112]
最后需要说明的是,尽管在本技术的说明书文字及附图中已经对上述各实施例进行了描述,但并不能因此限制本技术的专利保护范围。凡是基于本技术的实质理念,利用本技术说明书文字及附图记载的内容所作的等效结构或等效流程替换或修改产生的技术方案,以及直接或间接地将以上实施例的技术方案实施于其他相关的技术领域等,均包括在本技术的专利保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1