为高性能DSP项目选择单片机外设
本文继续探讨在考虑DSP能力时特别重要的单片机特性和特征。
本文扩展阐述了构建稳健数字信号处理(DSP)应用所必需的单片机属性。
单片机为将DSP嵌入可穿戴设备、医疗器械、音频设备及其他系统提供了便捷、高性价比的途径。然而,单片机主要面向控制任务设计。要充分发挥其DSP潜力,精心选择外设至关重要。
上一篇文章涵盖了字长、时钟速度、指令周期和浮点支持等CPU特性。本文将重点考察能提升单片机DSP适用性的外设模块和功能。
处理器支持
某些硬件模块位于CPU与标准外设(如定时器和比较器)之间,例如硬件乘法器。
硬件乘法
专用硬件乘法器可能决定一个实时DSP系统是满足性能指标还是失败。数字滤波、频谱分析等DSP任务需要海量乘法运算,且必须足够快地执行以跟上输入数据流。

该FIR滤波器结构中的三角形代表乘法运算。
由于大多数单片机应用不需要核心内部的复杂乘法,独立乘法器模块是务实之选。它从CPU接收操作数,高效完成计算,并返回结果。
除简单乘法外,DSP例程常采用买累加(MAC)运算——反复相乘并累加乘积。专用MAC单元可进一步提升性能。

Maxim的MAXQ615集成了有符号/无符号16位乘法器、16位MAC和16位乘减单元。
直接内存访问(DMA)
我初次接触DMA是在开发软件定义无线电时,该项目要求快速解码数字化基带信号。该经历凸显了DMA对时敏DSP的价值。
DMA控制器是专用引擎,可在内存与外设间搬移数据,释放CPU专注于计算。在要求高强度实时DSP的应用中,DMA单元可显著提高吞吐率。

Atmel SAM4S的DMA控制器实现了正弦波生成,无需CPU持续干预每个DAC采样。
通信
高效DSP不仅需要强大处理器,还需要可靠数据通路。在大多数情况下,输入数据源自单片机外部,使数据传输成为关键环节。
并行数据传输
并行接口虽不如串行链路常见,但可同时移动8或16位数据,提供更高效率。若系统允许并行数据,请寻找具备外部存储器接口(EMI)、外部总线接口(EBI)或类似外设的单片机。
串行数据传输
虽然I²C速度受限、UART通常中等,但高性能DSP系统受益于支持高最大时钟速率和专用同步信号的外设。USART(同步UART)或等效多通道缓冲串行端口可提供繁重DSP工作负载所需的带宽。
错误检查
稳健的错误检测对任务关键型DSP至关重要。硬件CRC模块即时计算循环冗余校验,在不增加CPU负担的情况下确保数据完整性。

Silicon Labs EFM8 Laser Bee搭载硬件CRC引擎,接受字节流并使用标准多项式生成16位CRC。
结论
在许多低至中等强度DSP场景中,单片机在成本和集成度上优于专用DSP芯片。通过选择合适的外设——硬件乘法器、DMA、高速串行接口和CRC单元——您可以构建可靠、高性能的DSP解决方案。
《单片机入门》系列前文:
- 什么是单片机?无数电子设备核心组件的介绍
- 如何为您的应用选择合适的单片机
- 如何阅读单片机数据手册:简介与第一步
- 如何阅读单片机数据手册:探索硬件
工业技术