We are thinking of AVR, ARM and even some middle range chips
两者都不是专门为DSP设计的,但是如果您的性能要求足够适中,则可能不会有问题。您需要DSP做什么?我建议您先选择平台,然后使用供应商的库,因为它将针对该平台进行优化。如果供应商没有DSP库,则该部件可能不是一个好的DSP平台。
例如,Microchip的
dsPIC器件是具有DSP子系统的微 Controller ,可为FIR和FFT等DSP算法提供良好的每MHz性能,而Microchip提供了针对该器件进行了优化的DSP库。
意法半导体为其
STM32部分提供了一个DSP库。它们是Cortex M3器件而不是DSP,但是哈佛架构和乘累加指令使它们在低端应用(如电机控制或语音频带音频处理)中具有足够的功能。从技术上讲,由于DSP库是作为源代码提供的,因此它可能会移植到任何Thumb-2指令集设备,但可能未获得使用许可。尽管在相同的工作频率下,它们比DSP算法上的dsPIC慢得多(使用优化的汇编库时),但通常在C代码执行时它们要快一些,但具体情况取决于代码和应用程序。
同样,Atmel为他们的
AVR32提供了一个DSP库。我对此没有直接的经验,但是期望与Cortex m3设备具有可比的性能。也许值得注意的是,Atmel的库比ST的库更广泛,而且文档更好。
如果您想要更快的速度而不是纯粹的DSP,请考虑使用
Renesas's SH-2器件,其每MHz惊人的2 MIPS,在许多应用中,不是专用DSP也不成问题,并且某些部件在任何情况下都具有DSP扩展。厂商再次提供了优化的DSP库。
除了这些“具有DSP用途的通用”设备以外,您当然可以选择真正的DSP。 TI生产了从低端到高端的各种此类设备。但是,以我的经验来看,由于TI开发工具的高昂费用,开发成本很高,而且许多零件在片上外设上也略显不足。
[2012年4月23日更新] 新的STM32F4xx部件基于Cortex-M4,因此包括DSP和浮点硬件。它们具有与基于Cortex-M3的STM32F1xx/F2xx部件相同的DSP库API,但是利用DSP内核来提高性能。