当前课程知识点:智能车制作:嵌入式系统 > 第一章 概览 > 1.3 如何学好嵌入式系统 > Video
各位同学大家好
我是清华大学
工程物理系的曾鸣老师
欢迎大家回到
ARM微控制器与嵌入式系统的MOOC课堂
我们继续进行
我们第一章概览的学习
所谓概览呢
就是不太涉及
我们具体的技术知识
而是更多的去看一看
我们这门课
学习的内容
范畴和目的
讲一些理念上的事情
在第一个小节里
我给大家讲了讲
什么是嵌入式系统
也就是嵌入式系统
我们开这么一门课的目的是什么
实际上更多的是
让更多爱好者同学
能够上手能够玩起来
我想这是我开设这门课
最最重要的一个初衷
那么结合包括智能车的培训
包括很多爱好者
喜欢学嵌入式系统
第二个章节这个小小片段
我其实想给大家讲一个
跟具体知识无关的事情
就是如何学好嵌入式系统
也是我自己开设
这样一类课程
很多年的一些思考
很多同学会问我
曾老师我怎么才能学好嵌入式系统呢
或者更广泛一点
我怎么才能学好电子学知识呢
然后我自己想了想
我跟有的同学会说
其实这个当中
最重要的一件事情是
你要想清楚我怎样去学
有同学会说
那我问的就是怎样去学
有的同学会说
我要发奋学 努力学
然后我会说
如果在星期天的早上
你睁开眼睛
拿着曾老师给你的
一块电路板或者开发板
然后说为了提高知识技能
为了增加专业水平
为了祖国的明天
为了我们的产业
我要努力练习这件事
我觉得那就错了
嵌入式这是和我们很多工科知识
都是紧密于专业相结合的
它需要很强的兴趣为趋导
所以如果你在星期天的早上
拿到了这样一个嵌入式系统
或者拿到了你心爱的智能车
你是觉得它非常的好玩
我不吃不睡
我要接着再玩一下
或者我心理还有一个
让我心理痒痒的功能没有实现
我很想再调一下
我觉得那个状态就对了
所以今天
我想围绕这个事情
做一些思考和讨论
首先我想从一个
背景或者故事讲起
这是一片茫茫的星空
这张图是我找的
一个哈勃望远镜的摄影图
在这个宇宙当中非常非常的大
我自己的背景是从事物理的研究
虽然我更偏地下的物理实验
或者是粒子物理实验
但我也会跟我的一些同事
比如我们清华大学的冯骅教授
合作做一些天体物理的研究
那么在他看来
我总是很入门 很科普
然后我没事的时候
看一看会发现
在这个宇宙当中
有一类星体
它非常非常的有意思
它的名字叫做
Blazar或者叫耀变体
那么从科学术语
我作为一个外行
或者半外行来讲
我只能照搬Wikipedia上的解释
它是一类由超大质量黑洞
在一些银河中心构成的
大质量的类星体
但是它最独特的一点
它是人类目前
已经观测到的
能量最高能的一类天体
有多高能呢
这样一类的星体
很可能它一个星体的总发光量
是我们整个银河
总发光量的100倍以上
而且它一般都离我们非常的遥远
可能离我们人类所生活的地球
有120亿光年远
那么又这么大质量又这么远
这一类星体
是人类所观测到的
宇宙当中最高能
最强大的天体
然后它非常的美丽
比如上它的科学幻想图是这样的
一个旋转的星系当中
有一束白白的线
人类花了很多年
才大概地猜想着
弄清楚若干种类星体之间的关系
因为星星挂在天上
我们人类不能变它
它对我们是侧面是正面
那它就是它那个样子
我们没有办法去调整它
所以非常的万幸
挂在天上的星星
我们站在地球上去看
人类花了很多年研究
猜想我们看得到的
一系列的天体
可能只是同一个
类似于这样银河
巨大黑洞的喷射天体
从不同的角度刚好对着人类
当它喷射的角度
正面正好对着人类的时候
我们会觉得它特别的亮
也就是刚才所说的Blazar
那么这是一些星系里头的效果图
如果我们刚好
从它的侧面看就会发现
它是一个非常璀璨的光柱
那么这些天文学的东西
在我们这些爱好者
或者叫半专业人士看来非常的美丽
那么它有什么启示呢
我自己从事了一些相关的研究
我有一个学生
它的博士题里跟着我的同事
做一些像这样的黑洞的射线偏振的测量
那么我们知道
这样的Blazar也好
黑洞也好
X射线源的天体也好
它都是非常高能的
但是到了地球
我们想测量它的结构的时候
霍金告诉我们
我们只能通过非常有限的信息
来重建像这样一些天体的这种物理信息
我们非常反讽的是
要测非常微弱的信号
有多微弱
要一个光子一个光子的测量
测量每一个光子与气体介质
与探测器介质沉积产生的电荷
弱到了信号只有
几百个几千个电子的程度
所以会形成一个个
这样像蝌蚪一样晃来晃动的图像
然后这些蝌蚪的尾巴
代表着光子沉积产生的初始电离
我们从中再来统计得到光子的偏振信息
再从成像的角度
叠加到原始的天文学图像上
从而得到一个类似于黑洞
或者X射线源这样的天体
它里头每一个光子携带的偏振
所揭示的它内部结构
这样一种极弱的测量
与一种极强的天体之间形成的反讽
让我有时候会形成一种反思
就是嵌入式系统
在我们每个人所在的领域
要做到极致是一件非常非常挑战
但又同时非常非常有成就感的事情
什么样的内在驱动力
能让我们去把这样的事情做的很好
或者能让我们像刚才
一开始所说把嵌入式系统学好呢
或者站在一个老师的角度
怎样才能把我的学生
培养了超过我这一代人
真正的站在世界的巅峰
去做一流的嵌入式工作者
或者在各行各业是优秀的电子工程师呢
在这个反讽当中
我又会想到两个故事
一个是这样一本非常有名的书
可能有的同学会看过
叫THE ART OF ELECTRONICS
我不知道这本书
是不是大家都认为它是那么棒
至少在我看来
它是一本非常经典的书
从封面大家可以看到
它的第三版采用了类似于这样烫金色
我们会现在会说叫土豪金的颜色来印制
最重要的是
没有多少人会在写一本书的时候
敢把自己的领域用THE ART来命名
至少我不敢对不对
什么东西从一个工程的领域敢称为艺术
那么这本书大约在将近1989年
也就是20多年以前出版了它的第二版
一共有1120多页
那么20来年过去了
中间无数次传言它会出第三版
无数次爱好者翘首以盼
终于在2015年这本书的第三版出来了
所以大家可以想想
它有多么庞大的粉丝群
这本书的受欢迎到了这张图的地步
这是我在网上找到的
有爱好者把它网上关于三极管原理讲解的这张图
做成了体恤印在身上
买到这本书拍张照说
我终于等到了
那么我要讲的不是这本书的广告
而是这本书的作者
Paul Horowitz 和Winfield Hill这两位科学家
他们不是纯粹的电子工程师
从某种意义上来讲
他们也是跨界的工程师
我不敢把他们定义成嵌入式工程师
但是比如说以Paul Horowitz为例
他是这个哈佛大学的天体物理学系的一个教授
从事的是仪器天文学
那么他的领域包括
射线天文学这个天文学的仪器
可能跟我刚才讲的领域有点像
最重要的是能写出这样一本书的人
如果在他的主页上你去看
发现有这样一张照片是他小时候
还有一张这样的照片是他长大以后
你会发现这样一个人
在他小时候戴着个大大的耳机
可能玩着无线电收音机
就是一个电子爱好者
所以在这样一种爱好者驱使下
在国外持续的和平年代里
有这样一批爱好者能够循序渐进的成长
最终变成大师
那么这件事情之外
给我另外有很多启示的一个故事
是这样一本书
这本书的作者
是这样一个白胡子的老爷爷
看上去很像
这个《指环王》里的甘道夫
又有点像这个《哈利波特》里头的
这个校长邓布利多
那么一般有这样大白胡子的学者
我们都会觉得非常非常厉害也确实
因为这本书的封面大家看一看
叫ANALOG CLRCUITS模拟电路设计
但是最厉害的是他横着的那句话
叫WORLD CLASS DESIGNS世界级设计
大家可以想象什么样的人
写书可以用这样的名字
把这本书翻过来
他的英文版背面大家可以看到这样一段话
这段话给了我非常大的刺激
说我的朋友经常问我
如果你有一个儿子或者女儿
你还会让他学电子工程技术吗
他说
是的 如果他学的是模拟电路的领域
我们现在不讨论模拟或者数字
看看他为什么讲
朋友说
你解释解释看
他说
我和我的朋友知道
模拟电路设计当中
非常多的技巧
秘密和方法
中国人
注意中国人这时候垫背了
每年培养20万工程师
但是他们并不知道这些从SPICE仿真
从书本上的计算学不会的技巧和方法
他们不能像我们这样做设计
那换言之
如果我有一个子女
我可以放心大胆让他继续从事电子工程师
因为中国的教育
培养再多的电子工程师也达不到这个程度
我作为一个清华的老师
或者作为一个从业将近10年的老师
我有时候会陷入深深的反思
一个老师的职责
最重要就是在类似于这样MOOC的课程
或者更多的培训课程里
能够培养出的学生远远的超过我们这一代人
我们怎样才能让我们的同学
在座的这些听众
学习嵌入式系统
超过我在这门课所能讲的范畴
超过我今天所从事的工作
成为在下一代人里
咱们中国人能出现像这样的大师呢
我后来想了想
我们其实也有一些成功的例子
比如我们前面一个PPT所讲过的智能车比赛
智能车比赛玩起来非常的酷
很多同学花一年呕心沥血
有同学说我为它
为伊消得人憔悴
本来有女朋友的
女朋友跑了
本来有伙伴的
伙伴们都去踢球
都去打游戏
只有我一个人在这儿熬夜做车
但是最终我做成了
如果我们抛开智能车
去看看它背后所需要的知识和技能
我会发现
它其实非常的难
它从机械计算机识别精密仪器
一直到控制算法
跨了若干个学科
大大小小若干门课程的知识结构
我们有大量大一大二大三的同学
跨着专业组队就能把这样一个车给做出来
这些知识绝对来不及在课程里学习
但他们最终能玩成
为什么
包括我之前讲过
我们智能车比赛的赛题
从2006年开始
从8位 16位一直到32位的系统
我们以往的计算机硬件教学
嵌入式教学
一个C51 一个X86
可能10年都不敢给学生灌输新的知识
为什么现在在一个智能车比赛里头
可以逐年的更新
这里头最大的一个启示是
智能车告诉我们兴趣是最好的老师
即使对于大学生也是这样
这是为什么
我在前面一门课的概述里头会给大家讲
玩起来是我们这门课最最重要的东西
真心的希望大家能在这门课里
愉快的玩耍
能够深入去掌握这样一个知识
而作为这门课的学习
或者说作为
我们清华八年以来开设课程的学习
我们尝试着让同学能够
更加愉快的玩耍
所以我们把传统的嵌入式学习的试验箱
EVB开发板改成了这样一种形式
最早的时候
我们用很Low的名字叫做饭盒系统
因为它用一个小小的饭盒就能装起来
我们把我们最小系统
以后嵌入式讲开发套件的时候会讲
这样最小系统做成一个迷你的板子
有IPGA的
有ARM Cortex的
历史上我们还有08的
还有12的
都是兼容的
做成了这样的迷你系统
而把我们实验板
做成了这样一种左边有四个按键
右边有四个按键
上面有一个可替换的显示屏的形式
有同学会说
这个数码管看上去Low Low的
没关系
我们这个屏是通用接口
还能换成黑白的点阵屏
还能换成彩色的液晶屏
更重要是
我们在这个板上还藏了很多小秘密
但是抛开这个小秘密
很多同学会说
这个板子已经很像一个游戏机
对 我们就是让它像一个游戏机
让大家从这个课程当中
来学习知识把它玩起来
所以我们可以通过IO
通过中断来获得按键的操作
我们可以通过ADC
来获得右上角的旋钮的操作
和藏在这个板子上的温度
和光线传感器的操作
我们可以通过I2C的接口,SPI的接口
分别实现
对藏在板子里的
运动传感器的动作姿态的获取
和对板子上的点阵显示屏的控制
我们可以通过PWM模块的学习
来控制一个调屏蜂鸣器
播放背景音乐
我们还可以通过一些IO
和频率调制的方式
让左上角的多色的LED灯
展现五彩斑斓的颜色和呼吸灯的效果。
同时我们还鼓励大家
用下面各种各样的通讯接口
和Arduino兼容的扩展接口
来扩展包括GPS GSM短信
各种各样的外设模块
乃至WIFI来开发物联网的应用
那么这样一个板子我觉得
我们在做出来了以后
确实很大地激发了
在清华学习的同学的热情
他们的脑洞非常的大
每年我们在课程上
大家来呈现自己的作品
作为最终成绩的答辩的时候
都会让我非常的惊讶
比如这是某一年一个同学的作品
他花了好几个星期写了一个游戏
我看一看的时候我问它这叫什么
他说一开始叫
是男人就躲过多少个
但是最后不知不觉
做成了一个飞机格斗的游戏
然后运行起来的时候
你会看到随着这个画面的运行
它有若干条命
还有若干颗子弹
然后再在某一年有一个同学上来
展现的作品震惊了全场
因为他花了大概两周到三周时间
写了整整一关的
超级玛丽的小游戏
所有的里头的元素
是它用数组的结构和C语言编程实现的
那么我说你为什么只写一关
他说老师我只有这么多时间
我再写更多
我可能别的科目就要挂科了
那么玩起来收不住车
这些同学就会有更多的
比如这也是一个非常酷的作品
是一个计算机系同学
在我这儿选课所做的
是一个非常有意思的小游戏
叫Flappy Bird
那么通过一个
简单的按键控制躲过障碍物
一个非常虐的游戏
曾经很有名
那么他不仅做了按键控制
还结合上面的体感传感器
做了一个体感版本
通过晃板子来控制小鸟
那么除了做这些小游戏
还有很多同学
用这个板子做了别的应用
包括一些GPS的通讯
GSM的这个短信
加GPS的手机定位
还有同学用上面的光线传感器
做了一个溶液浓度的测量仪器
这些脑洞大开的作品
我觉得是我们所希望看见的
那么随着这门课程的开设
大约在一年多以前
我们将我们所有这些
硬件平台加以了整合
定义成了一个新的作品
就叫做Blazar系统
那么这个系统看上去
就是像这样一个
有机玻璃非常的漂亮
比原来感觉那种
浓浓山寨味的自制电路板要好看好多
我们把它的所有的图纸
电路原理图纸
和刚才看到所有游戏例程
以及代码函数库都在网上公开
选择本门课程的同学
可以在我们这个学堂在线的
这个下载区里下载这些资料
也可以在我们Blazar.org这样的域名里头
去下载我们所有的资料
那么通过这样一种
开放的硬件资源和所有的代码
我们希望能够形成
一种开放共享的生态
所有同学能够非常自如
非常低成本的
把这样一种嵌入式系统
像我刚才所说的这样玩起来
在玩的过程当中
把我们本门课程所学习的嵌入式系统
所需应知应会的所有知识
贯通起来使用
那么从一个个单元章节的学习
十八般武艺齐备
刚才那样的作品你也可以写得出来
而最终我们所有的代码
放到网上大家可以共享交流
最终产生更酷的作品
那么在这个系统里
刚才我提到所有的外设
都具备了从传感器
到环境 到温度
到ADC 到外扩
到彩色的液晶屏
那么在这个学期的课程当中
就等着大家自己跟着我一点点学习
真真正正把它给玩起来
那么这样一个系统放在这里
我想说的是两句话
第一句话是祝大家玩的愉快
第二句话呢是这样一个系统
我们所起的名字
包括这个logo就是叫Blazar
回到我这个PPT最前面的故事
它是这个宇宙中最最明亮的天体
而作为一个老师
开设这样一门MOOC课程
我一直想说的话
是最最明亮的天体不在这个宇宙中
而在我的课堂里
在我的MOOC前面
每一个同学
来选择一个新的知识的时候
在我的眼之它就像一个
这样没有开启的盒子
当你把它开启的时候
当每个人的能力
每个人的技能绽放出智慧之光的时候
是最最明亮的时候
也许它能点燃自己的生活
也许它能点亮整个人类
在座的同学是拥有无限的可能
这是我们开设这门MOOC课
最希望给大家传递的信息
希望你们像Blazar一样闪耀
愉快的学习这门课程
这就是我们这门课程所有的概述
希望大家能够顺利地进行后面的学习
-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
-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
-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
-5 智能车视角的嵌入式设计
--Video