×
模拟电子 > 模拟电路设计 > 详情

数字信号处理应用中单片机的选择

发布时间:2022-03-18 发布时间:
|

在本文中,RobertKim从所有关于电路博客讨论了当你需要一个MCU作为系统控制器和数字信号处理器时应该寻找的特性。

数字信号处理可以为各种各样的产品和应用增加有价值的功能。即使是受成本、表单因素或进度限制的设计,也可以很容易地结合dsp的优点,因为现在的工程师可以访问大量的库代码、示例项目和高性能处理器,这些代码既便宜又相对方便用户。

一个真正的数字信号处理器--比如来自德克萨斯仪器公司的C 5000系列或来自模拟设备的SHARC系列--可能是一种令人恐惧的设备。我主要是使用德州仪器公司的DSP,总的来说,这种体验是富有成效和令人满意的。但是,在这种情况下,我不需要设计电路板,我也不喜欢尝试调试奇怪的系统崩溃和理解操作系统的细节的过程。

毫无疑问,某些计算密集型的DSP任务将需要一个真正的数字信号处理器,甚至是一个FPGA。然而,在许多应用程序中,一个适当选择的微控制器也足够了。本文讨论了当您想要确保您的MCU具有足够的DSP功能时,需要关注的特性和功能。

8位,16位,还是32位?

这个问题没有你想象的那么简单。一般来说,16位和32位的设备将更适合于DSP应用.数字信号处理涉及数学过程,这往往会导致大量的数字,你想要一个处理器,可以直接操作这些大的数字。

然而,8位处理本身并不坏,如果您知道您将处理有限的数字值范围,8位微控制器可能是一个不错的选择。

此外,工程师通常没有时间或倾向于研究处理器的低级细节,因此,很难在指定的位宽与实际计算效率之间建立明确的联系。例如,“32位微控制器”有32位寄存器吗?32位ALU?32位地址总线?32位通信接口?“32位”到底是什么意思?这些细节可能会影响您的决定,特别是当您希望主要处理的小数字不需要所有这些额外的比特。

这种现代化的8位架构是由硅实验室开发的(取自本文档的图表)。他们警告人们不要认为16位或32位设备的性能将始终优于8位设备。

时钟速度

作为数字信号处理器,微控制器的最大时钟频率无疑是其优点的一个很好的指标。然而,理解每秒时钟周期和每秒指令之间的区别是非常重要的。处理器通过执行指令来完成DSP任务,因此,其性能受到执行指令所需的时钟频率和时钟周期的影响。

不幸的是,这个问题很快变得相当复杂。指令所需时钟周期的数目随指令的不同而不同,平均使用流水线结构可以减少每条指令的时钟周期数。然后,你必须考虑到“每条指令的功能”的数量--也就是说,也许微控制器A只需要一条指令就可以在微控制器B上做一些需要多条指令的事情。

这个图表传达了流水线处理器的概念。有关更多信息,请参阅本文。作者声明:[by]C.M.L.Burnett[CC-by-SA-3.0]。

以下是我的简短建议:如果您正在比较来自同一家族的设备,请选择更高的时钟频率。如果您正在比较设备与主要架构差异,请尝试找到一个可靠的规范,指示指令执行速率(以MIPS表示,每秒数百万条指令)或每条指令的平均时钟周期数。

固定点与浮点

术语“浮点”指的是一个数字表示,其中基点可以“浮动”,因为这个数字由一个整数部分(尾数)和一个指数组成。另一种方法(“定点”)对应于我们通常在普通微控制器中处理和感知数据的方式。对浮点运算和定点运算进行仔细的比较绝不是一项简单的任务,但似乎有一种共识,即浮点处理在数学密集的应用中可以占优势。

我认为可以肯定地说,所有的微控制器都是定点设备,因为在我看来,如果它真的是一个浮点处理器,它就不再是一个微控制器了。但是,如果您真的决心在保持微控制器域中的同时最大化您的数学性能,那么您应该考虑一个包含浮点的设备。协和处理器。

NXP的LPC 3180FEL320是一种基于16/32位ARM的微控制器,它有一个浮点协处理器,可以达到220 MIPS。STMicroElectronics也有STM 32微控制器,它包含一个浮点单元(FPU).

我在我的循环触摸传感器项目中使用了浮点算法。在大多数情况下,独立的FPU是不必要的-编译器擅长在典型的微控制器中实现浮点变量。

重述

在本文中,我们探讨了CPU特性,使微控制器或多或少适合DSP应用。我认为,在大多数情况下,关注位宽和MIPS是有意义的,除非您计划用您的MCU进行一些严肃的数字处理,否则您不需要太担心浮点和固定点。我们将在下一篇文章中继续讨论这个主题,其中将讨论与DSP相关的外围功能。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
使用一次侧回授的4.2 W GU10 LED照明驱动器