怎么深入浅出地理解「单片机、ARM、DSP 有互通之处,都是 CPU」?
日期:2022/1/26 5:54:00
这些的确都能算CPU,前面大家已经说过共同点了,我主要说说区别吧。主要区别在于用途不同造成了功能侧重的区别。比如单片机和低端ARM(如M3),更严谨的说法应该称作Microcontroller 或 MCU(Micro Control Unit),中文一般叫“微控制器”。而CPU叫做“中央处理器”。一个Control 和 Process 还是有很大区别的。 微控制器不需要一般也不具备强大的计算能力,重点在于实现各种逻辑和非逻辑控制。而DSP的(Digital Signal Processor), PROCESS表明它相比于通用单片机具有更为强大的处理,运算能力。可以实现对数字信号的各种算法的处理。举一个简单的例子。一个MP3可能由一块普通MCU+一块专用DSP 芯片组成。 其中普通MCU叫主控芯片,负责全局控制。诸如通过处理按键来响应用户的操作,控制屏幕输出相关播放信息给用户等等。而DSP只负责音频文件的解码。可见,全局的控制工作,逻辑比较繁琐,比如显示中各级菜单的实现,这是MCU适合的工作。而音频解码需要强大的运算能力,普通MCU难以胜任,就需要DSP来进行。而ARM和单片机,我个人认为没有特别严格意义的界限,主要看功能和需求的划分。ARM本身已经给我们划分的很好了:”ARMv7架构定义了三大分工明确的系列:'A'系列面向尖端的基于虚拟内存的操作系统和用户应用;'R'系列针对实时系统;'M'系列对微控制器。“ 所以诸如STM32之类的Cortex-M3芯片其实也可以理解做高端单片机的范畴。侧重于控制,片内集成,低功耗等指标。相比传统51, ** R。 Contrex-M系列的微控制器集成了更多的资源(如更高位的AD,更多的串口,以及I2C,SPI之类的外设总线)。而且32位相比传统8位和16位的单片机也更有优势。而消费类电子产品中的ARM显然需要更为强大的运算功能。 这一块我不太熟悉,就不多说了。额,发现楼主还问了如何学习。其实很简单,就是实践。买一块开发板实际动手做比什么都强,有机会参与一些项目更好,自学现在网络资源也非常丰富,不用担心。可以从8位单片机学起,作为入门。虽然近些年大家都说51落伍了,但是作为单片机入门还是很好的,相对简单,网上资源到处都是。你去买任何一个模块几乎都会给你提供51的例程。。。我现在就经常拿51测试模块,测试好了再改一下代码用到stm32上。总之,只看书是没有用的。还是要多动手。写写代码,烧烧程序,焊焊简单的电路。你会收获很多。
相关标签: