中国高校课件下载中心 》 教学资源 》 大学文库

沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第08章 USART串行通信

文档信息
资源类别:文库
文档格式:PPT
文档页数:62
文件大小:1.25MB
团购合买:点击进入团购
内容简介
本章讲述了USART串行通信,包括串行通信基础、USART工作原理、USART库函数、USART串行通信应用实例和外部总线。
刷新页面文档预览

USART串行通信第8章

第8章 USART串行通信

本章讲述了USART串行通信,包括串行通信基础USART工作原理、USART库函数、USART串行通信应用实例和外部总线

本章讲述了USART串行通信,包括串行通信基础、 USART工作原理、USART 库函数、USART串行通信应用 实例和外部总线

8.1串行通信基础在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。发送者依次逐位发送一串数据信号,按一定的约定规则为接收者所接收。由于串行端口通常只是规定了物理层的接口规范,所以为确保每次传送的数据报文能准确到达目的地,使每一个接收者能够接收到所有发向它的数据,必须在通信连接上采取相应的措施

8.1 串行通信基础 在串行通信中,参与通信的两台或多台设备通常共享一 条物理通路。发送者依次逐位发送一串数据信号,按一定的 约定规则为接收者所接收。由于串行端口通常只是规定了物 理层的接口规范,所以为确保每次传送的数据报文能准确到 达目的地,使每一个接收者能够接收到所有发向它的数据, 必须在通信连接上采取相应的措施

由于借助串行端口所连接的设备在功能、型号上往往互不相同,其中大多数设备除了等待接收数据之外还会有其他任务。例如,一个数据采集单元需要周期性地收集和存储数据:一个控制器需要负责控制计算或向其他设备发送报文:一台设备可能会在接收方正在进行其他任务时向它发送信息。必须有能应对多种不同工作状态的一系列规则来保证通信的有效性。这单所讲的保证串行通信有效性的方法包括:使用轮询或者中断来检测、接收信息:设置通信顺的起始、停止位;建立连接握手:实行对接收数据的确认、数据缓存以及错误检查等

由于借助串行端口所连接的设备在功能、型号上往往互 不相同,其中大多数设备除了等待接收数据之外还会有其他 任务。例如,一个数据采集单元需要周期性地收集和存储数 据;一个控制器需要负责控制计算或向其他设备发送报文; 一台设备可能会在接收方正在进行其他任务时向它发送信息 。必须有能应对多种不同工作状态的一系列规则来保证通信 的有效性。这里所讲的保证串行通信有效性的方法包括:使 用轮询或者中断来检测、接收信息;设置通信帧的起始、停 止位;建立连接握手;实行对接收数据的确认、数据缓存以 及错误检查等

8.1.1串行异步通信数据格式无论是RS-232还是RS-485,均可采用串行异步收发数据格式。在串行端口的异步传输中,接收方一般事先并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个数据位就已经过去了。因此每次异步传输都应该在发送的数据之前设置至少一个起始位,以通知接收方有数据到达,给接收方一个准备接收数据、缓存数据和做出其他响应所需要的时间。而在传输过程结束时,则应由一个停止位通知接收方本次传输过程已终止,以便接收方正常终止本次通信而转入其他工作程序。行异步收发(UART)通信的数据格式如图8-1所示O

无论是RS-232还是RS-485,均可采用串行异步收发数 据格式。 在串行端口的异步传输中,接收方一般事先并不知道数 据会在什么时候到达。在它检测到数据并做出响应之前,第 一个数据位就已经过去了。因此每次异步传输都应该在发送 的数据之前设置至少一个起始位,以通知接收方有数据到达 ,给接收方一个准备接收数据、缓存数据和做出其他响应所 需要的时间。而在传输过程结束时,则应由一个停止位通知 接收方本次传输过程已终止,以便接收方正常终止本次通信 而转入其他工作程序。 串行异步收发(UART)通信的数据格式如图8-1所示 。 8.1.1 串行异步通信数据格式

D0D1D2D3 D4D5D6D7..L-1---1停止位停止位4起始位数据位奇偶位图8-1串行异步收发(UART)通信的数据格式

图8-1 串行异步收发(UART)通信的数据格式

8.1.2连接握手通信顿的起始位可以引起接收方的注意,但发送方并不知道,也不能确认接收方是否已经做好了接收数据的准备。利用连接握手可以使收发双方确认已经建立了连接关系,接收方已经做好准备,可以进入数据收发状态。连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明它已经做好了接收数据的准备。连接握手可以通过软件,也可以通过硬件来实现。在软件连接握手中,发送者通过发送一个字节表明它想要发送数据。接收者看到这个字节的时候,也发送一个编码来声明自已可以接收数据,当发送者看到这个信息时,便知道它可以发送数据了。接收者还可以通过另一个编码来告诉发送者停正发送

通信帧的起始位可以引起接收方的注意,但发送方并不 知道,也不能确认接收方是否已经做好了接收数据的准备。 利用连接握手可以使收发双方确认已经建立了连接关系,接 收方已经做好准备,可以进入数据收发状态。 连接握手过程是指发送者在发送一个数据块之前使用一 个特定的握手信号来引起接收者的注意,表明要发送数据, 接收者则通过握手信号回应发送者,说明它已经做好了接收 数据的准备。 连接握手可以通过软件,也可以通过硬件来实现。在软 件连接握手中,发送者通过发送一个字节表明它想要发送数 据。接收者看到这个字节的时候,也发送一个编码来声明自 己可以接收数据,当发送者看到这个信息时,便知道它可以 发送数据了。接收者还可以通过另一个编码来告诉发送者停 止发送。 8.1.2 连接握手

8.1.3 确认接收者为表明数据已经收到而向发送者回复信息的过程称为确认。有的传输过程可能会收到报文而不需要向相关节点回复确认信息。但是在许多情况下,需要通过确认告知发送者数据已经收到。有的发送者需要根据是否收到确认信息来采取相应的措施,因而确认对某些通信过程是必需的和有用的。即便接收者没有其他信息要告诉发送者,也要为此单独发一个确认数据已经收到的信息。确认报文可以是一个特别定义过的字节,例如一个标识接收者的数值。发送者收到确认报文就可以认为数据传输过程正常结束。如果发送者没有收到所希望回复的确认报文,它就认为通信出现问题,然后将采取重发或者其他行动

接收者为表明数据已经收到而向发送者回复信息的过程 称为确认。有的传输过程可能会收到报文而不需要向相关节 点回复确认信息。但是在许多情况下,需要通过确认告知发 送者数据已经收到。有的发送者需要根据是否收到确认信息 来采取相应的措施,因而确认对某些通信过程是必需的和有 用的。即便接收者没有其他信息要告诉发送者,也要为此单 独发一个确认数据已经收到的信息。 确认报文可以是一个特别定义过的字节,例如一个标识 接收者的数值。发送者收到确认报文就可以认为数据传输过 程正常结束。如果发送者没有收到所希望回复的确认报文, 它就认为通信出现了问题,然后将采取重发或者其他行动。 8.1.3 确认

8.1.4 中断中断是一个信号,它通知CPU有需要立即响应的任务。每个中断请求对应一个连接到中断源和中断控制器的信号。通过自动检测端口事件发现中断并转入中断处理许多串行端口采用硬件中断。在串口发生硬件中断,或者一个软件缓存的计数器到达一个触发值时,表明某个事件已经发生,需要执行相应的中断响应程序,并对该事件做出及时的反应。这种过程也称为事件驱动

中断是一个信号,它通知CPU有需要立即响应的任务。 每个中断请求对应一个连接到中断源和中断控制器的信号。 通过自动检测端口事件发现中断并转入中断处理。 许多串行端口采用硬件中断。在串口发生硬件中断,或 者一个软件缓存的计数器到达一个触发值时,表明某个事件 已经发生,需要执行相应的中断响应程序,并对该事件做出 及时的反应。这种过程也称为事件驱动。 8.1.4 中断

8.1.5 轮询通过周期性地获取特征或信号来读取数据或发现是否有事件发生的工作过程称为轮询。它需要足够频繁地轮询端口,以便不遗失任何数据或者事件。轮询的频率取决于对事件快速反应的需求以及缓存区的大小。轮询通常用于计算机与I/O端口之间较短数据或字符组的传输。由于轮询端口不需要硬件中断,因此可以在一个没有分配中断的端口运行此类程序。很多轮询使用系统计时器来确定周期性读取端口的操作时间

通过周期性地获取特征或信号来读取数据或发现是否有 事件发生的工作过程称为轮询。它需要足够频繁地轮询端口 ,以便不遗失任何数据或者事件。轮询的频率取决于对事件 快速反应的需求以及缓存区的大小。 轮询通常用于计算机与I/O端口之间较短数据或字符组 的传输。由于轮询端口不需要硬件中断,因此可以在一个没 有分配中断的端口运行此类程序。很多轮询使用系统计时器 来确定周期性读取端口的操作时间。 8.1.5 轮询

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档