设计与开发

nxp单片机 电子器件的“中控室”:单片机MCU详解

小编 2024-10-06 设计与开发 23 0

电子器件的“中控室”:单片机MCU详解

上一篇(只有想不到,没有嵌不到,嵌入式系统科普 )文章介绍了嵌入式系统的组成部分。其中提到了单片机MCU,其实它也是一个小系统,它是控制电子产品的大脑。现如今,我们生活中的许多电器都含有单片机。例如:手机、电视机、冰箱、洗衣机、以及开关、LED等。那么,什么是单片机?它在这些电器中究竟做了些什么呢?以及是如何构成的?

它是如何诞生的

单片机诞生于1971年,经历SCM、MCU、SoC三大阶段。单片机由以前的1位、4位、8位、16位。早期的单片机都是4位或8位。其中最成功的是英特尔的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。如今已发展到32位甚至64位。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高,相继诞生了一批经过市场考验获得良好口碑的单片机制造厂商。

“神通广大”,到哪儿都有它

实际工作中并不是任何场合都要求计算机有很高的性能。应用的关键看是否够用,是否有很好的性价比。单片机是电器动作的关键,是指挥硬件运行的。例如:接收按钮或按键的输入信号,按照事先编好的程序,指挥马达和LCD的外围功能电路动作。

为什么很多电器设备都要使用单片机呢?我们用一个点亮LED电路为例来说明。

(右)无单片机的电路是一个由LED,开关和电阻构成的简单电路。很显然,使用单片机的电路要复杂得多,而且设计电路还要花费精力与财力。这样看来使用单片机并没有什么优点,其实不然。

如果我们让这个电路做一些比较复杂的操作,会怎么样呢。例如:如果希望LED在按下开关后,经过一段时间再点亮或熄灭,那么,对于安装有单片机的电路来说,只需更改单片机中的程序就可以了,并不需更改原电路。另一方面,对于没有单片机的电路来说,就必须在元电路中加入定时器IC,或者用标准逻辑IC和FPGA构成逻辑电路,才能实现这个功能。也就是说,在更改和添加新功能时,带有单片机的电路显然更加容易实现。

单片机通常用于工业生产的控制、生活与程序和控制有关领域。由于单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。据了解,一辆汽车上要配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作。这样算下来,单片机的数量已经远超过地球人口的数量了。

那么“无所不能”的单片机都由哪些器件构成的?

以PC为例,一台计算机主要有这几个部位组成:中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。而在单片机中,这些部份全部被做到一块集成电路芯片中,所以就称为单片机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。此外,现在的单片机绝大多数都是基于冯·诺伊曼结构。

以51单片机为例,其功能组件及作用主要有:

1、CPU主芯片(内部通过总线连接扩展的设备)

2、时钟电路(为单片机提供震荡脉冲)

3、电源电路(为单片机提供电源)

4、内部数据存储器RAM(包括通用数据寄存器和专用寄存器SFR,主要是数据存储区。)

5、程序存储器ROM(主要是存储程序,51系列有4K内部程序ROM,可以外扩64K。)

6、并行端口4*8位(P0,P1,P2,P3主要是数据交换接口。)

7、串行口(TXD,RXD用于串口通信。)

8、中断系统(外中断0,定时计数T0,外中断1,定时计数T1,串口中断。)

9、定时/计数器(16位用于外部的计数和定时功能。)

在这些组成里,内存是单片机的记忆装置,主要记忆程序和数据,但ROM与RAM有所区别:

ROM是只读内存的简称。保存在ROM中的数据不能删除,也不会因断电而丢失。ROM主要用于保存用户程序和在程序执行中保持不变的常数。

RAM是可随机读/写内存的简称。可以随时读写数据,但关机后,保存在RAM中的数据也随之消失。主要用于存储程序中的变量。在单芯片单片机中,常常用SRAM作为内部RAM。SRAM允许高速访问,但是,内部结构太复杂,很难实现高密度集成,不适合用作大容量内存。除SRAM外,DRAM也是常见的RAM。DRAM的结构比较容易实现高密度集成,因此,比SRAM的容量大。但是,将高速逻辑电路和DRAM安装于同一个晶片上较为困难,因此,一般在单芯片单片机中很少使用,基本上都是用作外围电路。

工作原理

虽说CPU相当于人的大脑,但是它却不能像人的大脑一样,能有意识的、自发的思考。CPU只能依次读取并执行事先存储在内存中的指令组合。

单片机自动完成赋予它的任务过程,即一条条执行的指令过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。

所以必须把要把问题编成一系列指令,这一系列指令的集合就成为程序,程序需要预先存放在存储器中。存储器由许多存储单元组成,你可以想像成宾馆的房间,指令就存放在这些房间里,房间里的指令取出并执行就像入住要分配房间一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。

主流单片机

现在主流单片机有:

51系列单片机——对所有兼容Intel 8031指令系统的单片机的统称,51单片机是基础入门的一个单片机,还是应用最广泛的一种。

PIC系列单片机——用来开发的去控制外围设备的集成电路,有计算和记忆功能,处理能力一般,存储器容量也很有限。

AVR系列单片机——AVR最大的优点就是哈佛结构速度快;片上资源丰富;驱动能力强;功耗低;可选择型号种类多;性价比高;保密性好;带PWM脉冲宽度调制、串行外设接口SPI,片内RC 振荡器,SRAM比51大。

这些是应用最多的三大系列单片机。其主要特点就是:51系列单片机是冯.诺依曼结构,后两种是哈佛结构。

典型玩家介绍

经多年发展,MCU厂商可谓是多种多样。简单介绍下这个圈里典型玩家

1. 恩智浦(收购飞思卡尔)

单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。NXP的MCU几乎都是采用cortex-m系列架构。

2. 瑞萨电子

NEC电子和瑞萨科技于2010年4月1日通过合并诞生了“瑞萨电子”,现为全球首屈一指的微控制器供应商,也是SoC系统晶片与各式类比及电源装置等先进半导体解决方案的领导品牌之一。他们推出的针对中国市场的MCU产品RL78系列分为通用产品和集成LCD驱动的产品,通用产品的升级款又围绕着传感器、小系统、马达驱动等具体应用领域做了相应拓展。

3. 微芯科技(Microchip)(收购爱特梅尔(Atmel))

微芯科技是全球领先的单片机和模拟半导体供应商,微芯单片机是市场份额增长最块的单片机。 他们强调节约成本的最优化设计,使用量大、档次低、价格敏感的产品。

4.三星(Samsung)

三星单片机有KS51和KS57系列4位单片机,KS86和KS88系列8位单片机,KS17系列16位单片机和KS32系列32位单片机。

5. 意法半导体(ST)

意法半导体微控制器拥有一个强大的产品阵容,从稳健的低功耗8位单片机STM8系列,到基于各种ARM Cortex-M0和M0+、 Cortex-M3、Cortex-M4、Cortex-M7内核的32位闪存微控制器STM32家族。STM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗/低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。

6. 英飞凌(Infineon)

其前身是西门子集团的半导体部门。英飞凌8位单片机能实现高性能的电机驱动控制,在严酷环境下(高温、EMI、振动)具有极高的可靠性。英飞凌针对中国市场推出的XMC1000工业单片机,在电机控制领域拥有很高的性价比。

7. 德州仪器(TI)

TI是全球领先的模拟及数字半导体 IC 设计制造公司。除了提供模拟技术、数字信号处理 (DSP) 以外,TI 在单片机领域也涉入较深,推出一系列的32位单片机,其中Piccolo系列微处理器最具代表性,具体型号如C2000和F28x系列。

8. 东芝(Toshiba)

东芝单片机的特点从4位机到64位,门类齐全。4位机在家电领域仍有较大的市场。8位机主要有870系列、90系列等,该类单片机允许使用慢模式,采用32K时钟时功耗低至10uA数量级。CPU内部多组寄存器的使用,使得中断响应与处理更加快捷。东芝的32位单片机采用MIPS3000ARISC的 CPU结构,面向VCD、数字相机、图像处理等市场。

9. Silicon Laboratories(芯科实验室)

Silicon Laboratories成立于1996年,位于美国德州奥斯汀市,是一家专业研发设计类比电路及混合信号IC的公司,为成长快速的通信产业设计等提供广大应用。在8051系列MCU领域居于领先军团行列。这家公司2013收购了一家叫Energy Micro的节能型MCU公司,所以产品有两个型号。

10. Maxim

Maxim的超低功耗32 位 Arm® Cortex®-M4 FPU微控制器(单片机),可以帮助您在任意地方收发其他超低功耗MCU的产品。超低功耗MCU系列产品既智能又省电。他们在去年发布了一款名为MAX78000的革命性芯片。这颗低功耗神经网络加速微控制器能将人工智能(AI)推向边缘端,更重要的是,因为其低功耗特性,那就意味着即使在将其应用在电池供电的物联网(IoT)设备里,芯片性能并未受到影响。

11. ADI

ADI提供日渐增多的DSP、混合信号控制处理器、嵌入式处理器和模拟微控制器产品,适合广泛的通用和专用需求。例如产品包括:带有微处理器的模数转换芯片ADuC844和ADuC846,用于IoT超低功耗MCU ADuCM4050。

12. 高通(Qualcomm)

高通的MCU主要应用于智能手机、平板电脑、无线调制解调器等等,功能非常强大。主要提供16位,32位MCU。

其余厂商见图片。

MCU作为微型计算机的一个重要分支,应用面很广,发展很快。自MCU诞生至今,已发展为上百种系列的近千个机种。而且随着半导体集成工艺的不断发展,MCU的集成度将更高、体积将更小、功能将更强。

STM32为何能在众多单片机中脱颖而出?

现在STM32资料教程如此丰富,但还是很多人学不会…

假如STM32像10年前的NXP单片机资料一样少,估计学不会的人会更多。

大家好,我是无际,一个踩坑单片机开发10年的老油条。

这些年,我用过很多不同的单片机,使用起来基本大同小异,就是配置寄存器把单片机用起来。

有些则不用自己去配置寄存器,直接调库使用,比如说STM8、STM32。

用过这么多,我个人认为最爽的就是ST的单片机,也就是STM8/32,其次是STC的。

因为这两款单片机资料教程太多了,也成熟稳定。

我永远也忘不了,一些冷门单片机,因为一个外设,调了我2个星期那种愤怒。

我也永远忘不了,有些单片机必须得用冷门的开发环境,开发环境和芯片都不熟,资料又少,代理又懒得鸟你那种无助。

还有一些芯片,光烧录器都几百上千的,我都不好意思开口叫采购买,怕他怀疑我是不是偷偷挣差价。

这些,都是我在开发生涯经常碰到的苦逼事,老板只管成本、品质、周期,可不管工程师头发会不会掉光

有些时候,碰到那些奇葩的芯片,真的想大声骂一声:去NMLGB,什么辣鸡玩意!

我还是比较喜欢主流的STC和STM32,让我用一些不熟悉的冷门芯片开发产品,我甚至都想离职。

拿STM32来举例,不管我碰到什么问题,外设不会用、编译出错等等,网上一搜都能很快地找到问题并解决。

ST公司唯一让我愤怒的一次就是用他们stm32cubemx的时候,因为没配置好把我桌面文件全删了。

后面气得我把巴不得手撕stm32cubemx,最可恨的是还删不掉,应该是要装辅助软件,简直就是流氓软件鼻祖。

在接下来的日子,我还是用比较原始的固件库来开发,免得被坑了都找不到人倾诉。

我相信大多数工程师想法和我一样喜欢STM32这种开发模式,毕竟人都是懒惰的,谁会没事给自己找事(尝试用新芯片)。

STM32之所以能在众多单片机中脱颖而出,我个人感觉有以下几点:

资料教程丰富,开发板满天飞,代理的FAE简直太轻松了。 完善的库,不用配置寄存器,缩短产品开发周期。 价格合理(今年暴涨除外)。 好拿货,以前用stm32开发产品基本不存在买不到芯片的情况(今年除外),或许是我们量太小. 性能稳定,基本不会存在乱七八糟的问题,偶尔电源短路一下芯片也没烧。 尊重客户需求和开发者,企业最看重的就是即快又稳,最好成本也低,工程师最喜欢就是资料丰富,使用简单,快速上手,ST一直在朝这方面努力,包括以前提供固件库方便工程师快速开发产品,现在又慢慢在搞stm32cubemx,让使用它们芯片门槛更低,还有廉价的烧录器等细节。

除了这些以外呢,ST的产品线也很丰富,基本高中低端的都有相应的型号解决不同的产品需求。

当然,可能还有其它,暂时没想到…

不过,我感觉,如果数据手册能符合国人的阅读风格,那就更好了。

即便用了这么多年,现在让我去看数据手册,都有点头皮发麻,很多也看不懂,其实你复制开发板例程一用,也就那么回事。

这里呢,也分享下个人看数据手册小技巧,就是先不看,先撸了代码再说,代码没问题再通过代码去理解数据手册。

比如说定时器,有周期、有分频、有计数模式,程序上基本通过结构体成员来配置,非常简单。

如果让你看数据手册去写这个程序,一定无从下手。

下面来说下,STM32怎么学比较好上手。

1.通过开发板去学习

这个也是大多数人的学习方法,相信很多新手都去看过一些视频教程吧,比如说某子某火的,我也看过。

前面那些还好,越往后其实看得越懵逼,越迷茫。

我建议呢,先看一遍教程,然后自己动手操作一遍,不懂了再看一遍教程,这样会比较好理解。

千万不要看懂了,而不去实践,看懂和会做完全是两码事。

2.通过项目去学习

相信很多人学完开发板以后还是会很迷茫,虽然外设都会用,但是不知道怎么通过这些来做项目。

我当初是因为公司产品需要,才接触到STM32,所以我当时我没有看过视频教程,而是买了一个开发板,把他们的外设例程拷贝到自己的产品上使用。

很多外设,我都没用到,我粗略记得当初就只用到了GPIO、定时器、串口、ADC、DMA。

因为产品只需要用到这些外设,剩余的也没时间去学,直到后面有新产品需求,又学了FSMC、SDIO等等。

其实学习就是需要这种循环渐进的过程,刚开始先学基础,然后通过项目实践,后面再学芯片高级功能,再通过项目实践。

只有这样,你的理解能力才能跟得上节奏,不然你看教程,用不到也是浪费时间,很快就忘了。

这也是为什么我们无际单片机编程通过以项目驱动去带学员学习单片机。

通过项目,你才能深刻理解你所学的东西到底有什么用,用在哪里,学习也更有目标性。

不过等你也做了3,5年以后,你就会理解,虽然我们从事单片机开发,但是重点不是学习单片机。

技术更新迭代很快,单片机市场也很卷,说不定明天就会有更好的芯片替代你目前使用的。

所以,一个合格的工程师,不应该依赖任何一款单片机,思维才是你的真技术。最后,祝我们国产芯片快速崛起!

相关问答

C51 单片机 芯片介绍?

C51单片机芯是对目前所有兼容intel8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之...

单片机 会被淘汰吗?

单片机不会被淘汰。就像当年更高性能的单片机出来后,一直都有人说51单片机会被淘汰,可是我们看到,51单片机不但没有被淘汰,反而活的有滋有味。就像提问里说...

6M晶振 单片机 的机械周期是多少?

通常的51芯片是12个晶振周期为1个机器周期。但是目前也有很多型号的51芯片是6晶振周期为1个机器周期。如NXP(原PHILLIPS)的51系列芯片。机械周期是cpu完成...

lpc是哪个公司的?

1,LPC单片机是NXP(英飞凌)半导体公司生产的:2,型号有:LPC2131/32/34/36/38。3,是基于16/32位ARM7TFMI-S内核。4,以上分别对应FLASH存储器大小:32...

帮个忙朋友们,请回答! 单片机 开发版买哪个好?

[回答]为那些专注产品市场推广的客户节省大量开发时间和开发费用,帮助客户永远在产品市场上具有***单片机电路板开发:***MCU单片机项目有很多成功案例。如...

sc16-6技术参数?

SC16-6是一种常用的高性能单片机,由NXPSemiconductors公司(前身为飞思卡尔半导体)生产。以下是SC16-6的一些基本技术参数:1.CPU:16位CPU2.工作频率:8.....

Atmel公司主要生产什么呢?

拉倒吧,STC只是在51单片机上发挥到极致,但和ATMEL相比那就相差不止两个数量级了!Atmel现在注意的是高性能16/32位单片机、消费电子和无线的应用,51单片机这个...

现在什么 单片机 最流行?

如果只算单片机,现在的含义更广了,应该这样理解,不跑操作系统的系统都可以说是单片机系统。从这个角度来看,现在Cortex-M0内核的是最流行的。有这个内核的芯...

电子信息工程有那些比较权威比赛呢?可以介绍一下吗?

大学时期虽然只参加了两项,但是对各种比赛项目还是总结了很多。电子信息类专业软件、硬件知识都涉及,所以我归纳的比赛有可能是软硬结合,也有可能只是软件类项...

东北大学,西北大学,西南大学,东华大学,中北大学,江南大学,长安大学咋排?

简介一点儿我所了解的东北大学秦皇岛分校,与大家分享:在所有985分校、由分校改名而来的校区、分校区、新建校区(非985校本部院系整体搬迁过去的)中,东北大...

猜你喜欢