单片机究竟是个什么东西?

1 从电路到集成电路编程

1.1 电路发展变化的趋势网络

(1)功率。电子设备愈来愈省电,待机时间愈来愈长,工做电压愈来愈低。框架

(2)体积。体积愈来愈小。dom

(3)功能。功能愈来愈强大。异步

1.2 微器件的出现性能

(1)电路的核心:开关控制、倍率控制。学习

(2)电子管、晶体管等。测试

1.3 集成电路的出现网站

(1)IC(integrated circuit,集成电路),就是使用微器件为积木,去搭建具有必定功能的一个电路板。ui

(2)之前没有微器件的时候,必须很大一块电路板才能实现一个电路功能(譬如一个加法器,完成加法运算)。而后有了微器件以后,这个电路板的体积变小了,愈来愈小,最后小到mm级别甚至更小,咱们就把这个电路作在一块儿,用塑料外壳封装起来就造成了你们看到的IC芯片。

(3)芯片(IC、集成电路)其实就是:里面馅是电路,外面的壳就是绝缘体壳,里面的电路经过外壳上引出来的一些引脚(金属材料的)来与IC外部接轨。

(4)IC有多少个引脚,每个引脚的做用是干吗的,是IC设计制造的时候就已经决定的,咱们拿到IC使用时要去读IC的数据手册来知道这个引脚怎么用。

2 计算机的核心设备CPU

CPU就是一块超大规模集成电路,CPU的本质就是电路。

2.1 CPU(Central Processing Unit,中央处理器)

(1)CPU = 运算器 + 控制器

(2)CPU = ALU + cache + Bus

(3)CPU = 汇编指令 + 寄存器

2.2 CPU的工做原理

(1)CPU经过总线从存储器取出指令到内部,而后译码,而后执行。

(2)一条指令包括:指令码+数据。

(3)执行指令反应为一个控制操做或者一个数学运算。

(4)给单片机编程其实就是给CPU写指令序列。

3 给单片机下个定义

3.1 计算机系统三大组成部分:CPU、内部存储器、IO

(1)单片机属于计算机的一种。

(2)IO就是input/output,也就是输入输出。譬如键盘、鼠标、触摸屏等就是输入设备,而LCD显示器、声卡等就是输出设备。

3.2 单片机的结构框图分析

 

(1)咱们来看单片机这个计算机系统的结构框图。

(2)框图中的方块是组成部件、箭头表示总线Bus。

(3)CPU处于单片机系统的核心位置,别的模块都经过总线和CPU进行关联。别的模块之间通常没有总线直接相连,有时候2个互相有关系的模块也会有总线直接相连。

(4)IO其实就是芯片上的引脚,不一样的单片机型号有不一样的IO数量和定义。

3.3 如何定义单片机

(1)单片机就是一台微型计算机。

(2)台式电脑或者笔记本电脑(这种计算机叫PC)也是一种计算机系统,这种计算机系统由不少个零部件组成。这些零部件由不一样的厂商生产,能够去组合组装成一台电脑。

(3)单片机这台计算机的全部零件所有作在了一个IC内部,而且出厂前被塑料壳封装起来了。传统计算机中的主要部件单片机都有,都集成到内部去了。

(4)MCU的概念(参考百度百科词条:MCU),因此说你们看到:单片机、单片微型计算机、MCU、微控制器、微控制单元等,都是一个意思。

微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格作适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,造成芯片级的计算机,为不一样的应用场合作不一样组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,均可见到MCU的身影

4 ROM与RAM

4.1 计算机中的2种存储器

(1)计算机要存储器干吗

(2)内存:内存和CPU接轨比较紧密,内存能够被CPU直接访问,内存能够按照字节为单位来随机访问、程序运行时离不开内存、程序中的变量都是定义在内存中的。内存受限于物理技术和成本,容量比较小而贵;内存速度比外存快不少,CPU的速度比内存的速度快好多。

(3)外存:外存和CPU之间比较远,外存不能够被CPU直接访问,外存通常以块为单位来访问,不能以字节为单位随机访问。外存容量大而便宜,外存速度比内存慢好多。

(4)综合来讲,计算机系统是这样工做的:文件和数据不用的时候就放在外存中,要用的时候从外存读取到内存,而后CPU再从内存中读取数据来直接使用。

4.2 ROM

(1)read only memory,只读存储器,意思是只能读不能写。实际上世界上根本不存在真正的只能读不能写的器件,咱们ROM这里的只读意思是:程序运行时只能经过程序本身自己的操做去读而不能写。

(2)常见的ROM:单片机中用来存储用户烧录的程序的器件就是ROM,烧录的过程其实就是在写ROM,可是程序运行时是不能修改ROM内容的。烧录程序通常要经过烧录器来完成。

(3)storage,存储器,含义有点像仓库存储东西。ROM就有点相似于仓库,用来存储程序代码。

(4)ROM有点像外存的概念,可是并不彻底相等。主要是由于计算机系统有不一样的设计方法,譬如PC机和单片机的设计就不相同。PC机中有外存没有ROM,单片机中有ROM没有外存。单片机中程序平时是存储在ROM中,运行时由ROM直接供给CPU。

4.3 RAM

(1)random access memory,随机访问存储器。

(2)常见的RAM:从物理上来说,主要分为SRAM和DRAM,单片机中通常使用的都是SRAM,嵌入式SoC中和PC机中用的都是DRAM。

(3)memory,存储器,专指的是计算机的内存。

4.4 单片机中的ROM和RAM

(1)单片机中的ROM通常是Flash(闪存),有些地方会看到叫flash memory;单片机中的RAM通常都是SRAM;这两个共同构成单片机中的存储体系。

(2)ROM和RAM的协同工做方式是:ROM用来存储用户写好编译好的程序,运行时CPU直接从ROM中读取一条一条的指令来运行,指令运行过程当中产生的临时数据放在RAM中。因此基本能够理解为:ROM是单片机用来放程序的,RAM是用来放数据的。

5 单片机的工做原理

5.1 主要器件负责干吗?CPU、存储器、IO

5.2 统一的时钟节拍

(1)这里有一个概念叫:同步。同步就是好多个独立的部分按照同一个节奏步调来动,以此来实现一个配合。

(2)和同步相对的一个概念叫异步,异步就是各自干各自的。

(3)单片机的各个模块之间是同步工做的,CPU和存储器和IO和单片机中其余东西这些模块之间经过一个统一的节拍来同步工做,这个统一节拍就是单片机的时钟。

(4)这个时钟节拍对单片机很重要,单片机内部在一个时钟节拍中只能作一件事情。因此单片机要发生一些变化或者作一些事情,最小的时间单位就是1个时钟节拍。单片机的时间单位都是时钟节拍的整数倍。

(5)单片机中的CPU、存储器、IO等都是以时钟节拍为动做节拍的,因此单片机是一个同步系统。

(6)时钟周期的长度(时钟节拍的快慢)影响了单片机的速度,因此这个时钟就叫作单片机的主频。主频越高性能越高,通常PC的主频都是2G多3G多,51单片机的主频MHz级别。通常手机CPU的主频也在1G-2G左右。通常高级单片机如STM32的主频在百MHz级别。

6 外设与内部外设

6.1 什么是外设

(1)外设英文叫 peripheral ,全称为外部设备。属于单片机中的模块。

(2)单片机中除了三大部件(CPU、IO、存储器)外,还有一些别的东西,譬如串口控制器、譬如I2C控制器等····这些东西就叫外设。

(3)早期单片机功能很弱小,不具有不少功能(譬如中断功能、譬如串口通讯功能),那咱们用单片机作产品,只能外部扩展一些专用芯片(中断控制有中断控制器芯片,串口通讯咱们有串口通讯芯片)来和单片机结合(作到一块电路板上用导线链接)起来工做。这种产品设计中核心部分就是单片机,外部配合的这些专用芯片就是外部设备,简称外设。

(4)后来随着半导体工业发展进化,集成电路的集成能力变强大了,咱们干脆就把一些经常使用的外设直接集成到单片机里边去了。因此单片机里边就有了一些原来被称为外设的东西,可是叫法名称仍是沿用了开始的名称。

6.2 什么叫内部外设

(1)我为了区分外设,将集成到单片机里边的外设叫作内部外设。

(2)还有外部外设,就是至今仍然没有集成到单片机内部,还在外部的那些外设。

7 单片机与电路板

7.1 什么是电路板(PCB printed circuit board,印刷电路板)

(1)外观:PCB板 = 基板(绝缘)+电路。

(2)做用:PCB的做用就是骨架和链接。最终目的就是把全部的元件按照正确的电路图链接起来造成一个完整的能够工做的电路。

(3)构成和材质,经常使用的基板材质都是FR4(玻璃纤维),PCB板是由多层构成的(单面板、双面板、四层板、8层板、12层、16层、24层)。

(4)印刷电路其实就是在不导电的基板表面按照电路构成来印刷一层导电物质造成电路。最后造成的就是一个里面的芯是不导电的FR4,外面有一层构成了电路的铜(标准术语叫覆铜),为了不铜氧化或者与外部导电外部还有一层油墨,刷油墨时要露出来焊接点(焊接点通常有2种:一种是插针式、一种是贴片式),焊接点上原本就是铜,可是咱们为了方便焊接通常会作镀锡。

(5)PCB板其实就是硬件电路(元件和电路设计)的载体。

7.2 什么是芯片

(1)芯片就是:芯是半导体技术造成的电路,外面的壳是塑料绝缘壳,里面电路经过芯片引脚接出来用于链接外部电路。

7.3 芯片方式和电路板方式的关系

(1)相同点。芯片其实就是一个微型的电路板。这两个东西自己如出一辙,早期只有电路板没有芯片,后来半导体工艺发展后有了微型器件,因此人把一些电路利用半导体工艺直接做死到一个芯片中去造成了IC。

(2)不一样点。电路板体积较大,功率大;芯片体积小,功率小。

(3)咱们作一个电子产品究竟应该如何去整体设计?现代的设计方案都是芯片+电路板。能作到芯片里面的都作进去(趋势是愈来愈进去的多),实在不能作成芯片的就只好放在外面。原来的产品,譬如老式大屁股电视机主板很是大,而新式的智能电视机主板就是一个大芯片+不多的外围设备。

(4)单片机开发板其实就是PCB板主板+单片机芯片+其余芯片+其余外围电路元器件整体构成的。这就是广泛的电子产品的结构。

8 软件与硬件的区别和联系

8.1 从产品角度

(1)硬件是?产品的载体和身体。 

(2)软件是?产品的思惟和灵魂、精神。

8.2 软硬结合

(1)物联网不能靠纯软件打造。 

(2)纯硬件产品大部分都低端。

9 硬件工程师主要工做职责

电路图的分析和设计

原件的选择和参数肯定

PCB的设计和样板焊接、调试

生产跟踪和问题解决

10 软件工程师主要工做职责

初级软件工程师:辅助测试、写代码、维护

中级软件工程师:独立工做、对产品负责、解bug

高级软件工程师:需求分析、框架设计、团队管理

软件工程师成长路线:学到基础(知识+能力)->找到工做->学习和锻炼->中级->高级/转方向

11 datasheet的重要性

11.1 什么是datasheet

(1)datasheet就是数据手册,其实就是芯片的文档。

(2)数据手册中描述的都是这个芯片/器件的物理参数、电学参数、时序图、编程须要的信息、别的信息。总的来讲这个芯片的全部有用的信息都在数据手册中,使用这颗芯片过程当中的任何疑问均可以去datasheet中查询。

(3)咱们学习单片机软件开发过程当中,要不断去查询各类芯片的数据手册以获取一些有效信息来指导咱们。

11.2 datasheet谁写的?

(1)datasheet是由芯片厂商提供的。datasheet其实就是芯片的产品说明书。

11.3 datasheet从哪里来?

(1)最官方最权威的途径就是到芯片厂商的官方网站去下载。

(2)开发板附带的光盘资料中通常也会有。

(3)将芯片型号信息敲到百度去搜索其数据手册。

11.4 datasheet应该怎么使用?

(1)数据手册不是书,更不是教材,数据手册更像是一本字典。因此不是从第一页看到最后一页,更不用试图是记住。

(2)数据手册必定要先浏览一遍。尤为对于刚开始学习的人。浏览的目的是大概知道什么东西在哪里(未来用到时大概知道到哪里去找),里面一些概念基本理解,可是并非为了记住。

(3)数据手册的正确用法就是:前面先简单看一遍(其中的前面一些能够认真看,后面的了解便可),用到某个具体知识时再根据前面浏览时的了解去具体查找数据手册中相关部分,这时候再去认真看。

12 原理图和PCB图

12.1 原理图

(1)原理图叫电路原理设计图,就是用符号来绘制出的电路链接的逻辑图。咱们平时讲的电路图其实就是原理图。原理图不是实物。

(2)原理图由:线条、方框、圆圈、数字、字母等组成。看懂这些符号所对应的电路实物,就能看懂原理图。

(3)原理图中每个符号表达一种含义,常见的有: 

直线:表示导线,是用来链接元件构成电路的。 

方框:表示器件,如IC、插座 

常见符号:如电阻、电容、三极管等··· 

特殊符号:不常见器件

(4)原理图中的每个器件都有一个编号,如IC都用Un(U一、U2等),电容都用Cn(C一、C2)····这个编号在原理图中是惟一的,这个编号用来表示/记录这个元器件。

(5)原理图中芯片类型的器件还会有一个名字,名字通常是器件的型号。

(6)原理图中大多数器件还有一个参数值,譬如电容的容量、电阻的阻值等。

(7)有些器件(IC、插座)有引脚,引脚编号用数字表示。

(8)原理图中有个网络的概念,原理图上2个编号同样的节点其实在逻辑上是连在一块儿的。网络的发明纯粹是为了方便画图,让图不会导线链接的跟蜘蛛网同样。分析原理图时必定要注意网络,不然看到的可能就是一半的原理图。

12.2 PCB图

(1)硬件工程师在设计产品硬件时的步骤是:先有原理图,而后用原理图画出PCB图。

(2)PCB图是原理图和实际器件结合起来后,生成的PCB板的结构图纸,PCB图的做用就是拿给作PCB板的厂商去印刷电路板。

(3)对于软件工程师来讲,PCB图彻底不用去关注,咱们只关注原理图。

12.3 BOM表

(1)BOM就是bills of meterials,就是物料表,物料表是整个电路中用到的全部物料的一张清单。

(2)BOM表是研发部门(硬件工程师)提供,通常是给生产部门来备料、记录用的。

(3)BOM中每一个物料的记录和对应就靠物料编号。

转载自公众号

相关文章
相关标签/搜索