单片机:又称微控制器单元(MCU),是指在一块芯片上集成了微处理器、RAM、ROM和I/O接口电路的完整的微型计算机。 它的全称为单片机,简称:单片机。
与微型计算机(PC计算机)相比,中央处理器的频率和规格降低,内存空间减少。 这样的变化使其广泛应用于仪器仪表等各种电子产品中。
2、单片机的发展历史
单片机诞生于1971年,是第四代计算机发展史上大规模和超大规模集成电路计算机发展(1971-2016年)的分支产物。 它经历了三个主要阶段:SCM、MCU、SoC。 早期的单片机是8位的还是4位的。 最成功的是INTEL的8031。此后,在8031上开发了MCS51系列MCU系统。基于该系统的微控制器系统至今仍被广泛使用。 随着工业控制领域的要求提高,16位单片机开始出现,但由于性价比不理想,并未得到广泛应用。 随着20世纪90年代后消费电子产品的快速发展,微控制器技术得到了很大的提高。 随着INTEL i960系列,特别是后来的ARM系列的广泛应用,32位单片机迅速取代了16位单片机的高端地位,进入主流市场。
传统8位微控制器的性能也得到了迅速提升,处理能力比20世纪80年代提高了数百倍。 目前,高端32位Soc微控制器的主频已超过300MHz,其性能正在赶上90年代中期的专用处理器。
现代微控制器系统不再仅在裸机环境中开发和使用。 全系列微控制器上广泛应用了大量的专用嵌入式操作系统。 而作为掌上电脑和手机的核心处理的高端微控制器甚至可以直接使用专用的Windows和Linux操作系统。
3. 微控制器架构
1、单片机的体系结构按存储器结构可分为哈佛体系结构和冯·诺依曼体系结构(又称普林斯顿体系结构)。 目前大多数PC采用的冯诺依曼架构,嵌入式设备均采用哈佛系统。 甚至最早的MSC-51系列微控制器也是哈佛系统。 用一张图来表达两种架构的差异。
2、按指令结构可分为CISC架构和RISC架构。 这里简单介绍一下
微处理器指令集架构(Instruction Set Architecture)常见类型如下: 复杂指令集计算(CISC); 精简指令集计算(RISC); 显式并行指令集计算(Explicitly ParallelInstructionComputing(EPIC);VeryLongInstructionWordInstructionSetOperation(VLIW)
目前,X86和ARM架构被公认为商业化进程中性能最好的两种架构。
其实就是“复杂指令集”和“精简指令集”的逻辑区别。 也许有人会说,简化指令集显然更好,但我们很难判断它们之间谁好谁差,因为目前他们的指令集都在蓬勃发展,而且都取得了成功——X86是复杂指令指令集(CISC),而ARM则是精简指令集(RISC)的代表。 就连ARM的名字也直接表明了它的技术:Advanced RISC Machine——高级RISC机器。 至此你应该明白为什么RISC和CISC之间的性能很难直接比较了,因为它们之间的设计思想相差太大。这种思维导致了CISC和RISC的分道扬镳——前者更注重于实现高性能但功耗高,而后者则专注于小尺寸和低功耗领域。
x86 架构是 32 位复杂指令集 (CISC) 处理器架构。 随着计算机系统的需要,已经发展成为64位x86-64。 这称为64位架构,分别对应计算机的32位操作系统和64位系统。 操作系统
ARM架构是一种广泛应用于嵌入式系统设计的32位精简指令集(RISC)处理器架构。 由于其节能特性,ARM处理器非常适合移动通信,符合其低功耗的主要设计目标。
更多关于X86架构和ARM架构的知识
4、单片机最小系统
1.什么是微控制器最小系统?
单片机的最小系统,或者说最小的应用系统,是指由最少的部件组成的能够与单片机一起工作的系统。
2、最小单片机系统的组成以及各部分的功能——以我的扳手STM32F103c8t6为例
电源电路
电源入口。 不同的微控制器有不同的电源需求。 为了保持电压稳定,会连接稳压电路和滤波电路。
晶体振荡器电路
或者称为时钟电路,时钟电路为单片机系统提供基本时钟信号。 主要用于为主控芯片提供时钟节拍。 微控制器一般分为内部时钟和外部时钟,这也是有源和无源的区别。 使用内部RC振荡器时,无需连接外部晶振。 Y1经过有源晶振,Y2经过无源晶振。
下载电路
程序下载电路的作用是将用户编写的程序烧写到单片机的ROM中。 单片机下载程序有多种方式:ISP下载方式、SWD下载方式、JTAG下载方式。 微控制器的编程需要特殊的工具。 ISP使用的工具有USB/TTL、SWD和JTAG。 ISP使用的工具是JTAG。
复位电路
有的单片机是高电平复位,有的单片机是低电平复位。 当单片机的复位引脚上出现两个以上周期的复位电平时,单片机复位,程序从头开始执行。其实就是复位电平和寄存器
5. 嵌入什么
学习路径
1、定义:嵌入式一般指嵌入式系统。 事实上,相对于PC系统来说,可以认为PC以外的硬件上的软件系统都可以称为嵌入式系统。 英文名称是:Embedded System。 嵌入式开发实际上就是嵌入式系统的开发。
从官方意义上讲,嵌入式系统是以应用为中心、以计算机技术为基础、能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活定制软硬件模块的专用计算机系统。
生活中,电脑、平板电脑、手机、手环、测量仪器、机器人等电子产品都涉及到各种芯片处理器。 那么它们之间有什么联系和区别呢?我们身边的很大一部分电子产品(除了一些简单的不带控制的电子产品,比如充电器、U盘等)其实都可以称为嵌入式设备。 普通电子产品和嵌入式设备可以通过“是否带有可编程控制芯片”来区分
2.嵌入式产品特点:量身定制、低功耗、专用
剪裁:其实说得不那么严格,嵌入式设备就是通过对计算机进行剪裁而得到的。这里的剪裁包括三个方面:芯片、外围硬件和系统。 简单来说,它就是轻量化计算机的产物。
功耗:不同的电子产品具有不同的复杂程度和不同的功耗要求。 为了满足手机、手环、无人机等不同功率和功能的电子产品的需求,嵌入式设备有不同的功耗要求。 控制比较严格。 台式电脑不考虑这方面。 当然,笔记本为了追求长时间运行也会考虑,但更多的考虑是追求高性能和散热。
特殊:一般嵌入式电子产品只是针对特定方面而设计的产品。 毫不夸张地说,它们是为商业价值量身定做的。 计算机用途广泛,更常被用作各种产品的协作或独立工具。
3、ARM、单片机、STM32与嵌入式的关系
嵌入式系统是PC以外的硬件产品,分为嵌入式软件系统和嵌入式硬件系统。 简单的嵌入式硬件系统称为微控制器。
STM32是单芯片。 ARM芯片是嵌入式硬件系统的一种,分为高、中、低端。 M3、M4等系列低端部分也都是单片机。
普通单片机一般对应没有操作系统的软件系统,常用keil。开发简单
ARM芯片大多是高端的,相应的软件系统都有操作系统,通常是Linux系统。开发复杂
参考
——通用计算机(PC)和手机是否属于嵌入式设备? (嵌入定义)-杂谈
——嵌入到底是什么?
——ARM、单片机、STM32、嵌入式系统之间是什么关系?