1 从电路到集成电路

1.1 电路发展变化的趋势

(1)功率。电子设备越来越省电,待机时间越来越长,工作电压越来越低。

(2)体积。体积越来越小。

(3)功能。功能越来越强大。

1.2 微器件的出现

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

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

1.3 集成电路的出现

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

(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(U1、U2等),电容都用Cn(C1、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中每个物料的记录和对应就靠物料编号。

转载自公众号

转载于:https://www.cnblogs.com/smallqing/p/10621166.html

单片机到底是个什么东西?相关推荐

  1. 单片机到底是不是嵌入式?

    01  问题 很多同学一直在纠结:我是学单片机呢还是学嵌入式呢? 还有人说单片机也是嵌入式,到底对不对? 嵌入式是不是就是linux? 今天咱们说说这个问题. 02  什么是单片机 单片机的本质是一种 ...

  2. Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序(文末送书)

    Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序. 作者:坚果 公众号:"大前端之旅" 华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体 ...

  3. Python到底是个什么东西

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. Python到底是个什么东西 ...

  4. 相机的 高清到底是一个什么东西

    高清到底是一个什么东西?可能很多人还只能依稀的知道1080P什么的.当你在广告中看到数字电视机时,总会说支持1080i/1080P这样标准,先不提现在市面上销售的电视机有几个能达到这样一个要求.我们来 ...

  5. “暗通道”到底是个什么东西

    对于图像去雾领域的研究者来说,何凯明博士的"暗通道先验(DCP)"可谓是奉若圭臬,接触这个概念一年了,但一直没有深挖,一直都是"拿来主义",看大家粗略地一概而过 ...

  6. Memory Compression这到底是个什么东西?

    Memory Compression这到底是个什么东西? Memory Compression这个进程,经过我的查询说是内存压缩功能,作用是压缩内存让内存占用更低,但是为什么这个进程疯狂占用我的内存, ...

  7. 优漫动游室内设计到底需要学习哪些东西?

      室内设计这个专业,很多校外培训学校都有这个课程,但是,课程内容都会不一样,有的只有软件,有的只有理论,让人不明觉厉.今天,我就来讲下,室内设计到底需要学习哪些东西.   软件类软件包括CAD,3D ...

  8. 框架到底是个什么东西?

    学程序入门阶段,我们听到最多的几个词中,框架就是其中之一,什么前端框架,后端框架,D4框架,Vue框架,ssm框架等等. 那么框架到底是个什么东西呢? 其实框架就是让写代码这个过程变得更简单的东西. ...

  9. 大数据面试:面试官要求我了解过Presto——Presto到底是个什么东西

    前言 大家好,我是程序员manor,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人. 事情是这样的 我在实习僧App上发现一家公司非常匹配我的需求~ 城市匹配 技能匹配 ...

最新文章

  1. 详解在 Linux 启动时,如何自动执行命令或脚本
  2. 常见ETL工具一览,你知多少?
  3. 19、Fragment
  4. springMVC,aop管理log4j,把当前session信息和错误信息打印到日志
  5. Sublime Text3终极宝典
  6. 马上就要到了的即时通讯
  7. Linux命令find查询suid和sgid
  8. [Ajax] 超于json2.js的版本json3.js
  9. c语言三元组稀疏矩阵的转置实验报告,稀疏矩阵快速转置 数据结构实验报告
  10. CJ20N被删除物料的历史记录
  11. Winfrom窗体无法关闭问题--检查是否存在重写
  12. 普通人快速拿到校招offer的十大狠招
  13. 计算机编程需要学哪些基础知识,学编程需要掌握哪些基础知识
  14. 奇异值分解(SVD)线性变换和几何意义
  15. 【月光博客】腾讯微信推出广告联盟
  16. 中标麒麟桌面系统自定义屏保
  17. python实现图片压缩_python如何实现图片压缩
  18. 关于adb指令安装卸载apk的几个常用命令
  19. 升腾c10,华为ct3100安装nextcloud,KodExplorer网盘
  20. 在家用电饼铛自制潮汕美食肠粉过程,想学的赶紧来看

热门文章

  1. ACWing算法基础课-耍杂技的牛
  2. mysql事务四个特性_关系型数据库mysql事务四大特性
  3. centos7-32只有lo网卡的解决方法
  4. 了解 Jetpack Compose 中的重组
  5. 种群优化算法-萤火虫算法
  6. Android 跳转到应用设置详情界面
  7. 昆山万象汇机器人_9月童趣沙龙活动,现场有你的身影么?
  8. linux系统增加虚拟内存
  9. CentOS终端Backspace无效解决办法
  10. 龙芯2k按键中断驱动_字符设备驱动-高级篇按键中断程序驱动