0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C2000内置比较器误差来源及校正方法-F28004x, F2807x, F2837x

电子设计 来源:电子设计 作者:电子设计 2020-10-20 14:00 次阅读

C2000系列芯片数字电源电机控制中有着广泛的应用,在这些应用中,过流过压保护是必不可少的。TIPicollo系列芯片从F2802x开始,就已经集成了带DAC的片内比较器,通过DAC设定阈值,与采样信号分别送到片内比较器的正负输入端做比较,生成保护信号给到PWM模块封锁PWM输出,从而实现过流过压保护,响应速度快,无需额外再加比较器和基准电压。

C2000系列芯片的内置比较器主要可以分为如下两类:

比较器类型 特点 覆盖芯片
Comparator module(COMP) type0 每个COMP内部有1个10bit DAC,1个比较器 2802x, 2803x, 2806x M35x, M36x
Comparator subsystem(CMPSS) type0 每个CMPSS内部有2个12bit DAC,2个比较器 F2807x, F2837xD, F2837xS, F28004x

不管是以上哪种类型的比较器,其输入正端都是直接连到ADC采样口(这个口用来采样需要监控的信息比如电压或电流),输入负端则可以选择连到内部的DAC输出或者另一个ADC采样口。本文将以比较器负端连到内部DAC输出为例(这也是最常见的一种用法),介绍内部比较器可能的误差来源及其矫正方法。

误差来源:

static offset error,静态失调误差。

比较器滞环

ADC基准和比较器内部DAC基准差异。

一、static offset error静态失调误差

现在假设我们希望的比较阈值为1.5V,当比较器正端输入电压大于1.5V时,比较器输出为1(高电平);输入电压小于1.5V时,比较器输出0(低电平)。如果内部DAC的基准为3V,那么我们需要把DACVAL设定为2048使得DAC输出1.5V。在上面描述的这种情况下有两个地方会引入误差,一个是内部DAC的误差(offset error),另一个是比较器的误差(input referred offset error),这两个误差总称为static offset error,静态失调误差。

对于F28004x, F2807x,F2837x系列芯片,其规格书上都有static offset error这个参数,为±25mV。也就是说,虽然理论上DACVAL=2048可以得到1.5V的阈值,但是因为static offset error,比较器发生翻转时负端的电压可能在1.475V到1.525V之间,而这个值是多少你并不知道,所以就需要校准。校准方法就是,在比较器正端接上一个你需要的阈值电平,在关掉内部比较器滞环的条件下,让比较器的DACVAL从0逐渐增大到4095,再逐渐减小到0,这样比较器输出会有两次翻转,将这两次翻转时的DACVAL的值作平均,就是校正后的阈值电压对应的DACVAL的值。

如果不用内部的DAC生成比较阈值,比较器的正端和负端都接外部信号的话,那么就只需要考虑比较器的误差了。

二、比较器滞环

C2000比较器的滞环是可以设定的,COMPHYSCTL的COMPHYS位可以设定滞环的环宽,当环宽设定为0时也就意味着没有滞环。注意在规格书中,滞环的单位是LSB,所以它和CMPSS模块内部的DAC的参考有关。如果内部DAC的参考电压是3V,1LSB对应3V/4096=0.7mV。以F28004x,F2807x, F2837x为例,其滞环可以在12LSB, 24LSB, 36LSB, 48LSB中选择。

需要指出的是,加入滞环后,比较器从0翻转到1的阈值依然是之前校准过的值,而不会变成(校准过的值+1/2*滞环宽度),而从1翻转回0的阈值则会变成(校准过的值-滞环宽度)。

三、ADC基准和比较器内部DAC基准的差异

在实际系统中,除了用比较器做硬件保护,通过AD采样来做软件保护也很常见。对于同一个电压或者电流信号,在考虑了前述静态失调误差和滞环后,有时候我们会发现ADC采样得到的值根本没到比较器DAC输出的阈值,但是比较器依然翻转了,这其中甚至会差到200个LSB。这是因为芯片ADC的基准电压和比较器内部DAC的基准电压不同导致的。

以F28004x,F2807x, F2837x为例,比较器内部DAC的基准默认来自于VDDA,可以配置成VDAC,而ADC的基准来自于VREFHI,VDDA默认供电是3V,而我们常用的内部ADC基准VREFHI是3.3V,这样,如果我们的比较器DACVAL设定为2048,那么比较器会在1.5V翻转,而此时ADC采样的值只有1.5V/3.3V*4096=1862。这就是因为ADC基准和比较器内部DAC基准的不同带来的差异,对于既需要做硬件保护,又需要做软件保护的信号,这一点需要特别注意。最简便的解决办法就是,将比较器内部的DAC基准配置为VDAC,同时将VDAC连到VREFHI上,使得两者的基准一致。

结论

本文以F28004x,F2807x,F2837x芯片为例,介绍了内置比较器的误差来源及校正方法,同时纠正了比较器滞环的错误理解。对于同一个信号既需要软件保护又需要硬件保护的系统,我们指出了导致软硬件保护阈值可能出现偏差的原因,同时给出了解决办法。正确使用C2000芯片内部比较器可以实现快速软硬件保护,提高系统整体可靠性,同时无需外部基准和比较器,节省PCB空间,是一个非常实用的模块。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 比较器
    +关注

    关注

    14

    文章

    1529

    浏览量

    106521
收藏 人收藏

    评论

    相关推荐

    昊芯F2837x系列首款芯片F28379D正式推出,HX2000系列当前最高性能

    新春伊始,昊芯正式发布第三代RISC-VDSP系列F2837x家族首位成员——F28379D,这也是昊芯甲辰龙年推出的首款芯片,为昊芯打响本年度新产品面世的第一炮!‍F2837X家族最新成员
    的头像 发表于 02-24 08:03 397次阅读
    昊芯<b class='flag-5'>F2837x</b>系列首款芯片F28379D正式推出,HX<b class='flag-5'>2000</b>系列当前最高性能

    如何将V2X技术应用到汽车中?# 车联网 # V2X # C-V2X

    V2X技术
    虹科卫星与无线电通信
    发布于 :2023年12月19日 16:50:25

    AD7173-8采样的数据有误差,请问误差正常范围是多少?

    的,应该可以说明硬体SPI上是正常的。现在采样值严重不准确,可以指导下吗? 2、AD7173-8采样的数据有误差,请问误差正常范围是多少?如何做失调和增益校正?有一篇AN-1464_CN.pdf
    发表于 12-11 07:08

    数字音频D类功放电源误差校正方法研究

    电子发烧友网站提供《数字音频D类功放电源误差校正方法研究.pdf》资料免费下载
    发表于 11-06 09:28 0次下载
    数字音频D类功放电源<b class='flag-5'>误差</b><b class='flag-5'>校正方法</b>研究

    AT32F43x_ADC位移模式使用注意事项

    AT32F43x_ADC位移模式使用注意事项AT32F43x 的ADC 普通位移模式,在某些特殊配置条件下的通道转换时间比理论转换时间固定多1个ADCCLK?
    发表于 10-23 06:39

    CW32F003x3/x4产品介绍

    CW32F003x3/x4是一款基于eFlash的单芯片微控制,集成了ARM®Cortex®-M0+内核 具有高达48 MHz的主频率、高速嵌入式存储(高达20 KB的FLASH和
    发表于 09-14 08:16

    CW32F003x3/x4数据手册

    PWM 定时。CW32F003x3/x4 可以在 -40° C 到 105° C 的温度范围内工作,供电电压宽达 1.65V ~ 5.5
    发表于 09-14 08:05

    CW32F030x6/x8数据手册

    PWM 定时。CW32F030x6/x8 可以在 -40° C 到 105° C 的温度范围内工作,供电电压宽达 1.65V ~ 5.5
    发表于 09-14 07:19

    CW32F030x6/x8产品介绍

    CW32F030x6/x8是一款基于eFlash的单芯片微控制,集成了ARM®Cortex®-M0+内核 主频率高达64MHz,高速嵌入式存储(高达64K字节的FLASH和高达 8
    发表于 09-14 07:03

    STM32F30x比较介绍

    7个比较对COMPx,x=1..7 •轨对轨输入 •可编程速度/消耗:4种模式 •可编程滞后:4级 •外部可用的输入和输出-可以用作不带MCU的独立设备 相互作用 •比较
    发表于 09-12 07:07

    基于C2000内部集成的模拟比较器功能

    不同的保护点等问题。本文针对所有第三代C2000芯片,比如F2807x/37x,F28004x,F28002x等,介绍C2000内部比较器的
    的头像 发表于 08-24 15:51 656次阅读
    基于<b class='flag-5'>C2000</b>内部集成的模拟<b class='flag-5'>比较</b>器功能

    为什么使用Keil的Memory查看0X0001F000~0x0001F027内的数据都是0x55?

      我使用的芯片型号为M0516ZDN,编译为Keil5.23   昨天晚上试着去读写DataFlash,向0x0001F000~0x0001F027内写入数据0x55555555,
    发表于 08-21 06:59

    CMS79F53x中微半导体单端电磁加热的SoC 芯片

    x8/x16/x32/x64 - 可以内部接ADC及比较
    发表于 06-26 09:23

    M0516ZDN读写DataFlash,向0x0001F000~0x0001F027内写入数据0x55555555,在写入成功之后,数据异常怎么解决?

    我使用的芯片型号为M0516ZDN,编译为Keil5.23 昨天晚上试着去读写DataFlash,向0x0001F000~0x0001F027内写入数据0x55555555,在写入成
    发表于 06-13 08:30

    3.0V-5.5V @32MHz,单端电磁加热的SoC ——CMS79F53x系列

    比较 > 内置8路COMP -C0失调电压失调电压<±1mv ,其他失调电压<±4mv -3路8BIT DAC及4路特殊DAC提供基准电压 -可以
    发表于 05-16 09:22