数字集成电路需要注意的十个要点:不要混淆精度和分辨率、滤波器
扫描二维码
随时随地手机看文章
上一篇文章我们讨论了模数转换器,更具体地说,是与获取输入样本相关的时序。但是,如果你不小心的话,杂草中还有一个更大的问题正在逼近,它可能会咬你。ADC 转换完成后,结果意味着什么?基于查看这些位,您对输入信号的真正了解程度如何?您真正需要多少位,您真正可以信任多少位?
不要混淆精度和分辨率。
ADC 是您的数字控制系统的关键部分,但它经常被误解。不幸的是,某些 ADC 数据表上的误导性声明对这种情况没有多大帮助,其中 ADC 位数的“真实”位数用“营销位数”填充。根据Dictionary.com的说法,准确性被定义为“真实、正确或准确的条件或质量;免于错误 或缺陷;精确度或准确度;正确性”。然而,分辨率被定义为“分解或分离成组成部分或基本部分的行为或过程”。很明显它们不是一回事!当应用于 ADC 时,精度与数字结果与实际输入电压的相关程度密切相关。然而,分辨率与识别构成数字答案的组成或基本块有关。理想情况下,这是 LSB 值。例如,理想情况下,12 位 ADC 的分辨率将高于 10 位 ADC,但精度可能会更好,也可能不会更好,具体取决于其增益和偏移误差。
虽然这两个规格在数字控制系统中都很重要,但我认为分辨率是两者中更重要的一个。我之所以这样说,有以下三个理由:
1. 可以应用校准程序来显着提高 ADC 的精度。然而,再多的校准也不会影响 ADC 的分辨率。在某些情况下,可以通过对多个样本进行平均来提高分辨率,但在处理许多电机控制应用中常见的快速变化信号时,这是不切实际的。
2. 一些闭环应用中的不准确可以被“伺服消除”。例如,在级联速度环中,速度控制器的输出设置电流控制器的命令值。如果电流的转换值是关闭的,以至于它真的不代表真正的电流,循环不关心。速度环将只控制或多或少的电流,直到电机产生所需的扭矩来修复速度误差。
3. 最后,无论如何,ADC 精度很少成为信号链中的薄弱环节。一旦您补偿了 ADC 中的整体增益和偏移误差,INL 规格就决定了精度。以 TI 2803x 器件上的 ADC 为例,INL 误差仅为 +/- 2 LSB!这对应于施加到 ADC 输入的满量程模拟信号的 0.05% 容差!在大多数情况下,当您将放大器电路中所有组件的最坏情况误差加起来时,您可能已经超过了这个值。
但是模拟电路确实有一个显着的优势……分辨率。模拟信号的分辨率理论上是一个电子!显然 ADC 无法与之抗衡。如果您的 ADC 的分辨率不够高,您最终会在波形中产生量化噪声,从而降低性能。这可能会导致周期限制波动,因为伺服回路试图收敛到介于两个数字 ADC 值之间的值是徒劳的。
此外,我认为 ADC 的真实分辨率受微分非线性 (DNL) 规范的限制。如果您在该 ADC 的指定位数中缺少代码,则该 ADC 根本无法解析为该位数。时期。例如,一个具有竞争力的微控制器拥有一个集成的 16 位转换器。但是在单次转换模式下,最坏的DNL规范连12位字长都不能保证不漏码,更不用说16位字了!有关精度与分辨率的进一步讨论,请在此处阅读 Jose Quinones 关于步进电机的博客。
在闭环应用中使用 IIR 滤波器代替 FIR 滤波器。
好的,让我们暂时换档,进入数字控制算法本身。
有时似乎整个世界都在密谋反对你,试图让你的控制回路突然振荡!但是您可以通过对系统进行良好的稳定性分析来控制情况。我最喜欢波德图方法,因为它对我来说似乎更直观。使用这种技术,很容易看出为什么 IIR 滤波器在闭环结构中比 FIR 滤波器更受青睐。例如,下面是“N 点平均器”(实际上是 FIR 滤波器)与设计为具有大致相同滤波能力的单极点 IIR 滤波器相比的频率响应波特图。尤其要注意 FIR 滤波器与 IIR 滤波器相比产生的相位滞后。这很重要,因为在设计稳定系统时相位滞后是您的敌人。另请注意,每当信号的频率通过幅度图中的零时,滤波器都会改变信号的极性,如相位图中的 180 度不连续点所示。如果您的控制系统的开环单位增益频率恰好接近这些零点之一,您可能会发现环路的操作会随着电源电压或温度的微小变化而发生根本变化。
最后,FIR 滤波器比对应的 IIR 滤波器占用更多的内存和更多的 MIP(滤波器中每个抽头一个 MAC 指令)。但它们确实拥有一个显着优势……它们的传递函数只包含零。这是因为 FIR 滤波器没有任何反馈路径,这意味着它将始终保持稳定。但是,IIR 滤波器确实包含在其传递函数中产生极点的反馈路径。在放置这些杆的位置必须非常小心,否则滤波器会变得不稳定。一旦你的控制回路中的任何一个组件不稳定,整个回路就会不稳定。
明天我们继续逛数字控制回路,探索另一种既能提高稳定性又能提高动态响应的结构!