用于芯片内数模转换器的积分非线性数字校正方法与流程

文档序号:19009964发布日期:2019-10-30 00:14阅读:546来源:国知局
用于芯片内数模转换器的积分非线性数字校正方法与流程

本发明涉及集成电路技术领域,特别是涉及一种用于芯片内数模转换器的积分非线性数字校正方法。



背景技术:

目前市面上mcu(微控制芯片)类产品仅提供12bit或更低位数的dac(数模转换器),其不能满足高精度、高线性度的控制应用需求。目前为了保证控制系统的高精度特性通常只能将mcu芯片与高精度dac芯片搭配使用,然而这样,一方面无法确保芯片尺寸小型化的要求,另一方面,在集成高精度dac时,在保证良好的微分非线性的同时通常不能得到良好的积分非线性指标。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种用于芯片内数模转换器的积分非线性数字校正方法,用于解决现有技术中芯片集成高精度dac所造成的积分非线性指标无法满足应用需求的问题。

为实现上述目的及其他相关目的,本发明提供一种用于芯片内数模转换器的积分非线性数字校正方法,包括:

获取所述芯片内数模转换器的积分非线性曲线;

根据所述积分非线性曲线的特点选择适应方式进行分段拟合得到曲线拟合算法;

利用曲线拟合算法的拟合系数计算所述数模转换器输入数据处的积分非线性曲线误差;

按照所述积分非线性曲线误差修正所述数模转换器输入数据,将校正后的所述输入数据输入到数模转换器进行输出电压控制。

如上所述,本发明的用于芯片内数模转换器的积分非线性数字校正方法,具有以下有益效果:

本发明通过计算数模转换器的积分非线性曲线,按照所述积分非线性曲线的特性进行分段拟合,即,使用多项式计算得到该曲线拟合算法,根据曲线拟合算法的拟合系数计算数模转换器输入数据处的积分非线性曲线误差,按照所述积分非线性曲线误差修正所述数模转换器输入数据,从而使得数模转换器满足低积分非线性的设计要求,提升了芯片内数模转换器的线性度指标。

附图说明

图1显示为本发明提供的一种用于芯片中数模转换器的inl校正方法流程图;

图2显示为本发明提供的一种用于芯片中数模转换器用于多项式校准inl实施图;

图3显示为本发明提供的一种用于芯片中中数模转换器用于分段式校正inl实施图;

图4显示为本发明提供的一种硬件加速电路结构图;

图5显示为本发明提供的一种微控制芯片的架构图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

请参阅图1,为本发明提供的一种用于芯片中数模转换器的inl校正方法流程图,包括:

步骤s1,获取所述芯片内数模转换器的积分非线性曲线;

其中,利用扫描测试获取所述芯片内数模转换器的测试结果,从所述测试结果中计算出所述数模转换器的积分非线性曲线。

以16位数模转换器为例,其积分非线性计算方法如下:

假设v(n)表示输入数据n为0~65535的整数时测试得到的数模转换器的输出电压,单位为伏特,inl(n)表示输入数据为n时的inl误差,单位为lsb,则

步骤s2,根据所述积分非线性曲线的特点选择适应方式进行分段拟合得到曲线拟合算法;

其中,采用多项式方式根据所述积分非线性曲线的特点选择适应的方式进行分段拟合得到拟合曲线的拟合系数,从而得到曲线拟合算法。

步骤s3,利用曲线拟合算法的拟合系数计算所述数模转换器输入数据处的积分非线性曲线误差;

步骤s4,按照所述积分非线性曲线误差修正所述数模转换器输入数据,将校正后的所述输入数据输入到数模转换器进行输出电压控制。

其中,获取校正前数模转换器的输入数据;

按照所述积分非线性曲线误差修正所述数模转换器输入数据,使得校正后的输入数据输入到所述芯片内进行数模转换器控制。

由于本实施例中,校正时无需额外的校正设备(电路),直接采用芯片内置的中央处理器,通过程序计算检测即可达到校正。本芯片内集成高精度16位数模转换器,提升了数模转换器的精度,可获取较高的积分非线性指标。

在一实施例中,附图2和附图3展示了dac积分非线性校正的实施实例,两图中的s形曲线为dac的积分非线性误差曲线,图2将该曲线分为5段,并利用三次多项式进行曲线拟合得到相应的多项式参数,从图2中可知,校正后曲线显示通过该校正方法将全码范围的inl误差都控制在±5lsb以内;图3将该曲线分为32段并利用直线进行拟合得到相应的直线参数,图3中的校正后曲线显示通过该校正方法将全码范围的inl误差都控制在±5lsb(最低有效位)以内,由此可知,采用积分非线性校正后的dac可得到较高的积分非线性指标。

在另一实施例中,由于校正后的数模转换器虽然可获取较高的积分非线性指标,具有高精度,但影响了其数模转换速度,即,产生了时延;而该芯片内设置上述的硬件加速电路可显著降低了校正算法带来的计算延迟,保证了数模转换器的转换速度;即该芯片通过inl(积分非线性)校正和硬件加速电路两种方式相结合,以实现高精度控制系统的小型化设计并同时实现高精度和低积分非线性设计。

在另一实施例中,该数字校正方法还包括:利用硬件加速电路降低所述芯片内数模转换器因积分非线性数字校正所产生的延迟时间,其中,请参阅图4,为本发明提供的一种硬件加速电路结构图,所述硬件加速电路包括:

定点整数转浮点数单元1,用于将数模转换器的初始输入的定点整数转换为浮点数x(fp);

多个首尾依次相连的浮点乘加器2,用于根据校正算法选择相应个数的浮点乘加运算单元进行计算将所述浮点数x(fp)生成校正的浮点数;

其中,使用浮点乘加器的数目与校正算法相关,在本实施例中,芯片内集成的16位多通道的数模转换器,其对应的定点整数也为16位,而根据校正算法中的拟合曲线选择相应的浮点乘加器为三个,因此,浮点乘加器的个数在此不受限制。

浮点数转定点整数单元3,用于将所述数模转换器的校正浮点数转换为所述数模转换器位数相符的校正定点整数。

在本实施例中,所述浮点乘加器包括第一浮点乘加器21、第二浮点乘加器22和第三浮点乘加器23;所述第一浮点乘加器21的一个输入端连接所述浮点数x(fp),所述第一浮点乘加器21的另外两个输入端对应连接a(fp)、b(fp),输出ax+b(fp);所述第二浮点乘加器22的一个输入端连接所述浮点数ax+b(fp),所述第二浮点乘加器22的另外两个输入端对应连接x(fp)、c(fp),所述第二浮点乘加器22输出ax2+bx+c(fp);所述第三浮点乘加器23的一个输入端连接所述浮点数ax2+bx+c(fp),所述第三浮点乘加器23的另外两输入端对应连接x(fp)、d(fp),所述第三浮点乘加器2个3输出ax3+bx2+cx+d(fp),除了上述实施方式,还包括其它校正算法,在此不一一列举。

例如,如图1所示,输入x为16位定点整数,所述a、b、c、d分别为32位浮点数,其中分别包括1位符号位、8位指数、23位尾数;通过三次浮点乘加运算并转化为定点整数后,即得到数模转换器校正值16位定点整数(ax3+bx2+cx+d)。

在本实施例中,出于芯片的通用性与可扩展性考虑,利用寄存器读取所述第一浮点乘加器的输出ax+b,该中间结果ax+b为32位浮点数,另外,利用寄存器读取第二浮点乘加器22的输出ax2+bx+c(fp),利用寄存器读取第三浮点乘加器23的输出ax3+bx2+cx+d(fp)。

在另一实施例中,硬件加速电路中使用的各种运算单元为synopsysdesignwarebuildingblockip(新思科技旗下发布的虚拟微架构),具备高可靠性,在选用hhgrace0.13um工艺上逻辑综合评估的结果和仿真结果显示,在72mhz时钟下,计算单元完成多项式计算的延迟在60ns以内,从cpu开始运行计算程序,配置a/b/c/d/x到计算出多项式结果总时间在500ns以内,而利用cpu程序完成相应配置和计算则需要约50μs左右的时间,数模转换器中使用该硬件加速电路相比原有校正后未使用该硬件加速电路的数模转换器而言运算速度提升了100倍以上,因此,显著降低了校正算法带来的计算延迟,保证了数模转换器的转换速度。

请参阅图5,为本发明提供的一种微控制芯片的架构图,包括集成于所述芯片上的存储器、中央处理器、多通道数模转换器、温度传感器、多通道模数转换器、低压差线性稳压器、片上振荡器、锁相环、上电复位、i2c总线、通用输入/输出口、通用异步收发传输器、总线控制器、串行外设接口、看门狗和上述的硬件加速电路。

具体地,本发明集成armcpu内核及其调试接口jtag和swd,cpu通过指令总线(idahb)与片上flash存储器和sram进行通信,cpu通过一条系统总线(sysahb)连接另外一块sram,系统总线通过ahb转apb总线桥(brige)与apb总线通信,gpio、uart、i2c、spi、计时器(timers)、看门狗(watchdogs)与apb总线相连,硬件加速电路(calculator)与apb总线相连,多通道16位dac通过dac控制器与apb总线通信,多通道12位adc通过一个控制器与apb总线相连,温度传感器输出的模拟信号作为adc的其中一路输入,一个阻容振荡器与一个二选一时钟选择器相连,该二选一时钟选择器的另一个输入与外部时钟相连,时钟选择器的输出与一个模拟锁相环相连,模拟锁相环为芯片提供时钟信号并接受cpu的控制。集成上电复位电路(por)完成上电时复位,集成多路ldo完成电压转换为不同电压域供电。

综上所述,本发明通过计算数模转换器的积分非线性曲线,按照所述积分非线性曲线的特性进行分段拟合,使用多项式计算得到该曲线拟合算法,根据曲线拟合算法的拟合系数计算数模转换器输入数据处的积分非线性曲线误差,按照所述积分非线性曲线误差修正所述数模转换器输入数据,从而使得输出的数模转换器满足低积分非线性的设计要求,提升了芯片内数模转换器的线性度指标。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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