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

大家好,我是一哥,本文探讨了当您须要单片机同时作为系统控制器和数字信号处理器时应该寻找的特性。
数字信号处理能够为多种产品和应用增加有价值的功能。即便是受老本、形状因素或时长表约束的设计也能够很容易地包括 DSP 的益处,由于此时工程师能够获得大量的库代码、示例项目和高性能处理器,这些处理器既鄙巽宜又相对用户友好。

///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程和毕业设计指导,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像白色字体加我也能领取哦,记得口令一哥///

一个真正的数字信号处理器——假如来自德州仪器公司的 c5000系列或来自公司的 SHARC 系列——可能是一个令人望而生畏的设备。我主要是和德州仪器公司的数据效劳提供商一起工作,总的来说,这次经历是富有功效和令人满意的。然而,在这种情况下,我不须要设计电路板,我也不喜爱尝试调试奇怪的系统崩溃和了解操作系统的细节的过程。
毫没疑问,某些计算密集型的 DSP 任务将须要一个真正的数字信号处理器,甚至一个FPGA。这也是真的,虽然,在许多应用中,一个适中选择的微控制器就足够了。本文探讨的特点和才能,你须要集中在当你想要确保你的 单片机将有足够的 DSP电源。
8位,16位,还是32位?
这个问题没有你想象的那么简略。一般来说,16位和32位设备将更合适 DSP 应用。数字信号处理波及数学过程,通常会导致大量的数字,你须要一个处理器,能够直接操纵这些大量的数字。
然而,8位处理自身并不坏,假如您知道您将要处理的数字值范围有限,8位微控制器可能是一个不错的选择。
此外,工程师通常没有时长或兴趣去钻研处理器的底层细节,因此很难在指定的位宽度和现实中的计算效率之间建设清晰的联络。例如,“32位微控制器”是否有32位寄存器?32位算术逻辑单元?32位地址总线?32位通信“32位”到底是什么意思?这些细节可能会影响你的决定,特别是假如你希望主要处理那些不须要所有额外信息的小数字。

打开网易新闻 查看精彩图片

这个现代化的8位体系构造是由 Silicon Labs 开发的。他们警告人们不要认为16位或32位设备的性能会始终优于8位设备

时钟速度
微控制器的最大时钟频次当然是一个很好的指标,它作为一个数字信号处理器的优点。然而,了解每秒钟的时钟周期和每秒钟的指令之间的差别是非常重要的。处理器通过执行指令来完成 DSP 任务,因此其性能受到时钟频次和执行指令所需时钟周期数的影响。
不幸的是,这个问题很快变得相当复杂。一条指令所需的时钟周期数从一条指令到下一条指令不同,并且通过运用流水线构造能够减少时钟每个指令周期数的平均数量。其次,你必需考虑“每条指令的功能”的数量,也就是说,兴许微控制器 a 只须要一条指令就能够做一些须要微控制器 b 上多条指令的事情。

打开网易新闻 查看精彩图片

这个图表传达了流水线处理器的概念
以下是我的简短建议: 假如你正在比较来自同一家庭的设备,选择更高的时钟频次。假如你比较的设备与主要的架构差异,尝试找得到一个可靠的规范,表明指令执行率(表示为 MIPS,每秒数百万条指令)或平均时钟/每个指令周期数。

定点 vs. 浮点
术语“浮点”指的是一种数字表示,其中的基数点能够“浮动”,由于数字由整数局部(尾数)和指数组成。选择(“定点”)对应的方式,我们通常处理和感知的数据在一个正常的微控制器。仔细比较浮点运算和定点运算绝不是一件简略的任务,但似乎有一个共识,即浮点运算能够在数学密集型应用中获得优越性。
我认为能够肯定地说,所有的微控制器都是定点设备,由于在我看来,假如它真是一个浮点处理器,它就不再是一个微控制器。然而,假如你真的决心最大化你的数学性能,同时留在微控制器域,你应该考虑一个设备,包含一个浮点协处理器。
基于 arm 的16/32位微控制器 NXP 的 lpc3180fel320采用浮点协处理器,最高可达220mips。意法半导体也有STM32微控制器,其中包含一个浮点运算器处理器(FPU)。
我在我的圆形触摸传感器项目中运用了一些浮点数学。在大部分情况下,一个单独的 FPU 是不必要的ー编译器擅长在典型的微控制器中达到浮点变量

打开网易新闻 查看精彩图片

想要学习单片机的朋友 ,做毕业设计的同学,关注我们,回复一哥,与导师一起学习成长,共同进步,还有更多资料领取。

说了这么多,大家记得留意下方评论第一条(或者私信我)有干货~

-END-

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