您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第9章-LPC1114通用异步串行通信
LPC1114通用异步串行通信串行通信是单片机最常用的一种通信技术,通常用于单片机和电脑之间以及单片机和单片机之间的通信。9.1串行通信基本概念9.1.1数据通信方式计算机之间以及计算机与其他外部设备之间的信息交换称为数据通信。数据通信方式有两种:并行通信和串行通信。并行通信。并行通信时数据的各位同时传送。其优点是传送速度快;缺点是数据有多少位,就需要多少根数据线,在长距离传输的过程中,传输线过多是不经济的,并使系统的抗干扰能力下降。串行通信。串行通信时数据的各位按照一定的顺序逐位分时发送。其优点是只需要一对数据线,大大降低了网络成本,特别适用于远距离通信,其缺点是传送速度较低。9.1.2串行通信的实现两个通信设备在串行线路上成功地实现通信必须解决以下问题。1.串并转换和并串转换串行通信是将单片机内部的并行数据转换成串行数据,然后将其通过一条数据线传送出去;并将接收的串行数据转换成并行数据送到计算机中。这个过程一般是通过移位寄存器来完成,单片机内部一般内置了移位寄存器,另外74HC164和CD4094也是典型的串行输入并行输出芯片;而74HC165和CD4014是典型的并行输入串行输出芯片。2.设备同步进行串行通信的两台设备必须同步工作才能有效地检测通信线路上的信号变化,从而采样传送数据脉冲。设备同步对通信双发有两个共同的要求:一是通信双方必须采用统一的编码方式;二是通信双方必须能产生相同的传送速率。9.1.3串行通信的数据帧要保证串行通信正常进行,串行通信的双方必须采用统一的编码方式,即确定一个字符的表达形式以及位发送顺序和位串长度等,这就是串行通信中数据帧的概念。数据帧包含4部分,分别为起始位、数据位、校验位和停止位,下面对其进行介绍。1.起始位通信线路上没有数据传送时一般处于逻辑1的状态。当发送设备有数据发送时,它首先要发送一个逻辑0信号,这个逻辑低电平就是起始位。当接收设备检测到这个低电平后,就开始准备接收数据位信号。起始位所起的作用就是设备同步,通信双方必须在传送数据位前协调同步。2.数据位数据位的个数依据通信双方的约定可以是5、6、7或8位。这些数据位被接收到移位寄存器中,构成传送数据字符。在字符数据传送过程中,数据位一般是从最低有效位开始发送,直至最高位发送结束。3.奇偶校验位奇偶校验位的主要作用是用于差错控制,检验所接收数据的正确性。通信双方必须选择相同的校验方式。4.停止位在奇偶校验位或数据位(当无奇偶校验时)之后发送的是停止位。它是一个字符数据的结束标志,可以是1位、1.5位或2位高电平。接收设备收到停止位之后,通信线路上便又恢复逻辑1状态,等待下一个起始位的到来。在串行通信的时候,一个字节是8位,规定当没有通信信号发生时,通信线路保持高电平,当要发送数据之前,先发一位0表示起始位,然后发送8位数据位,数据位是先低后高的顺序,数据位发完后再发一位1表示停止位。这样本来要发送一个字节的8位数据,而实际上我们一共发送了10位,多出来的两位其中一位起始位,一位停止位。而接收方原本一直保持高电平,一旦检测到了一位低电平,那就知道要开始准备接收数据了,接收到8位数据位后,然后检测到停止位,再准备下一个数据的接收。上述过程如图9-1所示。图9-1串行通信数据帧示意图9.1.4串行通信的波特率串行通信的双方必须采用同样的传送速率才能确保设备同步,这个速率就是波特率。波特率的设置主要是为了设定数据的发送或接收速度。通信线上传送的所有位信号都保持一定的持续时间,以便接收端能够正确接收,而每一位信号持续时间是由数据传送速度决定的。每秒钟传送二进制位的个数,称为波特率。如果数据以每秒9600个二进制位在通信线上传送,那么传送速度就是9600Baud,记为9600bps。9.1.5同步通信和异步通信串行通信有同步通信和异步通信两种基本通信方式,这两种通信方式对联络信号和数据有着不同的规定。1.同步通信同步通信的基本特征是发送和接收时钟保持严格同步。采用同步通信时,将许多字符组成一个信息组,这样字符可以一个接一个地传输,但是在每组信息(通常为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙,也不存在起始位和停止位,仅在数据块开始时用同步字符来指示。因此同步通信技术难度较大,但其通信速度较高,而且误码率较低。在同步通信中,要求用时钟来实现发送端和接收端之间的同步,接收和发送时钟对于收发双方之间的数据传送同步是至关重要的。在发送方,一般都是在发送时钟的下降沿将数据串行移位输出;在接收方,一般都是在接收时钟的上升沿将数据串行移位输入。2.异步通信异步通信不需要同步字符,也不需要发送设备保持数据块的连续性。可以准备好一个发送一个,但要发送的每一字符都必须先按照通信双发约定好的格式进行格式化,在其前后分别加上起始位和停止位,用以指示每一字符的开始和结束。正是由于每一字符都包含有起始位和停止位,因此,异步通信的传输速率不如同步通信的效率高。但对接收与发送时钟的要求可以低一些。另外异步通信双方收发速率必须相同。9.1.6串行通信的传输方式串行通信的传输方式可以分为单工、半双工和全双工三种。1.单工通信单工通信是指数据只能单方向传输的工作方式,因此只占用一个信道(信道是指以传输媒质为基础的信号通道)。广播、遥控、遥测、无线寻呼等属于单工通信。2.半双工通信半双工通信是指通信双方都能交替地进行双向数据传输,但两个方向的数据传输不能同时进行。例如,使用同一载波频率的对讲机、收发报机都是半双工的通信方式。3.全双工通信全双工通信是指通信双发可同时进行数据收发的工作方式。一般情况下全双工通信的信道必须是双向信道。普通电话、手机都是最常用的全双工通信方式,计算机之间的高速数据通信也是这种方式。9.2RS232C标准及通信接口设计9.2.1三种串行接口标准RS-232、RS-422与RS-485都是串行接口标准,最初是由美国电子工业协会(EIA)制订并发布。RS-232在1962年发布,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS232发展而来,它是为了弥补RS-232的不足而提出的,为了改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,提高了传输速率。为了扩展应用范围,EIA又于1983年在RS-422的基础上制订了RS-485标准,增加了多点、双向通信能力,即允许多个发生器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。RS-232、RS-422与RS-485标准只对接口的电气特性作出规定,而不涉及接插件、电缆或协议。RS-232、RS-422与RS-485的电气规定如表9-1所示。表9-1串行总线电气规定规定RS-232RS-422RS-485工作方式单端差分差分节点数1收1发1发10收1发32收最大传输电缆长度/ft(英尺)50400400最大传输速率20Kb/s10Mb/s10Mb/s最大驱动输出电压/V±25-0.25~6-7~12驱动器输出信号电平负载/V±5~±15±2.0±1.5驱动器输出信号电平(空载)/V±25±6±6驱动器负载阻抗/Ω3000~700010054摆率30V/usN/AN/A接收器输入电压范围/V±15-10~10-7~12接收器输入门限±3V±200mV±200mV接收器输入电阻3~74≥12驱动器共模电压/V--3~3-1~3接收器共模电压/V--7~7-7~129.2.2RS-232C物理接口及电平标准1.电平转换RS-232C规定的逻辑电平与一般微处理器的逻辑电平不同,RS-232采用负逻辑方式:²标准逻辑“1”对应:-5V~-15V电平;²标准逻辑“0”对应:+5V~+15V电平;²未定义区:-3V~+3V。现在的PC机上的串口都是采用RS-232协议,而8051单片机的逻辑“1”通常是以5V表示;而ARM微处理器的逻辑“1”通常是以3.3V表示,逻辑“0”通常是以0V表示的。所以在应用LPC1100系列的串口与PC机进行通信时必须进行电平转换把TTL或CMOS电平转换成RS-232电平,或把PC机的RS-232电平转换成微处理器的TTL或CMOS电平。2.接口RS-232采用9针和25针(很少见)的D型接口。一般情况下PC机预留的是9针公头,定义如表9-2所示;而开发板设计的电路都是采用9针母头,定义如表9-3所示。在物理结构上分为9针的和9孔的,习惯上我们也称之为公头和母头,如图9-2所示。RS-232对于一般的双工通信来说只需要3条信号线即可实现,这三根信号线分别为RXD、TXD和GND。表9-2RS-232公头(DB99针)接口定义引脚符号功能1DCD数据载波检测2RxD接收数据3TxD发送数据4DTR数据终端准备就绪5GND信号地6DSR数据设备准备就绪7RTS请求发送8CTS清除发送9R1振铃指示表9-3RS-232母头(DB99孔)接口定义引脚符号功能1DCD数据载波检测2TxD发送数据3RxD接收数据4DSR数据设备准备就绪5GND信号地6DTR数据终端准备就绪7CTS清除发送8RTS请求发送9R1振铃指示图9-2RS232通信接口9.2.3串行总线连接在实际的应用中比较广泛的是RS-232和RS-485两种通信方式,下面将介绍这两种通信方式的应用。1.微处理器间直接通信在微处理器之间可以直接连接它们的TXD和RXD管脚进行通信。只是采用这种方式进行通信时需要注意几点:²传输距离不能超过1.5m;²不同电平之间需要注意电平匹配问题。如图9-3所示,为两个LPC1100系列微处理器的之间通信连接示意图。此连接方式适用于电平相同的微处理器之间的通信。以就是说,LPC1100微处理器和其他电源电压为3.3V的微处理器之间都可以采用此方式通信。图9-3微处理器间直接通信示意图2.RS-232通信为了提高传输距离和电平兼容,可以采用RS-232标准进行点对点的通信连接,如图9-4所示。此电路不仅可以应用在不同微处理器之间进行通信,也可以应用在微处理器与PC机之间进行通信。TXDRXDGNDRXDTXDGNDLPC1100LPC1100图9-4RS-232通信示意图3.RS-485通信为了进一步提高传输距离,并实现点对多的传输,在工业上一般都是采用RS-485总线进行通信。RS-485可以采用两线方式,也可以采用四线方式进行通信。大多数情况下都是采用两线方式进行如图9-5所示。图9-5RS-485通信示意图9.3LPC1114串行通信接口9.3.1UART特性LPC1100系列Cortex-M0微控制器具有一个标准的异步串行口(UART),具有以下特性:l16字节收发FIFO;l符合16C550工业标准;l接收器FIFO触发点可为1、4、8和14字节;TXDRXDT2inT2outR2outR2inRXDTXDR2inR2outT2outT2inLPC1100LPC1100RS-232RS-232系统1系统2TXDRXDCONDIAROBCONTXDRXDCONDIAROBCONLPC1100RS-485RS-485LPC1100l内置波特率发生器;l用于精确控制波特率的小数分频器,并拥有赖以实现软件流控制的自动波特率检测能力和机制;l支持软件或硬件流控制执行;l包含标准Modem接口信号(CTS、DCD、DTS、DTR、RI、RTS);l支持RS-485/EIA-485的9位模式和输出使能;l调制解调器控制。LPC1100微处理器内部UART其结构框图如图9-6所示。APB总线为CPU和UART部分提供通信连接,UART接收单元监视串行输入线RXD的有效输入,UART接收移位寄存器RSR通过RXD接收有效字符。当RSR接收到一个有效字符时,它将字符传送到UART接收缓冲寄存器RBR中,等待CPU访问。UART发送单元接收CPU写入的数据,并将数据缓存到UART发送缓冲器THR中,UART发送移位寄存器TSR读取存储在THR中的数据,并通过串行输出引脚TXD将数据集中发送。图9
本文标题:第9章-LPC1114通用异步串行通信
链接地址:https://www.777doc.com/doc-5745789 .html