微机原理-第9章2(串行接口)课件_第1页
微机原理-第9章2(串行接口)课件_第2页
微机原理-第9章2(串行接口)课件_第3页
微机原理-第9章2(串行接口)课件_第4页
微机原理-第9章2(串行接口)课件_第5页
已阅读5页,还剩93页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章并行接口与串行接口

(串行接口部分)§9.4串行接口的基本概念§9.5异步串行通信接口标准RS-232C§9.6可编程串行接口芯片INS82501第九章并行接口与串行接口

(串行接口部分)§9.4串行接第九章并行接口与串行接口串口基本概念_1§9.4串行接口的基本概念所谓串行通信是指外设和计算机之间在单根数据信号线上一位接一位地传输数据,每一位数据都占据一个固定的时间长度(T)。D1D0D2D3D4D5D6D7T00011011数据流

“串行”是指外设与接口电路之间的信息传送方式,CPU与串行接口之间仍按并行方式工作。2第九章并行接口与串行接口串口基本概念_1§9.4串行接第九章并行接口与串行接口串口基本概念_21、串行数据传送方式发送器接收器数据单工(Simplex)方式:只允许数据按照一个固定的方向传送。收发器收发器数据半双工(Half-duplex)方式:只用1根数据线传送数据信号,通信双方不能在两个方向上同时传送。收发器收发器数据数据全双工(Full-duplex)方式:通信双方能同时进行发送和接收操作。3第九章并行接口与串行接口串口基本概念_21、串行数据传送第九章并行接口与串行接口串口基本概念_32、波特率和收/发时钟①波特率在计算机串行通信中,用波特率(数据位率)来描述数据的传输速率。波特率是指每秒钟传送二进制数据的位数,以位/秒为单位,简写为bps。如图示:国际上规定了一个标准波特率系列:50、110、300、600、1200、1800、2400、4800、9600、19.2K、56K、115.2Kbps等。D1D0D2D3D4D5D6D7T00011011数据流波特率=1/T位周期4第九章并行接口与串行接口串口基本概念_32、波特率和收/第九章并行接口与串行接口串口基本概念_4②收/发时钟在串行通信中,发送与接收都必须有时钟脉冲信号对传送的数据进行定位和同步控制。如图示:发送缓存器并串移位寄存器发送数据发送时钟接收缓存器串并移位寄存器接收数据接收时钟通信线路串行通信简单原理图发送端接收端5第九章并行接口与串行接口串口基本概念_4②收/发时钟发第九章并行接口与串行接口串口基本概念_5收/发时钟频率通常是波特率的整数倍(称为波特率因子n),二者之间的关系如下:收/发时钟频率=n×波特率(n取1、16、32、64等)异步通信:n=16;同步通信:n=1。时钟(RCLK)数据线(SIN)起始位(16t)t16t8tt为时钟周期,表明16个时钟脉冲传送1位数据。例如:波特率=9600bps,波特率因子n=16,如图示:6第九章并行接口与串行接口串口基本概念_5收/发时钟频第九章并行接口与串行接口串口基本概念_63、信号的调制和解调之前提及的串行通信都是针对数字信号的,数字信号的频带宽,而普通通信线路频带较窄,如电话线频带范围仅300~3000Hz。大多数情况下(支持双工方式),将调制器和解调器整合在一个装置中,称为调制解调器:Modem。故采用普通通信线路进行远程数据通信时,需要在发送端用调制器(Modulator)把数字信号转换为模拟信号,模拟信号经通信线路传送到接收方;接收方再以解调器(Demodulator)把模拟信号还原成数字信号。7第九章并行接口与串行接口串口基本概念_63、信号的调制和第九章并行接口与串行接口串口基本概念_7远程通信示意图:计算机(1)串行接口MODEM计算机(2)串行接口MODEM电话线音频模拟信号控制控制收收发发另一种示意方法DTE(DataTerminalEquipment):数据终端设备(接收和发送),微机串行通信接口电路,如INS8250、INS16550A等。DCE(DataCommunicationEquipment):数据通信设备(传输)。8第九章并行接口与串行接口串口基本概念_7远程通信示意图:第九章并行接口与串行接口串口基本概念_8调制方法调频(FM):频移键控FSK(FrequencyShiftKeying)法调幅(AM):幅移键控ASK(AmplitudeShiftKeying)法调相(PM):相移键控PSK(PhaseShiftKeying)法按待传输的数字信号的变化规律去改变载波(音频模拟信号)的频率f、幅度A或相位φ。如下图所示:9第九章并行接口与串行接口串口基本概念_8调调频(FM):第九章并行接口与串行接口串口基本概念_9用得最多的是调频方法,频移键控调制原理示意图:10101…f1f2-+∑01101数字信号电子开关1电子开关2音频信号输出运放数字信号为1时,电子开关1导通,输出f1音频信号;数字信号为0时,电子开关2导通,输出f2音频信号;传输距离:普通电话线,不失真传输500m左右;同轴电缆,可达1.5~2Km以上。10第九章并行接口与串行接口串口基本概念_9用得最多的是调频第九章并行接口与串行接口串口基本概念_104、数据传输的检错和纠错串行数据在传输过程中,由于硬件、软件故障或外界电磁干扰,可能引起数据传输错误。误码率:衡量传输错误的指标,即数据传输后出错的位数与

总传输位数之比(计算机通信中要求10-6数量级)。具体方法:奇偶校验、循环冗余码校验(CRC)、海明码校验等。最简单、常用的检错方法是奇偶校验。检错、纠错方法很多,都以增加冗余信息为代价。检错:如何发现传输中的错误;纠错:发现错误后,如何消除错误。差错控制(编码)控制方式自动重发请求ARQ(AutomaticRepeatreQuest)接收方检测到接收数据有错,请求发送方重发。前向纠错FEC(ForwordErrorCorrection)接收方可检错也可纠错,不需向发送方反馈信息。11第九章并行接口与串行接口串口基本概念_104、数据传输的第九章并行接口与串行接口串口基本概念_115、串行通信的基本方式串行通信分为两种基本方式:异步通信、同步通信异步通信收、发端时钟为各自独立的同频时钟。

以字符为单位一个一个地传输,每个字符中一位接着一位地传输。传输一个字符时,以起始位开始,然后传输字符数据位、校验位,以停止位结束该字符的传输。一次传输的起始位、字符数据位、校验位、停止位构成一组完整的信息,称为帧(Frame)。帧与帧之间可以有任意个空闲位。12第九章并行接口与串行接口串口基本概念_115、串行通信的第九章并行接口与串行接口串口基本概念_12异步通信的帧格式

起始位“0”和停止位“1”分别表示一帧信息即一个字符信息传输的开始和结束;从“1”(停止位/空闲位)到“0”的负跳变标志一帧开始的基准时刻;

数据位低位在前,高位在后。0/10/10/10/1…0/10/10/1LSB01011MSB第n个字符(7~12位):一帧第n+1个字符5~8位数据位起始位空闲位停止位(1,1.5或2位奇偶校验位(可省略)①②③④起始位13第九章并行接口与串行接口串口基本概念_12异步通信的帧格第九章并行接口与串行接口串口基本概念_13用16倍波特率的接收时钟控制采样过程示意图:……起始位“0”0/10/1位1位2传送数据采样时钟检测到起始位的前沿确定已检测到起始位数据位采样时钟位中心点采样举例:传送8位字符数据45H(01000101B),奇校验,1个停止位,则信号线上的波形为:从起始位前沿开始,连续采样8个0,可确定为一帧的起始位。…D0D1D2D3D4D5D6D7起始位校验位停止位空闲位空闲位下一帧1010001008位字符数据14第九章并行接口与串行接口串口基本概念_13用16倍波特率第九章并行接口与串行接口串口基本概念_14同步通信在异步通信中,依靠起始位和停止位实现了收发双方的协调操作,但是占用了额外时间。同步字符1

同步字符2

字符1字符2……字符n

校验字符数据块一帧信息同步通信的速度高于异步,通常为几十至几百千波特。但要求有时钟来实现收发双方的同步,硬件复杂。具体做法:数据块包含多个字符,在每个数块据的前端加同步字符、后端增加校验字符,构成一个信息帧。在同步通信中,采用同步字符加数据块的方法,完成收发双方的同步传送。收、发端必须采用同一时钟。15第九章并行接口与串行接口串口基本概念_14同步通信同步字第九章并行接口与串行接口串口标准RS-232C§9.5异步串行通信接口标准RS-232CPC机上的COM1、COM2接口,就是RS-232C接口。计算机通信中使用最普遍的是EIARS-232C标准。EIA(ElectronicIndustrialAssociate)RS(RecommentedStandard)在串行通信中,数据终端设备DTE(如微机中的串行接口电路)和数据通信设备DCE(如MODEM、数传机)之间的连接要符合接口标准。(☆DTE与DCE之间的标准)16第九章并行接口与串行接口串口标准RS-232C§9.5第九章并行接口与串行接口串口标准RS-232C(续1)1、RS-232C连接器:RS-232C采用25芯(DB-25)和简化9芯(DB-9)的连接器。其引脚分布示意图如下:DB-2512345678910111213141516171819202122232425PGNDTDRDRTSCTSDSRSGNDCD未定义未定义未定义“SCF”“SCB”“SBA”“DB”“SBB”“DD”未定义“SCA”DTR“CG”RI“CH”“DA”未定义DB-9123456789CDRDTDDTRSGNDDSRRTSCTSRI简化形式17第九章并行接口与串行接口串口标准RS-232C(续1)1第九章并行接口与串行接口串口标准RS-232C(续2)2、RS-232C连接器引脚信号定义RS-232C标准规定使用DB-25连接器,其中20个引脚有定义,规定了DTE与DCE之间的信号约定。(见P360表9.3)引脚代号信号名方向与功能描述1AA保护地(PGND)设备外壳接地2BA发送数据(TD)DTEDCE3BB接收数据(RD)DTEDCE4CA请求发送(RTS)DTEDCE,已做好发送准备,打开DCE的发送器5CB清除发送(CTS)DTEDCE,响应DTE请求,指示DCE开始发送6CCDCE就绪(DSR)DTEDCE,表示DCE已接上信道,且不在测试、通话状态,可以使用7AB信号地(SGND)用作所有信号公共地8CF载波检测(CD)DTEDCE,表示DCE正接收通信链路信号9~11未定义TD(TransmitData)RD(ReceiveData)RTS(RequestToSent)CTS(ClearToSent)DSR(DataSetReady)CD(CarrierDetect)18第九章并行接口与串行接口串口标准RS-232C(续2)2第九章并行接口与串行接口串口标准RS-232C(续3)DTR(DataTerminalReady),RI(RingIndicator)引脚代号信号名方向与功能描述12SCF辅信道载波检测DTEDCE,功能类似CF(即CD信号)13SCB辅信道清除发送DTEDCE,功能类似CB(即CTS信号)14SBA辅信道发送数据DTEDCE,发送低速率数据15DB发送器定时时钟(DCE源)DTEDCE,给DTE提供发送时钟16SBB辅信道接收数据DTEDCE,接收低速率数据17DD接收器定时时钟DTEDCE,给DTE提供接收时钟18未定义19SCA辅信道请求发送DTEDCE,功能类似CA(即RTS信号)20CDDTE就绪(DTR)DTEDCE,指示DTE已做好收/发准备21CG信号质量检测DTEDCE,指示接收的误码率合格22CE振铃指示(RI)

DTEDCE,指示通信链路上有振铃23CH/CI数据速率选择DTEDCE,指示速率或速率范围

24DA发送器定时时钟(DTE源)

DTEDCE,给DCE提供发送时钟25未定义19第九章并行接口与串行接口串口标准RS-232C(续3)D第九章并行接口与串行接口串口标准RS-232C(续4)几点说明:①标准中的信号是从DTE(或计算机串行接口)的角度定义的,如发送数据,是指:DTEDCE。②代号以C开头的信号线是控制线,用于实现DTE和DCE之间的握手联络,如RTS、CTS、DSR、DTR、CD等。③计算机串口并非一定要使用全部20根信号线。该标准中包含了主、辅两条信道,辅信道速率较低,可用于传送一些辅助控制信息。一般通信中很少使用。④对于主信道,也并非要全用,最常用的只是一些基本信号线。根据具体应用场合的不同,选择相应的连接方式。20第九章并行接口与串行接口串口标准RS-232C(续4)几发送时:DTE向DCE发“发送请求”信号,当收到DCE的应答信号“清除发送”后,通过“发送数据”线发出数据。发送数据接收数据保护地清除发送DEC就绪载波检测DTE就绪信号地请求发送123456820227计算机接口或终端DTEMODEM或其它DCE计算机接口或终端DTEMODEM或其它DCE专设电话线振铃指示DCEDCE123456820227发送数据接收数据保护地清除发送DEC就绪载波检测DTE就绪信号地请求发送振铃指示第九章并行接口与串行接口串口标准RS-232C(续5)⑴使用MODEM或其它DCE当计算机通过MODEM或其它数据通信设备(DCE)使用一条专设电话线进行15米以上的长距离通信时,一般只需要1~8号引脚的8根信号线,如下图中实线所示(见教材P362图9.31),就可进行正常通信。接收时:当DCE启动“载波检测”线有效时,表明它正在接收通信链路另一端的DCE发送的数据,并通过“接收数据”线将数据送至DTE。无论是发送或接收,DSR(即DCE就绪)信号线必须有效,表明DCE已接上信道,且不在测试、通话状态,可以通信。若通信链路是交换式系统的一部分,则还需两个信号:RI(振铃)和DTR(DTE就绪)。DCE收到交换台振铃后以RI信号告知DTE;DTE则以DTR信号回应RI,建立通信链路.21发送时:DTE向DCE发“发送请求”信号,当收到DCE的应答第九章并行接口与串行接口串口标准RS-232C(续6)⑵无MODEM或其它DCE时

(只用于15m以内距离)发送数据接收数据保护地清除发送DEC就绪DTE就绪信号地请求发送123456207计算机接口或终端DTE发送数据接收数据清除发送DEC就绪DTE就绪请求发送123456207计算机接口或终端DTE①23交叉线,最基本连线,数据发送与接收,全双工通信;

②206交叉线,双方的通信联络线,能相互检测出对方“数据已准备好”的状态;③45反馈线,全双工的发/送总是被允许的,可省略。22第九章并行接口与串行接口串口标准RS-232C(续6)⑵第九章并行接口与串行接口串口标准RS-232C(续7)⑶简单应用场合信号地TXDRXDRTSCTSDTRDSR234582067计算机2CDTXD234582067计算机1RXDRTSCTSDTRDSRCD需要检测一些状态的场合用,如:微机向单片机开发系统传送目标程序的操作。信号地计算机或终端TXD237计算机RXD237TXDRXDRS-232C的三线连接法支持一般双机通信23第九章并行接口与串行接口串口标准RS-232C(续7)⑶第九章并行接口与串行接口串口标准RS-232C(续8)3、主要电气技术指标及电平转换

⑴主要电气技术指标

①最高传输速率:一般为20kb/s。②最大传输距离(传输线长度):一般为30米。③逻辑电平(信号线采用负逻辑):“空号”或逻辑“0”:+3V~+25V。发送端(驱动端)输出为:+5V~+25V,接收端(负载端)>+3V。“传号”或逻辑“1”:-3V~-25V。发送端(驱动端)输出为:-5V~-25V,接收端(负载端)<-3V。24第九章并行接口与串行接口串口标准RS-232C(续8)3第九章并行接口与串行接口串口标准RS-232C(续9)⑵RS-232C的电平转换RS-232C信号线的电平(EIA电平)为:

逻辑“0”:+3V~+25V,逻辑“1”:-3V~-25V。而串行接口一般为TTL电平(0V~5V)或CMOS电平(0.1~0.9VCC),电平不兼容,需要电平转换。信号地TXD计算机接口RXDTXDRXD+12V-12V1488+12V-12V14881489+5V1489+5V237237DB-25座头计算机接口237237DB-25头座RS-232C电平(EIA电平)TTL电平TTL电平25第九章并行接口与串行接口串口标准RS-232C(续9)⑵第九章并行接口与串行接口串口标准RS-232C(续10)用MAX232芯片实现EIA/TTL电平转换MAX232芯片只要单一+5V,其内部有电压倍增和转换电路,可实现TTL电平与EIA电平之间的转换。R1OUTR2OUTT1OUTT2OUTT1INT2INR1INR2IN13451626151471381110129TTL输出TTL输入RS-232C输出RS-232C输入GNDVCCV+V-TTL电平:0~+5VEIA电平:-10V~+10VMAX23226第九章并行接口与串行接口串口标准RS-232C(续10)第九章并行接口与串行接口INS8250§9.6可编程串行接口芯片INS8250INS8250是PC系列微机及其网络系统中使用最多的可编程通用异步收发器(UART)。

UART(UniversalAsynchronousReceiverandTransmitter)具有全双工、双缓冲器发送器和接收器具有标准的异步通信功能,不具备同步通信功能可编程能力强,通过编程可设置其工作方式CPUBUSD7~D0CBABINS8250UARTEIA驱动器RS-232C信号27第九章并行接口与串行接口INS8250§9.6可编程串发送同步MODEM状态寄存器接收缓冲器线路控制寄存器线路状态寄存器发送保持寄存器除数寄存器(高)除数寄存器(低)MODEM控制寄存器中断允许寄存器中断识别寄存器波特率发生器接收移位寄存器MODEM控制逻辑中断控制逻辑内部数据总线数据总线缓冲器选择和控制逻辑D7~D0CS0~CS1

A2~A0CSOUTDDISDISTRDOSTRMRXTAL1XTAL2VCC(+5V)VSS_____DOSTR_____DISTR___ADS__CS2NC___DTR___RTS___OUT1___OUT2___CTS___DSR__RI____RLSDINTRSOUTRCLKSIN_______BAUDOUT发送移位寄存器接收同步RBRTHRLCRLSRDLHDLLMCRMSRIERIIR第九章并行接口与串行接口INS8250结构与引脚_11、内部结构与外部引脚内部结构图

数据总线缓冲器提供CPU与UART之间的数据通路;选择和控制逻辑对CPU的命令与地址信号进行译码,来控制UART内部各寄存器的读写操作。①收发模块接收:RBR移位同步发送:THR移位同步②线路模块

LCR和LSR③MODEM模块

MCR、MSR及控制④中断模块

IER、IIR及控制⑤除数寄存器

DLH、DLL及发生器CPU可寻址以上10个8位寄存器28发送同步MODEM状态寄存器接收缓冲器线路控制寄存器线路状态第九章并行接口与串行接口INS8250结构与引脚_2引脚分类:与CPU之间的连线引脚:地址、数据、片选,地址选通、读写控制、中断请求线等与串口外设的连线引脚:

串行数据输入/输出、串行时钟输入/输出、控制联络、用户指定的输出线等基准时钟、复位、电源、地线等12345678910111213141516171819204039383736353433323130292827262524232221D0D1D2D3D4D5D6D7RCLKSINSOUTCS0CS1XTAL1XTAL2DOSTRGNDVCCRI

MR

INTRNCA0A1A2

CSOUTDDISDISTR

_____DOSTR____RLSD___DSR___CTS___OUT1___OUT2___RTS___DTR___ADS_______BAUDOUT__CS2INS8250_____DISTR外部结构与引脚外部结构:双列直插式,40脚,+5V电源29第九章并行接口与串行接口INS8250结构与引脚_2引发送同步MODEM状态寄存器接收缓冲器线路控制寄存器线路状态寄存器发送保持寄存器除数寄存器(高)除数寄存器(低)MODEM控制寄存器中断允许寄存器中断识别寄存器波特率发生器接收移位寄存器MODEM控制逻辑中断控制逻辑内部数据总线数据总线缓冲器选择和控制逻辑D7~D0CS0~CS1

A2~A0CSOUTDDISDISTRDOSTRMRXTAL1XTAL2VCC(+5V)VSS_____DOSTR_____DISTR___ADS__CS2NC___DTR___RTS___OUT1___OUT2___CTS___DSR__RI____RLSDINTRSOUTRCLKSIN_______BAUDOUT发送移位寄存器接收同步RBRTHRLCRLSRDLHDLLMCRMSRIERIIR第九章并行接口与串行接口INS8250结构与引脚_3引脚功能说明CS0,CS1,CS2#:片选线,均有效时选中A2~A0:片内10个寄存器寻址(加LCR的D7)ADS#:地址选通线,锁存上述6个信号CSOUT:片选输出,已被选中,允许传数DDIS:驱动器禁止。CPU读8250时,输出为低;为高时,可用作其它控制DISTR,DISTR#:数据输入选通,有效时读(RD、RD#)选定的寄存器内容DOSTR,DOSTR#:数据输出选通,有效时写(WR、WR#)选定的寄存器MR:复位信号,使8250进入复位状态XTAL1,XTAL2:外部基准时钟输入/输出端INTR:中断请求线SIN:串行数据输入(3,I)RCLK:接收时钟输入,可外连BAUDOUT#端SOUT:串行数据输出(2,O)BAUDOUT#:工作时钟输出,16倍波特率RTS#:请求发送,(4,O)

CTS#:清除发送,(5,I)DTR#:数据终端设备就绪,(20,O)DSR#:数据通信设备就绪,(6,I)RI#:振铃指示,(22,I)RLSD#:载波检测(CD),(8,I)以上6根与MODEM的握手联络线,均由内部寄存器的对应位驱动输出和采入状态。OUT1#,OUT2#:由用户指定的输出端。30发送同步MODEM状态寄存器接收缓冲器线路控制寄存器线路状态第九章并行接口与串行接口INS8250各模块原理_12、各模块工作原理及相关寄存器格式①收发模块接收缓冲器接收移位寄存器RCLKSIN接收同步RBR(LCR)接收数据时:数据从SIN逐位串入接收移位寄存器;接收同步控制电路在检测到SIN变低后,连续测8个RCLK时钟,若为全低,则确定为起始位;之后,每隔16个RCLK对SIN采样一次,直至停止位;根据预先规定的数据格式和波特率自动去除起始位、校验位和停止位,同时还进行串入信息的检错,并设置相应的状态位;将实行串并转换后的有效数据送入接收缓冲器RBR,并使接收缓冲器“满”指示位置1,等待CPU读取。31第九章并行接口与串行接口INS8250各模块原理_12第九章并行接口与串行接口INS8250各模块原理_2发送数据:注意:以上两部分在工作过程中建立的状态信息均保存在线路状态寄存器LCR中。发送同步发送保持寄存器SOUT发送移位寄存器THR(LCR)_______BAUDOUT在确认发送保持器“空”指示位置1时,CPU将待发送数据写入发送保持寄存器THR;发送同步控制电路将THR中的并行数据存入发送移位寄存器,并使发送保持器“空”指示位置0;发送同步控制电路根据规定格式,加上起始位、校验位和停止位形成串行数据帧;经发送移位寄存器由SOUT输出串行数据流。32第九章并行接口与串行接口INS8250各模块原理_2发DLABSPSBPENEPSWLS1STBWLS0D7D6D5D4D3D2D1D0附加位选择奇偶校验选择奇偶校验允许停止位选择字长选择中止设定除数寄存器访问1:允许0:禁止1:中止0:正常1:附加1位0:不附加X0:无校验11:偶校验01:奇校验00:5位字符01:6位字符10:7位字符11:8位字符0:1位停止位1:1.5位停止位(5位字符)2位停止位(6,7,8位字符)第九章并行接口与串行接口INS8250各模块原理_3②线路模块▲线路控制寄存器LCR

(CPU可读/写)CPU写入该控制字可指定异步串行通信的数据格式。D7除数寄存器访问位DLAB:标志位1:访问除数寄存器,设置波特率;0:访问其它寄存器。D5附加奇偶标志位SP(StickParity):在PEN=1时,SB置1:在校验位和停止位之间增加了一个奇偶标志位(偶校验为“0”,奇校验为“1”)。其作用是发送端将校验方式通过数据流告知接收端。

D6建立中止方式位SB(SetBreak):1:中止发送,在发送端SOUT线上输出逻辑“0”(空号),另一端的接收设备可以识别并发“中止”中断。0:正常发送与接收。33DLABSPSBPENEPSWLS1STBWLS0D7第九章并行接口与串行接口INS8250各模块原理_4▲线路状态寄存器LSR

(CPU可读/写)提供有关数据传输的状态信息。读时:获取状态信息;写时:制造错误状态,用于自检,但D6不能写。0THRETSREFEBIOEPEDRD7D6D5D4D3D2D1D0发送保持器空中止识别指示接收格式错接收奇偶错发送移位器空接收重叠错接收缓冲器满BI=1,SIN线上接收逻辑“0”的持续时间超过了一帧时间;BI、FE、PE、OE四位是错误指示位,在允许中断时,都将通过INTR信号线产生一个中断请求信号;复位后,低5位为1,系统初始化时读LSR以自动清除各位。串口基本指示位DR=1,RBR中有数,CPU读取RBR的数据后,DR自动清0;THRE=1,THR中无数据,CPU写入数据后该位自动清0。各位均为置1有效34第九章并行接口与串行接口INS8250各模块原理_4▲第九章并行接口与串行接口INS8250各模块原理_5③MODEM模块(CPU可读/写)

MODEM控制寄存器MCR、MODEM状态寄存器MSR主要用于发送和接收操作时与MODEM等通信设备进行握手联络的信号。0DTRD7D6D5D4D3D2D1D0RTSOUT1OUT2LOOP00MCR环路检测输出2输出1请求发送数据终端就绪功能:控制四个输出引脚和环路自检(自发自收)均为置1有效。由用户指定的输出RLSDDSRRI△RLSDCTS△DSR△RI△CTSD7D6D5D4D3D2D1D0收到“接收线载波检测”收到“振铃指示”收到“数传机就绪”收到“清除发送”RLSD位发生改变DSR位发生改变CTS位发生改变MSR收到RI的后沿(逻辑1变为逻辑0)D7~D4的功能:检测四个输入引脚D3/D1/D0置1:表示上次读MSR后,对应位有变化低4位中任一位置1都可产生一个MODEM状态中断LOOP=1时,8250处于环路自检,内部控制逻辑支持自发自收,发送端在内部连至接收端,并自动进行应答控制。35第九章并行接口与串行接口INS8250各模块原理_5③第九章并行接口与串行接口INS8250各模块原理_6④中断模块8250的中断能力强且使用灵活。中断标识寄存器IIR标明有无中断发生及其类型;中断允许寄存器IER则设置允许/屏蔽。00000ID0ID2IPD7D6D5D4D3D2D1D0ID2ID1中断类型优先权11接收错(重叠、奇偶、格式、中止)最高10接收缓冲器满次高01发送保持器空次低00MODEM状态(CTS,DSR,RI,RLSD)改变最低0:无中断1:有中断IIR只读000I0E0I1EI3EI2ED7D6D5D4D3D2D1D0可读/写IER接收出错接收缓冲器满发送保持器空MODEM状态改变4个允许屏蔽位1:允许中断0:屏蔽中断36第九章并行接口与串行接口INS8250各模块原理_6④第九章并行接口与串行接口INS8250各模块原理_7⑤波特率发生器和除数寄存器串行数据传输速率是由片内波特率发生器确定的。8250输出的工作频率为16倍的波特率,通过设置除数寄存器

DLH(高8位)和DLL(低8位)的值可得到所需的波特率。波特率与除数寄存器值的对照表(基准时钟1.8432MHz)波特率十进制十六进制5023040900H11010470417H3003840180H1200960060H1800640040H波特率十进制十六进制2400480030H

3600320020H4800240018H7200160010H960012000CH除数寄存器值=

基准时钟频率÷工作频率(工作频率=16×波特率

=

基准时钟频率÷分频系数

)例:PC系统中8250芯片的基准时钟频率为1.8432MHz,则有:37第九章并行接口与串行接口INS8250各模块原理_7⑤第九章并行接口与串行接口INS8250寄存器寻址_13、内部寄存器的寻址

DLABA2A1A0被访问的寄存器

0000接收缓冲器(读)、发送保持器(写)(0口)0001中断允许寄存器(读/写)(1口)X010中断标识寄存器(只读)(2口)X011线路控制寄存器(读/写)(3口)X100MODEM控制寄存器(读/写)(4口)X101线路状态寄存器(读/写)(5口)X110MODEM状态寄存器(读/写)(6口)1000除数寄存器低字节(读/写)(0口)1001除数寄存器高字节(读/写)

(1口)8250内部可读/写寄存器及其访问控制表注:DLAB是线路控制寄存器的最高位。38第九章并行接口与串行接口INS8250寄存器寻址_13第九章并行接口与串行接口INS8250寄存器寻址_2串行接口的端口地址分配举例

在PC系列机中,串口分为COM1和COM2,地址分配如下:DLABCOM1地址COM2地址寄存器名操作03F8H2F8H发送保持寄存器只写03F8H2F8H接收数据寄存器只读13F8H2F8H除数寄存器低字节读/写3F9H2F9H除数寄存器高字节读/写03F9H2F9H中断允许寄存器读/写X3FAH2FAH中断标识寄存器只读X3FBH2FBH线路控制寄存器读/写X3FCH2FCHMODEM控制寄存器读/写X3FDH2FDH线路状态寄存器读/写X3FEH2FEHMODEM状态寄存器读/写(IRQ4)(IRQ3)39第九章并行接口与串行接口INS8250寄存器寻址_2串第九章并行接口与串行接口INS8250通信编程_14、8250通信编程⑴初始化编程(针对8250)设置波特率、串行通信数据格式、工作方式等。具体操作如下:①写除数寄存器DLH、DLL,设置波特率;②写线路控制寄存器LCR,设置通信格式;③写MODEM控制寄存器MCR,设置MODEM控制字;④写中断允许寄存器IER,设置中断允许控制字。串行通信控制程序(一般)初始化模块发送模块接收模块错误处理模块工作程序40第九章并行接口与串行接口INS8250通信编程_14、第九章并行接口与串行接口INS8250通信编程_2⑵工作程序(针对8250)具体流程如下:可通信吗?NNYY入口错误处理8250初始化读线路或MODEM状态发送或接收一个数据字节出错吗?此流程图采用查询方式通信41第九章并行接口与串行接口INS8250通信编程_2⑵第九章并行接口与串行接口INS8250通信编程_3⑶通信编程举例举例1:初始化设置(以PC系列机为例)设波特率为9600,8位数据位,奇校验,1个停止位,自环测试方式。 ;设置除数寄存器{1843200/(9600×16)=12=000CH} MOVDX,3FBH ;置线路控制寄存器地址 MOVAL,80H ;设置访问除数寄存器标志位 OUTDX,AL MOVDX,3F8h ;置除数寄存器地址 MOVAX,000CH OUTDX,AL ;除数的低8位写入3F8H INCDX MOVAL,AH OUTDX,AL ;除数的高8位写入3F9H42第九章并行接口与串行接口INS8250通信编程_3⑶第九章并行接口与串行接口INS8250通信编程_4;写线路控制寄存器,设置通信数据格式为;8位数据位,奇校验,1位停止位MOVAL,0BH ;00001011BMOVDX,3FBH ;置线路控制寄存器地址OUTDX,AL;写MODEM控制寄存器设置为自环测试工作方式MOVAL,13H;LOOP、RTS、DTR均置1MOVDX,3FCH ;置MODEM控制寄存器地址OUTDX,AL43第九章并行接口与串行接口INS8250通信编程_4;写第九章并行接口与串行接口INS8250通信编程_5举例2:查询方式通信编程(以PC系列机为例)读线路状态寄存器3FDH查询相应状态位(D0和D5)(D5=1:发送保持器空;D0=1:接收缓冲器满)接收错?D5=1?D0=1?NNNYYY入口错误处理读线路状态寄存器读接收缓冲寄存器写字符到发送保持器44第九章并行接口与串行接口INS8250通信编程_5举例第九章并行接口与串行接口INS8250通信编程_6查询通信程序段:INQUIRE:MOVDX,3FDH INAL,DX ;读线路状态寄存器TESTAL,1EH ;检查有无接收错 JNZERROR ;有错,转出错处理(略) TESTAL,01H ;无错,再查是否接收缓冲器满(查D0)JNZ RECEIVE ;满,转接收字符程序TESTAL,20H ;不满,再查发送保持器是否空(查D5) JZINQUIRE ;不空,从头循环查询TRANS:MOVAL,[SI] ;空,从[SI]中取字符数据MOVDX,3F8H ;(SI指向输出缓冲区)OUTDX,AL ;发送数据INCSI JMPINQUIRERECEIVE:MOVDX,3F8HINAL,DX ;读入数据MOV[DI],AL ;存入[DI]中(DI指向输入缓冲区)INCDIJMPINQUIRE利用系统功能调用:TRANS:MOVAH,1MOVDX,0MOVAL,[SI]INT14HINCSIJMPINQUIRERECEIVE:MOVAH,2MOVDX,0INT14HMOV[DI],ALINCDIJMPINQUIRE45第九章并行接口与串行接口INS8250通信编程_6查询第九章并行接口与串行接口INS8250通信编程_7举例3:中断方式通信编程(以PC系列机为例)初始化程序(由主程序完成)与查询方式类似,但要增加两项:

①设置中断向量:对IRQ4,中断类型号为0CH(COM1)②设置中断允许寄存器MOVAL,7;允许发送、接收、接收错中断请求MOVDX,3F9HOUTDX,AL中断服务程序需读取中断识别寄存器的内容以判断中断源,并转到对应的处理程序。MOVDX,3FAHINAL,DXANDAL,7 ;低3位给出中断指示及中断源46第九章并行接口与串行接口INS8250通信编程_7举例第九章并行接口与串行接口INS8250通信编程_8⑷异步通信I/O功能调用PC系列机的BIOS已提供此功能,用INT14H软中断指令调用,支持4种操作:①0号功能(AH=0)--INS8250初始化设置入口:AL中为初始化参数(数据格式和8种波特率)出口:AH(线路状态寄存器),AL(MODEM状态寄存器)b4~b0直接写入LCR的低5位,且LCR的b7、b6、b5置0;b7~b5选择对应的除数写入DLH、DLL;自动清除中断允许寄存器IER,初始设置为不使用中断方式。波特率选择停止位奇偶校验b7b6b510:7位11:8位000……111110……9600波特字符长度b4b3b2b1b00:1位1:2位X0:无01:奇校验11:偶校验(AL)47第九章并行接口与串行接口INS8250通信编程_8⑷异第九章并行接口与串行接口INS8250通信编程_8②1号功能(AH=1)--发送一个字符入口:AL中为待发送的字符代码;出口:AH中为返回的线路状态寄存器内容,(AH的最高位即超时指示:1--超时;0--成功。)④3号功能(AH=3)--读异步通信接口状态入口:无出口:AH(线路状态寄存器),AL(MODEM状态寄存器)③2号功能(AH=2)--接收一个字符入口:无出口:AL中为接收的字符代码;

AH中为返回的线路状态寄存器内容,(AH的b6、b5为0,其余位与以上相同;

AH的最高位即超时指示:1--超时;0--成功。)48第九章并行接口与串行接口INS8250通信编程_8②第九章习题二教材P383:9.139.159.2449第九章习题二教材P383:49第九章并行接口与串行接口

(串行接口部分)§9.4串行接口的基本概念§9.5异步串行通信接口标准RS-232C§9.6可编程串行接口芯片INS825050第九章并行接口与串行接口

(串行接口部分)§9.4串行接第九章并行接口与串行接口串口基本概念_1§9.4串行接口的基本概念所谓串行通信是指外设和计算机之间在单根数据信号线上一位接一位地传输数据,每一位数据都占据一个固定的时间长度(T)。D1D0D2D3D4D5D6D7T00011011数据流

“串行”是指外设与接口电路之间的信息传送方式,CPU与串行接口之间仍按并行方式工作。51第九章并行接口与串行接口串口基本概念_1§9.4串行接第九章并行接口与串行接口串口基本概念_21、串行数据传送方式发送器接收器数据单工(Simplex)方式:只允许数据按照一个固定的方向传送。收发器收发器数据半双工(Half-duplex)方式:只用1根数据线传送数据信号,通信双方不能在两个方向上同时传送。收发器收发器数据数据全双工(Full-duplex)方式:通信双方能同时进行发送和接收操作。52第九章并行接口与串行接口串口基本概念_21、串行数据传送第九章并行接口与串行接口串口基本概念_32、波特率和收/发时钟①波特率在计算机串行通信中,用波特率(数据位率)来描述数据的传输速率。波特率是指每秒钟传送二进制数据的位数,以位/秒为单位,简写为bps。如图示:国际上规定了一个标准波特率系列:50、110、300、600、1200、1800、2400、4800、9600、19.2K、56K、115.2Kbps等。D1D0D2D3D4D5D6D7T00011011数据流波特率=1/T位周期53第九章并行接口与串行接口串口基本概念_32、波特率和收/第九章并行接口与串行接口串口基本概念_4②收/发时钟在串行通信中,发送与接收都必须有时钟脉冲信号对传送的数据进行定位和同步控制。如图示:发送缓存器并串移位寄存器发送数据发送时钟接收缓存器串并移位寄存器接收数据接收时钟通信线路串行通信简单原理图发送端接收端54第九章并行接口与串行接口串口基本概念_4②收/发时钟发第九章并行接口与串行接口串口基本概念_5收/发时钟频率通常是波特率的整数倍(称为波特率因子n),二者之间的关系如下:收/发时钟频率=n×波特率(n取1、16、32、64等)异步通信:n=16;同步通信:n=1。时钟(RCLK)数据线(SIN)起始位(16t)t16t8tt为时钟周期,表明16个时钟脉冲传送1位数据。例如:波特率=9600bps,波特率因子n=16,如图示:55第九章并行接口与串行接口串口基本概念_5收/发时钟频第九章并行接口与串行接口串口基本概念_63、信号的调制和解调之前提及的串行通信都是针对数字信号的,数字信号的频带宽,而普通通信线路频带较窄,如电话线频带范围仅300~3000Hz。大多数情况下(支持双工方式),将调制器和解调器整合在一个装置中,称为调制解调器:Modem。故采用普通通信线路进行远程数据通信时,需要在发送端用调制器(Modulator)把数字信号转换为模拟信号,模拟信号经通信线路传送到接收方;接收方再以解调器(Demodulator)把模拟信号还原成数字信号。56第九章并行接口与串行接口串口基本概念_63、信号的调制和第九章并行接口与串行接口串口基本概念_7远程通信示意图:计算机(1)串行接口MODEM计算机(2)串行接口MODEM电话线音频模拟信号控制控制收收发发另一种示意方法DTE(DataTerminalEquipment):数据终端设备(接收和发送),微机串行通信接口电路,如INS8250、INS16550A等。DCE(DataCommunicationEquipment):数据通信设备(传输)。57第九章并行接口与串行接口串口基本概念_7远程通信示意图:第九章并行接口与串行接口串口基本概念_8调制方法调频(FM):频移键控FSK(FrequencyShiftKeying)法调幅(AM):幅移键控ASK(AmplitudeShiftKeying)法调相(PM):相移键控PSK(PhaseShiftKeying)法按待传输的数字信号的变化规律去改变载波(音频模拟信号)的频率f、幅度A或相位φ。如下图所示:58第九章并行接口与串行接口串口基本概念_8调调频(FM):第九章并行接口与串行接口串口基本概念_9用得最多的是调频方法,频移键控调制原理示意图:10101…f1f2-+∑01101数字信号电子开关1电子开关2音频信号输出运放数字信号为1时,电子开关1导通,输出f1音频信号;数字信号为0时,电子开关2导通,输出f2音频信号;传输距离:普通电话线,不失真传输500m左右;同轴电缆,可达1.5~2Km以上。59第九章并行接口与串行接口串口基本概念_9用得最多的是调频第九章并行接口与串行接口串口基本概念_104、数据传输的检错和纠错串行数据在传输过程中,由于硬件、软件故障或外界电磁干扰,可能引起数据传输错误。误码率:衡量传输错误的指标,即数据传输后出错的位数与

总传输位数之比(计算机通信中要求10-6数量级)。具体方法:奇偶校验、循环冗余码校验(CRC)、海明码校验等。最简单、常用的检错方法是奇偶校验。检错、纠错方法很多,都以增加冗余信息为代价。检错:如何发现传输中的错误;纠错:发现错误后,如何消除错误。差错控制(编码)控制方式自动重发请求ARQ(AutomaticRepeatreQuest)接收方检测到接收数据有错,请求发送方重发。前向纠错FEC(ForwordErrorCorrection)接收方可检错也可纠错,不需向发送方反馈信息。60第九章并行接口与串行接口串口基本概念_104、数据传输的第九章并行接口与串行接口串口基本概念_115、串行通信的基本方式串行通信分为两种基本方式:异步通信、同步通信异步通信收、发端时钟为各自独立的同频时钟。

以字符为单位一个一个地传输,每个字符中一位接着一位地传输。传输一个字符时,以起始位开始,然后传输字符数据位、校验位,以停止位结束该字符的传输。一次传输的起始位、字符数据位、校验位、停止位构成一组完整的信息,称为帧(Frame)。帧与帧之间可以有任意个空闲位。61第九章并行接口与串行接口串口基本概念_115、串行通信的第九章并行接口与串行接口串口基本概念_12异步通信的帧格式

起始位“0”和停止位“1”分别表示一帧信息即一个字符信息传输的开始和结束;从“1”(停止位/空闲位)到“0”的负跳变标志一帧开始的基准时刻;

数据位低位在前,高位在后。0/10/10/10/1…0/10/10/1LSB01011MSB第n个字符(7~12位):一帧第n+1个字符5~8位数据位起始位空闲位停止位(1,1.5或2位奇偶校验位(可省略)①②③④起始位62第九章并行接口与串行接口串口基本概念_12异步通信的帧格第九章并行接口与串行接口串口基本概念_13用16倍波特率的接收时钟控制采样过程示意图:……起始位“0”0/10/1位1位2传送数据采样时钟检测到起始位的前沿确定已检测到起始位数据位采样时钟位中心点采样举例:传送8位字符数据45H(01000101B),奇校验,1个停止位,则信号线上的波形为:从起始位前沿开始,连续采样8个0,可确定为一帧的起始位。…D0D1D2D3D4D5D6D7起始位校验位停止位空闲位空闲位下一帧1010001008位字符数据63第九章并行接口与串行接口串口基本概念_13用16倍波特率第九章并行接口与串行接口串口基本概念_14同步通信在异步通信中,依靠起始位和停止位实现了收发双方的协调操作,但是占用了额外时间。同步字符1

同步字符2

字符1字符2……字符n

校验字符数据块一帧信息同步通信的速度高于异步,通常为几十至几百千波特。但要求有时钟来实现收发双方的同步,硬件复杂。具体做法:数据块包含多个字符,在每个数块据的前端加同步字符、后端增加校验字符,构成一个信息帧。在同步通信中,采用同步字符加数据块的方法,完成收发双方的同步传送。收、发端必须采用同一时钟。64第九章并行接口与串行接口串口基本概念_14同步通信同步字第九章并行接口与串行接口串口标准RS-232C§9.5异步串行通信接口标准RS-232CPC机上的COM1、COM2接口,就是RS-232C接口。计算机通信中使用最普遍的是EIARS-232C标准。EIA(ElectronicIndustrialAssociate)RS(RecommentedStandard)在串行通信中,数据终端设备DTE(如微机中的串行接口电路)和数据通信设备DCE(如MODEM、数传机)之间的连接要符合接口标准。(☆DTE与DCE之间的标准)65第九章并行接口与串行接口串口标准RS-232C§9.5第九章并行接口与串行接口串口标准RS-232C(续1)1、RS-232C连接器:RS-232C采用25芯(DB-25)和简化9芯(DB-9)的连接器。其引脚分布示意图如下:DB-2512345678910111213141516171819202122232425PGNDTDRDRTSCTSDSRSGNDCD未定义未定义未定义“SCF”“SCB”“SBA”“DB”“SBB”“DD”未定义“SCA”DTR“CG”RI“CH”“DA”未定义DB-9123456789CDRDTDDTRSGNDDSRRTSCTSRI简化形式66第九章并行接口与串行接口串口标准RS-232C(续1)1第九章并行接口与串行接口串口标准RS-232C(续2)2、RS-232C连接器引脚信号定义RS-232C标准规定使用DB-25连接器,其中20个引脚有定义,规定了DTE与DCE之间的信号约定。(见P360表9.3)引脚代号信号名方向与功能描述1AA保护地(PGND)设备外壳接地2BA发送数据(TD)DTEDCE3BB接收数据(RD)DTEDCE4CA请求发送(RTS)DTEDCE,已做好发送准备,打开DCE的发送器5CB清除发送(CTS)DTEDCE,响应DTE请求,指示DCE开始发送6CCDCE就绪(DSR)DTEDCE,表示DCE已接上信道,且不在测试、通话状态,可以使用7AB信号地(SGND)用作所有信号公共地8CF载波检测(CD)DTEDCE,表示DCE正接收通信链路信号9~11未定义TD(TransmitData)RD(ReceiveData)RTS(RequestToSent)CTS(ClearToSent)DSR(DataSetReady)CD(CarrierDetect)67第九章并行接口与串行接口串口标准RS-232C(续2)2第九章并行接口与串行接口串口标准RS-232C(续3)DTR(DataTerminalReady),RI(RingIndicator)引脚代号信号名方向与功能描述12SCF辅信道载波检测DTEDCE,功能类似CF(即CD信号)13SCB辅信道清除发送DTEDCE,功能类似CB(即CTS信号)14SBA辅信道发送数据DTEDCE,发送低速率数据15DB发送器定时时钟(DCE源)DTEDCE,给DTE提供发送时钟16SBB辅信道接收数据DTEDCE,接收低速率数据17DD接收器定时时钟DTEDCE,给DTE提供接收时钟18未定义19SCA辅信道请求发送DTEDCE,功能类似CA(即RTS信号)20CDDTE就绪(DTR)DTEDCE,指示DTE已做好收/发准备21CG信号质量检测DTEDCE,指示接收的误码率合格22CE振铃指示(RI)

DTEDCE,指示通信链路上有振铃23CH/CI数据速率选择DTEDCE,指示速率或速率范围

24DA发送器定时时钟(DTE源)

DTEDCE,给DCE提供发送时钟25未定义68第九章并行接口与串行接口串口标准RS-232C(续3)D第九章并行接口与串行接口串口标准RS-232C(续4)几点说明:①标准中的信号是从DTE(或计算机串行接口)的角度定义的,如发送数据,是指:DTEDCE。②代号以C开头的信号线是控制线,用于实现DTE和DCE之间的握手联络,如RTS、CTS、DSR、DTR、CD等。③计算机串口并非一定要使用全部20根信号线。该标准中包含了主、辅两条信道,辅信道速率较低,可用于传送一些辅助控制信息。一般通信中很少使用。④对于主信道,也并非要全用,最常用的只是一些基本信号线。根据具体应用场合的不同,选择相应的连接方式。69第九章并行接口与串行接口串口标准RS-232C(续4)几发送时:DTE向DCE发“发送请求”信号,当收到DCE的应答信号“清除发送”后,通过“发送数据”线发出数据。发送数据接收数据保护地清除发送DEC就绪载波检测DTE就绪信号地请

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论