您好,欢迎访问三七文档
2020/2/81第8章串行通信接口8.1串行通信基础知识8.2S3C2410串行接口8.3串行通信举例8.4IIS串行数字音频接口2串行通信的特点:在串行通信中,只用一根通信线在一个方向上传输信息,这根线上既要传送数据信息又要传送联络信息,这是串行通信的首要特点。为了能够识别在一根线上串行传送的信息流中,哪一部分是联络信息,哪一部分是数据信息,就需要通信双方事先作出一系列的通信约定,这就是协议。因此,串行通信的第二个特点是它的信息格式必须事先用协议约定。8.1串行通信基础知识2020/2/838.1串行通信基础知识串行数据传送模式单工半双工全双工ABABAB信号地(c)全双工信号地(b)半双工信号地(a)单工发收发收收发收发发收2020/2/848.1串行通信基础知识串行通信方式异步串行通信方式异步式传输把每一个字符当作独立的信息来传送,并按照一固定且预定的时序传送,但在字符之间却取决于字符与字符的任意时序。而一个完整的字符传送,包含一个起始位以及所欲传送的字符,加上校验位和停止位。异步通信必须遵循的3项规定:帧格式波特率校验位2020/2/858.1串行通信基础知识串行通信方式异步串行通信方式帧格式2020/2/868.1串行通信基础知识串行通信方式异步串行通信方式波特率:波特率就是传送数据位的速率,用位/秒(bit/s)表示。例如,数据传送的速率为120字符/秒,每帧包括10个数据位,则传送波特率为:10位/字符×120字符/秒=1200位/秒=1200波特2020/2/878.1串行通信基础知识串行通信方式异步串行通信方式校验位:由于对字符传送做正确性检查,可以分为奇校验和偶校验。奇校验就是字符中有奇数个“1”,该位置1,否则为0;偶校验就是字符中有偶数个“1”,该位置1,否则为0。2020/2/888.1串行通信基础知识串行通信方式异步串行通信方式异步通信是按字符传输时,每传送一个字符是用起始位来通知收方,以此来重新核对收发双方同步。一帧数据的各位代码间的时间间隔是固定的,而相邻两帧的数据其时间间隔是不固定的。在异步通信的数据传送中,传输线上允许空字符。每个字符传送时,必须前面加一起始位,后面加上1、1.5或2位停止位。例如ASCII码传送时,一帧数据的组成是:前面1个起始位,接着7位ASCII编码,再接着一位奇偶校验位,最后一位停止位,共10位。2020/2/898.1串行通信基础知识串行通信方式同步串行通信方式同步串行通信方式中一次连续传输一块数据(常称之为信息帧),开始前使用同步字符作为同步的依据。字符块之后再加入适当的错误检测数据才传送出去。采用同步通信时,在传输线上没有字符传输时,要发送专用的“空闲”字符或同步字符,其原因是同步传输字符必须连续传输,不允许有间隙,所以,同步串行通信方式传输效率高。但电路结构复杂,对硬件要求高。误码检测一般采用CRC(循环冗余校验)校验法。10串行接口概述1.串行接口基本功能串行接口基本功能如下图所示。112.异步串行通信接口基本结构异步串行通信接口也称为异步接收发送器,简称UART,典型的异步通信接口(UART基本结构)。123.异步串行通信接口的错误下面简单介绍异步串行通信常见的错误。(1)奇偶校验错在约定奇偶检查的情况下,接收到的字符奇偶状态和约定不符。(2)帧出错一个字符从起始位到停止位的总数有误。(3)溢出错若先接收的字符尚未被MPU读取,后面的字符又传送过来,则产生溢出错误。2020/2/8138.1串行通信基础知识RS-232C串行通信接口RS-232C是由美国电子工业协会(ElectronicIndustriesAssociation,EIA)于1969年制定的一种串行通信接口标准,并被推荐为串行通信接口的国际标准,得到了广泛应用。EIA把RS-232C定义为:“在数据终端设备(DTE)和数据通信设备(DCE)之间使用串行二进制数据交换的接口”。RS-2323C标准包括了接口的机械特性、电气信号特征和交换功能特征。它用于连接2种设备:数据终端设备和数据通信设备。2020/2/8148.1串行通信基础知识RS-232C串行通信接口RS-232C接口信号阳性插座DB9载波检测CD清除发送CTS发送请求RTS数据设置就绪DSR数据终端就绪DTR发送TXD接受RXD信号地GND振铃检测RI9876543213发送TXD接收RXD2发送TXD32接收RXD数据终端就绪DTR4数据设置就绪DSR64数据终端就绪DTR6数据设置就绪DSR7发送请求RTS发送请求RTS78清除发送CTS清除发送CTS85信号地GND信号地GND52020/2/8158.1串行通信基础知识RS-232C串行通信接口RS-232C接口电气规格计算机系统外围接口一般采用TTL标准,即以+5V代表逻辑“1”,而接地电压代表逻辑“0”,而RS-232C以+12V的电压视为逻辑“0”,-12V的电压视为逻辑“1”。所以,串行接口电路中需要将TTL标准与RS-232C标准之间进行电平转换。MAX232RX232TXDRX232RXDRXDTXDC1104TIOUTC1+RIOUTC2104C4104C31043.3VC1-VDDV+C2—C2+V-GNDRIINTIIN16信号线的连接1.远距离连接远距离连接需要加调制解调器MODEM,如下图所示。公用电话网172.近距离连接近距离连接不用MODEM,如下图所示。DSRDTRRTSCTS18由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。(2)传输速率较低,在异步传输时,波特率为20Kbps。(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。2020/2/8198.1串行通信基础知识RS-422和RS-485标准RS-422和RS-485都是在RS-232C的基础上发展起来的串行数据接口标准,都是由EIA制定并发布的。RS-422RS-485RS-422是为弥补RS-232C的不足而提出的,主要是为了改进RS-232C通信距离短、速率低的缺点,RS-422定义了一种“平衡”通信接口,将速率提高到10Mb/s,传输距离延长到1220m(速率低于100kb/s时),并允许在一条总线上连接最多10个接收器。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,它增加了总线上设备的个数,定义了在最大设备个数情况下的电气特性(以保证足够的信号电压)和双向通信的能力(允许多个发送器连接到同一条总线上),同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。RS-485逻辑“1”以两线间的电压差为+2~+6v表示;逻辑“0”以两线间的电压差为-2~-6v表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。RS-485最大的通信距离约为1219M,最大传输速率为10Mbps,传输速率与传输距离成反比,在100Kbps的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等优点使其成为首选的串行接口2020/2/8202020/2/8218.2S3C2410串行接口S3C2410内部具有3个独立的UART控制器,每个UART通道包含2个16位的接收和发送FIFO,数据接收和发送的波特率可编程。UART也可实现红外(IR)接收和发送。串行数据包括1位或2位停止位,5位、6位、7位或8位数据位和1位奇偶校验位。•RxD0,TxD0,RxD1,TxD1,RxD2和TxD2可以工作在中断模式或DMA模式。•通道0,1和2包含了IrDA1.0和16位FIFO。•通道0和1拥有nRTS0,nCTS0,nRTS1和nCTS1信号。•支持发送和接收握手协议。2020/2/8228.2S3C2410串行接口S3C2410UART结构波特率发生器系统外设总线控制单元发送移位寄存器发送FIFO(16字节)接收移位寄存器时钟源TXDnRXDn发送器接收FIFO(16字节)接收器2020/2/8238.2S3C2410串行接口S3C2410UART工作原理S3C2410UART的基本工作包括数据发送,数据接收,自动流控制,中断/DMA请求产生,波特率产生,回环模式和红外模式。数据发送发送的数据帧是可编程的,包含一位起始位,5~8位数据位,一位可选的校验位和1~2位的停止位,这些可以在线路控制寄存器(ULCONn)中指定。发送器也可以产生一个暂停状态,将输出在一个帧的时间内强制为逻辑0。当前帧发送完后,才能发送产生暂停。在暂停状态结束后,可以继续发送FIFO中的数据(或继续发送无FIFO模式下发送保持寄存器中的数据)。2020/2/8248.2S3C2410串行接口S3C2410UART工作原理数据接收接收器在接收数据的同时检测溢出错误、奇偶校验错误、帧错误和暂停错误。每种错误都可以设置相应的错误标志位。溢出错误是指在前面数据被读取之前,刚收到的数据覆盖了前面的数据。奇偶校验错误是指接收端对接收到的数据进行校验时产生了与发送端不同的校验标志。帧错误是指接收到的数据没有一个有效的停止位。暂停错误是指RxDn维持逻辑0的时间超过了一个帧的时间长度。2020/2/8258.2S3C2410串行接口S3C2410UART工作原理自动流控制流控制指的是数据流控制。当数据在两个串口之间传输时,常常会由于接收端数据处理来不及,造成接收缓冲区满,此时发送端如果继续发送数据,接收端就会丢失数据。流控制可以解决这个问题。S3C2410的UART0和UART1通过nRTS和nCTS信号支持自动流控制。也可以设置为无自动流控制功能。S3C2410的UART2不支持自动流控制功能。2020/2/8268.2S3C2410串行接口S3C2410UART工作原理中断/DMA请求产生S3C2410的每一个UART有7个状态(发送/接收/错误)信号:溢出错误奇偶校验错误帧错误暂停错误接收缓冲数据准备就绪发送缓冲空和发送移位器空每种状态都可以在UTRSTATn或UERSTATn寄存器中的相应标志位设置。2020/2/8278.2S3C2410串行接口S3C2410UART工作原理中断/DMA请求产生对于以上7个状态中的4个错误状态,如果控制寄存器(UCONn)中的错误中断请求使能位置1,发生任何一个错误时都会引起中断,再通过查询UERSTATn寄存器来确定具体发生了哪一类错误,然后进行相应的错误处理。在FIFO模式下,如果UCONn寄存器中接收方式位置1,意味着采用中断或轮询方式接收数据,当接收器将接收到的数据传送到FIFO并且数量达到了接收FIFO的接收门限值,就会产生接收中断。在非FIFO模式下,如果允许接收中断或轮询,接收到的数据从接收移位寄存器传送到接收保持寄存器后,将产生接收中断。2020/2/8288.2S3C2410串行接口S3C2410UART工作原理中断/DMA请求产生在FIFO模式下,如果UCONn寄存器中发送方式位置1,意味着采用中断或轮询方式发送数据,当发送器将发送数据从发送FIFO传送到移位器中并且发送FIFO中的数据数量达到了发送FIFO的发送门限值,就会产生发送中断。在非FIFO模式下,如果允许发送中断或轮询,发送保持寄存器将数据发送到移位器后,将产生发送中断。如果UCONn寄存器中发送方式和接收方式的DMAn位都置1,那么接收和发送完成后将
本文标题:串行通信接口
链接地址:https://www.777doc.com/doc-3566607 .html