从51到ARM裸机开发实验(001) 单片机分类介绍

        在“从51到ARM裸机开发试验”系列文章中,会以AT89C51、STM32F401、LPC2138、Exynos 4412四款芯片作为微控制器,去进行试验。为什么选这四款,因为比较具有代表性,资料较多,做起实验来也很方便。前三款都可以在Protues中进行仿真。Exynos 4412也是资料非常多的一款芯片,上面还可以跑Linux、Android等开源操作系统。当然,本系列只讨论在裸机上的开发,跑操作系统情况下的开发另做讨论。MCU、MPU、单片机、微控制器、微控制单元,这些名词前期可认为是同一个意思,需要细分的时候再做区分。都是指一个能够执行程序,对外部进行控制的芯片。但和CPU有一定的区别,CPU指的是纯运算单元,而上面这些相当于由"CPU + 一些片上集成资源"构成的。

一、单片机的“位数”    

        8位、16位、32位单片机指的是单片机内部的CPU位数,也就是数据总线和地址总线的宽度。这些位数不同的单片机有着不同的特点和应用场景。

1、8位单片机
8位单片机是一种低成本、低功耗的微控制器,通常用于一些简单的应用场景,如传感器数据采集、LED控制、电机驱动、遥控器等。8位单片机的指令集较小,数据处理能力有限,一次只能处理一个字节的数据,不适合进行复杂的算法和数据处理。但是,由于其成本低廉、功耗低、体积小,它们在一些资源受限的应用中具有优势。

2、16位单片机
16位单片机比8位单片机具有更高的性能和更强的处理能力,指令集更加丰富,数据处理速度更快。它们适用于一些需要处理中等复杂度数据算法的应用,如电子计量、自动控制、通信设备、机器人等。

3、32位单片机
32位单片机是一种高性能、高速率、高复杂度的微控制器,具有高速数据传输和处理能力,适用于一些复杂的应用,如高速数据采集、影像处理、高级通信设备等。由于指令集更加丰富,数据处理速度更快,这使得32位单片机能够进行更加复杂的算法和数据处理。

文初说的四种单片机AT89C51就是一种8位单片机,STM32F401、LPC2138、Exynos 4412三个都是32位的单片机。这四种单片机都熟练之后,其他种类的单片机基本上看到芯片手册就知道怎么操作了,因为配置方式都是类似的。

二、单片机指令集与芯片的区别

        具有8051硬件内核且兼容8051指令的单片机称为MCS-51系列单片机。单片机的指令集有时候也叫"核"。也就是说AT89C51单片机是单核CPU的,这颗核指令集是MCS-51。我们平时说的手机几核几核也是同样道理。如联发科MT6750,为八核处理器,但是是伪八核,因为那八个核是ARM-A53 @ 1.5GHz X 4 + ARM-A53 @ 1.0GHz X 4,可以看到每个核执行的的都是"ARM-A53"指令集,但四个核能达到1.5GHz频率,另外四个核只能达到1.0GHz频率。

        再比如下图所示的这个R-Car H3芯片,这是现在常用的一款车规级微控制器芯片,有八个核 :ARM-A57 @ 1.5GHz X 4 + ARM-A53 @ 1.2GHz X 4。这八个核用的指令集已经不同了,四个使用的是“ARM-A57”指令集,四个使用的是“ARM-A53”指令集。

        根据用途的不同,这样的“一芯多核,同芯不同核”的芯片还有很多很多。所以我们平时说ARM时,是指的ARM系列指令集,或者说指的是“ARM核”。说MCS-51指的是MCS-51指令集,基于此指令集的单片机统称为51单片机或80C51。而STM32系列、NXP系列、Exynos系列、Qualcomm系列、Renesas系列、Freescale系列、MTK系列等,这些指的就是单片机了。这些高档单片机大多是基于“ARM核”的,当然还有些小众的基于MIPS、PowerPC等指令集。

三、ARM指令集及基于ARM的单片机

ARM公司在ARM11以后不再以数字命名产品
产品命名更改为Cortex系列,并分为A、R和M三个系列。

Cortex系列属于ARMv7或ARMv8架构,是ARM公司最新的指令架构。
ARM7:ARMv4 架构
ARM9:ARMv5 架构
ARM11:ARMv6 架构
ARM-Cortex 系列:ARMv7或ARMv8架构
ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统, 因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间 。(ARM720T有MMU,是一款特殊的ARM7产品)。
ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行Linux等多用户多进程的操作系统,应用场合也不同于ARM7。
A系列:顶级主控,支持ARM和Thumb指令集,并支持虚拟地址和内存管理。在人机互动要求较高的场合,比如PAD、手机、平板电脑、GPS等。A系列与ARM9和ARM11相对应,可以跑操作系统。
R系列:实时高性能处理器,支持ARM和Thumb指令集,只支持物理地址,支持内存管理。主要应用在对实时性要求高的场合。如硬盘控制器、车载控制器等。
M系列:通用低端,只支持Thumb指令集。用于工业、消费电子领域微控制器,不能跑操作系统(只能跑uCOS2),偏向于控制方面。

 文初的几款基于ARM的单片机:STM32F401 --- Cortex-M4内核、LPC2138 --- ARM7TDMI-S内核、Exynos 4412 --- ARM-A9 @ 1.5GHz X 4 (ARM-A9四核处理器)。

除了文中所述,还有很多其他系列的单片机,比如AVR、PIC、MSP430/432等等。还有DSP这种数字信号处理器。
DSP主要用于数字信号处理,例如音频、图像处理和通信等领域。它们通常使用专用的硬件加速器和高速数据通路来实现高效的数学运算和信号处理。因此,它们适合于需要高性能、高速度和高效率的应用。
单片机则是一种集成了处理器、存储器和其他外设的微型计算机。它们通常用于控制应用,例如自动化、机器人和家电控制等。单片机具有通用的处理能力,可以执行各种不同的任务。它们也可以用于实现数字信号处理的任务,但可能需要更多的处理时间和功耗。
因此,DSP和单片机在功能、设计和应用方面存在显著的差异。DSP主要用于数字信号处理应用,而单片机通常用于控制和通用计算任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值