当前课程知识点:ARM微控制器与嵌入式系统 >  第六章 嵌入式系统设计 >  6.1 嵌入式系统的接口与设计 >  6.1 嵌入式系统的接口与设计

返回《ARM微控制器与嵌入式系统》慕课在线视频课程列表

6.1 嵌入式系统的接口与设计在线视频

6.1 嵌入式系统的接口与设计

下一节:6.2 嵌入式系统的实例

返回《ARM微控制器与嵌入式系统》慕课在线视频列表

6.1 嵌入式系统的接口与设计课程教案、知识点、字幕

各位同学大家好

我是清华大学工程物理系的曾鸣老师

欢迎大家继续回到我们

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

那么短短一个学期的课程

我们从最最开始对于嵌入式的计算机系统

从0和1逻辑门开始建立初步的概念

捋清若干个对于计算机的基本认识

到一点点的上手

熟悉一个嵌入式的

这样一种计算机系统内部的

工作原理机制

从它的编程模型到中断

再到实际的这样一种

嵌入式系统的开发方法

软硬件的协同开发

一直到我们一类一类学习典型的外设

又贯穿在外设当中我们学习了

基本的IO 中断 通讯

乃至ADC、DAC数据转换

这样很多很多重要的基本概念

那么在这个章节

我们进入了我们这门课程的最后一个章节

那么在这个章节里

我来给大家讲一讲我们的

系统的接口与系统的设计

在这个章节里不再像前面一个章节

一类一类的外设给大家讲述

很多知识性的内容

我更愿意像走马观花一样

带着大家去看一看嵌入式系统更加丰富的

更加无限的各种各样的接口和扩充功能

最后我们回过头来

贯穿一个学期的课程

站在系统设计的角度来看待一下

什么是嵌入式系统

我们日后可以如何去做嵌入式系统

来设计嵌入式系统

来实现我们自己一个又一个很棒的想法

那么在这个单元里

我们看一看

我们其实学习了微控制器

但是我们会牢牢的记住一件事情

或者深刻地感受到一件事情

微控制器虽然麻雀虽小 五腑俱全

但它远远不够做所有的事情

我们当要做越来越丰富功能的时候

我们总要把它的外设用好 用足之外

还要扩充一些元件和电路

来让我们功能变得完善

比如就在这门课的范畴里头

或者在这门课我们提到的范畴里

大家可以理解

作为输出 我们点过灯

点过LED 点过彩色的LED

点过七段的数码管

但是此外我们的输出设备

还可以有很多有蜂鸣器

有点阵式的液晶屏 OLED 有扬声器

然后甚至还有做机电控制会有电机 舵机

然后红外线的通讯等等

而作为输入设备呢

我们可能会有按键

会有开关 会有键盘

还会有我们在模拟领域讲到的

各种各样的传感器

特别是对外的通讯接口

我们单拎出来讲又有UART异步串行通讯

SPI同步串行通讯

I2C同步串行通讯

以及日后我们还会学习的USB通讯

以太网通讯等等

所以一个嵌入式系统虽然能做很多事情

但是它的外围还有无限的可能性

我们再回过头来

一类一类的看我们所接触过的

这些扩展电路和它的功能

比如说LED

形形色色的LED我们已经学会了如何点亮

如何闪烁 如何做出呼吸灯

如何做出颜色

LED的排列我们学过了数码管

我们可以用它来表示数字

表示字母

也有同学可能会尝试拿它写游戏

那么我们还接触过了开关 按键

这样一些机械的通断器件

来实现电路的开关

或者是我们采集到一次按键的人的操作

实现人机的交互

那么更复杂的

我们有的同学可能已经开始尝试的

或者已经感觉到的

比如说我们的按键在做人机交互的时候

防抖的操作

从软件从硬件如何做

然后在更广泛的意义上来讲

小到一个银行的柜员机

大到一个我们用的计算机键盘

这样的多键的东西

我们往往还不是一个按键一个IO

大家日后有兴趣可以去学

可能我们会用这样阵列的方式读出

用2N个IO读出

N方个按键

那么除了输入设备

输出设备我们接触了数码管显示屏

然后大家喜欢这个嵌入式系统

喜欢做一些酷炫的系统同学

会很喜欢点阵式的LCD、OLED

以及甚至彩色 真彩色的

各种各样的显示器件

而如果追求低功耗的同学

你可能仍然会调回头去使用字段式的液晶

使用OLED低功耗的显示屏等等

来实现恰如其分的应用

那么在做这些液晶屏和显示屏的时候呢

我们有可能使用的是SPI、I2C这样的通讯方式

有可能使用的是专用的同步的

这种数据总线

然后作为声光电的人机交互

我们用过这个蜂鸣器

把电变成声音

也可以用过这种调制的这种

产生不同音高音乐这样的蜂鸣器

此外我们还可以做扬声器

而如果我们嵌入式系统

不仅仅直接跟人打交道

有跟更多更复杂的电路包括强电的

大功率的电路

来进行混合的控制设计的时候

我们还用到各种各样的隔离器件

比如很著名的继电器 对吧

一个磁铁吸和一个开关

在我们电子学系统 嵌入式系统

用的非常非常多

我们可以用一个嵌入式系统

用一个低电压

比如5伏 3.3伏控制一个继电器

而在一个完全独立的回路里

去控制一个强电设备

一个灯或者一个电机的开关

来实现这样的控制功能

而对于强电的输入信号

或者来自于更加敏感的传感器的信号

我们又会使用一类比如叫光耦

或者叫磁耦这样的隔离器件

通过光或者磁信号的隔离

把一个电路回路里的信号

耦合到我们的微控制器系统

但同时又避免他们在电路上的互相干扰

所以除了人机的交互

除了隔离

嵌入式系统在上一个章节的最后的ADC部分

大家能够感觉到最最最丰富的

是我们一个嵌入式系统如果要真正工作起来

一定会跟物理世界跟外界的信息发生关联

所以我们会有丰富多彩的

各种各样的传感器

来帮我们把外界的信号转变成电信号

而这样的传感器往往是一些电子的机械的

这种高精度的装置

所以借助各种各样传感器

我们嵌入式系统本领就更大了

我们可以测量温度 湿度 压力

我们想到一切物理量

人类当代科技的发展

一个最重要的标志

就是我们生活在电子时代

在过去几十上百年里

人类已经积攒了无数的经验

来把各种各样的物理量变成电信号

而一旦变成电信号

我们的嵌入式系统 我们的电子学系统

就能发挥作用

比如说我们大家接触过的

初步用热电阻实现了温度的测量

而一个温度传感器

可能是一个简单的热敏电阻

也可能是一个高精度的铂电极

然后我们可以使用非常简单的

测量电压的ADC变换

也可能需要多线的带有补偿的方式

来进行读取

然而如果我们要测湿度

可能更多使用烧结型半导体器件

通过它对于湿度的敏感

来测量环境中湿度的变化

我们不仅能买到原始的电阻

这样的温湿度器件

还能买到这样一体化的

具有数字读出接口的温湿度一体传感器

那么有不同精度的

有不同这个灵敏度这样的器件

可以供我们选择

那么我们前面学过最小的芯片级的

加速度传感器

其实在更多的工业应用里头还有各种量程

各种精度的加速度和运动传感器

可以被嵌入式系统所采用

除了加速度传感器

还有非常重要的一类传感器

是压力传感器

他们从几十千帕到上百千帕

有不同的动态范围

可以实现单电源的供电

我们一旦测到了气压

我们既可以用来测量

一个压力容器内压力的大小

也可以把它转换成对于海拔和高度的测量

所以我们今天穿戴设备里头

有很多腕表

有很多穿戴设备

可以记录人一天有没有爬楼

这都是通过压力传感器来实现的

那么大家还有很多很感兴趣的应用

比如说我们看到交警会查有人有没有喝酒

那么这样一类的传感器

就使用了半导体的微晶离子烧结以后的这种

界面态对于电子的灵敏

来测量不同的有机介质

有对酒精敏感的

有对二氧化碳或者是这个甲烷

这样各种特殊气体敏感的传感器

选择合适的传感器

合适的模拟电路

以及ADC读出

我们的微控制器就可以获得

对于这样一些物理介质的测量和探测

然后玩智能车的同学

除了这些传感器还会有很多自制的传感器

比如说我们会用一个光电编码盘

来不停的测量

一个光电信号被编码盘遮挡产生的脉冲数

来知道一个轮子的转速

来推算我们车子的车速

那么当然还有同学用霍尔元件

的霍尔效应来测这个车速

这也是一种办法

那么在智能车的领域还有很多同学

会用到超声波传感器

超声波传感器可以用来通过反射波

测量是否有障碍物

是否有接近

或者来感应是否有人接近 对不对

那么在更多的工业领域里

我们对于气体的流量 液体的流量

也都可以有形形色色的传感器

包括光的强弱

光的颜色 种类 能量等等

都可以有各种各样光电传感器

那么做智能车同学特别做光电组的同学

可能对光电传感器就会很熟

因为最早最早的智能车

历史最悠久那个组别

就是简简单单通过打到白色赛道

和黑色遮挡线上的反射光的强弱

来判断车自身的车头位置和姿态的

再形成一个反馈控制

作用到电机和舵机上

那么我们除了交直流的各种电机

那么要做高精度的控制的时候

要做一个步骤一个步骤控制的时候

往往还会用到步进电机

等等这样一系列的效应器加上还有

当然这里没有提到的舵机

我们又可以实现一个对于机械动作和姿态的

各种各样的复杂控制

包括用几十个舵机来组成一个完成的结构

大家使用嵌入式的微控制器

自己做一个在电视上看到的

跳舞的机器人也是完全可以的

那么讲了这么多的接口

好像开酱油铺一样

有很多很多的东西

想表达的意思是什么呢

是说我们嵌入式系统已经学过的外设

已经学过的内容

我们更多的掌握的是一类方法

和各种各样的关于通讯ADC这样基础知识

而它外延的扩充

我们称为Interface

称为接口是没有界限的

嵌入不同的领域

我们就可以做出不同的应用

那还有更多吗

其实只要你想得到

都能有更多

比如有同学说老师我上了这个课

我能自己做一个嵌入式系统测一测PM2.5吗

可以

你可以查一查发现有这样PM2.5传感器模块

它会有指定的供电

指定输出信号的通讯协议

有的模块输出模拟电压值

你可以通过ADC去采

来得到空气中PM2.5的浓度

那如果有的同学说

老师这个传感器的原理是什么

我能自己做一个吗

如果你学好了光电传感器

学好了模拟电路 你可以自己做

他就是一束光线

测量打在PM2.5颗粒上散射出来的

光子数目的多少

这样高精度的模拟电路

如果对电子学的基础足够扎实同学

你可以不用买现成的传感器

你也可以自己做

那与之类似的

烟雾的传感器

二氧化碳传感器

刚才提到的

都会看到形形色色模块

那我在这里展示它的意义是什么呢

是我们有无限的可能性

更多是大家通过网络的搜索

通过淘宝的搜索

找到你想用的

适合你用的器件如果有

我们学会看它的芯片手册

看它的供电要求

看它的接口要求

它是产生一个对外输出的

数据的通讯接口

还是产生一个模拟的电压电流值

如果是通讯的接口

我们的微控制器应该用什么接口与它通讯

如果是模拟的电压电流值

我们应该如何配置我们的模拟电路

和设置我们的ADC 正确把它采集下来

如果大家走通了这样一点

你会发现没有事情能够难得倒你

任何你看得到东西

你都有能力自己去尝试动手把它做出来

所以归根结底千奇百怪的传感器

应该用什么电路

我怎么知道有这些传感器呢

走到这一步大家才会发现

一个个嵌入式系统的学习

学到我们最后一个章节

它并不是一个结束

我们才刚刚开始

当我们学习嵌入式系统的时候

不是说了然于胸

让你失去了对于其它知识的求知欲

而是你会发现

而今迈步从头越

周边的很多的知识都等着你去探索

比方说我们想知道千奇百怪的传感器

应该用什么样的电路

我们应该学好模拟电路

比如说我们发现这个模拟电路

无法解释或者无法解决这样问题

因为我们信号太快了

我们信号太弱了

我们要的信躁比太难了

我想做一个全人类都测不好的东西

或者我想做一个仪器

指标比别人都高怎么办

你可能除了学好模拟电路

还要再学一学微弱信号的测量

或者在曾老师领域

我们要学一学核电子学处理随机信号

那如果说这些都掌握了

没有商业传感器来实现我要的目标

比方说市面上的PM2.5测量传感器都太大了

我有没有可能有朝一日

自己做一个指甲盖那么大小传感器呢

有可能

大家可以从学习一些基本的传感器知识

辅助探测知识入手

借鉴已有传感器知识

把各种各样物理量

用巧妙的思维转换成电学量

有朝一日做出自己的嵌入式系统

比如说我们前面说到的

指甲盖那么大小的芯片的加速度传感器

就是一个很好的例子

所以嵌入式系统我们走到今天我们会发现

我们一步一步从最小系统

一个迷你的计算机运行起来

走向了一个完整功能的设计的思维

我们一步一步的从学习和掌握

一个微控制器的

各种内部外设 内部模块

走向了结合外围电路

来一起完整的看待这个设计

我们一步一步的从一个软件的编程

理解了寄存器写写Main函数

走向了硬件的设计

乃至软硬件的协同设计

应该说能够实现完整的功能

有完善的外围电路

软硬件协同设计

把一个功能的性能指标 或者是功耗

发挥到极致这样的东西

我们称为是真正高层次的

嵌入式的系统设计

而从这个意义上来讲

我们这门课程才刚刚上路

所以说我们学习到现在

才可以说是初窥嵌入式系统设计的门径

所以在最后下面一个单元

我再会带着大家用嵌入式系统设计的思路

再来看看我们最早看过的一些例子

看看大家是否能有更多的感悟

ARM微控制器与嵌入式系统课程列表:

第一章 概览

-1.1 课程概览

--1.1 课程概览

-1.2 如何学好嵌入式系统

--1.2 如何学好嵌入式系统

第二章 绪论

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

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

-2.2 从晶体管到CPU

--2.2 从晶体管到CPU

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

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

-2.4 八卦计算机史

--2.4 八卦计算机史与创新

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

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

-2.6 ARM历史与MKL25Z128 MCU

--2.6 ARM历史与MKL25Z128 MCU

--2.6 ARM历史与MKL25Z128 MCU【习题】

--2.6 ARM历史与MKL25Z128 MCU【讨论】

第三章 MCU基础

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

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

-3.2.1 堆栈的概念

--3.2.1 堆栈的概念

--3.2.1 堆栈的概念【习题】

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

--3.2.2 头脑体操

-3.3.1 ARM的体系结构

--3.3.1 ARM的体系结构

--3.3.1 ARM的体系结构【习题】

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

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

-3.4.1 中断的概念和机制

--3.4.1 中断的概念和机制

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

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

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

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

--3.5 复位、时钟、存储器和总线【习题】

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

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

--3.6 小结:MCU的总体结构和程序运行机制【习题】

第四章 ARM微控制器的开发

-4.1 第一种外设:IO

--4.1 第一种外设:IO

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

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

-4.3 IO外设的进阶知识

--4.3 IO外设的进阶知识

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

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

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

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

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

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

--4.6 嵌入式开发中的C语言(上)【习题】

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

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

--4.7 嵌入式开发中的C语言(下)【习题】

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

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

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

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

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

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

-E1 实验一 点灯秘籍

--E1 实验一 点灯秘籍

第五章 ARM微控制器的各种外设

-5.1 ARM微控制器外设学习概述

--5.1 ARM微控制器外设学习概述

-5.2.1 ARM微控制器外设:通讯

--5.2.1 ARM微控制器外设:通讯

-5.2.2 ARM微控制器外设:异步串行通讯UART的原理(上)

--5.2.2 ARM微控制器外设:异步串行通讯UART的原理(上)

--5.2.2 ARM微控制器外设:异步串行通讯UART的原理(上)【习题】

-5.2.3 ARM微控制器外设:异步串行通讯UART的原理(下)

--5.2.3 ARM微控制器的外设:异步串行通讯UART的原理(下)

--5.2.3 ARM微控制器外设:异步串行通讯UART的原理(下)【习题】

-5.2.4 ARM微控制器外设:RS-232串口与USB虚拟串口

--5.2.4 ARM微控制器外设:RS-232串口与USB虚拟串口

-5.2.5 ARM微控制器外设:UART的寄存器编程(上)

--5.2.5 ARM微控制器外设:UART的寄存器编程(上)

-5.2.6 ARM微控制器外设:UART的寄存器编程(下)

--5.2.6 ARM微控制器外设:UART的寄存器编程(下)

--5.2.6 ARM微控制器外设:UART的寄存器编程(下)【习题】

-E2 实验二 UART编程实操

--E2 实验二 UART编程实操

-5.3.1 ARM微控制器外设:IO的中断编程(上)

--5.3.1 ARM微控制器外设:IO的中断编程(上)

-5.3.2 ARM微控制器外设:IO的中断编程(下)

--5.3.2 ARM微控制器外设:IO的中断编程(下)

-5.4.1 ARM微控制器外设:定时器的原理

--5.4.1 ARM微控制器外设:定时器的原理

-5.4.2 ARM微控制器外设:定时器的编程

--5.4.2 ARM微控制器外设:定时器的编程

--5.4.2 ARM微控制器外设:定时器的编程【习题】

-E3 实验三 定时器中断编程实操

--E3 实验三 定时器中断编程实操

-5.5.1 ARM微控制器外设:PWM的原理

--5.5.1 ARM微控制器外设:PWM的原理

-5.5.2 ARM微控制器外设:PWM寄存器与编程

--5.5.2 ARM微控制器外设:PWM寄存器与编程

-5.5.3 ARM微控制器外设:PWM编程实例—电子音乐

--5.5.3 ARM微控制器外设:PWM编程实例—电子音乐

-E4 实验四 数码管显示编程实操

--E4 实验四 数码管显示编程实操

-5.6.1 ARM微控制器外设:SPI通讯简介

-- 5.6.1 ARM微控制器外设:SPI通讯简介

--5.6.1 ARM微控制器外设:SPI通讯简介【习题】

-5.6.2 ARM微控制器外设:SPI寄存器与编程

-- 5.6.2 ARM微控制器外设:SPI寄存器与编程

-5.6.3 ARM微控制器外设:SPI编程实例—OLED显示屏驱动

--5.6.3 ARM微控制器外设:SPI编程实例—OLED显示屏驱动

-5.7.1 ARM微控制器外设:I2C通讯简介

--5.7.1 ARM微控制器外设:I2C通讯简介

-5.7.2 ARM微控制器外设:I2C的通讯协议

--5.7.2 ARM微控制器外设:I2C的通讯协议

-5.7.3 ARM微控制器外设:I2C寄存器与编程

--5.7.3 ARM微控制器外设:I2C寄存器与编程

--5.7.3 ARM微控制器外设:I2C寄存器与编程【习题】

-5.7.4 ARM微控制器外设:I2C编程实例—加速度传感器

--5.7.4 ARM微控制器外设:I2C编程实例—加速度传感器

-5.8.1 ARM微控制器外设:ADC简介

--5.8.1 ARM微控制器外设:ADC简介

-5.8.2 ARM微控制器外设:ADC基础

--5.8.2 ARM微控制器外设:ADC基础

-5.8.3 ARM微控制器外设:ADC寄存器与编程

--5.8.3 ARM微控制器外设:ADC寄存器与编程

-E5 实验五 ADC编程实操

--E5 实验五 ADC编程实操

-E6 挑战实验

--E6 挑战实验

第六章 嵌入式系统设计

-6.1 嵌入式系统的接口与设计

--6.1 嵌入式系统的接口与设计

-6.2 嵌入式系统的实例

--6.2 嵌入式系统的实例

6.1 嵌入式系统的接口与设计笔记与讨论

也许你还感兴趣的课程:

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