当前课程知识点:智能车制作:嵌入式系统 >  第二章 绪论 >  2.3 概念CPU、微控制器MCU和嵌入式系统 >  Video

返回《智能车制作:嵌入式系统》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《智能车制作:嵌入式系统》慕课在线视频列表

Video课程教案、知识点、字幕

各位同学大家好

欢迎大家回到ARM微控制器与嵌入式系统的学习

我们继续进行我们第二章

这个课程知识简介的一个学习

那么在前面几节里

我们从最基本的门电路一直讲到了CPU

我们当然这门课不可能学习设计CPU

但是我们知道了CPU的内部是如何工作的

会建立一个强大的自信就是

我们对于CPU内部的工作模式

和它的结构是可以理解的

那么在前两节课的课程学习当中

我们最后从像电磁继电器那么简单的开关电路

建立了六个这样的开关逻辑

包括不管是晶体管

还是继电器就能组成一个逻辑门电路

而门电路又能组成逻辑运算单元

最后得到了一个四比特的概念CPU

那么这样一个四比特概念CPU

我们抛开上节课所讲的

他的0和1的排列是指令等等这些概念

我们从定量的来看看它

如果有一个四比特的概念CPU

我们想把它给设计出来

我们大概需要多少晶体管呢

需要多少门电路呢

首先我们有信心它是可以设计出来的

然后我们会发现我们大约六个晶体管

会能组成一个门电路

然后十个量级左右的门电路能够组成加减法

以及左移、右移各种各样的模块单元

而从这张图上可以看五个六个七个这样的单元

最后能组成一个

可以有序运行的逻辑运行的一个概念CPU

那么概念CPU到实际CPU其实还有很大一段距离

但是抛开这个所讲

我们算算晶体管有多少个

你会发现是六个

再来一个量级

再来一个量级

很多同学就会说大约是几百到几千个晶体管

是的 那么我们来看一看

在人类历史上第一个商用的可以买到的

单片的微处理器就是像这样子一个白白的芯片

双列直插的封装上面

有个非常漂亮的金黄色的金属盖

这就是因特尔公司在1971年推出的

世界上第一款单片微处理器 叫4004

那么4004这个芯片工作在740kHz

那么它一共使用了2200多个晶体管

那么它使用的工艺是什么呢

是10微米的晶体管工艺

也就说每一个单管大约在10个微米的尺度

方法呢就跟我们现在做电路板一样

我们在一个比较大的尺度上把图纸绘制出来

通过拍照缩印把它制作在硅片上

那么这是当年这个芯片设计时候的胶片

在那个年代的工程师

他们通过仔细的计算设计

可能是在胶片上用铅笔来绘制这样的一种设计图

跟我们今天用电脑计算机辅助

来进行更加复杂的超大规模的集成电路设计呢

应该说在方法上既相通又有很大的区别。

4004的这个芯片

它是一个微处理器

也是我们今天个人电脑的老祖宗

或者反过来说应该是这个年代

产生的一系列芯片推动了个人电脑的产生

使它走进了千家万户

那么这个芯片它无法单独构成一个计算机

很显然它只是一个基本的处理器

运算单元

所以它是MCS4家族当中的一款 它叫4004

它还有哥哥和弟弟

它有4001、4002、4003这些存储器和IO外设

大家工作在一起

能够组成一个非常廉价的微型的芯片

那么4004有很多后续的型号

乃至8008、8080

这一系列芯片的发展 沿着微处理器

大家注意这个词 微处理器的概念

一直发展成了今天的通用CPU

那么通用CPU在我们大家所使用的

无论是笔记本还是台式电脑里用的很多

有的同学用电脑用的比较早

接触过386、486、奔腾

乃至我们今天所说的速龙、迅驰等等

一个一个以英文单词为名称的这样的计算机系统

那么我们个人电脑很多时候

windows的平台都是X86的体系结构

那么Mac、苹果当然是另外一个构架

当然今天有很多用的是X86

无论是哪种构架我们都知道

如果我们把笔记本拆开

或者我们要攒一台计算机

光有一个通用CPU是不够的

一个完整的计算机系统

不管是按照这个冯·诺依曼体系架构来讲

还是说我们自己组装一个计算机来讲

你会需要一个主板 上面插上CPU

除了让CPU运行起来

你需要有内存 内存有内存的插槽

你会有显卡 会有总线 南桥北桥

然后会有这个存储器、硬盘

外面会有鼠标、显示器、键盘等等外设

所有这些一起才能构成一个完整的计算机系统

这是我们的个人电脑或者叫做台式计算机

完整的计算机系统的一个基本结构

那么我们本门课程要学习的是微控制器

微控制器与这样的通用计算机有什么区别呢

或者说用另外一句话来讲

就是微控制器是一个芯片,叫MCU

它与我们刚才所说的这样

一种微处理器或者叫通用CPU是有很大区别的

如果我们看一下它的定义

在经典的教科书

或者wikipedia上都能找到一大段英文

这段英文如果我们看看它对应的这个中文

可能会更简单

但是我们记住几个词

比如说MCU是Microcontroller的缩写

然后在国外呢经常会把Micro写成一个

小的希腊字母μ或者叫Micro

所以呢看到这几个词指的都是我们本门课程

学习的ARM微控制器当中的那个微控制器

我们开始理清这些定义

那么从中文上来讲

微控制器是一个完整的片上的计算机系统

它把除了CPU以外

我们刚才说组装一个完整计算机电脑

所需要的存储器、外设这些基本的功能

高度精简和凝练的做在了一个芯片上

组成了一个片上计算机

那么用更加学术的语言

或者在Wikipedia说呢

是self-sufficiency也就是叫自完备性

所以一个典型的微控制器

应该包括了完成它的应用

所需的全部存储器和外部接口

而PC机 台式电脑则需要通过大量的外扩

在CPU之外才能完成这样一个功能

所以我们理清了微控制器的基本概念

我们会想一想 微控制器里头

要想构成一个完整的片上计算机系统

它要有什么呢

对 它跟CPU不一样 它里头肯定会有一个CPU

这个CPU根据我们运算能力的强弱

可能是4比特、8比特、16比特

乃至32比特甚至今天64比特也有

那么他会有各种各样的输入、输出的接口

要有各种各样功能的外设

比如我们常说的做智能车控制温度

控制电机、测量光线等等这样的外设接口

模拟量的输出输入

然后它为了让程序的运行它必须要有RAM

相当于内存 易失的存储器 要有ROM

不管是EEPROM还是 Flash memory

非易失的存储器来存储它的程序和常量

最后呢它自己还要有一个完善的时钟

产生的单元和甚至有些里头会有电压调率单元

构成了一个单片只需要特别简单的外围电路

就能运行起来的片上计算机系统

这就是我们所说的微控制器。

那么很显然 它是一个非常精简小巧

麻雀虽小五腑俱全的计算机系统

是我们学习计算机类知识一个非常好的入门

那么我们来比一比通用的CPU和MCU

在感官上有什么区别呢

这是两张因特尔的Nehalem

和这个奔腾的处理器的内部结构

你会发现这样的处理器有个非常大的特点

就是这是一个硅片的拍照图

你会发现不管它是一核还是双核还是四核

芯片的绝大部分面积都是那个Core

也就是我们刚才所说的那个逻辑运算单元

然后呢这一个面积就意味着里头有大量的晶体管

那么在当代的CPU里头

还有很多的面积用来干嘛呢

放这个Level 1 Level 2的这种Cache memory

放一些存储器

我们在讲体系架构的时候

它是这个CPU的草稿纸

来提高它运算的效率

那么有了这么一个概念再来看一看

一个经典的微控制器

MCU是什么样的呢

大家会明显的看这个差异

这是Power PC PPC55系列一个MCU

今天他在大量的奔驰宝马汽车上用的非常非常多

作为汽车的控制系统

你会发现同样一个大大面积

一个芯片做出来可能拿到手里就像这么大

它的区域里头

只有最下左那个小小的区域是它的CPU

如果我们把这个芯片的这个区域

仔细看上面的英文你会发现

非常大的两块面积都是片内的存储器

也就相当于我们组装的电脑上的内存

和硬盘都做在芯片上了

然后左边那一大绺是各种各样的外设

有测量温度的有控制时序的

有控制发动机这个接口的

有CAN通讯的 对吧

这些外设都在这上面

所以打一个不太严谨的比喻的话

我们觉得我们的MCU是什么呢

是一个微缩到了芯片上的电脑主板

我们的CPU 我们的存储器 我们的外设

我们的接口都在芯片上实现了

通过某种方式引出来

所以当我们学习一个微控制器的时候

我们会实际上是在学习一个完整的麻雀虽小

非常简单但是非常完备的计算机系统

如果大家希望深入的学习

刚才这些计算机的体系结构那是一门专门的课程

而嵌入式能够帮助我们

非常概览的去掌握这样一些知识

真正把它用起来

那我们为什么要学习微控制器呢

那我们这个课的后半截讲嵌入式系统

在第一节的时候我讲过嵌入式系统概念

我们回过头来再来看一看

说嵌入式系统应用在很多很多行业

可以有各种各样的形式

从微控制器最最简单的一直到DSP

或者强大的微处理器

组成的这样的嵌入式计算机系统

都是嵌入式系统学习的范畴

那么有这么多种形式嵌入式系统

我们为什么选择微控制器呢

对 我刚才已经说那一句话

首先它非常非常简单对吧

然后呢其实在用微控制器设计一个商业

或者工业的产品的时候它有很多很多优势

比如它会非常小巧

比如说我手上戴这样一个穿戴设备

你不能容忍一个穿戴设备体积非常大

你必须借助这些体积小巧的微控制器

来实现它小小的体积

其次呢 它能够非常的低成本

它能够实现计算机功能

而在可剪裁

可应用这样一个范围内

非常低成本的实现你所要的功能

然后呢因为它的小巧

它的高度的凝练化

它会非常的低功耗

我们都可以容忍一个穿戴设备三四天

四五天充一次电

但我们不会容忍它每八个小时

或者每天要充两三次电

然后最后因为它的高度集成化

它会带来高可靠性

这个有可能同学以后才能理解

最后我们的微控制器的时间

在下一个单元我会给大家讲

有大量的型号和系列

所以往往在我们进行设计的时候

你做的是一个工业设备

还做的是一个穿戴设备

你会非常根据你的目标

来定制选择特别合适的器件得到最佳的设计

然后呢用它进行设计

能够节约大量的时间和金钱

那么抛开上面所有所有的优点

我最想说的是这样一句话

就是作为一个学生

作为一个初学者

当你有一个很棒的想法的时候

它是你嵌入系统入门

最最容易帮助你把想法实现的一种工具

比如我想做个智能车

或者我想做个机器人

你学习了微控制器

你会发现很多事情你已经可以上手

这就是为什么我们用微控制器

作为嵌入式学习的入门、敲门砖

那么内容到这儿差不多就结束了

我们前面梳理了概念的CPU

一直到一个实际历史上出现的4004

乃至什么是微控制器

麻雀虽小 五腑俱全的片上系统

那么把这个知识

我做两个拓展的回顾给大家介绍

我们没有学CPU的设计

但是我们可以以此为基础对计算机理解更加加深

在很多地方我们会看到很有意思的内容

比方说如果大家看看很著名的小说

刘大神所写的《三体》会有这么一个片段

里头出现了很多在游戏里化名的

冯·诺伊曼这样的人物

最后用大量的士兵组成了逻辑门

而这些士兵又组成了逻辑运算单元

最后还组成了总线

构成了一个人阵计算机

那么这一段写的非常的精彩

有兴趣同学可以去把它找来看一看

然后呢可能还有很多同学

喜欢在网上玩一个非常好玩的游戏叫

《MineCraft》 我不知道叫“小小世界”

还是叫“我的世界” 是吧

里头有很多单元你可以随意的构造

但是里头有一个非常好的红石的逻辑器件

能实现基本的逻辑

所以在我们这个世界上就有一群爱好者

就用这样的逻辑器件

就像我刚才说从基本上的逻辑门搭起

不仅实现了一个完整的CPU

而且是实现了一个完整计算机

它有一个1024像素的小显示器

具有16位的位宽 6KB的显存

能够跑真正的程序

实现一个井字棋的小游戏

那这段视频大家可以看一看

有兴趣同学你们可以在网上找到它的相关链接

那么这些事情学习了以后

如果有意往这方向发展的同学

你可以进行更加专业的学习

或者更加专业地去阅读

在还能找到一本很好的一位日本的同行

所写的书叫《CPU自制入门》

深入浅出的讲解了CPU背后的秘密

所以本门课程的额外阅读

我推荐大家有兴趣可以看看这本书

好 概述的单元就到这儿

下一个单元我给大家讲一段八卦的计算机史

谢谢大家

智能车制作:嵌入式系统课程列表:

第一章 概览

-1.1 课程概览

--Video

-1.2 进入嵌入式系统的世界

--Video

-1.3 如何学好嵌入式系统

--Video

第二章 绪论

-2.1 计算机的基本概念、发展历史

--Video

-2.2 从晶体管到CPU

--Video

-2.3 概念CPU、微控制器MCU和嵌入式系统

--Video

-2.4 八卦计算机史

--Video

-2.5 不同领域、不同系列的嵌入式系统

--Video

-2.6 ARM历史与MKL25Z128 MCU

--Video

第三章 MCU基础

-3.1 CPU的基本结构和运行机制

--Video

-3.2.1 堆栈的概念

--Video

-3.2.2 堆栈的概念-头脑体操

--Video

-3.3.1 ARM的体系结构

--Video

-3.3.2 ARM的体系结构-头脑体操

--Video

-3.4 中断的概念和机制

--Video

-3.5 中断子程的概念和编程

--Video

-3.6 复位、时钟、存储器和总线

--Video

-3.7 小结:MCU的总体结构和程序运行机制

--Video

第四章 MCU外设与开发

-4.1 第一种外设:IO

--Video

-4.2 IO外设的编程实操-点亮LED

--Video

-4.3 IO外设的进阶知识

--Video

-4.4 嵌入式开发的基本概念与工具链

--Video

-4.5 嵌入式开发的进阶知识

--Video

-4.6 嵌入式开发中的C语言(上)

--Video

-4.7 嵌入式开发中的C语言(下)

--Video

-E0.1 实验零 开发板的初步认识与工具链的安装

--Video

-E0.2 实验零 体验一个例程的编译与下载

--Video

-E0.3 实验零 编写第一个程序:点亮核心板LED

--Video

-E1 实验一 点灯秘籍

--Video

第五章 MCU与嵌入式系统设计

-5 智能车视角的嵌入式设计

--Video

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。