如何为数字信号处理应用选择微控制器外设

时间:2023-05-17

微控制器可以作为将数字信号处理整合到可穿戴设备、医疗设备、音频设备以及各种其他产品和系统中的便捷且经济高效的方式。然而,微控制器主要是为(毫不奇怪)控制事物而设计的,因此如果我们希望 MCU 成为有效的信号处理器,我们需要谨慎选择。

上一篇文章重点介绍了 CPU 特性,即位宽、时钟频率、每条指令的时钟周期和浮点能力。在本文中,我们将了解使微控制器更适合 DSP 功能的外围模块和功能。


处理器支持

一些硬件模块占据了 CPU 和典型外围设备(例如定时器和比较器)之间的中间地带。一个常见的例子是硬件乘法器。


硬件乘法

硬件乘法器是一种可能意味着实时 DSP 系统成功与失败之间差异的特性。数字滤波和频谱分析等重要的 DSP 应用需要大量的乘法运算,并且这些运算必须足够快地执行以在合理的时间内(从用户的角度来看)产生结果,或者——这就是事情真正变得具有挑战性的时候——以等于或快于数据从外部系统到达的速率。


此FIR 滤波器结构中的三角形表示乘法运算。


由于大部分微控制器应用不需要乘法功能,因此将乘法器并入处理器内核本身通常没有意义。硬件乘法器是一个补充模块,它从 CPU 接收数据,执行高效乘法,然后将结果数据提供给 CPU。

硬件乘法器实际上不仅仅是乘法。DSP 例程通常需要一个称为乘法累加 (MAC) 的过程,该过程(正如您可能已经猜到的那样)涉及重复乘以数字并添加或累加乘法运算的结果。硬件 MAC 模块为提高 DSP 性能提供了更大的潜力。


MAXQ615 中的硬件乘法器是 Maxim 的一款小型廉价微控制器,可执行有符号和无符号 16 位乘法、16 位乘加和 16 位乘减。


直接内存访问 (DMA)

我次了解 DMA 是在我从事必须对数字化基带信号快速执行解码算法的软件定义无线电工作时,那次经历给我留下了 DMA 在时间敏感数字信号处理中的价值的印象。

DMA 单元本质上是一个独立的处理器,它只有一项工作:移动数据。这个任务很简单,因此将 DMA 功能合并到您的项目中并不会严重增加其复杂性,而且系统的 DSP 能力会显着增加,因为 CPU 可以专注于处理数字而不是在内存和外围设备之间洗牌数据。如果您的应用程序需要计算密集型实时 DSP,则 DMA 控制器可能是对您的 MCU 功能特别有价值的补充。


SAM4S 微控制器(来自 Atmel)上的 DMA 控制器使我能够生成此正弦波,而无需不断纠缠 CPU 以将下一个数据点发送到 DAC。


沟通

数字信号处理不仅需要处理器,还需要处理数字数据。在大多数情况下,此数字数据将源自微控制器外部,这意味着数据传输是 DSP 链中的关键环节。


并行数据传输

我喜欢并行接口,因为它们很简单,至少在理论上是这样,但它们并不像您想象的那么普遍。同时传输 8 位甚至 16 位似乎比发送一位更有效率,但串行接口甚至在高速系统中也被广泛使用。如果并行数据传输是您系统中的一个选项并且您想尝试一下,请寻找具有“外部存储器接口”(EMI 或 EMIF)、“外部总线接口”(EBI)或类似东西的微控制器.


串行数据传输

I 2 C不是高速接口,标准UART往往用于低或中等数据速率。寻找宣传高时钟速率并使用附加信号在接收器和发送器之间进行同步的外围设备(这允许数据信号完全用于实际数据传输)。

我相信“USART”是我描述的那种串行通信模块的相当标准的缩写(“S”代表“同步”)。基本上,我在这里推荐的是一个相当于 TI 的“多通道缓冲串行端口”的微控制器——缩写 McBSP(发音为mic-BSP,就好像该模块来自爱尔兰)留在我的记忆中并将永远与我的脑海联系在一起具有高速串行数据传输....


错误检查

需要稳健错误检测的应用可以受益于硬件CRC模块。


这是集成到 Silicon Labs 的 EFM8 Laser Bee 微控制器中的硬件 CRC 模块的示意图。你给它一个字节序列,它使用一个标准的 CRC 多项式来生成一个 16 位的结果。


结论

我确实认为,在许多中低强度 DSP 应用中,微控制器比数字信号处理器更可取,我希望本文能帮助您确定能够可靠地执行项目所需 DSP 任务的微控制器。

上一篇:可能毁掉您设计的 PCB 布局样式错误
下一篇:十类常见的车用温度传感器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料