当前课程知识点:ARM微控制器与嵌入式系统 >  第五章 ARM微控制器的各种外设 >  5.2.1 ARM微控制器外设:通讯 >  5.2.1 ARM微控制器外设:通讯

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

5.2.1 ARM微控制器外设:通讯在线视频

5.2.1 ARM微控制器外设:通讯

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

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

5.2.1 ARM微控制器外设:通讯课程教案、知识点、字幕

各位同学大家好

我们继续回到我们

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

然后继续进行我们第五章第二节的学习

来进入我们在第五章系统学习里头呢

第一类外设的学习

那么在这一类的外设里头

我们要进入一个全新的概念 就是开始学习通讯

那么在一门嵌入式的课程里头

我们一定会涉及的一类非常非常有用的外设

就是通讯 但是因为我们不是一门通讯的课程

所以我们没有办法非常详细的去讲解

非常庞大 博大精深的这样一个通讯原理

那么在这样一个环节的学习里呢 我会拉着大家

首先过一过 在学习通讯当中

一些特别基本的概念和分类

让大家建立一些特别粗浅的对通讯的认识

然后跟我们之前所讲的一样

我们以一类通讯的典型类型

和这一类外设的编程来入手 看看我们能干什么

在这样一种带着目的和练习的学习当中

我们来逐渐的掌握通讯 那么作为这个单元

学习的第一个部分呢 我们先建立一下概念

什么叫通讯以及通讯有哪些分类

说说通讯这个词 英文一般叫communication

然后如果我们查一下维基百科 它会告诉你

它的拉丁词根是communis

那么这样一个词的含义在维基百科上

它不是一个计算机术语 它给的非常的宽泛

说是通过各种各样的手段 包括语言 姿势

信号 书写 行为等等来传递信息

那所以说传递信息的这样一种叫做通讯

我想这是这样一个定义里头的核心

那么我们如果再看一看更加精准一点的定义

比如说看看牛津词典 Oxford Dictionary

我们会发现在里头communication这个词的定义

要简短得多 是什么呢 是在点与点之间

人与人之间或者设备与设备之间

进行信息的这样一种交换的过程 我们称为通讯

我想这个定义已经非常非常的精准了

那么所以告诉我们通讯的本质就是信息的交换

那么在这门课的最开始 我们其实就学过了

说为什么我们这个行业 计算机这个行业

叫信息产业 信息什么意思是消除不确定性的

这样一种载体就称为信息

那么通讯告诉我们是传递的信息

如果我们深入学习通讯原理

那是另外一门专门的课 博大精深 会告诉我们

它当中很多关键的内容如何快速 如何准确

如何不失真 那么我们仅仅从嵌入式系统学习的角度

来看看我们所能接触到的通讯

在我们这样一个嵌入式与计算机的行当里

有哪些基本概念 大家要初步的了解

日后学过了以后会说这些东西我知道

我在这个单元带着大家过一过

我们讲通讯的时候经常会听到一些术语

比如它是串行和并行的 同步的 异步的

点对点的还是总线的 半双工的还是全双工的

是主从的还是对等的 以及是单端的还是差分的

我特别希望的是在这门课的范畴里

我们经过一系列的学习 对这些词

建立清晰的概念 不再犯怵 一说

我大概是知道的 我们简单的先过一下

串行的和并行的 我们如果要在两个设备当中

传递信息 大家很自然会想到我仍然是用高电平

低电平这样的电平信号的变化来传递0或者1

那么问题来了 如果我有一个字节

或者若干个比特的信息要传递 我们很自然而然

会采用不同的方式 比如说我用在一根线上

将一个字节或者是一个串列的0或者1

依次变化发送出去 用时间来换这个数据的传递

我们把这样一种过程称为serial也就是串行通讯

那么在最早产生计算机的时候

大家肯定会想到一个更简单方法

就在我们前几节课讲总线的时候会想到

我们所谓总线bus最早就跟这个汽车

有很多车道一样 我们会用并行的若干根线

比如一个字节我用8根线 那么在它上面

同时传递0或者1的序列 这样一个单位时间

就能传递一个字节 这样的一种方式

我们往往会把它称为并行通讯 那么串行和并行

是一个非常抽象的总统的概念

那么当然并行通讯的数据

我们也会根据时间来切换完成

一个字节一个字节的传递 那么往往我们

传统意义上会认为并行通讯比串行通讯要快

那么它 除了快有没有缺点呢 其实还是有的

随着产业技术的不断的发展 我们发现

我们今天所使用的很多高速通讯

又回归了串行通讯 比如说我们说的以太网

我们的USB 我们的计算机里头的计算机硬盘

与主板之间连接的SATA总线 它都带个S

是Serial的意思 所以当使用了后面会讲到的

低压的差分信号等等这样一些

电平上的标准以后 我们可以极大地提升

我们串行通讯的这个比特率

使我们达到很高的速率

而并行通讯在另一方面呢的受制于这八根线上

传递的信号必须控制它严格的同时到达

同时发出 也就是所谓的数据完整性的限制

所以我讲这一小段的意思是

通讯分为串行和并行 但随着时代的发展

曾经有一个阶段 大家认为并行通讯更快

而发展到今天 你随着技术的发展呢

又往往更高速的通讯采用的是串行

所以我们不要把这样一些分类跟它的特性

简单直接的关联起来 而应该就事论事的

加以学习和讨论 那么第二个分类呢

是点对点通讯Point-to-point

还有BUS总线通讯

那么当发生点对点通讯的时候

我们会说仅有的两个端点或者两个设备之间

彼此进行通讯 那么我发给你 你回给我

那么很自然的一种情况就是说

彼此之间并没有所谓地址的概念 只是收发双方

而在很多时候的通讯里头 我们往往不仅仅只有

一收一发这两方 会出现总线的概念

那么我们在CPU 在计算机的内部

讲过一点点总线的概念

那么我们作为通讯的角度 设备与设备之间

计算机与计算机之间的通讯 很多时候是总线的

那我考考大家 大家平时经常使用的设备当中

哪些是通讯 通讯当中哪些又是总线通讯呢

那么我们刚才其实提到了一个很重要的词

就是地址的概念 所以很多同学马上会想到

那我电脑上以太网那个网线 包括我上wifi

那个wifi是不是总线通讯 是的

他们会有很多的设备连在一个局部的网络里

network里头 每台计算机之间

彼此都是可以通讯的 而为了区分他们

他们会有地址的概念 那我要给大家讲一个

大家可能感觉不到的另外一个总线通讯

是什么呢 就是我们使用最多的USB

USB本身这个b最后一个词就是bus

Universal Serial Bus通用 串行 总线

所以USB也是一个典型的总线通讯

我们的每一台计算机是一个HOST端

那么在这个结构里头 一个USB通讯按照 比如说

2.0的标准定义 它最多能够接入127个外设

比如鼠标 键盘 U盘

那么它们每个都有自己的地址

那么127加上主机一共128 说明这个地址

是8个bit二进制数加以分配的

那么这就是总线通讯 第三个概念 我们的通讯

有时候是同步的 有时候是异步的

那么这个词在这个单元讲的时候

可能有很多同学还没有办法建立

非常清晰的概念 那么我们只简单的讲它的含义

当我们的设备的接受端从发射端

获得一个时钟信号 在这样一个时钟信号的驱动下

去看我们所发送出来的数据的时候

我们称为接受和发送端是同步的

也就Synchronous他们共享一个时钟信号

那么与之相异的是 我们的发送和接收端

并没有share共享一个时钟信号

而是按照一个约定的速率去进行通讯的时候

我们称为异步的通讯 在这门课程的学习里

我既会带大家认识一些同步的通讯

也会带大家认识一些异步的通讯

所以在后面的学习中这个概念我们会逐步清晰

在这里呢就不展开讲 然后再下一个概念

非常非常的有意思 就是在通讯里头

我们经常会听说到半双工和全双工这两个概念

那么早期的以太网通讯特别在十兆以太网

这个量级的时候 他有时候有的网络

是工作在半双工 有的工作在全双工

我们还可以进行选择 那他究竟什么意思呢

嗯 我举一个非常简单的例子 大家就知道嗯

从定义上来讲 半双工就是收和发的双方

在一个单位时间同一时刻里只有一方

可以完成一个单向的通讯

那么这句话翻译成人类的语言就是双方

同一时间只有一方可以说话 信道通讯的通道

只有一个 那例子是什么呢

就是我们都很喜欢看 比如香港电影

或者看我们国家早期的一些这个军事电影

大家都会拿个对讲机 对吧

那么如果是国内的电影就会说长江长江

我是黄河 大家各有暗号 说话说完了 对方说

那么如果是看香港早期电影

都会有一句很酷的话 这个比如说

像香港皇家警察最后说完了都会说一句over

为什么要说一句over呢 是因为 为了酷吗

其实不是的 我们现在就知道它是一个典型的

半双工通讯 信道只有一个

任何一方说话的时候 对方的这个信道

就被占用了 对方就说不了话 也听不见他说话

所以双方为了富有效率的通话

首先你的语言一定简短 其实你一定要在

你的话说完之后说一句over 表示我已说完

释放信道 这个时候你可以说 然后如果你说完

你一定要及时的说一声over释放信道

放开你那个按键 让我可以说

这样双方才可以进行有效的通话

那么有很多同学会说了 半双工通讯

有什么缺点呢 我考考大家有什么缺点

那么很显然半双工通讯最大的一个缺点

就是不可以用来吵架 对不对

一旦进入了情绪激动的吵架状态

大家都会抢着说话 男朋友女朋友打电话

这个时候如果用这个对话机就完蛋了

那一方拿着死活不说over一口气骂到底

所以我们就理解全双工比如说我们打电话

就是一种全双工 双方可以同时收发数据

形成数据的交换 那显然它是一种更高级

或者更需要更多信道的通讯

我们现在所使用的百兆千兆以太网

都是全双工的 还一类分类概念呢

就是主从方式的通讯和对等方式的通讯

那么对等方式的通讯 非常好理解

比如说我们有两台设备 我可以给你发数据

你也可以给我发数据 那么在这个过程当中

我们是对等的 而如果我们在一个网络里

所有的网络接进去的设备之间都是对等的

那么我们可能就存在互相之间的仲裁 谁先说话

谁后说话 谁要让谁先把话说完对吧

这种时候是对等 而与之相异的一种

我们大家感觉不到的通讯呢 是主从方式

主从方式有很多类型 我举一个非常鲜明的例子

但是大家可能感觉不到 在我们日常使用的

计算机设备 你们身边最典型的一类主从方式的

通讯就是USB通讯 又是USB

很多同学说USB我用得很熟啊 一个优盘

一个鼠标往上一插我就用 曾老师

你为什么一会儿跟我说他是总线通讯

一会又跟我说主从通讯呢 对

大家慢慢建立一个概念 一个通讯

在刚才这些分类里头它会同时具有若干个属性

并不矛盾 最后把它界定清楚

他是怎样的一种通讯 话说回来这个USB通讯

我说一句话大家就会明白他为什么会是主从呢

我们可以在一个计算机里插入一个鼠标

我们也可以一个计算机里插入一个U盘

但是我们有见过在一个鼠标上插个优盘吗

所以我们会发现在这样一种通讯里头

我们的设备与我们的计算机它是一个不对等的地位

那么这种不对等的地位的本质

是由通讯协议的属性决定 我们的主机在USB里

称为host 而我们的设备在USB通讯里

称为device设备端 那么host和device端

他是没有对等的这个权利的

比如说我再举个例子 我们的USB鼠标

在使用的时候 我们脑袋当中总会觉得

鼠标一定是平时就不动 我们拿着它一动

它就向计算机发一个消息告诉计算机

我动了往左往右 那计算机就知道人操作了

这是我们概念对吧 如果我们这个鼠标

是用别的通讯协议做的

也应该可能就是这么工作

但是在USB里头不是的 设备的通讯

是永远无法自己发起的

或者在USB的总线协议里 每一笔通讯

一定是由主机来发起 所以实际上USB鼠标的

通讯方式是设备在主机询问他

你是什么设备的时候 设备说报告

我是一个鼠标 那么主机说 你是一个鼠标

你要用什么方式通讯 可能设备会说

我要用一种类似中断的方式来通讯

主机说好我明白了 然后主机就以每秒钟1千次

1毫秒一次的速度 不停地发包询问鼠标

你有话要说吗 你动了吗 这个时候鼠标

每当自己有信息要发 发现自己动的时候

加以回馈 回答这个主机说 报告主机 我动了

那么大家可以想象这样一种主从关系

我虽然是拟人 会非常的鲜活 就是每一笔通讯

都由主机发起 而主机刚才说是总线协议

下面会接若干个 从设备 也就包括可能有鼠标

可能有U盘 可能有我们所接的打印机

USB的对吧 那么这个主机拥有至高无上的地位

他会逐一询问每个设备你们逐一说话

告诉我你们有没有通讯的请求 这样一种方式

我们称为Master & device或者是Master & slave

称为主从方式 这是一个非常重要的概念

最后一个概念呢 跟我刚才讲的有点不一样

他不是一个 通讯属性上的概念

它是一个通讯信号上的区分

我们已经非常非常的习惯于我们的信号

是用一个电压来代表 我们就把它称为

Single-ended 单端信号

比如说不论是0V代表逻辑0 3V代表逻辑1

还是0V代表逻辑0 3.3V 5V代表逻辑1

甚至翻转一下我们后面会讲到的RS232的电平

以负的十几伏代表逻辑1

以正的十几伏代表逻辑0 它都是以一个稳定的

单电压来代表信号的零或者一

而随着通讯技术的发展我们越来越多地

使用的是差分信号 也就是Differential

有的时候我们会把它称为差模信号

那么我会用两根线 在物理上把他双绞在一起

来传递一个信号 那么这两根线上

传递的是一个差模的信号也可能他们有一个

共模的电压 而承载信号的0或者1的

是这两个信号的差值 所以很多时候

可能在一个共模电压上 你变高我变低

你比我高 代表逻辑1 我变高你变低 我比你高

代表逻辑0 那么这样一类的通讯方式

我们如果学过模拟电路就会知道

我们可以通过差分放大器

非常好的去抑制这两根线上同时受到的

共模干扰 而非常有效的提取这样一个差模信号

使我们的信号的压差值变得很小

然后有利于让这个信号 以更快的速度

产生上升沿下降沿

从而使每个比特的持续时间进一步地压缩

获得更高速的通讯 所以我们今天所使用的

以太网 USB 包括计算机上的SATA

这样一些高速高带宽的通讯 很多很多时候

都使用的是差分信号 那么我们回过头来讲一讲

就会发现我们不知不觉当中给大家

在这个单元里顺了关于通讯

在嵌入式系统学习里要涉及的若干个概念

从单端的 异步的 同步的 差分的 主从的

对等这样一系列的概念讲得非常快 没有关系

如果一遍没有印象的同学你可以回过头来

再听一遍 但是更重要的是

我们在后面的学习当中 我会带领大家

去逐一认识几类特别典型的通讯

我们既要把它学会 把它用起来 比如让他点灯

让他控制一个设备通讯 但是我们更重要的是

在这些学习当中把这样的一类一类的通讯

跟刚才讲的这些属性关联起来

然后让我们更加清楚地理解

在嵌入式计算机学习里头关于通讯的

这样一种基本概念 比如就像这张表所列

但不限于这张表 比如我刚才所说还有USB

还有以太网 那么在后面的学习当中

我们会进一步展开 这个单元呢

关于通讯的若干基本概念就到这结束

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 嵌入式系统的实例

5.2.1 ARM微控制器外设:通讯笔记与讨论

也许你还感兴趣的课程:

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