第八章 8251.ppt_第1页
第八章 8251.ppt_第2页
第八章 8251.ppt_第3页
第八章 8251.ppt_第4页
第八章 8251.ppt_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

1、第9章 串行输入、输出系统,串行通信基础 串行接口标准RS-232C 可编程串行异步通信接口8250 可编程串行通信接口8251,串行通信的概念,所谓串行通讯是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度。,“串行”是指外设与接口电路之间的信息传送方式,CPU与接口之间仍按并行方式工作。,串行通信基础,串行通信的优点:用于通信的线路少,因而在远距离通信时可以极大地降低成本 串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送 PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送,典型的串行接口的结构,由于CPU与接口

2、之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串并)和“发送移位寄存器”(并串)。,1. 异步通信,收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题 串行异步通信以字符为单位进行传输,其通信协议是异步通信协议 串行同步通信以字符块为单位进行传输,其通信协议是同步通信协议,异步通信协议,起始位每个字符开始传送的标志,起始位采用逻辑0电平,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位,停止位表示该字符传送结束。

3、停止位采用逻辑1电平,可选择1、1.5或2位,空闲位传送字符之间的逻辑1电平,表示没有进行传送,异步通讯,一个字符一个字符地传输,每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身的各位,接着传输校验位,最后以停止位结束该字符的传输。 一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为帧(Frame) 帧与帧之间可有任意个空闲位,异步通讯的信息格式,起始位:逻辑01位 数据位: 逻辑0或15位、6位、7位、8位 校验位:逻辑0或11位或无 停止位:逻辑11位、1.5位或2位 空闲位:逻辑1任意数量,例:传送8位数据45H(0100,0101B),奇校验,1个

4、停止位,则信号线上的波形为,异步通讯,2. 同步通信,以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束 同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂 串行同步通信主要应用在网络当中 最常使用高级数据链路控制协议HDLC,信息传输的检错和纠错,串行数据在传输过程中,由于干扰可能引起信息的出错 如何发现传输中的错误,叫检错。 发现错误后,如何消除错误,叫纠错 最简单的检错方法是奇偶校验,即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。 奇校验:所有传送的数位(包含字符的各个数位和校验位)中,1的个数为奇数 偶校验:所有传送的数位(

5、包含字符的各个数位和校验位)中,1的个数为偶数,奇偶校验能够检测出1位误码,但是不能纠错。,数据传输速率,数据传输速率也称比特率(Bit Rate) 每秒传输的二进制位数bps 波特率每秒传输的“符号”(也称离散状态)的个数。 在计算机中, 比特率等于波特率(Baud Rate) 标准 波特率系列:50,75,110,150,300,600,1200,2400,3600,4800,9600, 115200,收发时钟,发送时钟:发送端所用的时钟信号。 用来决定发送端数据的每一位对应的时间长度 接收时钟:接收端所用的时钟信号。 用来决定接收端数据的每一位对应的时间长度,波特率因子,波特率因子:收发

6、时钟对 波特率的倍数。 可以是16倍、32倍、64倍。 波特率因子的作用: 解决异步通信时的同步问题。,同步方式:收/发时钟 =波特率 异步方式:收/发时钟 =波特率波特率因子,3. 传输制式,全双工,半双工,单工,4. 调制解调器,调制(Modulating) 把数字信号转换为电话线路传送的模拟信号 解调(Demodulating) 将电话线路的模拟信号转换为数字信号 调制解调器MODEM 具有调制和解调功能的器件合制在一个装置,在数据通讯中,Modem起着传输信号的作用,是一种数据通讯设备,简称DCE 接收设备和发送设备称为数据终端设备,简称DTE。 微机串行通信接口电路,如8250/82

7、51为DTE。,信号的调制和解调,串行通信的接口标准,在串行通信中,DTE和DCE之间的连接要符合接口标准 计算机通信中使用最普遍的是RS-232C标准 PC机上的COM1、COM2接口,就是RS-232C接口,使 用9针和25针连接器,串行接口标准RS-232C,美国电子工业协会EIA制定的通用标准串行接口 设计目的是用于连接调制解调器 现已成为数据终端设备DTE(例如计算机)与数据通信设备DCE(例如调制解调器)的标准接口 可实现远距离通信,也可近距离连接两台微机 属于网络层次结构中的最低层:物理层,RS-232C的引脚定义,232C接口标准使用一个25针连接器 绝大多数设备只使用其中9个

8、信号,所以就有了9针连接器 232C包括两个信道:主信道和次信道,RS-232C的引脚,TxD:发送数据 RxD:接收数据 RTS:请求发送 当数据终端设备准备好送出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据 CTS:清除发送(允许发送) 当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号 RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号,RS-232C的引脚,DTR:数据终端准备好 通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪 DSR:数据通信设备准备好 通常表示数据通信设备(即数据装置)已接

9、通电源连到通信线路上,并处在数据传输方式 DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收,RS-232C的引脚,GND:信号地 CD:载波检测(DCD) 当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号 RI:振铃指示 当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效,RS-232C的引脚,保护地(机壳地) 起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地 TxC:发送器时钟 控制数据终端发送串行数据的时钟信号 RxC:接收器时钟 控制数据终端接收串行数据的时钟信号,RS-232C的

10、连接,微机利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信 微机利用232C接口直接连接进行短距离通信。这种连接不使用调制解调器,所以被称为零调制解调器(Null Modem)连接,串行通信的接口标准,采用Modem(DCE)和电话网通信时的信号连接,串行通信的接口标准,无Modem的标准连接,串行通信的接口标准,无Modem 的最简连接,RS-232C的电气特性,232C接口采用EIA电平 高电平为 3V 15V 低电平为 3V 15V 实际常用12V或15V,标准TTL电平 高电平:2.4V5V 低电平:0V0.4V,相互转换,TTLRS-232C: MC1488 RS-2

11、32CTTL: MC1489,MAX232,RS-232接口标准允许的传输速率限制在_20k_bit/s 以下。 异步串行通信中,通信双方在通信之前必须在字符格式和_数据传输速率_方面事先有约定。 异步串行通信传送的每个字符中停止位有(C) A.01个 B.1个 C.12个 D.13个 异步串行通信协议规定,通信线上传送的一个字符的最后是( ) A.起始位B.数据位 C.校验位D.停止位 个人计算机利用电话线拨号上网时,需要使用_设备对信号进行调制和解调,在题25图中画出两台PC机近距离异步串行通信时RS-232C接口的直接互连图(用一方的RTS来产生另一方的CTS,用一方的DTR来产生另一方

12、的DSR,全双工方式)。,A、B两台计算机利用辅串口进行异步串行通信,双方约定一帧数据有8个数据位、1个奇校验位,2个停止位,波特率为300波特。 (1)字符A的ASCII码为41H,线路传送字符A需多少时间(从开始传送起始位到传送完一帧数据所需的总时间)?(12/300=0.04S) (2)在题34图中画出传送字符C的ASCII码的RS-232C波形图。 (3)设波特率系数K=16,试问发送方发送时钟与接收方接收时钟的频率是多少?(16*300=4800),与异步串行通信相比,同步通信的不足之处有( A ) A电路结构复杂 B纠错能力差 C传输速率低 D频率稳定性差 RS-232C标准规定空

13、号SPACE状态电平为( D ) A.+3V-3VB.+5V-5V C.-3V-15VD.+3V+15V 相邻两台计算机进行全双工串行通信时,需连接的最基本三条线是( A ) A.GND、TXD、RXDB.RTS、TXD、GND C.CTS、RTS、GNDD.TXD、RXD、DTR,二、可编程串行异步通信接口芯片8250,8250内部有10个可编程寻址的寄存器,分为三组,实现数据传输:数据发送寄存器和数据接收寄存器 控制寄存器:通信线路控制寄存器、除数寄存器、MODEM控制寄存器和中断允许寄存器 状态寄存器:通信线路状态寄存器、MODEM状态寄存器和中断识别寄存器 表9-3,二、可编程串行异步

14、通信接口芯片8250,8250,INTRPT,8259,OUT2#,IR4,CPU,INT,INTR,8250中断请求信号与CPU的连接,8250的内部结构与引脚功能,8250的内部寄存器,8250内部有10个可寻址的寄存器,分为数据、控制、状态三组 8250有7个端口地址: 主串口(COM1)地址:3F8H3FEH 辅串口(COM2)地址:2F8H2FEH,发送保持寄存器(3F8H/2F8H): 保存待发送的并行数据 接收缓冲寄存器( 3F8H/2F8H): 保存接收到的一个字符,8250的内部寄存器,通信线状态寄存器(3FDH/2FDH) D0位:接收数据准备好接收缓冲器满标志位。D0=1

15、,表示接收器已接收到一帧完整的数据,并以转换成并行数据,存入接收缓冲寄存器。 D1位:溢出错标志位。D1=1,表示接收缓冲器中的字符未取走。8250又接收到新输入的数据,造成前一数据被破坏。 D2位:奇偶错标志位。D2=1,表示接收到的数据有奇偶错。 D3位:帧错(接收格式错)标志位。D3=1,表示接收的数据没有正确的停止位。 D4位:线路间断标志位。D4=1,表示收到长时间“0”信号(即终止信号)。,8250的内部寄存器,D5位:发送保持寄存器空闲标志位。D5=1,表示数据已从发送保持寄存器转移到发送移位寄存器,发送保持寄存器空闲,CPU可以写入新数据。当新数据送入发送保持寄存器后,D5置0

16、。 D6位:发送移位寄存器空闲标志位。D6=1,表示一帧数据已发送完毕。当下一个数据由发送保持寄存器移入发送移位寄存器时,该位被置0。 D7位:恒为0。,中断允许寄存器(3F9H/2F9H),8250的内部寄存器,中断识别寄存器(3FAH/2FAH),D00:有中断待处理;1:无中断待处理 D2D111:接收数据错;10:接收缓冲器满 01:发送保持器空;00:MODEM状态改变,MODEM控制寄存器(3FCH/2FCH) 控制与MODEM的接口信号,8250的内部寄存器,除数寄存器(高8位3F9H/2F9H,低8位3F8H/2F8H ),8250使用1.8432MHz的基准时钟输入信号,通过

17、内部分频产生发送时钟频率和接收时钟频率。 波特率因子固定为16,所以 16*波特率=1843200/分频系数 分频系数即为除数 除数= 1843200/(16*波特率) 除数要由程序员分两次写入除数寄存器的高8位和低8位,8250的内部寄存器,8250的内部寄存器,通信线控制寄存器(3FBH/2FBH): 用于指定异步串行通信的数据格式,MODEM状态寄存器(3FEH/2FEH) 提供与DCE之间联络信号的状态信息,8250的内部寄存器,BIOS通过INT 14H向用户提供了四个中断子程序,分别完成串行口初始化编程、发送一帧数据、接收一帧数据及测试通信线路状态的功能。,串行端口的中断服务功能,

18、图9-4,8250的初始化编程,8250的通信程序可以采用查询方式或者中断方式 将80H写入通信线路控制寄存器,使最高位D7(DLAB)1,建立访问除数寄存器的标志。 写除数寄存器,设定波特率分频系数。 写通信线路控制寄存器,使最高位D7(DLAB)0,设置数据格式。, 设置中断允许寄存器: 查询方式,将00H写入中断允许寄存器。 中断方式,置中断允许寄存器的相应位为“1”。 设置MODEM控制寄存器: 中断方式,D31,允许8250送出中断请求信号。 查询方式,D30。 自检方式,D41。 正常通信,D40。,8250通信编程,1. 初始化编程,包括设置波特率、串行通信数据格式、工作方式,设

19、波特率为9600,则除数为1843200/(9600*16)=12=000CH MOV DX, 3FBH MOV AL, 80H;访问除数寄存器 OUT DX, AL MOV DX, 3F8h MOV AX, 000CH OUT DX, AL;除数的低8位写入3F8H INC DX MOV AL, AH OUT DX, AL;除数的高8位写入3F9H,8250通信编程,1. 初始化编程,数据格式为8位数据位,1位停止位,奇校验 MOV AL, 0BH;00001011 MOV DX, 3FBH OUT DX, AL; 图9-8 8250的工作方式由MODEM控制寄存器设置 设置自环工作方式 M

20、OV AL, 13H MOV DX, 3FCh OUT DX, AL;图9-12,8250通信编程,2. 查询方式通信编程 读线路状态寄存器3FDH查相应状态位(D0和D5位),发送程序: MOV DX, 3FDH IN AL, DX TEST AL, 20H;D5位是否为1 JZ TR;图9-9 MOV AL, SI;从SI取出 MOV DX, 3F8H;发送数据 OUT DX, AL,TR:,接收程序: MOV DX, 3FDH IN AL, DX TEST AL, 1;D0位是否为1 JZ RE MOV DX, 3F8H IN AL, DX MOV DI, AL;读入数据存入DI中,RE

21、:,8250通信编程,设置中断向量:对IRQ4,中断类型号为0CH 设置中断允许寄存器 例如,允许发送与接收中断请求 MOV AL, 3 MOV DX, 3F9H OUT DX, AL 中断服务程序 需读取中断识别寄存器的内容以判断到底是哪一中断,并转 相应的处理程序 MOV DX, 3FAH IN AL, DX AND AL, 7 CMP AL, 4 JZ Re;图9-10,CMP AL, 2 JZ Tr ,3. 中断方式通信编程,12.INS8250芯片的引脚个数是( ) A36B40 C42D48 13.8250芯片具有很强的中断能力,其内部4级中断具有最高优先权的是( ) A接收缓冲器

22、“满” B发送保持器“空” C接收数据错 DMODEM输入状态改变 CPU通过8250采用查询方式接收数据之前,为了判断接收是否存在错误,首先要读取( ) A.线路状态寄存器B.接收移位寄存器 C.数据缓冲寄存器D.MODEM状态寄存器,INS8250接口芯片支持的通信方式是( ) A.异步串行 B.同步串行 C.同步与异步串行 D.并行 8250的一帧数据格式可通过控制字来设定,它能传送的最短帧长度是( ) A.5位B.6位 C.7位 D.8位 INS8250的中断输出引脚是( ) A.INT B.INTR C.INTPRT D.NMI,利用甲、乙两台计算机的主串口直接相连进行无联络线的单工

23、通信。甲发送,乙接收。通信前双方约定:7位数据位,1位停止位,偶校验,通信速率为2400bps(分频系数0030H),双方均采用查询方式进行数据的发送和接收。 在题38图中为甲计算机的8250Sout端画出发送字符C(ASCII码为43H)的帧格式;,下列程序段是甲计算机采用查询方式发送字符C的串行通信程 序,请将该程序补充完整。 RSCAN: MOVDX, 3FDH INAL,DX TESTAL,20H_;检查发送保持寄存器是否空? _JZ_RSCAN;不空,继续查询 MOVDX,_3F8H_ MOVAL,_43H_;发送数据 OUTDX,AL,下面是利用一台PC/XT机COM1端口进行全双

24、工串行通信的程序段。请将空缺处填写完整,使CPU执行该程序段后,能完成查询方式下发送字符D的功能。 RSCAN: MOV DX,(1)_3FDH_ (2)_IN AL,DX_ TEST AL,(3)_?_;检查有无错误标志 JNZ ERROR ;有错,转出错处理 TEST AL,(4)_20H_ ;检查发送保持寄存器是否空 (5)_JZ_ RSCAN ;不空,继续查询 MOV DX,(6)_3F8H_ MOV AL,(7)_D_;发送数据 OUT DX,AL,利用两台PC/XT机COM1端口进行单工方式的串行通信,A机采用查询方式发送,B机采用查询方式接收,通信速率为4800bps,数据位8位

25、,停止位1位,偶校验。请将下列为A机编写的初始化子程序补充完整。,I8250 PROC MOV DX,3FBH MOV AL,(1)_80H_ OUT DX,AL MOV DX,3F9H MOV AL,(2)_00H_ OUT DX,AL MOV DX,3F8H MOV AL,(3)_18H_ OUT DX,AL,MOV DX,(4)_3FBH_ MOV AL,(5)_00011011_ OUT DX,AL MOV DX,3F9H MOV AL,(6)_00H_ OUT DX,AL MOV DX,3FCH MOV AL,(7)_13H_ OUT DX,AL RET I8250 ENDP,利用甲

26、、乙两台计算机的辅串口直接相连进行单工通信。甲发送,乙接收。双方通信前约定:7位数据位,1位停止位,奇校验,通信速率为4 800 bps,双方均采用查询方式进行数据的发送和接收。请将下列对甲计算机的Ins8250初始化程序段补充完整。,MOV DX,2FBH MOV AL, (1) OUT DX,AL ;DLAB=1 MOV DX,2F8H MOV AL, (2) OUT DX,AL MOV DX,2F9H MOV AL,0 OUT DX,AL ;设置波特率,MOV DX,2FBH MOV AL, (3) OUT DX,AL ;设置数据格式 MOV DX,2F9H MOV AL, (4) OU

27、T DX,AL ;禁止所有中断 MOV DX,2FCH MOV AL,(5)_ OUT DX,AL,CPU通过8250采用查询方式发送数据之前首先要查询() A.接收移位寄存器是否空B.数据格式是否正确 C.数据缓冲寄存器是否空D.发送保持寄存器是否空,利用A、B两台计算机的主串口直接相连进行单工通信。A机发送,B机接收。双方通信前约定:7位数据位,1位停止位,奇校验,通信速率为2400bps,采用查询方式进行数据发送和接收。请用BIOS 通信功能调用对INS8250进行初始化编程。,8.3 可编程串行通信接口8251,串行传输,需要并行到串行和串行到并行的转换,并按照传输协议发送和接收每个字

28、符(或数据块) 通用同异步接收发送器USART是串行同异步通信的接口电路芯片 典型芯片: Intel 8251,Zilog SIO, TNS公司生产的8250 , Motorola公司生产的6850、6952、8654。,8.3 可编程串行通信接口8251,8251A的基本性能 8251A的基本工作原理 8251A的引脚 8251A的编程 8251A编程举例,1. 8251A的基本性能,当用于异步方式时,可设定: 一字符可以是58位数据位, 自动产生一个起始位, 程序控制产生1、1.5、2个停止位, 波特率为019.2K, 波特率因子:1,16,64。,1. 8251A的基本性能,当用于同步方

29、式时,可设定: 单同步、双同步和外同步方式, 自动检测/插入同步符, 波特率为064K, 具有自动完成奇/偶错、数据丢失错、桢格式错等通信检测能力。 提供了与MODEM直接相连的联络线。 支持全双工方式通信。,2. 基本原理-串行数据的发送,双缓冲寄存器结构 保证数据的连续发送,2. 基本原理-串行数据的接收,双缓冲寄存器结构 保证数据的连续接收,接收错误的处理,奇偶错误PE(Parity Error) 若接收到的字符的“1”的个数不符合奇偶校验要求 帧错误FE(Frame Error) 若接收到的字符格式不符合规定(如缺少停止位) 溢出错误OE(Overrun Error) 若接收移位寄存器

30、接收到一个数据,并送至输入缓冲器时,CPU还未取走前一个数据,就会出现数据溢出,3. 8251A的结构及引脚,4 8251A的编程,方式寄存器的格式 控制寄存器的格式 状态寄存器的格式 8251A的初始化,(1) 异步接收方式:在异步方式,当允许接收且准备好接收数据时,8251A监视RxD线。在没有信号时为高电平,一旦检测到RxD线为低电平,即认为是起始位到达,便启动内部计数器开始计数,当计数到一个数据位宽度的一半(若时钟频率为波特率的16倍时,则计数到第8个脉冲)时,再次采样RxD线,若仍然为低电平,则确认是一个起始位,否则是干扰信号。 (2) 异步发送方式:当初始化编程时,置1发送允许位TxEN,在=0时可进行异步发送。

温馨提示

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

评论

0/150

提交评论