单片机学习笔记(二)—— 从计算机说起

1.计算机发展历史

long long ago,"computer"一词是指从事数据计算的人,他们需要借助工具进行计算,比如中国的算盘,欧洲的机械计算设备,显然这些工具是满足不了人类计算需要的,约瑟夫·玛丽改进织布机,使之可以根据一系列卡片绘制复杂的图案,克劳德香农发表的论文《对继电器和开关电路中的符号分析》中首次提出数字电子技术的应用,图灵提出了伟大的图灵机,人们一直在致力于研究出高效的计算机……

1.1. 第一代计算机—— 真空管计算机

电子数值积分计算机(Electronic Numerical Integrator And Computer),由其缩写,简称为伊尼亚克,是世界上第一台通用计算机。它是图灵完全的电子计算机,能够重新编程,解决各种计算问题。ENIAC是模块化计算机,由执行不同功能的独立面板组成。它的多功能性关键在于“分支”的能力——能根据计算结果的符号触发不同的操作。除了速度之外,ENIAC最引人注目的就是它的体积和复杂性。

ENIACENIAC

1.2.第二代计算机 —— 集成电路计算机

在整个1950年代,真空管计算机居于统治地位。在后来英特尔的创始人罗伯特·诺伊斯的领导下,发明了集成电路 。 不久又推出了微处理器。1959年到1964年间设计的计算机一般称为第二代计算机。

1.3.第三代计算机 —— 晶体管计算机

到了1960年代,晶体管计算机将其取而代之。晶体管体积更小,速度更快,价格更加低廉,性能更加可靠,这使得它们可以商品化生产。 1964年到1972年的计算机一般被称为第三代计算机。大量使用积体电路,典型的机型是IBM360系列:

IBM360IBM360

1.4.第四代计算机 —— 大规模积体电路

到了1970年代,积体电路技术的引入大大地降低了计算机生产成本,计算机也从此开始走向千家万户。1972年以后的计算机习惯上被称为第四代计算机。Intel 4004是美国英特尔公司 (Intel) 推出的第1款微处理器,也是全球第一款微处理器。

Intel4004Intel4004
微型计算机是由中央处理部件CPU、半导体存储器、常用基本接口电路等芯片组成的,具有集成度高,体积小,重量轻,功耗低,可靠性高,结构配置灵活等优点,其中微处理器是微型计算机的核心,所以此后微型计算机的发展都是以微处理器的发展为征的。

2.计算机组成架构—— 冯诺依曼结构

几乎所有的计算机采用的都是存储程序结构,即冯诺依曼结构,将一个计算机主要由算术逻辑单元(ALU),控制电路,存储器,输入输出设备组成,这些部件之间通过总线(排线)相连,并由一个时钟来驱动。

冯诺依曼结构冯诺依曼结构
  • 存储器(Memory)是一个大型存储单元,每个存储单元都有自己的地址,这个存储单元中可以存储程序或数据(包括原始数据和计算结果);

  • 算术逻辑单元(ALU) 相当于大脑,可以完成两类运算,一类是做算术运算,加减法,第二类是做比较运算,即给定两个数,ALU确定哪个数更大一些;

  • 输入输出系统(I/O)计算机用于和外部设备进行交互;

  • 控制单元(Control Unit) 将以上各部分联系起来,它的功能是从存储器和输入输出设备中读取指令和数据,对指令进行解码,并向ALU交付匹配指令要求的正确输入,告知ALU对这些数据做哪些运算并将结果数据返回到何处。控制系统中一个重要的组件就是一个用来保持跟踪当前指令所在地址的计数器,通常这个计数器随着指令的执行而累加,指令跳转是特殊规则;

3.微型计算机的两路分支 —— PC与嵌入式

在第一节中讲述到,1970年Intel推出了第一款微处理器,开启了微型计算机时代,这个时候的微型计算机仅仅是通用微型计算机系统,比如现在的个人计算机PC,工作站等,主要用于实现海量数据存储,吞吐,高速数值计算、分析和传输的数据处理机,而人们希望将计算机嵌入到一个被控体系中,并能在对象环境中可靠运行,实现对象要求的对外部数据高速采集,逻辑分析,处理,状态显示,输出等智能化控制功能,显然,PC的体积,可靠性,价位根本无法满足这个需求,所以,单片机就在这个微型计算机时代诞生了,单片机的出现标志着计算机从海量数值计算进入到智能化控制领域,微型计算机技术正式形成了通用微型计算机系统嵌入式计算机系统 两大分支!

4.进入单片机的世界

4.1.什么是单片机

这个问题在此显得很多余,为了作以比较,引用维基百科定义:

单片机,全称单片微型计算机(single-chip microcomputer),又称微控制器(microcontroller),是把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人计算机中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单片机微计算机常用于当控制器故又名single chip microcontroller。“单芯片”是台湾对单片机的称呼;中国大陆主要采用“单片机”的称呼,英文缩写为MCU。

4.2.单片机的发展阶段

1974年,美国仙童半导体生产出世界上第一块单片机芯片,单片机由此诞生,并从4位机发展到现在的32位机,集成度越来越高,性能越来越强,应用范围越来越广。

4.2.1.SCM阶段

SCM即单片微型计算机(Single Chip Computer)阶段,它把中央处理器CPU,一定容量的程序存储器(ROM)和数据存储器(RAM),输入输出接口(I/O),可编程定时器/计数器,时钟等通过总线连接在一块集成电路芯片上的微型计算机。Intel是生产SCM单片机的创始者,在1980年推出了MCS-51系列,到现在依然是经典;

4.2.2.MCU阶段

MCU即微控制器阶段(Micro Controller Unit),不断在经典的SCM基础上扩展各种外围功能和接口电路,比如ADC,DAC,PWM,WDT,DMA等,但是在这一时期,Intel逐渐开放MCS51技术并淡出嵌入式分支,主打PC领域,所行的是,Intel此举并没有影响到到嵌入式分支的分支,相反,由于开放政策,Philips开发出了兼容的80C51产品,Atmel公司又推出了基于FlashROM的ISP/IAP技术的AT89CXX系列的产品,推动了嵌入式分支的发展;

4.3.3.SOC阶段

SOC即片上系统阶段,高度集成化,引入8051内核,并将整个嵌入式应用系统集成到一个芯片中;

4.3.单片机长啥样?

STC89C52STC89C52
MSP430F5529MSP430F5529
STM32F103RCT6STM32F103RCT6
MIMXRT1052MIMXRT1052
  • 芯片正面是丝印,表明了该芯片的厂家、系列、型号等等;
  • 芯片四周是芯片的引脚,包括电源引脚,时钟引脚,复位引脚,下载引脚,通用引脚;
  • 芯片正面的小圆点或者小凹槽决定了芯片引脚的第一脚,逆时针依次排列;
  • 芯片的封装决定了引脚类型,比如STC89C52是DIP封装,STM32和MSP430是QFN封装,RT1052是BGA封装;

4.4.单片机内有什么

正如刚开始维基百科所定义,单片机芯片内部主要由内核(CPU)、存储器(ROM,RAM)、片上外设组成,这些基本组成单元之间通过内部总线通信,如图所示是最基本的三总线架构

  • 地址线的根数决定了CPU最大的寻址范围(8位机寻址宽度就是28=64KB个存储空间0000H - FFFFH);
  • 数据线的根数决定了CPU一次可以处理数据的宽度(8bit),字长

    当片上外设逐渐增加时,总线的数目也会增多,需要总线矩阵进行仲裁,如图:

4.5.如何操作芯片 —— 芯片的灵魂(寄存器,Regester)

单片机编程的核心是操作寄存器,即改变寄存器的值!程序就是指令的集合,指令告诉CPU去访问总线,去改变寄存器的值,这些寄存器有的用来暂存数据,比如内核中的寄存器,有的用来控制多路选择器来选择数据是否流通,这些形形色色的就寄存器构成了功能强大的MCU,那么,最重要的问题来了,如何编程让CPU改变这些寄存器的值呢?
首先举个生活中的例子,一个新的住宅小区在建造完成之后是没有任何地址信息的,如何要找其中一个住户就比较困难,但是当开发商为这栋小区的每个住户都分配了门牌号后,我们可以通过 “ XX小区XX栋XX层XX室 ” 精确的找到这个住户,但是这样虽然有精准的地址,仍然不方便寻找,如果这家住户开了一家商店,那么我们可以直接通过寻找 “ XX商店 ” 很快速,精准的找到,因为人们更习惯每个地方的名字而不是具体的地址。
在MCU芯片中也是如此,这些寄存器都是一个个存储器,芯片里所有的存储器,包括FLASH和RAM,本来都是没有地址的,他们的地址是由芯片厂商分配的,称为存储器映射,比如FLASH和RAM的地址;这些我们通过地址指针就可以修改寄存器的值了,但是这些地址对用户来说并不友好,所以用户给这个地址起个名字,也就是给已经分配好地址的存储器取个名字,这个过程称为寄存器映射,这个起名字的过程通常在该芯片头文件中;
总而言之,无论是用精确的地址还是名字,表示的都只是那一个住户,那一段存储空间!

4.6.单片机可以做什么?

单片机是一个微控制器,片上只有常用的GPIO/定时器/ADC/DAC等基本外设,但除此之外,单片机还拥有很多的通信接口,IIC,SPI,USART,FSMC等等,通过这些接口和外围设备通信,实现更强的功能!
在这个万物互联的时代,单片机就是Brain Of Things,比如智能家电,平衡车,无人机,可穿戴设备,机器人等等;Internet改变了人们的交流方式,创造了互联网时代,那么下一次,Internet Of Things将会改变物与物之间的交流方式,创造一个新的物联网时代!

4.7.单片机如何选型?

单片机的种类繁多,型号不一,STC,TI,ST,NXP等各大主流厂家都有自己的优势产品,这些产品往往会形成一个系列,所以,无论是我们身为学生,利用单片机实现我们的想法,还是身为码农,利用单片机开发自己的核心产品,单片机如何选型也是一个很重要的问题!

4.7.1.芯片厂商选择

如果没有特殊功能需求,芯片厂商的选择依赖于自己对该MCU芯片的熟悉程度;

4.7.2.芯片选择

4.7.3引脚数量及封装选择

在无特殊功能需求的情况下,优先考虑QFN或者BGA封装;

4.7.4.特殊选型

在一些特殊应用场合下,必须要考虑功耗,工作条件等等特殊需求,可以最优选择满足条件的芯片厂家;

猜你喜欢

转载自blog.csdn.net/mculover666/article/details/80913449
今日推荐