您好,欢迎访问三七文档
第12章可编程接口芯片及应用本章讲解串行通信的基本概念与串行接口标准,分析典型可编程通信接口芯片的编程结构、引脚功能及初始化编程,介绍微机异步通信适配器的硬件配置和软件调用,对微机中越来越普遍使用的USB串行接口从性能、组成、原理及传输过程控制等方面作了描述,并对高速串行总线IEEE1394作了简介。12.1串行通信与接口12.1.1串行通信1.并行传输与串行传输并行传输数据代码的每一位各占一条传输线,在两个数据部件之间一次并行传输n位数据。并行传输适合在一米或数米范围内的近距离高速传输。计算机内CPU与主存之间的数据传输是并行传输的典型例子,并行的位数有8位、16位、32位、64位甚至更多。串行传输数据代码的所有位顺序串行排列成数据流,在一条线缆上逐位传输。串行传输速度通常低于并行传输,但节省硬件(线缆),适宜远距离数据传输,通信网及计算机网络中服务器与站点之间、各个站点之间都以串行方式传输数据。计算机的某些部件之间,如键盘到主机键盘接口电路的按键扫描码传送、磁盘驱动器与磁盘适配器(控制器)之间的数据传输都以串行方式进行。南桥芯片ICH5(2003年)支持的硬盘外部数据传输规范SATA(SerialATA)、广泛应用的USB接口是高速串行传输的典范,串行传输在计算机系统中的应用日益广泛。并行与串行的数据传输如下图所示。2.数据传输的同步数据传输必须同步,以解决接收方在接收到的源源不断的数据流中如何正确区分发送方发送来的每一个代码,正确完成传输任务。并行传输因其距离进,收发双方可用同一频率时钟进行发送和接收,或增加一根或几根状态控制线(称握手信号线)进行联络,协调收发双方,保证数据代码正确传输。在计算机和通信设备内部,不少部件之间都设有专门的握手信号线。在串行通信中,一般不设握手信号线,因此,必须在传输的数据编码中解决同步问题。为了正确识别代码和恢复报文,收发双方必须区分出:◆每个比特,即每个二进位;◆每个代码(如ASCII字符),即区分出每个代码的起始位和结束位;◆完整的报文数据块,即数据帧的开始和结束。上述三个问题分别是位同步、字符同步和帧同步。数据串行传输有异步传输和同步传输之分。采用异步传输方式,发送和接收设备的时钟是异步的;采用同步传输方式,收发的时钟是同步的。同步传输具有较高的传输效率和速率。12.1.2串行接口1.串行接口标准简介数据的发送者和接收者分别称为数据源和数据宿,统称为数据终端设备,即DTE(DataTerminalEquipment)。DTE之间的通路称为数据电路。数据信号必须经信号变换设备变换后才能送上(通信网的)传输信道进行传输,传输的信号也必须经反变换后才能为DTE所接收。信号变换设备位于数据电路的终端,称为数据电路终接设备,即DCE(DataCircuitingEquipment)。在简单的计算机数字传输系统中,计算机(或准确地讲计算机串行接口)就是DTE,调制解调器MODEM就是DCE,它们位于OSI通信模型的最低层——物理层。为了统一物理层的操作,使得不同厂家生产的设备能相互连接起来,国际标准化组织ISO、国际电报电话咨询委员会CCITT、电气和电子工程师协会IEEE、美国电子工业协会EIA均制定了相应的标准和建议,例如CCITT制定的通过电话网进行数据传输的V系列建议、通过公用数据网进行数据传输的X系列建议、IEEE制定的用于局域网的IEEE802系列标准等等。其中两个最著名的协议实例是CCITTV.24和X.21。由于计算机网络最早使用的是模拟电话信道,CCITT较早地开发和建立了适合于电话网的CCITTV.24,用作计算机或终端与Modem之间的接口标准。CCITTV.24与广为流行的EIARS-232-C标准相兼容,作为DTE-DCE之间的模拟接口标准非常实用。1.串行接口标准简介(续)RS-232-C规定了接口接插件(插头、插座)的规格、尺寸、针孔的数量与排列等机械特性如下图所示。RS-232-C规定了连线的电气特性:信号电平采用负逻辑,即逻辑“1”为-3V~-15V,逻辑“0”为+3V~+15V;使用分立元件实现不平衡双流接口,最大工作速率为20Kbps,采用ISO2110规定的25芯连接器。当采用电容性(约150pF/m)多芯电缆时,最大缆长不超过15m。RS-232-C功能特性规定每条接口线有一个功能,接口线以英文字母组合命名。RS-232-C规程特性定义了接口控制信号线上电平升降的动作序列,它们对应了接口两侧物理连接的建立、维持、拆除以及比特流的传送情况。1.串行接口标准简介(续)计算机还用到其它串行接口。如IBMPC机支持20mA电流环方式。以20mA电流的有和无来表示逻辑电平“1”和“0”,有4条信号线:发送+、发送-、接收+、接收-;在机器内借用RS-232-C的D型25针连接器中未使用的9、11、18、25号引线做为上述4条信号线。20mA电流环抗干扰能力强、传输距离远,是个非正式标准。高速远距离大容量传输场合,也用到RS-422和RS-423,它们采用差分平衡传输线和差分不平衡传输线,最大传输距离达1500m,传输速率可分别达到1Mbps和100Kbps。1997年以后,支持通用串行总线USB标准的外设迅猛发展,USB接口受到普遍支持,大有取代其它各种外设接口的架势,详见后述。2.串行接口连接以RS-232-C为例介绍串行接口的连接。RS-232-C标准规定了串行通信时数据终端设备DTE(例如计算机)和数据电路终接设备DCE(如MODEM)之间的接口信号。RS-232-C共定义25条线,包括2条地线、4条收发数据线、11条控制线、3条定时线,另有2条留作测试用、3条保留备用。实际上常用的只有9条,分述如下。(2)数据收发线TxD:发送数据线DTE将串行数据经TxD端发送至DCE。RxD:接收数据线DTE从RxD端接收DCE送来的串行数据。当数据传输距离大于15米时,DTE之间要加Modem进行调制解调,一般要用到RS-232-C定义的5~9条信号线,Modem之间距离近可用专线,距离远可通过电话网传输,接口连接如下图所示。SG:信号地。1.串行接口标准简介(续)数据传输距离小于15米时,可在DTE之间直接通过RS-232-C连线而无须Modem,最简单情况只要使用3条信号线就能进行全双工通信,各种接线方式如右图所示。12.2可编程通信接口芯片通信接口硬件电路可分为UART(UniversalAsynchronousReceiver/Transmitter:通用异步收发器)、USRT(UniversalSynchronousReceiver/Transmitter:通用同步收发器)和USART(UniversalSynchronous-AsynchronousReceiver/Transmitter:通用同步-异步收发器)。PC机中串行通信接口使用8250,属UART,只支持异步通信,采用单通道双缓冲结构,芯片外部有40条引脚。8251A-PCI(ProgrammableCommunicationInterface:可编程通信接口)属USART,采用单通道双缓冲结构,芯片有28条引脚。8251A的基本性能如下。◆同步传输:每个字符可设为5~8位,可内同步或外同步,内同步自动插入同步字符;传输速率可达64Kbps。◆异步传输:每个字符可设为5~8位,传输速率可达19.2Kbps,收发时钟速率可为传输波特率的1、16或64倍,可编程产生1、1.5或2位的停止位,能检测假起始位,自动检测奇偶错、格式错和溢出错。◆完全双工,具有双缓冲的接收器和发送器。所有输入输出电平与TTL兼容。12.2.1编程结构8251A有五个主要组成部分:面向通信端的接收器、发送器、调制解调控制逻辑和面向CPU端的读写控制逻辑、数据总线缓冲器。(1)接收器接收器按接收时钟RxC的节拍将RxD引脚上的串行数据一位位地移入接收移位寄存器,按规定去掉起始位、校验位和停止位,一个字符接收完毕再将接收移位寄存器中并行数据送入接受数据缓冲寄存器。接收移位寄存器接收串行数据,送出并行数据,完成串-并转换。接收移位寄存器和接收数据缓冲寄存器组成了接收的双缓冲器结构。(2)发送器发送器按TxC的节拍,将发送移位寄存器中的数据按规定的格式装上起始位、校验位和停止位,再一位一位移到TxD引脚发送出去。发送的数据先由CPU送入发送数据缓冲寄存器,当发送移位寄存器移空时,自动将发送数据缓冲寄存器的内容装入发送移位寄存器。发送移位寄存器装入的是并行数据,送出的串行数据,完成并-串转换。发送数据缓冲寄存器和发送移位寄存器组成了发送的双缓冲器结构。12.2.1编程结构(续)(3)调制解调(Modem)控制逻辑Modem逻辑控制产生8251A与Modem之间二对(四线)联络信号:和、和,以协调8251A与Modem之间同步地传输数据。(4)读写控制逻辑读写控制逻辑对系统送入8251A的控制信号进行译码,实施对8251A的读写操作,如下表所示。(5)数据总线缓冲器数据总线缓冲器包括状态缓冲寄存器、命令缓冲寄存器,以及发送数据缓冲寄存器、接收数据缓冲寄存器,经双向三态数据引脚D7~D0与系统数据总线相连。CPU用输入/输出指令对8251A读/写数据、或读状态字/写控制字,都通过数据总线缓冲器进行。12.2.2引脚及其功能8251A芯片是N沟道硅栅工艺MOS器件,采用28脚DIP封装,如下图所示。(1)数据线D7~D0双向三态收发的数据、写入的方式字/同步字符/命令字、读出的状态,都经D7~D0进行。(2)读写控制线C/-D(Control/Data)控制/数据信号,输入C/-D引脚有两种状态,表征8251A芯片内的数据端口和控制(状态)端口。当-CS有效时,C/-D=0表示对8251A读写数据,C/-D=1则表示读状态或写控制字。-RD(Read)读,输入,低电平有效。有效时表示对8251A进行读操作。-WR(Writ)写,输入,低电平有效。有效时表示对8251A进行写操作。RESET复位,输入,高电平有效。RESET有效使8251A复位到空闲状态,只有重新初始化才能脱离空闲状态。CLK时钟输入CLK周期规定在0.32μs~1.35μs之间。在同步方式CLK频率大于TxC或RxC(收或发时钟)30倍,异步方式须大于收发时钟4.5倍。-CS(Chipselect)片选信号,输入,低电平有效接地址译码器的输出,有效后才能对8251A进行读写操作。CSCSDDCSDDRDWR12.2.2引脚及其功能(3)发送器引脚TxD(TransmitterData)发送数据线,输出。TxC(TransmitterClock)发送时钟,输入。TxRDY(TransmitterReady)发送准备好,输出,高电平有效。当允许发送且发送数据缓冲寄存器已空时,TxRDY有效,告知CPU将下一个发送字符送来。该引脚可作为中断请求信号向CPU申请发送中断。TxE(TransmitterEmpty)发送器空,输出,高电平有效。TxE有效表示发送移位寄存器移空,已无数据可发。TxE有效,必然TxRDY已经有效。(4)接收器引脚RxD(ReceiverData)接收数据线,输入。RxC(ReceiverClock)接收时钟,输入。RxRDY(ReceiverReady)接收准备好,输出,高电平有效。RxRDY有效,表示接收数据缓冲器中已收到一个接收好的数据,可供CPU来读取。该引脚可作为中断请求信号向CPU申请接收中断。SYNDET/BRKDET(SynchronousDetect/BreakDetect)同步检测/断点检测,输出/输入,高电平有效。◆8251A工作于同步方式该引脚表示SYNDET,内同步时该引脚为输出,有效状态(高电平)表示8251A已经检测到同步字符;外同步时该引脚为输入,由该引脚输入同步脉冲,上升沿启动8251A接收数据。◆8251A工作于异步方式该引脚表示BRKDET,是输出信号,有效状态(高电平)表示接收端检测到间断点(编程规
本文标题:第七章串行通信接口
链接地址:https://www.777doc.com/doc-319569 .html