C2000系列芯片在数字电源和电机控制中有着广泛的应用,在这些应用中,过流过压保护是必不可少的。TI 的Picollo系列芯片从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空间,是一个非常实用的模块。
审核编辑:郭婷
-
电源
+关注
关注
184文章
17118浏览量
247472 -
电机控制
+关注
关注
3512文章
1805浏览量
267160 -
比较器
+关注
关注
14文章
1608浏览量
106782 -
dac
+关注
关注
43文章
2218浏览量
190334
发布评论请先 登录
相关推荐
基于C2000内部集成的模拟比较器功能
![基于<b class='flag-5'>C2000</b>内部集成的模拟<b class='flag-5'>比较</b><b class='flag-5'>器</b>功能](https://file1.elecfans.com/web2/M00/95/28/wKgZomTm12OAdfXJAAEI6KIQHpQ781.png)
基于微机处理的热电偶动态误差校正方法的研究
C2000内置比较器误差来源及校正方法-F28004x, F2807x, F2837x
使用C2000内部比较器替外部比较器
![使用<b class='flag-5'>C2000</b>内部<b class='flag-5'>比较</b><b class='flag-5'>器</b>替外部<b class='flag-5'>比较</b><b class='flag-5'>器</b>](https://file.elecfans.com//web2/M00/97/DD/poYBAGQP0KKAWfrwAAEJdRlfb9k671.png)
使用C2000内部比较器替外部比较器
![使用<b class='flag-5'>C2000</b>内部<b class='flag-5'>比较</b><b class='flag-5'>器</b>替外部<b class='flag-5'>比较</b><b class='flag-5'>器</b>](https://file.elecfans.com//web2/M00/9B/30/pYYBAGQgW_qANNa-AAHDwN6yL5Y059.png)
使用C2000内部比较器替外部比较器
![使用<b class='flag-5'>C2000</b>内部<b class='flag-5'>比较</b><b class='flag-5'>器</b>替外部<b class='flag-5'>比较</b><b class='flag-5'>器</b>](https://file.elecfans.com//web2/M00/9C/DE/pYYBAGQqQFmASNTSAAHDwN6yL5Y604.png)
振弦采集仪在岩土工程监测中的误差分析与校正方法
![振弦采集仪在岩土工程监测中的<b class='flag-5'>误差</b>分析与<b class='flag-5'>校正方法</b>](https://file1.elecfans.com/web2/M00/B7/DE/wKgaomWE_nyAcPz6AAFKy9wUuKA278.png)
评论