微型计算机原理与应用第五章课件四.ppt

上传人:小飞机 文档编号:6284313 上传时间:2023-10-13 格式:PPT 页数:70 大小:620KB
返回 下载 相关 举报
微型计算机原理与应用第五章课件四.ppt_第1页
第1页 / 共70页
微型计算机原理与应用第五章课件四.ppt_第2页
第2页 / 共70页
微型计算机原理与应用第五章课件四.ppt_第3页
第3页 / 共70页
微型计算机原理与应用第五章课件四.ppt_第4页
第4页 / 共70页
微型计算机原理与应用第五章课件四.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《微型计算机原理与应用第五章课件四.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理与应用第五章课件四.ppt(70页珍藏版)》请在三一办公上搜索。

1、第5章-4 串行通信接口,教学重点:串行通信接口基本概念 RS-232-C标准 8250的内部结构和编程 异步通信基本概念,5.1 串行通信基础,串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传送的方式;串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本;串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送;PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送。,1.异步通信,收发双方时钟不统一;串行通信时的数据、控制和状态信息都使用同一根信号线传送;收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、

2、字符同步、数据校验等问题;串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议。,起止式异步通信协议,起始位每个字符开始传送的标志,起始位采用逻辑0电平,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位,停止位表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位,空闲位传送字符之间的逻辑1电平,表示没有进行传送,数据传输速率,比特率数字信号的传输速率,为单位时间内传输的二进制代码的有效位(bit)数,单位为每秒比特数bit/s(bps)、每秒千比特数(Kbps)或每秒兆比特数(Mbps)来表示

3、。波特率数据信号对载波的调制速率,为单位时间内载波调制状态改变次数,单位为波特(Baud)。波特率与比特率的关系:比特率=波特率单个调制状态对应的二进制位数。,数据传输速率,两相调制(单个调制状态对应1个二进制位)的比特率等于波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的三倍;依次类推;常用的波特率:50,70,110,150,300,600,1200,2400,9600,11200。,例题异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,则:1)波特率应该是多少?

4、2)有效数据位传输位是多少?3)传输效率是多少?,答:1)波特率是(7位数据位+1位起始位+1位校验位+1位停止位)240=2400b/s2)有效数据位传输位是:7240=1680b/s3)传输效率是:1680/2400=70%,2.同步通信,双方对每一位的收发时序完全一致,统一时钟;以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束;同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂;串行同步通信主要应用在网络当中;最常使用高级数据链路控制协议HDLC。,单工通信只能由一方发送,例:广播半双工通信某一时刻只能由一方发送,例:对讲机全双工通信双方可同时传输

5、,例:电话,3.传输模式,3.传输模式,发送器,接收器,发送器/接收器,发送器/接收器,发送器/接收器,发送器/接收器,单工方式:,半双工方式:,全双工方式:,A站,B站,电话网络模拟信号,计算机数字信号;远距离通信时需要通过普通电话网络传输;数字信号:频带宽电话网络:频带窄 要使数字信号在电话网络上传输,需要进行信号变换把数字信号承载到模拟信号上传输,这个模拟信号称为载波信号。调制把数字信号承载到载波信号上;解调从载波信号中恢复出数字信号;调制解调器:实现调制与解调的设备。,4.调制与解调,原因:如果数字信号直接在公用电话网的传输线上传送,高次谐波的衰减会很厉害,从而使信号到了接收端后将发生

6、严重畸变和失真。,解决:发送方使用调制器(Modulator),把要传送的数字信号调制转换为适合在线路上传输的音频模拟信号;接收方则使用解调器(Demodulator)从线路上测出这个模拟信号,并还原成数字信号。,4.调制与解调,调制方法:按照调制技术的不同分为调频(FM)、调幅(AM)和调相(PM)三种,根据传输数字信号的变化规律去调整载波的频率、幅度或相位。,5.2 串行接口标准RS-232C,美国电子工业协会EIA制定的通用标准串行接口;1962年公布,1969年修订;1987年1月正式改名为EIA-232D。设计目的是用于连接调制解调器;现已成为数据终端设备DTE(例如计算机)与数据通

7、信设备DCE(例如调制解调器)的标准接口;可实现远距离通信,也可近距离连接两台微机;属于网络层次结构中的最低层:物理层。,5.2.1 RS-232C的引脚定义,232C接口标准使用一个25针连接器;绝大多数设备只使用其中9个信号,所以就有了9针连接器;232C包括两个信道:主信道和次信道;次信道为辅助串行通道提供数据控制和通道,但其传输速率比主信道要低得多,其他跟主信道相同,通常较少使用。,主要引脚的功能,RS-232C的引脚(1),TxD:发送数据串行数据的发送端RxD:接收数据串行数据的接收端,RS-232C的引脚(2),RTS:请求发送当数据终端设备准备好送出数据时,就发出有效的RTS信

8、号,用于通知数据通信设备准备接收数据;CTS:清除发送(允许发送)当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号;RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号。,RS-232C的引脚(3),DTR:数据终端准备好通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪DSR:数据装置准备好通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收,RS-232C的引脚(4),GND:信号地为所有的信号提供一个公共的参考电平;

9、CD:载波检测(DCD)当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号;RI:振铃指示当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效。,RS-232C的引脚(5),保护地(机壳地)起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地TxC:发送器时钟控制数据终端发送串行数据的时钟信号RxC:接收器时钟控制数据终端接收串行数据的时钟信号,5.2.2 RS-232C的连接,微机利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信微机利用232C接口直接连接进行短距离通信。这种连接不使用调制解调器,所以被称为

10、零调制解调器(Null Modem)连接,连接调制解调器,不使用联络信号的3线相连方式,为了交换信息,TxD和RxD应当交叉连接程序中不必使RTS和DTR有效也不应检测CTS和DSR是否有效,“伪”使用联络信号的3线相连方式,RTS和CTS各自互接,DTR和DSR各自互接表明请求传送总是允许、数据装置总准备好,使用联络信号的多线相连方式,通信比较可靠所用连线较多,不如前者经济,5.2.3 RS-232C的电气特性,232C接口采用EIA电平高电平为-5V-15V低电平为+5V+15V实际常用12V或15V,标准TTL电平高电平:2.4V5V低电平:0V0.4V,相互转换,TTL与RS-32C-

11、C之间的电平转换,UART:Universal Asynchronous Receiver Transmitter,5.3 通用异步接收发送器8250,串行传输,需要并行到串行和串行到并行的转换,并按照传输协议发送和接收每个字符(或数据块);这些工作可由软件实现,也可用硬件实现;通用异步接收发送器UART是串行异步通信的接口电路芯片;IBM PC/XT机的UART芯片是INS 8250。,5.3.1 8250的内部结构,8250实现了起止式串行异步通信协议,支持全双工通信通信字符可选择数据位为58位停止位1、1.5或2位可进行奇偶校验具有奇偶、帧和溢出错误检测电路8250支持的数据传输速率为5

12、09600bps,5.3.1 8250的内部结构,1.串行数据的发送,双缓冲寄存器结构保证数据的连续发送,2.起始位的检测,起始检测,确定已检测到起始位,采样数据,数据接收时钟频率是数据传输频率的16倍正确识别起始位,防止因干扰引起的误识别,3.串行数据的接收,双缓冲寄存器结构保证数据的连续接收,4.接收错误的处理,奇偶错误PE(Parity Error)若接收到的字符的“1”的个数不符合奇偶校验要求帧错误FE(Frame Error)若接收到的字符格式不符合规定(如缺少停止位)溢出错误OE(Overrun Error)若接收移位寄存器接收到一个数据,并送至输入缓冲器时,CPU还未取走前一个数

13、据,就会出现数据溢出若接收缓冲器的级数多,则溢出错误的几率就少,5.3.2 8250的引脚,分成连接CPU的部分和连接外设的部分;注意:8250不是Intel公司的产品,所以该芯片引脚名称与前面学习的8253、8255等Intel产品有所不同,但是引脚功能却是类似。,1.处理器接口引脚(1),数据线D0D7:在CPU与8250之间交换信息;地址线A0A2:寻址8250内部寄存器;片选线:8250设计了3个片选输入信号CS0、CS1、CS2*和一个片选输出信号CSOUT。3个片选输入都有效时,才选中8250芯片,同时CSOUT输出高电平有效;地址选通信号ADS*:当该信号低有效时,选通上述地址线

14、和片选线的输入状态。在PC/XT机中,此信号固定接地。,1.处理器接口引脚(2),读控制线数据输入选通DISTR(高有效)和DISTR*(低有效)有一个信号有效,CPU从8250内部寄存器读出数据;相当于I/O读信号;写控制线数据输出选通DOSTR(高有效)和DOSTR*(低有效)有一个有效,CPU就将数据写入8250内部寄存器相当于I/O写信号;8250读写控制信号有两对,每对信号作用完全相同,只不过有效电平不同而己。,1.处理器接口引脚(3),驱动器禁止信号DDIS:CPU从8250读取数据时,DDIS引脚输出低电平,用来禁止外部收发器对系统总线的驱动;其他时间,DDIS为高电平;主复位线

15、MR:硬件复位信号RESET;中断请求线INTRPT:8250有4级共10个中断源,当任一个未被屏蔽的中断源有请求时,INTRPT输出高电平向CPU请求中断。,2.时钟信号,时钟输入引脚XTAL1:8250的基准工作时钟时钟输出引脚XTAL2:基准时钟信号的输出端波特率输出引脚BAUDOUT*:基准时钟经8250内部波特率发生器分频后产生发送时钟接收时钟引脚RCLK:接收外部提供的接收时钟信号;若采用发送时钟作为接收时钟,则只要将RCLK引脚和BAUDOUT*引脚直接相连,3.串行异步接口引脚,4.输出线,OUT1*和OUT2*:两个一般用途的输出信号;由调制解调器控制寄存器的D2和D3使其输

16、出低电平有效信号;复位使其恢复为高。,5.3.3 8250的寄存器,8250内部有9种可访问的寄存器,除数寄存器是16位的,占用两个连续的8位端口;内部寄存器用引脚A0A2来寻址;同时还要利用通信线路控制寄存器的最高位,即除数寄存器访问位DLAB,来区别共用两个端口地址的不同寄存器。,1.接收缓冲寄存器RBR,存放串行接收后转换成并行的数据,2.发送保持寄存器THR,包含将要串行发送的并行数据,3.除数寄存器,除数寄存器保存设定的分频系数分频系数基准时钟频率(16比特率),4.通信线路控制寄存器LCR,指定串行异步通信的字符格式,5.通信线路状态寄存器LSR,提供串行异步通信的当前状态供CPU

17、读取和处理,6.调制解调器控制寄存器MCR,设置8250与数据通信设备之间联络应答的输出信号,7.调制解调器状态寄存器MSR,反映4个控制输入信号的当前状态及其变化MSR高4位中某位为1,说明相应输入信号当前为低有效,否则为高电平MSR低4位中某位为1,则说明从上次CPU读取该状态字后,相应输入信号已发生改变,从高变低或反之MCR低4位任一位置1,均产生调制解调器状态中断,当CPU读取该寄存器或复位后,低4位被清零,4级中断,接收线路状态中断奇偶错、溢出错、帧错和中止字符接收器数据准备好中断发送保持寄存器空中断调制解调器状态中断清除发送状态改变数据终端准备好状态改变振铃接通变成断开接收线路信号

18、检测状态改变,优先权高,优先权高,优先权低,8.中断允许寄存器IER,8250设计有2个中断寄存器和4级中断4级中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是固定不变的用户可利用中断允许或禁止进行控制中断允许寄存器的低4位控制8250这4级中断是否被允许某位为1,则对应的中断被允许否则,被禁止,9.中断识别IIR,保存正在请求中断的优先权最高的中断级别编码,5.4 异步通信适配器,IBM PC/XT机的串行异步通信适配器以8250为核心完成发送时的并转串和接收时的串转并以及相应的控制工作配置了TTL电平与EIA电平转换电路等展开异步通信适配器的硬件电路软件编程,5.4.1 异步通信

19、适配器的接口电路,注意:J9J11跨接器和OUT2*的作用,5.4.2 异步通信适配器的初始化编程,对8250的内部控制寄存器进行编程写入 写入除数寄存器设置传输率 写入通信线路控制寄存器设置字符格式 写入调制解调器控制寄存器设置工作方式 写入中断允许寄存器设置中断允许或屏蔽位,设置传输率,mov al,80hmov dx,3fbhout dx,al;写入通信线路控制寄存器,使DLAB1mov ax,96;分频系数:1.8432MHz(120016)9660Hmov dx,3f8hout dx,al;写入除数寄存器低8位mov al,ah inc dxout dx,al;写入除数寄存器高8位,

20、写入除数寄存器,设置字符格式,mov al,00001010bmov dx,3fbh out dx,al;写入通信线路控制寄存器;这段程序同时使DLAB0,写入通信线路控制寄存器,设置工作方式,设置查询通信方式mov al,03h;控制OUT2*为高,DTR*和RTS*为低 mov dx,3fchout dx,al;写入调制解调器控制寄存器设置中断通信方式mov al,0bh;控制为OUT2*低,允许INTRPT产生请求mov dx,3fchout dx,al,写入调制解调器控制寄存器,设置中断允许或屏蔽位,mov al,0;禁止所有中断 mov dx,3f9hout dx,al;写入中断允许

21、寄存器(此时DLAB0),写入中断允许寄存器,5.4.3 异步通信程序,程序循环读取8250的通信状态寄存器数据传输错误就显示一个问号“?”接收到数据就显示出来可以发送数据就从键盘输入发送字符(用户没有输入字符就不发送)如果按下ESC键返回DOS,查询通信线路状态,statue:mov dx,2fdh;读通信线路状态寄存器in al,dxtest al,1eh;接收有错误否?jnz error;有错,则转错误处理test al,01h;接收到数据吗?jnz receive;是,转接收处理test al,20h;保持寄存器空吗?jz statue;不能,循环查询,异步通信程序,检测键盘输入,mo

22、v ah,0bh;检测键盘有无输入字符int 21hcmp al,0jz statue;无输入字符,循环等待mov ah,0;有输入字符,读取字符int 16h;采用01号DOS功能调用,则有回显cmp al,1bhjz done;是ESC键,程序返回DOS,异步通信程序,发送数据,mov dx,2f8h;将字符输出给发送保持寄存器out dx,al;串行发送数据jmp statue;继续查询,异步通信程序,接收数据,receive:mov dx,2f8h;从输入缓冲寄存器读取字符in al,dxand al,7fh;传送标准ASCII码(7个数据位);所以仅取低7位push ax;保存数据,

23、异步通信程序,显示数据,mov dl,al;屏幕显示该数据mov ah,2int 21hpop ax;恢复数据cmp al,0dh;数据是回车符吗?jnz statue;不是,则循环mov dl,0ah;是,再进行换行mov ah,2int 21hjmp statue;继续查询,异步通信程序,接收错误处理,error:mov dx,2f8h;读出接收有误的数据,丢掉in al,dxmov dl,?;显示问号mov ah,2int 21hjmp statue;继续查询,异步通信程序,5.4.4 中断通信方式的编程方法,关键解决主程序与中断服务程序的数据传递注意处理好8250的4级10种中断源简便方法只允许接收数据准备好中断,中断通信方式的循环队列,自测试循环工作方式,8250,数据终端准备好DTR*,数据装置准备好DSR*,发送数据SOUT,接收数据SIN,请求发送RTS*,允许发送CTS*,输出OUT2,载波检测RLSD*,振铃指示RI*,输出OUT1,4个控制输入信号和系统分离,并在芯片内部与4个控制输出信号相连发送的串行数据立即在内部被接收可用来检测8250发送和接收功能正确与否,而不必外连线,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号