other parts discussed in post:tms320f28377d
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空间,是一个非常实用的模块。
发改委约谈三星,居高不下内存价格或将下降
海尔冰箱破冰健康存储难题 布局5G健康新时代
LLC变换器的设计工作原理
采用SyncServer S600时间服务器对GNSS授时问题进行故障排除
语音物联网卡是什么?怎么用?
C2000内置比较器误差来源及校正方法-F28004x F2807x F2837x
三款科学机器人改善与现实世界的互动
2022半入耳式蓝牙耳机怎么选?半入耳式耳机排行榜
Linux中epoll是如何实现IO多路复用的?
LoRa ZWS云应用(2)-智能抄表设备接入篇
机密计算如何增强复杂企业体系结构的整体安全性
安徽蒙城200MW内陆平原风电场项目复工 预计2020年6月底风机全部投产并网发电
新型导热塑料可在散热器结构中加入卡扣设计
内存管理之为什么需要cache
直流电为什么可以给电容充电?
【了不起的芯片】无线充电:手机和汽车都说“真香”!
质量流量计传感器和变送器的工作原理及功能
魅族16s真机测试视频公布 洪汉生表示流畅体验绝对有保障
Liteye成功演示针对UAS威胁的SkyWall网络捕获系统
【节能学院】安科瑞信号隔离器在锅炉控制系统中的应用