动态调整低精度的DAC输出的方法、装置及存储介质与流程

文档序号:18560617发布日期:2019-08-30 23:14阅读:522来源:国知局
动态调整低精度的DAC输出的方法、装置及存储介质与流程

本发明涉及数模转换技术领域,尤其涉及一种动态调整低精度的dac输出的方法、装置及存储介质。



背景技术:

随着技术的发展,目前通用型dac芯片(12~16位)已经在各种高精度测量仪器中越来越多地被使用。尽管16位dac已经真正达到小于1位的线性误差和1ppm/c偏移的精密度,但实际应用中仍然有要求更高性能的dac应用,即使18位的dac已经生产出来了,但是其价格昂贵,并要求更频繁的校准,而同等位数甚至更高位数的adc价格相较明显更便宜。

目前市面上一般都会通过硬件设计反馈校正网络来校正误差以提高精度,其特点是能够动态校正,修正过零和满幅误差,但是此方式存在硬件电路设计相对复杂,且无法克服温漂等环境因素带来的误差放大等问题。

一般为提高da输出精度往往会选择直接更高精度的dac来提高da输出精度,但是其存在着价格昂贵,需要频繁的校准,且无法克服温漂等环境因素带来的误差等问题。而纯硬件的方式通过设计反馈校正网络来校正误差,提高了硬件设计的复杂度,且同样无法克服温漂等环境因素带来的误差放大等问题。



技术实现要素:

本发明通过一种软件算法,通过使用高精度的adc采样来动态调整低精度的dac输出,达到更高精度dac输出控制的目的。它既能克服各种温度环境带来的温漂误差确保输出精度,也能够修正实际应用过程中由于线路损耗带来的误差,从而提高dac输出精度。

本发明基于反馈校正设计原理,通过高精度adc来采集dac的实际输出,再通过软件算法进行连续动态校正,能够解决传统硬件调整方式精度低、成本高以及现有数字等问题。以尽可能在良好的成本控制前提下提高输出精度和稳定性。

本发明旨在至少解决现有技术中存在的技术问题。为此,本发明公开了一种动态调整低精度的dac输出的方法,其特征在于,通过高精度adc来采集dac的实际输出,再通过软件算法进行连续动态校正。

更进一步地,在dac输出端添加adc采样,以实时、连续的追踪dac实际输出值,并通过mcu将adc采样值与dac设定值进行比较,以确认设定值与实际值的差值是否在允许的精度范围内;若存在误差则计算对应的dac调整值,并通过dac输出,同时adc持续监测实时dac输出。

更进一步地,具体的所述dac调整值计算步骤如下所示:

步骤1:计算调整允许偏差值范围,所述偏差值范围由实际使用场景以及dac精度和位数确定,其范围情况为只有下限或同时具有上下限,然后调整上下限值,调整所述下限值为用输出满量程实际值除以dac最大输出值得到调整后的下限值,调整上限值为由实际使用场景决定是否存在和大小;

步骤2:计算实际偏差值,所述实际偏差值=da输出实际值-ad采样实际值;

步骤3:确认实际偏差值是否在调整允许偏差值范围内;若实际偏差值在调整允许偏差值范围内,则将实际偏差值换算成对应的da值并输出,da新设定值=da设定值+差值da值;若实际偏差值不在调整允许偏差值范围内,则保持当前da输出回到所述步骤2,继续等待下次数据更新与比较。

更进一步地,所述连续动态校正在实现过程中为确保每次dac输出值调整adc能采集到稳定的输出实际值,每次对dac值进行调整后,到下一次比较调整预留一定的延时等待时间。

更进一步地,所述的延时等待时间由dac输出稳定时间以及adc采样时间确定。

更进一步地,输入采集与输出控制组合成一个反馈控制系统,通过输入采集来判断输出值是否达到设定值;

更进一步地,根据不同场合的负载情况,通过mcu将adc采样值与dac设定值进行比较后动态补偿不同的电压值达到理想的输出。

更进一步地,所述的高精度adc的采样率为120msps分辨率为32bit的adc。

更进一步地,所述高精度adc配置为通过选通器与多个dac连接,通过所述选通器执行多个低精度的dac的输出动态调整。

本发明还公开了一种电子装置,其特征在于,包括:

处理器;以及,

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行上述任一项所述的动态调整低精度的dac输出的方法。

本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的动态调整低精度的dac输出的方法。

本发明与现有技术相比:本发明基于高精度adc,通过纯软件算法的方式,动态连续的自动校正dac输出,以实现更高精度的dac输出。既能克服各种温度环境带来的温漂误差确保输出精度,也能够修正实际应用过程中由于线路损耗带来的误差,从而提高dac输出精度。本发明具有可移植性强、成本低、灵活性强等特点。

附图说明

从以下结合附图的描述可以进一步理解本发明。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在图中,在不同的视图中,相同的附图标记指定对应的部分。

图1是本发明的动态调整低精度的dac输出的方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚;完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。需要说明的是,结合附图所阐述的详细描述旨在作为对各种配置的描述,而不旨在表示其中可以实践本文所描述的概念的唯一配置。本文中所记载的装置实施例和方法实施例将在下面的详细描述中进行描述,并在附图中通过各种框、模块、单元、组件、电路、步骤、过程、算法等等(统称为“要素”)来予以示出。这些要素可以使用电子硬件、计算机软件或者其任意组合来实现。至于这些要素是实现为硬件还是软件,取决于特定应用和施加在整体系统上的设计约束。本发明的说明书和权利要求书以及说明书附图中的术语如果使用“第一”、“第二”等描述,该种描述是用于区别不同对象,而不是用于描述特定顺序。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

实施例一

通常要做到比较高的输出精度,在硬件电路选用的器件上代价比较贵;同时,针对dac芯片部分应用场合比较复杂,实际需要补偿或调整的值会随客户或使用场景不一样而不同,修改硬件方式比较麻烦,周期长,与之相对的用软件算法实现则可快速简单的处理;当前能做的dac基本在20位左右,且有效精度低于20位;而adc采集分辨率可以到32位,有效精度也远高于20位的dac。

如图1所示,本发明基于反馈校正设计原理,通过高精度adc来采集dac的实际输出,再通过软件算法进行连续动态校正。硬件上只需在dac输出端添加adc采样,以实时、连续的追踪dac实际输出值,并通过mcu将adc采样值与dac设定值进行比较,以确认设定值与实际值的差值是否在允许的精度范围内;若存在误差则计算对应的dac调整值,并通过dac输出,同时adc持续监测实时dac输出。如此便实现了通过高精度adc对dac输出的连续动态校正,以确保dac输出的精度。

dac输出后硬件电路的稳定需要一定的时间包括adc采集也需要一定的时间,实际校正算法实现过程中为确保每次dac输出值调整adc能采集到稳定的输出实际值,每次dac值进行调整后,到下一次比较调整需要有预留一定的等待时间。这个延时时间由dac输出稳定时间以及adc采样时间确定,一方面需要确保dac的输出稳定,另一方面也要确保adc采样值的准确性,以确保校正的准确性。

具体的所述dac调整值计算步骤如下所示:

步骤1:计算调整允许偏差值范围,所述偏差值范围由实际使用场景以及dac精度和位数确定,其范围情况为只有下限或同时具有上下限,然后调整上下限值,调整所述下限值为用输出满量程实际值除以dac最大输出值得到调整后的下限值,调整上限值为由实际使用场景决定是否存在和大小;

步骤2:计算实际偏差值,所述实际偏差值=da输出实际值-ad采样实际值;

步骤3:确认实际偏差值是否在调整允许偏差值范围内;若实际偏差值在调整允许偏差值范围内,则将实际偏差值换算成对应的da值并输出,da新设定值=da设定值+差值da值;若实际偏差值不在调整允许偏差值范围内,则保持当前da输出回到所述步骤2,继续等待下次数据更新与比较。

同等位数甚至更高位数的adc价格相较于dac明显更便宜,虽然本发明需要增加adc来辅助进行dac校正,但是本发明还是提供了一种成本更低廉、灵活性和可移植性更强的方案来提高dac输出精度。

本实施例具体为:输入采集与输出控制组合成一个反馈控制系统,输出值是否达到目的,通过输入采集来判断;如用一个16位的dac输出一个电压为10.001v,认为实际输出为10.001v,但采集使用的为更高位数与精度的adc为10.002v,则认为时机输出为10.002v,此时可以减小输出,达到实际输出为10.001v(即实际采集到的为10.001v)

某个电源系统无远端采样电路,只有近端采样,此时输出为5v,带的负载比较大,将电源拉低了0.2v,即实际输出为4.8v(此时adc采集到的为4.8v);此时可人为加大输出;不同场合的负载不一样的情况下,可软件人为补偿不同的电压值达到理想的输出,以满足客户需求。

本实施例具体提供了一种动态调整低精度的dac输出的方法,其特征在于,通过高精度adc来采集dac的实际输出,再通过软件算法进行连续动态校正。

更进一步地,在dac输出端添加adc采样,以实时、连续的追踪dac实际输出值,并通过mcu将adc采样值与dac设定值进行比较,以确认设定值与实际值的差值是否在允许的精度范围内;若存在误差则计算对应的dac调整值,并通过dac输出,同时adc持续监测实时dac输出。

更进一步地,所述连续动态校正在实现过程中为确保每次dac输出值调整adc能采集到稳定的输出实际值,每次对dac值进行调整后,到下一次比较调整预留一定的延时等待时间。

更进一步地,所述的延时等待时间由dac输出稳定时间以及adc采样时间确定。

更进一步地,输入采集与输出控制组合成一个反馈控制系统,通过输入采集来判断输出值是否达到设定值;

更进一步地,根据不同场合的负载情况,通过mcu将adc采样值与dac设定值进行比较后动态补偿不同的电压值达到理想的输出。

更进一步地,所述的高精度adc的采样率为120msps分辨率为32bit的adc。

更进一步地,所述高精度adc配置为通过选通器与多个dac连接,通过所述选通器执行多个低精度的dac的输出动态调整。

本实施例还提供了一种电子装置,其特征在于,包括:

处理器;以及,

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行上述任一项所述的动态调整低精度的dac输出的方法。

本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的动态调整低精度的dac输出的方法。

在本实施中,ad输出实际值=k*ad值+b,da输出实际值=k*da值+b,其中,ad值与实际值也可能是其他公式。

本实施例公开的具体dac调整值计算步骤如下所示:

1、计算调整允许偏差值范围(此范围由实际使用场景以及dac精度和位数决定,可能只有下限或者上下限都有);

调整下限值:输出满量程实际值÷dac最大输出值;

调整上限值:由实际使用场景决定是否存在和大小(如满量程或者当前设定值的1%);

2、计算实际偏差值(实际偏差值有正有负,对应于当前da输出过小或过大。)实际偏差值=da输出实际值-ad采样实际值;

3、确认是否在调整允许偏差值范围内;

4、若实际偏差值在调整允许偏差值范围内,则将实际偏差值换算成对应的da值并输出,da新设定值=da设定值+差值da值;

5、若实际偏差值不在调整允许偏差值范围内,则保持当前da输出回到第2步,继续等待下次数据更新与比较。

实施例二

本实施例提供了一种动态调整低精度的dac输出的方法,其特征在于,通过高精度adc来采集dac的实际输出,再通过软件算法进行连续动态校正。

优选地,,在dac输出端添加adc采样,以实时、连续的追踪dac实际输出值,并通过mcu将adc采样值与dac设定值进行比较,以确认设定值与实际值的差值是否在允许的精度范围内;若存在误差则计算对应的dac调整值,并通过dac输出,同时adc持续监测实时dac输出。

优选地,所述连续动态校正在实现过程中为确保每次dac输出值调整adc能采集到稳定的输出实际值,每次对dac值进行调整后,到下一次比较调整预留一定的延时等待时间;所述的延时等待时间由dac输出稳定时间以及adc采样时间确定。

优选地,输入采集与输出控制组合成一个反馈控制系统,通过输入采集来判断输出值是否达到设定值;

优选地,根据不同场合的负载情况,通过mcu将adc采样值与dac设定值进行比较后动态补偿不同的电压值达到理想的输出。

adc:即模数转换器,也叫a/d转换器,通常是指一个将模拟信号转变为数字信号的电子元件。模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。a/d转换的作用是将时间连续、幅值也连续的模拟量转换为时间离散、幅值也离散的数字信号,因此,a/d转换一般要经过取样、保持、量化及编码4个过程。在实际电路中,这些过程有的是合并进行的,例如,取样和保持,量化和编码往往都是在转换过程中同时实现的。

dac:即数模转换器,也叫d/a转换器,它是一种将二进制数字量形式的离散信号转换成以标准量(或参考量)为基准的模拟量的转换器。d/a转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器,模数转换器即a/d转换器,简称adc,它是把连续的模拟信号转变为离散的数字信号的器件。

mcu:微控制单元(microcontrollerunit;mcu),又称单片微型计算机(singlechipmicrocomputer)或者单片机,是把中央处理器(centralprocessunit;cpu)的频率与规格做适当缩减,并将内存(memory)、计数器(timer)、usb、a/d转换、uart、plc、dma等周边接口,甚至lcd驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、pc外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到mcu的身影。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

虽然上面已经参考各种实施例描述了本发明,但是应当理解,在不脱离本发明的范围的情况下,可以进行许多改变和修改。因此,其旨在上述详细描述被认为是例示性的而非限制性的,并且应当理解,以下权利要求(包括所有等同物)旨在限定本发明的精神和范围。以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1