串行通信

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第11章输入输出接口(2)串行异步通信接口串行通信的基本概念串行通信接口标准RS232C串行异步通信接口芯片8250编程举例一、串行通信的基本概念1.串行数据通信系统模型计算机MODEMMODEM计算机或终端信道(传输线路)C0D0D1D2DnC1数据位控制位控制位发送方接受方特点:速度较慢,但造价低。2.数据的传送方向通常串行通信,数据在两个站之间是双向传送的,A站可作为发送站,B站可作为接收站,反之亦可。通常传送可分:•半双工(HalfDuplex)每次只有一个站发送,即只能由A发送到B,或由B发送到A,不能A和B同时发送。•完全双工(FullDuplex)同时两个站都能发送。站A站B站A站B3.传输速率:一个信道每秒钟传送的二进制的位数。(bitpersecond——bps)波特率信道的最大传输速率受信道的带宽的限制。异步通信传输速率为50~9600bps。二、串行通信接口标准RS232C在数据通信中,传输的对象是一系列的0,1,这些0,1在不同的位置有不同的含义,这些含义都要事先约定好。在串行通信中,有两种最基本的通信方式:同步传输和异步传输。1.串行异步传输:以“帧”为单位传输字符数据,两次传输时间间隔不固定。格式:在发送一个字符时,包含一个起始位,若干数据位,一个奇偶校验位,停止位。00/10/10/1111起始位1位数据位5、6、7、8位不等校验位1位停止位1、1.5、2位不等空闲位一个帧结构低位高位例如:传送一个字符“E”,(ASCⅡ码为:1000101B=45H)110101000101111起始位数据位校验位停止位空闲位停止位从上面分析可以看出,异步通信方式是按字符传输的,从一个字符导下一个字符之间,没有固定的时间间隔,故被称之为异步传输方式。异步传输靠起始位的起始信号,使发、收双方在一个字符的传输时间内保持同步,以保证正确接收。2.同步串行通信在异步通信中,每一个字符要用起始位和停止位标志字符传输得开始于结束,占用了时间。在同步通信中,去掉这些控制位,把字符顺序地连接起来,组成一个数据块,这样的数据块称为一个纪录。在纪录的开始加同步字符,在纪录的末尾加出错校验字符,形成帧。~~~~同步字符同步字符数据数据数据校验码校验码同步字符的格式和个数根据需要而定。在同步方式中,接收器接收数据时,首先搜索同步字符,在得到同步字符后,才开始装配数据。串行通信系统模型为:计算机MODEMMODEM计算机或终端信道(传输线路)要进行串行通信,还要解决一个问题:计算机与MODEM怎样连接?——通过接口电路——串行接口电路连接。3.串行接口RS232C3.串行接口RS232C计算机MODEMMODEM计算机或终端信道(传输线路)串行接口串行接口不同的计算机、外部设备之间要进行物理连接,都必须遵守统一的规范,美国电子工业协会(EIA)发布了一系列标准,如:RS-232C、RS-422、RS-423、RS-449等。RS-232C是目前应用最广泛的一种标准。RS-232C提供了一个利用电话网通过MODEM把远距离设备连接在一起完成通信技术规范。计算机MODEMMODEM计算机或终端信道(传输线路)RS-232CRS-232C3.串行接口RS232C机械特性:标准规定了使用一个25针标准连接器(插头座),并对连接器的尺寸、每个针的排列位置做了明确规定。电气特性:标准规定,逻辑“1”信号,电平在–3V~-15V之间;逻辑“0”信号,电平在+3V~+15V之间。因此,使用RS-232C与微机接口时,需要将TTL电平(0~5V)与RS-232C电平进行转换。可用现成的转换芯片(如MC1488、MC1489等)转换。3.串行接口RS232C功能特性:标准定义了25针连接器中的20条连接线。(下图为常用的信号线)DTE(数据终端设备)计算机或终端DCE(数据通信设备)调制解调器或其他通信设备DTE准备就绪DTRDCE准备就绪DSR允许发送CTS请求发送RTS接收数据RXD发送数据TXD载波检测DCD振铃指示RI信号地保护地3.串行接口RS232C建立一次通信的过程:主呼方(甲方)计算机处在准备发送状态,DTR有效,RTS有效。①甲方拨号,呼叫乙方;②交换机识别所拨号码,使乙方振铃;乙方MODEM中的振铃检测电路检测到有振铃信号后,•通过RI,通知乙方计算机modem已进入收/发工作状态;•DCE做好接收数据的准备,DSR和DTR信号有效,通知modem可以接收/发数据;接通与外线的连接,起到摘机的作用,交换机停止振铃。③乙方准备好后(DTR、RTS、CTS有效),即通过MODEM向甲方送一个载波信号;④甲方收到此载波信号后,即知乙方已做好准备,使DSR、CTS有效,并向乙方发送一个载波频率。至此,双方已沟通了数据通道,可以开始进行数据通信。DTE准备就绪DTRDCE准备就绪DSR允许发送CTS请求发送RTS接收数据RXD发送数据TXD载波检测DCD振铃指示RI计算机甲方MODEM交换机计算机乙方MODEMDTRDSRCTSRTSRXDTXDDCDRI。。。Δ۷。。。Δ۷电话机电话机(2)计算机终端之间的RS-232C对接计算机或终端计算机或终端206543271206543271DTRDSRCTSRTSRXDTXD信号地保护地计算机或终端计算机或终端327RXDTXD信号地327最简单方式三、异步串行通信接口芯片8250接收时:从RXD来的串行数据先进入移位寄存器,然后并行输入给缓冲器(变成并行的),由数据总线输送到CPU。发送时:从CPU来的并行数据由输出缓冲器接收,然后送至移位寄存器,一位一位地输出至TXD。8250是国家半导体公司推出的一种异步通信控制器。被IBM等许多计算机公司广泛采用,作为它们生产的异步通信适配器的核心控制芯片。其主要功能是完成串——并的转换。1.基本功能•完全双工,双缓冲器发送和接受的异步通信接口电路;•通信波特率:50~9600,共分为15种;•每个字符可传送5~8位;•停止位可编程选择为:1、1.5、2位;•可产生中止字符(输出连续的低电平,以通知对方中止通信);•可进行奇偶校验,选择奇校验还是偶校验;•出错检测——具有奇偶、溢出和帧错误等检测电路;•片内具有优先权中断控制逻辑,具有很强的中断控制能力。2.内部结构(1)数据总线缓冲器——8250与系统数据总线的接口,8250与CPU之间的数据、命令、状态信息都是通过此缓冲器进行的。(2)选择与控制逻辑——8250与系统地址总线、控制总线的接口,主要功能:•片选8250,及选择内部各寄存器;•为8250提供时钟信号;•控制8250芯片的整个工作过程。3、8250寄存器的编址8250共有10个可存取的内部寄存器。注:DLAB为通信线路控制寄存器LCR的最高位,设置除数寄存器的值时,必须先使其为“1”。4、8250的初始化编程•确定波特率——设置除数锁存器;•确定数据格式——设置通信线路控制寄存器;•设置MODEM控制寄存器•若使用中断方式——需设置中断允许寄存器的相应位(置“1”);①确定波特率——设置除数锁存器除数锁存器——存放分频系数,由两部分组成,高位送入MSB,低位送入LSB。8250波特率与分频系数(除数锁存器中的值)的关系。①通信线路控制寄存器LCR——规定通信的数据格式②确定数据格式——设置线控制寄存器③设置MODEM控制寄存器•通常,这个寄存器的值设置为03H——使8250输出DTR、RTS两个MODEN控制信号,即使系统中不用这两个信号,这样的设置也不会带来问题。•若要使用中断,则OUT2应设置为“1”,这样,8250中断信号可以通过系统总线送至8259中断控制器。④若使用中断方式——需设置中断允许寄存器的相应位(置“1”)某位置“1”,允许中断;某位置“0”,屏蔽中断;中断允许寄存器为读写寄存器。例:要求以9600bps进行异步串行通信,每个字符7位,2个停止位,奇校验,允许所有中断。假设端口地址的高位为:0011,1111,1A2A1A0MOVDX,3FBH;置除数锁存器(分频系数)MOVAL,80HMOVDX,AL;通讯线路控制寄存器最高位置“1”MOVDX,3F8HMOVAL,0CHOUTDX,AL;除数低位送入除数锁存器LSB(低`8位)MOVDX,3F9HMOVAL,0;除数高位送入除数锁存器MSB(高`8位)OUTDX,ALMOVDX,3FBH;置通信线路控制寄存器(数据格式)MOVAL,00001110B;7个字符位,2个停止位,奇校验OUTDX,ALMOVDX,3F9H;置中断允许寄存器MOVAL,0FH;允许所有中断OUTDX,ALMOVDX,3FCH;置MODEM控制器MOVAL,0BH;使OUT2、DTR、RTS有效OUTDX,AL5、收发通信编程线状态寄存器的状态信息MODEM状态寄存器的状态信息反映8250与通信设备之间联络应答信号的当前状态和变化情况功能入口参数出口参数(1)AH=0初始化串行口AL=初始化参数AH=通信线路状态DX=串行口号(0-2)AL=MODEM状态AL中需设置参数为:6、串行异步通信的BIOS功能调用功能入口参数出口参数(2)AH=1发送字符AL=欲发送字符AH=通信线路状态DX=串行口号(0-2)(AH)7=1表示传送失败(3)AH=2接收字符DX=串行口号(0-2)AH=通信线路状态(AH)7=1表示传送失败AL=接收到的字符(4)AH=3读串行口状态DX=串行口号(0-2)AH=通信线路状态AL=MODEM状态

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功