当前课程知识点:智能车制作:嵌入式系统 >  第一章 概览 >  1.2 进入嵌入式系统的世界 >  Video

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

Video在线视频

Video

下一节:Video

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

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

大家好

我是清华大学

工程物理系的曾鸣老师

欢迎大家来到我们

ARM微控制器与嵌入式系统的MOOC课堂

开设这么一门课呢

是我们在清华已经开设了

八年的一门嵌入式课程的延续

在这门课程里

我希望带着大家

进行一个ARM微控制器与嵌入式系统之旅

当然 我的另外一个身份呢

是全国大学生智能车竞赛秘书处的成员

所以以往每年到了差不多春季这个时候

我就会到各地

去给高校的老师和参赛同学

做一些嵌入式的培训

今年我们使用了

MOOC平台这样一种方式

来教入门的参赛选手

如何把一个ARM微控制器玩起来

然后能够去参与到智能车的比赛当中

所以无论你是一个爱好者

还是一个想参加

智能车比赛的同学

都可以跟着我们这门课程

希望能在一个学期的时间里愉快的玩耍

掌握这样一种嵌入式的知识技能

那么既然是一门

ARM的微控制器与嵌入式课程

所以我们就要知道

我们这门课

在这个学期要学些什么

能有什么用

当然我们要学习

ARM嵌入式系统的

基本概念

软件的编程

它的芯片

它的硬件怎么用

另外呢

我们要放在一个

嵌入式系统设计的框架

考虑如何做一个这样的

嵌入式系统的设计

如何把我们的功能

与芯片关联起来

以及它的一些接口如何扩展

那么抛开所有的这些知识不理

我刚才说过

我们有的同学可能是为了

参加大学生智能车竞赛

但是在清华开设这样一门课程

特别是开在大二这样的低年级

我抛弃了很多先修课的要求

尽量把它讲的浅显易懂易上手

也是希望让低年级的同学

能够比较早地

具备能力上手

把课外你感兴趣的

你觉得很酷

但一直不知道

该怎么下手的科技活动

能够玩起来

对 大家注意到我提的是玩起来

所以呢

我们希望通过

计算机的,电路的一些基础知识的积累

再加上我的讲解

能够让大家非常愉快的

进入嵌入式的领域

来进行愉快的玩耍

有同学说

老师你说玩耍

我怎么不知道

怎么才能玩起来呢

那我们先看看什么是嵌入式系统

虽然我们还有一个词是微控制器

但它放在计算机体系结构

我们有了一定的学习之后

再详细的去定义

那么嵌入式系统

是比较容易界定清楚的

我们如果看看IEEE

或者维基百科上的定义

或者是国内包括像

北航的何立明老师

这样一些前辈们

对嵌入式系统的定义

它基本上描述了这么一个概念

就是一个计算机系统

一个dedicated计算机专用系统

它在一个大型的机械

或者电子设备当中

发挥一个控制和计算的功能

同时呢

很多时候带有实时的特性

这样一种计算机系统

我们称为嵌入式系统

那么抛开这个字面上的解释

用我个人的语言

做一个更通俗的解释是什么呢

就是一个体现在

机械的电子的别的设备里

不以独立计算机面貌出现

发挥特定功能的计算机系统

我们称为嵌入到了

这样一种专用设备当中的计算机

就称为嵌入式系统

那么关于“嵌入式系统”

有的同学会说 哇 老师你很狡猾

你教嵌入式系统

你把它定义说的这么宽泛

可它事实上就是这么宽泛

我们会发现嵌入式系统的定义

即使你从维基百科上看

它会从大型的工业设备

一直到路边的一个交通灯

从我们日常的媒体播放器

一直到我们的手机

从医院的这个核磁治疗仪

PET CT 核磁共振

一直到混合动力车和汽车

即使在一个汽车里

我们一个奔驰车

可能有200多个微控制器

构成嵌入式系统

小到一个车门的电控系统

大到一个发动机

或者是变速的这种智能控制

以及我们仪表牌上的智能显示

无数的智能的嵌入式系统

支撑了我们现在方便好用的汽车

乃至我们方便舒适的生活

那么这样一种

广泛的嵌入式系统大家会发现

它的复杂程度和运算能力

有很大的差别

从维基百科的解释来看

或者从我们实际从事

嵌入式开发的概念来看

最最简单的嵌入式系统

就是我们本门课程

所要学习的微控制器

构成的嵌入式系统

麻雀虽小 五脏俱全

一个芯片构成的计算机系统

那么复杂嵌入式系统可能有DSP

可能有高性能的微处理器

比如我们现在所使用的安卓手机

它的内部实际上是一个MPU

Micro Processor Unit

通过外扩存储器

实际上不逊于

个人电脑的运算能力

所以它又好看 又好玩 对吧

那么从广义上来讲

这些不同复杂程度

不同性能的

都是嵌入式系统的范畴

那么学习嵌入式系统

它的范围这么广

前景这么好

大家觉得

老师你得给我描绘一个蓝图

但是这不是我要说的重点

我想要给大家讲的重点是

嵌入式系统非常的好玩

因为它的门槛很低

你从微控制器也就本门课程

我们所学习的内容开始

你会很容易在很低的知识年级

以及较低的本科生年级的程度下

就可以把嵌入式系统玩起来

一旦你掌握了嵌入式的知识

结合你所感兴趣的领域

不管你是

机械 仪器 机器人 智能车

或者像我的专业是物理

你就可以发现一些

以前要仰视的东西

你能够逐步上手

是这样吗

我给大家看一看

我自己学习嵌入式系统的一些经历

也同时让大家看看

学了嵌入式系统

能够做些什么

比如这样一块系统

那么这样一块系统

用现在大家的眼光来看

觉得Low Low的

对不对 大家不要给我面子

觉得它好像看上去不咋地

因为有很多直插的元件

有很多粗粗的

黑黑大大的芯片

有那种在我们现在买到的手机里面

看不到的直插的电阻

但是这是我人生当中

画的第一块或者第二块电路板

好吧 实际上是第二块

但是因为第一块比它更难看

我一般不给大家看

那么这样一套电路系统

它是基于一个普通的

8位的MCU微控制器来设计的

摩托罗拉的HC08系列的8位微控制器

它实现了一个非常简单的

我这个专业的

物理的核能谱测量多道系统

能够通过片内内置的

ADC采集物理信号的幅度

通过片内的串行通讯

或者我自己外扩的USB通讯

把它传送给计算机

那么这套系统

大约画于十五六年以前

也就说我自己还是一个

在校本科生的阶段

那么通过学习上手

能够把一个自己觉得好像很酷

或者在那个年代

要花很多钱才能买到的仪器

能够尝试自己做出来

这个系统花了两个月来画

花了两个月来进行加工和焊接

然后过年的时候外面放着鞭炮

我闷在家里写程序

直到今天回想起来

仍然是一个非常愉快的

非常有成就感的经历

那么这是大约十三四年以前

我自己年纪更长一点

设计的一个16位的嵌入式系统

它采用了S12这样一个16位的MCU

这样系统是为了参加一个

当时的科技比赛所设计的作品

那么有同学会说

这个东西是什么呢

聪明的同学会说

它有一个USB接口

它很像一个U盘

对它像一个U盘

它也就是个U盘

那么在我们那个年代

十四五年以前U盘才刚刚出现

所以你今天会觉得

老师你做个U盘好Low

那个年代我觉得U盘很酷

我想自己做一个

所以我就做了

然后那个年代

最大的U盘128兆

这个U盘就是128兆

那么光做个U盘

有的同学会说

即使15年前那也不够酷啊

对啊 所以你们注意

它上面有很多按键

有播放有暂停

有同学会说它是一个MP3

但是我要告诉大家

非常不幸在那个年代

MP3也已经出现了

所以如果我做一个MP3

我仍然认为不够酷

所以这一个作品

当时的构想是一个脑洞

用了一个叫做Text To Speech(文本转语音)的芯片

今天大家在很多手机上

可能有这个软件

那个年代是没有的

用这样一个芯片

与U盘的idea结合在一起

那么于是在这个U盘里

我可以将一些文本文件

就是txt格式的

字符文件拷贝进去

它的体积非常小

比如我拷一部《射雕英雄传》

我点一下播放

语音合成芯片

就可以将这个

文本文件读出来

通过后面插着的耳机

挂着耳机朗读给我听

那走在车上

走在路上

我就可以听

我自己拷进去的小说

这在一个没有智能手机的时代

是一个多么酷的作品啊

所以我自己花了一个月构思

花了两个月制作

最终把它完成

那么它的系统设计

现在大家看这张图会觉得很迷茫

那么我给大家看这张图的结果

只是给大家两个印象

第一一个简单的16位的MCU

加上它内部若干个

外设的使用和适当的外扩

就能实现这么一个设计

第二呢

就是我要提前做一个广告

当本门课程学习完的时候

最后一节课的系统集成

我会带着大家

再回过头来看这样一些

我曾经做过的嵌入式系统设计

那个时候你不再觉得好像很难

而是会觉得琢磨琢磨我也能做

为什么呢

因为它所有的模块

所有的内容

十八般武艺都会在

这门课程里我交给大家

然后如果我们

有志于脱离微控制器的范畴

去做更加复杂的系统

我这里举一个例子

比如像这样一个系统

它就是一个三星最早的S2440

一个ARM核的微处理器

Micro Processor Unit(MPU)

它比我们这门课程

要学习的微控制器要高阶一点

存储器需要外扩

能够跑比较复杂的

具有内层管理单元的

这样的操作系统

那么在这样一种

微处理器的复杂结构上面

今天比较火的是Android系统

那么大家

在开发和移植的原理上是相似的

在那个年代

最好的图形界面的系统

就是Windows CE

也就是屏幕上看到的

那么这样一个系统

从系统的设计

多层板的设计

一直到硬件 软件的调试

驱动的开发

操作系统的移植

应用程序的一些

最终它是用到了

一个科学仪器产品当中

能够进行我们环境当中的伽马 中子

这样的放射性的测量和报警

是一个手持设备

那么对于我自己

对它进一步的玩

作为一个电子爱好者

你肯定不会选择

做了一个复杂系统

就这么放着就完了

那我怎么玩呢

我会选择通过文献的调研

通过一些技术资料的查找

很多同学

会用谷歌会用百度来搜索

我去找一个GPS的模块

自己画一个外扩电路

把它背在我们这个系统的背后

于是我将这块板

进一步扩充功能

做成了一个小的GPS导航仪

所以有很长一段时间

我的车上使用了

这样一个GPS导航仪

就是让一个裸露电路板

看着Low Low的

但实际上内心感觉很酷的

自己做的系统

然后大家可以想象

作为一个电子爱好者

如果有朋友很惊讶的说

你这个导航仪

好像有点不一样

然后一般你可以深藏功与名

天高云淡跟他讲说

只是自己做的而已

所以

电子爱好者

或者嵌入式爱好者的一种

强大的好玩

和我刚才所说的乐趣

就在于通过逐渐的学习

你所喜欢的东西

你都能够具备自己做的能力

有很多同学说

老师你讲的都是你自己所做的这些作品

那还有没有别的例子呢

那是有的

我刚才讲过

我们这门课程是直接衔接服务于

全国大学生智能车竞赛的

有很多参赛的同学对智能车比赛很熟

那么没有接受过

智能车比赛的同学

我可以给大家看一看参赛同学们的作品

比如说这一眼放过去

好几十辆各不相同的车辆

全是同学们自己的作品

如果我们拉近了看

就会发现每一辆车都是不一样的

它的结构

它的电路设计

包括你肉眼看不到

它里头程序的编写

都是各具各的特点

每一辆车看上去很美

但是又流露出浓浓的山寨味

它的走线,它点的热熔胶

它整理不齐的电路引脚

那么这些车

都是我们爱好者同学

在半年一年的时间里

为了参加智能车比赛

自己完成的制作

那么一个车的制作

会涉及到很多知识

从机械到控制

从传感器到编程

那么其中一个很核心的关键

就是微控制器的开发

以及电路的设计调试

那么掌握嵌入式的知识

我们就会非常容易的上手

把一个低年级本科生的同学

看上去不可能完成的任务

给自己动手做出来

真正智能车比赛的场景

就是像这样曲曲折折的赛道

我们有很多同学开玩笑说

这个赛道再发展两年

都快要变成中国联动的标志了

但是我们智能车非常智能

在无人直守下

能够自动地识别这个赛道

四个轮子跑

甚至两个轮子直立着

去沿着赛道高速地较量

激烈的比赛最后的成绩差距

可能会在0.1秒

甚至更小的范围内

那么如果我们看一看

智能车比赛

会发现智能车比赛

从2006年 2007年 2008年

一直到现在2017年

过去的十二届比赛

今年是第十二届

过去的十一届比赛当中

它所使用的嵌入式系统

也在循序渐进地变化

从2006年最早开始的S08的8位的MCU

一直到2007年2008年16位的MCU

乃至到2009年0.18微米工艺

也就180纳米工艺的XS128的16位MCU

乃至到2011年之后

引入了32位的ARM的Cortex M4

Cortex M0和PowerPC这样32位MCU

这些嵌入式系统的不断引进

我们同学在不断学习掌握

更加强大的嵌入式处理器

比如我们本门课程所讲的就是

ARM Cortex这个架构里

最最适合

入门和低端的ARM Cortex M0的MCU

那么随着嵌入式平台的不断革新和引进

我们的运算能力越来越强

我们智能车越来越智能

越来越smart

能够使用一些

原来不敢用的

更复杂的算法

甚至有朝一日

我们可以期许

我们能够真正的

去跟真正的智能交通

真正的大型的智能车

发生关联

联系产业

所以呢 说到产业

有很多同学说

我们学嵌入式系统

真的学了只能玩玩吗

不是的

如果我们

深入的学习了嵌入式系统

我们可以尝试跳出玩一玩

跳出智能车的范畴

去尝试做一些更酷的

创新的 创业的

创造新的产品的尝试

比如上我们研究生课程的清华的同学

就有人说

我能不能做一个血氧浓度的腕表

那么经过我们课程的指导

和他自己的一些选型设计

最终他成功的拿到了融资

拿到了比赛的奖励

成功的做出了一个公司

那么这个产品是一个

小型的测量血氧浓度的智能腕表

那么这个产品的优劣我不评价

仅仅从idea

从概念来讲

我们本门课程所学习的

ARM Cortex M0这样一种微处理器

很适合用在

包括我自己都戴着

这样的智能穿戴设备上

因为它是所有的嵌入式系统当中

功耗最低的一个平台

那么同时

嵌入式的本质

针对你所要结合的那个问题

你可以去探讨它的物理原理和测量方法

比如血氧浓度

最后会提炼为对于皮肤上

反射的特定波长光的强度测量

那么这样一些知识的结合

最后使你具备真正把你的Idea

做出来的能力

就像这位同学一样

那么在更加高大上的产业界

嵌入式系统也是无处不在的

我举两个相对高大一点的例子

比如大家都知道是我们中国

现在名片之一的高速列车

大约在10年以前与我们清华合作的时候

我的师兄包括我的老师与他们合作

在高速列车里完成了

像这样的安全计算机的

主控系统的设计

那么这样的系统为了安全

需要在一个单个板卡上

有两个PowerPC构架的

高性能计算机进行冗余计算

什么叫冗余计算

用一句话说清楚

就是考一位同学一个数学题

352乘以467

你可能一口答不上来

那我问你们两个人

你们两个人都会算

算完你们俩告诉我结果

说实话我也不知道结果是多少

但如果你们俩告诉我的结果一样

那你们俩可能很大的概率算对了

如果你们俩结果不一样没有关系

肯定至少有一个人算错了

或者两个人都错了

所以在安全控制的领域

我们往往会使用

两个这样计算机高性能

同时同步去处理所有的信号

来校验计算是否正确

而这样的两个CPU的系统

又有两套来热备份 构成2×2取2

然后当一套出现了

运算上的差异

明显有错误的时候

有另外一套热线接管这个系统

那么这样一种东西

在10年以前我们国家

还不具备独立设计和生产的能力

但在今天我们的高铁列车

已能够成功的出口

这背后需要大量的学习

嵌入式知识的同学

投身到我们的产业当中

去设计真正世界一流的嵌入式系统

在我自己所在的领域

以物理为背景

我们有一个

世界排名第一的高技术产品

也是长期出口

那就是海关的集装箱安检设备

那么我们

需要通过高能的射线

穿透很厚的这些物质

精确的在纳秒的时间尺度

在几千几万个

电子的弱信号尺度上

去测量这些信号

然后用嵌入式的技术

加以电子信号的处理

最后成功的得到图像

乃至得到

全世界第一的这种技术的物质的识别

那么这样一些

技术的整合

会构建这样一种

高技术成果的产品出口

乃至占据世界最大的市场份额

而它背后对嵌入式技术的要求

既包括刚才那些

极端的信号处理的要求

也包括从数字领域

我们要有千兆

乃至万兆的数据传输的能力

和实时的数据处理能力

这都需要顶尖的嵌入式技术

然后 有的同学会说

老师我学习嵌入式

可能爱好不在产业

有没有更高大上的东西呢

也有的

我给大家举另外两个例子

比方说

很多爱好物理的同学都会很关注

在2008年的时候

人类最大的加速器

大型强子对撞机

在欧洲核子中心(CERN)开始运行

这是一个位于瑞士和法国交界线

也就是我这张地图当中

虚线所在的这个国境线

地下60米到100多米深的一个加速器坑道

这个加速器坑道非常的大

里头有低温超导驱动的加速器

在几十公里的范畴下

构成了一个环路

坑道里的尺寸

可以走一辆小车

那么在这样一个

大型的加速器里头

质子被加速到了

七个TeV对撞

这是人类所能达到最高能量

那么像这样尺度上的基础物理实验

需不需要嵌入式系统呢

也是需要的

我们首先看看这个实验的构架

左下角小小的这是一个人

在这样(CERN)的实验里一个最小的实验

是我们清华代表中国所参加的LHCb实验

就是在5米×5米×10米

这样的尺度上构成探测器

那么这些探测器

对于两个粒子对撞

产生的所有碎片

要在非常短的时间内

测量它的飞过的径迹、能量

所有这些物理信息

再带到物理模型里进行事件的筛选

寻找人类所没有发现的新物理

可以想象这样的物理实验

它对于信号的处理

每一个信号到微米的尺度

又有10米的大小

是非常的苛刻的

这样的物理实验

有14个国家

47个大学和研究所

600多位科学家合作了10年

方才启动和加以运行

那么以清华和瑞士联邦理工等大学

合作的嵌入式的

这样一个电子学系统

就在这样高能物理实验当中

得到广泛的应用

比如我图中这样一块电路板

它上面有五个FPGA实时地处理数据

有一个微型PC进行这个慢控制的处理

那么这样一个复杂的嵌入式平台

具备非常强大的运算能力

它每秒可以接收

1.5G乘以24通道多达36G的数据

如果有兴趣的同学可以想一想

我们现在非常热的各种电视剧

无论是之前的《甄嬛传》

还是现在的《三生三世》

一集电视剧如果你从网上看

可能就是百兆量级

在这里一秒钟就是几十G

而对于物理信号的处理

你需要对这样大量的物理事件

进行数据的处理和筛选

要在短短800纳秒里头

将大量的数据压缩到

只有4个G的流量送出去

那么有同学觉得一套这样的

嵌入系统已经非常的强大

超过我们刚才所说的所有系统了

不是的

在这样的高能物理实验里

这样的系统不是一块

而是350块

同时并行处理所有实验的数据

那么与之类似我不展开讲的

像非常有名

我们中国人主导的大亚湾中微子实验

由北京的中科院高能所主导

在大亚湾这样一个

有若干个核反应堆 核电站的地方

测量中微子之间的关系

也是人类历史上一个

最新的最近的中微子振荡

验证中微子有没有能量这样一个基础实验

在小小一个人旁边

有这么大的沉水池在地下

屏蔽掉了所有来自

周围环境的放射性去测量

几乎不与物质发生作用的中微子

而实验点之间距离在公里范围

我们需要把这些时间同步到

至少是纳秒尺度

这就需要非常精准的嵌入式系统的设计

所以 有很多同学说

老师你讲下来

我们会觉得嵌入式系统

好像从我们觉得很好玩的东西

智能车 小制作

一直到工业产品高大上的高铁

一直到改变人类未来的

基础物理实验都能做

好像特别特别的酷

那它是不是很难学呢

其实我想说嵌入式的入门

在本门课程里

引一个ARM Cortex M0机构的微处理器

来学习是非常适宜一点都不难

非常适合低年级的本科生

完全把它掌握

我们能够知道它的一切

通过后面课程的学习

知道它的指令

知道它的生命周期

知道它的运行

知道它的时序

那么对于本门课程的学习

我们只要求大家三方面的基础知识

一个是要勇敢的具备

一定英语阅读的能力

科技英语总是很简单的

所以会领导大家

去试着学习阅读原始的芯片手册

其次呢

大家应该有一定的C语言的基本功底

我会给大家补

但是大家一定要通过额外的学习

至少具备良好的C语言基础知识

最后呢大家如果条件具备

有一次数字电路和计算机的基础知识

我认为对于学习和理解本门课程会更好

但没有

通过本门课程的学习

我相信大家也都能上手玩起来

所以

言而总之 总而言之

嵌入式系统的世界非常的广阔

本门课程我希望成为大家的一个敲门砖

让大家能够

进入这个嵌入式的世界

通过短短的学习

参加智能车比赛的同学

能够把智能车跑起来

但是有志于学习

嵌入式的同学从身边做起

也许是你一个觉得很酷的小制作

也许是你一个心仪已久的创意创客发明

也许是你想做一个

与众不同 独一无二的

给女朋友或者男朋友的礼物

我身边见过很多同学

这些事情他们都做过

但是最重要的

是在学习嵌入式的过程当中

他们都收获了乐趣

觉得好玩

那么下一节课

我会给大家简单讲讲

如何学好嵌入式

这节课就到这儿结束

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

第一章 概览

-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笔记与讨论

也许你还感兴趣的课程:

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