您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 串行通信和并行通信的详解
1/367第八章数据通信本章学习目标了解通信的有关概念掌握串行通信和并行通信的原理掌握常见串行接口(RS232/RS485/SPI/I2C)的原理及应用方法掌握单片机并行接口的扩展方法17:18:242/367§8.1通信的有关概念通信:计算机的CPU与外部设备之间,以及计算机和计算机之间的信息交换。通信分类:并行通信和串行通信17:18:243/367并行通信以字节(Byte)或字节的倍数为传输单位一次传送一个或一个以上字节的数据,数据的各位同时进行传送适合于外部设备与微机之间进行近距离、大量和快速的信息交换。计算机的各个总线传输数据时就是以并行方式进行的。并行通信的特点就是传输速度快,但当距离较远、位数较多时,通信线路复杂且成本高。17:18:244/367串行通信通信双方使用一根或两根数据信号线相连,同一时刻,数据在一根数据信号线上一位一位地顺序传送,每一位数据都占据一个固定的时间长度。与并行通信相比,串行通信的优点是传输线少、成本低、适合远距离传送及易于扩展。缺点是速度慢、传输时间长等。如计算机上常用的COM设备、USB设备和网络通信等设备都采用串行通信。17:18:245/367一、串行通信的相关概念1、串行通信的分类(1)按照串行数据的同步方式分类按照串行数据的同步方式,串行通信可以分为同步通信和异步通信两类17:18:246/3671)异步通信在异步通信(AsynchronousCommunication)方式中,接收器和发送器使用各自的时钟,它们的工作是非同步的。在异步传送中,每一个字符要用起始位和停止位作为字符开始和结束的标志,以字符为单位一个个地发送和接收。17:18:247/367典型的异步通信格式如图所示。……0/10/1100/110/10/10/10/10/10/10/10/10/10/10/10低位高位第n个字符第n-1个字符第n+1个字符7位数据停止位奇偶校验起始位奇偶校验停止位起始位7位数据下降沿指出下一个字符的开始a)数据字为7位ASCII码时的通信格式00/10/10/10/10/10/10/10/10/10/101111第n个字符起始位低位高位奇偶校验停止位空闲位下降沿指出下一个字符的开始第n+1个字符位的时间长度取决于波特率b)有空闲位时的通信格式7位数据起始位图8-1异步通信的格式17:18:248/367异步传送时,每个字符的组成格式首先用一个起始位表示字符的开始;后面紧跟着的是字符的数据字,数据字通常是7位或8位数据(低位在前,高位在后),在数据字中可根据需要加入奇偶校验位;最后是停止位,其长度可以是一位或两位。串行传送的数据字加上成帧信号的起始位和停止位就形成了一个串行传送的帧。起始位用逻辑“0”低电平表示,停止位用逻辑“1”高电平表示。17:18:249/367图a所示为数据字为7位的ASCII码,第8位是奇偶校验位,加上起始位、停止位,一个字符帧由10位组成。形成帧信号后,字符便一个一个地进行传送。……0/10/1100/110/10/10/10/10/10/10/10/10/10/10/10低位高位第n个字符第n-1个字符第n+1个字符7位数据停止位奇偶校验起始位奇偶校验停止位起始位7位数据下降沿指出下一个字符的开始a)数据字为7位ASCII码时的通信格式00/10/10/10/10/10/10/10/10/10/101111第n个字符起始位低位高位奇偶校验停止位空闲位下降沿指出下一个字符的开始第n+1个字符位的时间长度取决于波特率b)有空闲位时的通信格式7位数据起始位17:18:2410/367在异步传送中,字符间隔不固定,在停止位后可以加空闲位,空闲位用高电平表示,用于等待发送。这样,接收和发送可以随时进行,不受时间的限制。图b为有空闲位的情况。……0/10/1100/110/10/10/10/10/10/10/10/10/10/10/10低位高位第n个字符第n-1个字符第n+1个字符7位数据停止位奇偶校验起始位奇偶校验停止位起始位7位数据下降沿指出下一个字符的开始a)数据字为7位ASCII码时的通信格式00/10/10/10/10/10/10/10/10/10/101111第n个字符起始位低位高位奇偶校验停止位空闲位下降沿指出下一个字符的开始第n+1个字符位的时间长度取决于波特率b)有空闲位时的通信格式7位数据起始位17:18:2411/367在异步数据传送中,通信双方必须约定好两项事宜:字符格式。包括字符的编码形式、奇偶校验以及起始位和停止位的规定。通信速率。通信速率通常使用比特率来表示。比特率是数字信号的传输速率,它用单位时间内传输的二进制代码的有效位(bit)数来表示,其单位为每秒比特数bit/s(bps)、每秒千比特数(Kbps)或每秒兆比特数(Mbps)来表示。17:18:2412/367波特率与比特率波特率指数据信号对载波的调制速率,它用单位时间内载波调制状态改变次数来表示,其单位为波特(Baud)。波特率与比特率的关系是比特率=波特率×单个调制状态对应的二进制位数。在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。17:18:2413/367例如,数据传送速率为120字符/秒(这个速率可以称为波特率),而每一个字符为10位,则其传送的比特率为10×120=1200位/秒=1200比特。在后面的描述中,为了适应习惯用法,将比特率和波特率统一使用波特率来表示。17:18:2414/3672)同步通信同步通信(SynchronousCommunication)是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧和异步通信中的字符帧不同,通常含有若干个数据字符。根据控制规程,数据格式分为面向字符及面向比特两种。17:18:2415/367①面向字符型的数据格式面向字符型的同步通信数据格式可采用单同步、双同步和外同步三种数据格式,如图所示。图8-2面向字符型同步通信数据格式17:18:2416/367单同步、双同步单同步和双同步均由同步字符、数据字符和校验字符CRC等三部分组成。单同步是指在传送数据之前先传送一个同步字符“SYNC”,双同步则先传送两个同步字符“SYNC”。17:18:2417/367外同步外同步通信的数据格式中没有同步字符,而是用一条专用控制线来传送同步字符,使接收端及发送端实现同步。当每一帧信息结束时均用两个字节的循环控制码CRC为结束。17:18:2418/367②面向比特型的数据格式根据同步数据链路控制规程(SDLC),面向比特型的数据每帧由六个部分组成。第一部分是开始标志“7EH”;第二部分是一个字节的地址场;第三部分是一个字节的控制场;第四部分是需要传送的数据,数据都是位(bit)的集合;第五部分是两个字节的循环控制玛CRC;最后部分又是“7EH”,作为结束标志。17:18:2419/367面向比特型的数据格式如图所示。注意:在SDLC规程中不允许在数据段和CRC段中出现六个“1”,否则会误认为是结束标志。要求在发送端进行检验,当连续出现五个“1”时,则立即插入一个“0”,到接收端要将这个插入的“0”去掉,恢复原来的数据,保证通信的正常进行。图8-3面向比特型同步通信数据格式17:18:2420/367同步通信优缺点数据传输速率较高,通常可达56000bps或更高,适用于传送信息量大、传送速率高的系统中,缺点是要求发送时钟和接收时钟保持严格同步,故发送时钟除应和发送波特率保持一致外,还要求把它同时传送到接收端去。17:18:2421/367(2)按照数据的传送方向分类按照数据传送方向,串行通信可分为单工、半双工和全双工三种方式。17:18:2422/367图a为单工通信方式(Simplex)。A为发送站,B为接收站,数据只能能由A发至B,而不能由B传送到A。单工通信类似无线电广播,电台发送信号,收音机接收信号,收音机永远不能发送信号。ABKKABABa)单工通信方式b)半双工通信方式c)全双工通信方式17:18:2423/367图b为半双工通信方式(HalfDuplex)。数据可以从A发送到B,也可以由B发送到A。不过,由于使用一根线连接,发送和接收不可能同时进行,同一时间只能作一个方向的传送,其传送方向由收发控制开关K来控制。半双工通信方式类似对讲机,某时刻A发送B接收,另一时刻B发送A接收,双方不能同时进行发送和接收。ABKKABABa)单工通信方式b)半双工通信方式c)全双工通信方式17:18:2424/367图c为全双工通信方式(FullDuplex)。在这种方式中,分别用2根独立的传输线来连接发送方和接收方,A、B既可同时发送,又可同时接收。全双工通信工方式类似电话机,双方可以同时进行数据的发送和接收。ABKKABABa)单工通信方式b)半双工通信方式c)全双工通信方式17:18:2425/367图所示为主从多终端通信方式。A可以向多个终端(B、C、D…)发出信息。在A允许的条件下,可以控制管理B、C、D等在不同的时间向A发出信息。根据数据传送的方向又分为多终端半双工通信和多终端全双工通信。ADCBADCBa)多终端半双工通信方式b)多终端全双工通信方式17:18:2426/3672、串行接口作用:串行通信中的数据是一位一位依次传送的,而计算机中数据是并行传送的。因此,发送端必须把并行数据变成串行才能传送,接收端接收到的串行数据又需要变换成并行数据才可以送给计算机。上述并→串或串→并的转换既可以用软件实现,也可用硬件实现。由于用软件实现会使CPU的负担增加,目前往往用硬件(串行接口)完成这种转换。17:18:2427/367串行接口通过系统总线和CPU相连,如图所示。CPU控制寄存器状态寄存器数据输入寄存器数据输出寄存器串入并出并入串出地址译码器数据总线RXRDYTXRDY复位IORIOWAEN地址总线CSC/D接收时钟发送时钟串行数据输入串行数据输出MODEM控制串行接口图8-6CPU与串行接口的连接17:18:2428/367串行接口主要由4部分组成数据输入寄存器。在输入过程中,串行数据一位一位地从传输线进入串行接口的接收移位寄存器,经过串入并出电路的转换,当接收完一个字符之后,数据就从接收移位寄存器传送到数据输入缓冲器,等待CPU读取。数据输出寄存器。当CPU输出数据时,先送到数据输出缓冲器,然后,数据由输出寄存器传到发送移位寄存器,经过并入串出电路转换一位一位地通过输出传输线送到外设。17:18:2429/367串行接口主要由4部分组成状态寄存器。状态寄存器用来存放外设运行的状态信息,CPU通过访问这个寄存器来了解某个外设的状态,进而控制外设的工作,以便与外设进行数据交换。控制寄存器。串行接口中有一个控制寄存器,CPU对外设设置的工作方式命令、操作命令都存放在控制寄存器中,通过控制寄存器控制外设运行。17:18:2430/367串行接口基本工作原理串行发送时,CPU通过数据总线把8位并行数据送到数据输出寄存器,然后送给并行输入/串行输出移位寄存器,并在发送时钟和发送控制电路控制下通过串行数据输出端一位一位串行发送出去。起始位和停止位是由串行接口在发送时自动添加上去的。串行接口发送完一帧后产生中断请求,CPU响应后可以把下一个字符送到发送数据缓冲器。17:18:2431/367串行接口基本工作原理串行接收时,串行接口监视串行数据输入端,并在检测到有一个低电平(起始位)时就开始一个新的字符接收过程。串行接口每接收到一位二进制数据位后就使接收移位寄存器(即串行输入并行输出寄存器)左移一次,连续接收到一个字符后将其并行传送到数据输入寄存器,并产生中断促使CPU从中取走所接收的字符。17:18:2432/367常见的串行接口芯片称为通用异步接收器/发送器UART(UniversalAsynchronousReceiver/Transmitter),其内部结构如图8-7所示。WRRESETCONTROLTXC奇偶
本文标题:串行通信和并行通信的详解
链接地址:https://www.777doc.com/doc-1281093 .html