1、1 主要教学内容主要教学内容l串行通信概念和基本技术串行通信概念和基本技术l8251A内部结构及功能内部结构及功能l8251A初始化及应用初始化及应用lRS-232-C简介简介l本章小结,思考及练习题解析本章小结,思考及练习题解析可编程串行接口芯片可编程串行接口芯片8251A8251A 第第11章章第1页,共34页。2 11.1 串行传输基本概念串行传输基本概念 11.1.1 串行通信概述串行通信概述(1)将数据一位一位顺序传送,只占用一条)将数据一位一位顺序传送,只占用一条传输线。传输线。(2)采用两种方式)采用两种方式l将将8位数据通道中的一位通过位数据通道中的一位通过软件实现软件实现串行
2、串行数据传送;数据传送;l通过通过专用通信接口专用通信接口,将并行数据转换为串,将并行数据转换为串行数据传送。行数据传送。第第11章章第2页,共34页。3(3)数据传送方式)数据传送方式l串行通信通过一条信号线按顺序进行传串行通信通过一条信号线按顺序进行传输,发送信息和接收信息分时使用线路。输,发送信息和接收信息分时使用线路。l串行通信数据通常在两个站间进行双向串行通信数据通常在两个站间进行双向传送。传送。l分为分为单工、半双工和全双工单工、半双工和全双工传送。传送。第第11章章第3页,共34页。4发送器接收器AB单工通信(a)发送器发送器AB半双工通信接收器接收器(b)发送器接收器AB全双工
3、通信接收器发送器(c)图图 11-1 数据传送方式数据传送方式 单工传送:单工传送:一方发送,另一方发送,另一方接收数据一方接收数据半双工传送:半双工传送:双方都能接收双方都能接收或发送,但不或发送,但不能同时接收和能同时接收和发送发送 全双工传送:全双工传送:有两条通路,有两条通路,发送信息和接发送信息和接收信息可同时收信息可同时进行进行第4页,共34页。5(4 4)数据传输率)数据传输率 每秒传输字符的位数。用每秒传输字符的位数。用波特率波特率表示:表示:110、300、600、1200、l800、2400、4800、9600和和19200波特。波特。若异步串行通信数据传送速率若异步串行通
4、信数据传送速率960字符字符/秒,每个秒,每个字符包括一个起始位、字符包括一个起始位、8个数据位和一个停止位个数据位和一个停止位,波特率为:,波特率为:109609600波特波特 时钟频率时钟频率n波特率波特率;n叫做波特率系数或波叫做波特率系数或波特率因子,取值为特率因子,取值为1、16、32或或64。第5页,共34页。6 (5)串行通信特点)串行通信特点l可节省传输线;可节省传输线;l传输速度较慢;传输速度较慢;l多用在批量数据、距离较长的场合。多用在批量数据、距离较长的场合。(6)串行通信基本方式)串行通信基本方式l同步传送同步传送:发送方和接收方时钟信号频率及相:发送方和接收方时钟信号
5、频率及相位始终保持一致。位始终保持一致。l异步传送异步传送:通信中两个字符间时间间隔不固定:通信中两个字符间时间间隔不固定,在一个字符内各位时间间隔固定。,在一个字符内各位时间间隔固定。第6页,共34页。7 11.1.2 信号的调制和解调信号的调制和解调l 调制解调器调制解调器(Modem)是计算机在远程通)是计算机在远程通讯中采用的辅助外部设备。讯中采用的辅助外部设备。l 发送端发送端用调制器把数字信号转换为模拟信号用调制器把数字信号转换为模拟信号。l 接收端接收端用解调器检测从发送端送来的模拟用解调器检测从发送端送来的模拟信号,再转换成数字信号。信号,再转换成数字信号。l 调制解调器在发送
6、端相当于调制解调器在发送端相当于D/A转换器转换器,在接,在接收端相当于收端相当于A/D转换器转换器。第第11章章第7页,共34页。811.2 串行接口芯片串行接口芯片8251A 11.2.1 8251A的基本性能的基本性能(1)工作在同步或异步通信方式下。)工作在同步或异步通信方式下。(2)同步方式时允许用单同步和双同步字符。)同步方式时允许用单同步和双同步字符。数据位在数据位在58位间进行选择。位间进行选择。第第11章章第8页,共34页。9(3)异步方式异步方式时数据位仍在时数据位仍在58位范围内选用,位范围内选用,用用1位作奇偶校验位或不设奇偶位。能自动为位作奇偶校验位或不设奇偶位。能自
7、动为每个数据增加每个数据增加1位启动位及位启动位及1位、位、1.5位或位或2位位停止位。停止位。(4)有奇偶校验、帧校验和溢出校验)有奇偶校验、帧校验和溢出校验3种字符种字符数据校验方式数据校验方式。(5)与)与MODEM直接相连,接收和发送数据直接相连,接收和发送数据可存放在各自缓冲器中。可存放在各自缓冲器中。第第11章章第9页,共34页。1011.2.2 8251A基本结构基本结构数据总线读/写控制电路调制解调器发送缓冲器发送控制接收缓冲器接收控制。TxRDYTxDTxCTxEMPTYRxDRxRDYRxCSYNDET/BRKDET发送器接收器RTSCTSDTRDSRCSWRRDC/DCL
8、KRESETDD70第10页,共34页。118251A引脚功能引脚功能123456789101112131428272625242322212019181716158251AD0D1D2D3D4D5D6D7VCCRxDWRTxCGNDCSC/DRDRxRDYRxCDTRRTSDSRRESETCLKTxDTxEMPTYCTSSYNDETTxRDY图图11-6 8251A引脚排列图引脚排列图第第11章章第11页,共34页。12 11.2.3 8251A的编程控制的编程控制l8251A使用前须用程序对其工作状态进行使用前须用程序对其工作状态进行设定:设定:同步方式还是异步方式同步方式还是异步方式传输
9、波特率传输波特率字符代码位数字符代码位数校验方式校验方式停止位位数等停止位位数等第第11章章第12页,共34页。13l8251A内部内部控制字寄存器控制字寄存器用用于于8251A的的方式控制方式控制和和命令控制命令控制;l8251A内部内部状态寄存器状态寄存器存放存放8251A状态信息状态信息。第第11章章第13页,共34页。14D7D6D5D4D3D2D1D0方式及波特率00:同步*101:异步*110:异步*1611:异步*64数据位数00:501:610:711:8校验方式*0:不校验01:奇校验11:偶校验 00:无效 01:1位停止位 10:1位半 11:2位*0:内同步 01:双同
10、步字 11:单同步字同步方式YN图图11-8 8251A方式控制字的格式方式控制字的格式第第11章章第14页,共34页。15ENIRRTSSBRKRxEDTRTxENER进入搜索方式1:进行SYNC搜索内部复位1:8251A复位请求发送1:迫使RTS输出0出错复位1:复位错误标志发送允许1:允许 0:禁止数据终端准备好1:迫使DTR输出0接收允许1:允许 0:禁止发送断点字符1:迫使TxD为0D7D6D5D4D3D2D1D0图图11-9 8251A命令控制字的格式命令控制字的格式第15页,共34页。16DSR SYNDETFETxERxRDYTxRDYOED7D6D5D4D3D2D1D0PE同
11、引脚定义奇偶错溢出错帧出错图图11-10 8251A状态字的格式状态字的格式第第11章章第16页,共34页。1711.2.4 8251A的的初始化和编程应用初始化和编程应用 设 置 方 式 8 2 5 1 A 初 始 化 输 出 方 式 指 令 异 步 输 出 第 一 个 同 步 字 符 单 同 步 字 符?输 出 第 二 个 同 步 字 符?输 出 命 令 指 令 有 复 位 命 令?传 输 数 据 完 成?Y N N Y Y Y N N 第第11章章第17页,共34页。18【例例11.1】8251A控制口地址控制口地址301H,数据口地,数据口地址址300H,按要求对,按要求对8251A初
12、始化。初始化。(1)异步工作方式,波特率系数)异步工作方式,波特率系数64,偶校验,总,偶校验,总字符长度字符长度10(1位起始位,位起始位,8位数据,位数据,1位停止位位停止位););(2)允许接收和发送,使错误位全部复位;)允许接收和发送,使错误位全部复位;(3)查询)查询8251A状态字,接收准备就绪时从状态字,接收准备就绪时从8251A输入数据,否则等待。输入数据,否则等待。第第11章章第18页,共34页。19程序段如下:程序段如下:MOV DX,301H ;控制口地址控制口地址 MOV AL,01111111B;方式控制字方式控制字7FH OUT DX,AL ;写工作方式控制字写工作
13、方式控制字 MOV AL,00010101B;命令控制字命令控制字15H OUT DX,AL ;写操作命令控制字写操作命令控制字LP:IN AL,DX ;读状态控制字读状态控制字 AND AL,02H ;检查检查RxRDY是否为是否为1 JZ LP ;RxRDY1 接收未准备就绪,等待接收未准备就绪,等待 MOV DX,300H IN AL,DX ;否则输入数据否则输入数据第19页,共34页。208251A与与CPU及外设的连接:及外设的连接:第20页,共34页。218251A和和CPU的通信方式:的通信方式:可采用查询方式和中断方式。可采用查询方式和中断方式。(1)查询方式:)查询方式:发送
14、数据的程序在初始化发送数据的程序在初始化程序之后。程序之后。【例例11.2】用查询方式发送数据。设要发送用查询方式发送数据。设要发送的字节数据在的字节数据在TABLE开始的数据区,数据开始的数据区,数据放在放在BX中,数据端口地址中,数据端口地址04A0H,控制,控制/状态寄存器端口地址状态寄存器端口地址04A2H。第21页,共34页。22发送数据程序段:发送数据程序段:START:MOV DX,04A2H LEA SI,TABLEWAIT:IN AL,DX TEST AL,04AH ;检查发送寄存器是否空检查发送寄存器是否空 JZ WAIT ;若为空若为空,则继续等待则继续等待 PUSH D
15、X MOV DX,04A0H LODSB OUT DX,AL ;否则发送一个字节否则发送一个字节 POP DX DEC BX MOV DX,04A2H JNZ WAIT第22页,共34页。23【例例11.3】接收数据程序。设接收后数据送接收数据程序。设接收后数据送DATA开始数开始数据存储区。据存储区。8251A各寄存器地址安排同上。各寄存器地址安排同上。RECV:MOV SI,OFFSET DATA MOV DX,04A2HWAIT:IN AL,DX ;读入状态寄存器读入状态寄存器 TEST AL,38H ;检查是否有任何错误产生检查是否有任何错误产生 JNZ ERROR ;有有,转出错处理
16、转出错处理 TEST AL,01H ;否则检查数据是否准备好否则检查数据是否准备好 JZ WAIT ;未准备好未准备好,继续等待检测继续等待检测 MOV DX,04A0H IN AL,DX ;否则接收一个字节否则接收一个字节 AND AL,7FH ;保留低保留低7位位 MOV SI,AL ;送数据缓冲区送数据缓冲区 INC SI MOV DX,04A2H JMP WAIT第23页,共34页。24(2)中断方式:)中断方式:用中断方式可实现用中断方式可实现8251A和和CPU串行串行通信。通信。【例例11.4】系统以查询方式发送数据,以中断方式接收系统以查询方式发送数据,以中断方式接收数据。波特
17、率系数数据。波特率系数16,1位停止位,位停止位,7位数据位,奇位数据位,奇校验。校验。程序段如下。程序段如下。MOV DX,04A2H MOV AL,01011010B ;写方式控制字写方式控制字5AH OUT DX,AL MOV AL,14H ;写操作命令控制字写操作命令控制字 OUT DX,AL 完成对完成对8251A初始化后,接收端可进行其他工作,初始化后,接收端可进行其他工作,接收到一个字符后自动执行中断服务程序。接收到一个字符后自动执行中断服务程序。第24页,共34页。25【例例11.5】中断服务程序设计中断服务程序设计RECIVE:PUSH AX PUSH BX PUSH DX
18、PUSH DS MOV DX,04A2H IN AL,DX MOV AH,AL ;保存接收状态保存接收状态 MOV DX,04A0H IN AL,DX ;读入接收到的数据读入接收到的数据 AND AL,7FH TEST AH,38H ;检查有无错误产生检查有无错误产生 JZ SAVAD MOV AL,?;出错的数据用出错的数据用?代替代替第25页,共34页。26SAVAD:MOV DX,SEG BUFFER MOV DS,DX MOV BX,OFFSET BUFFER MOV BX,AL ;存储数据存储数据 MOV AL,20H OUT 20H,AL ;将将EOI命令发给命令发给8259 PO
19、P DS POP DX POP BX POP AX STI IRET第26页,共34页。27 11.3 串行通信接口标准串行通信接口标准RS-232ClRS-232C是是EIA(电子工业协会)串口标准(电子工业协会)串口标准(RS-推荐标准,推荐标准,232-标识号,标识号,C-修改次数修改次数)。)。l串口常用是连接鼠标和调制解调器,称串口常用是连接鼠标和调制解调器,称异异步通信适配器接口步通信适配器接口。第第11章章第27页,共34页。28 l串口插座分串口插座分9针或针或25针。串口赋予专门针。串口赋予专门设备名设备名COM1和和COM2。lRS-232C在远距离通信中连接数据终端在远距
20、离通信中连接数据终端设备与数据通信设备。也可用于两台计算设备与数据通信设备。也可用于两台计算机或设备间近距离串行连接。机或设备间近距离串行连接。第第11章章第28页,共34页。291.RS-232C引脚引脚 RS-232C接口有接口有9针、针、25针等规格。针等规格。(a)25脚排列图脚排列图 (b)9脚排列图脚排列图图图11-14 RS-232C引脚排列引脚排列25引脚中,有引脚中,有4条数据线、条数据线、11条控制线、条控制线、3条定时信条定时信号线、号线、2条地信号线。另外还保留条地信号线。另外还保留2个引脚,有个引脚,有3个引个引脚未定义。脚未定义。第29页,共34页。30 2.RS-
21、232C的连接的连接 RS-232C广泛用于数字终端设备,广泛用于数字终端设备,如计算机与调制解调器之间的接口,以如计算机与调制解调器之间的接口,以实现通过电话线路进行远距离通信。实现通过电话线路进行远距离通信。第第11章章第30页,共34页。31本章小结 l串行通信串行通信是计算机主机与外设间及系统是计算机主机与外设间及系统与系统间传递数据,适用于远距离通信。与系统间传递数据,适用于远距离通信。l串行通信分串行通信分同步通信和异步通信同步通信和异步通信两类。两类。第第11章章第31页,共34页。32l8251A初始化初始化时要设置传输波特率、停时要设置传输波特率、停止位位数、校验位、数据位及是否允许中止位位数、校验位、数据位及是否允许中断等,断等,8251A和和CPU通信的方式主要有通信的方式主要有查询方式和中断方式。查询方式和中断方式。lCRT、键盘、扫描仪等与、键盘、扫描仪等与CPU通信大都通信大都采用采用RS-232C总线总线。第第11章章第32页,共34页。33 课 堂 练 习 教材教材P259:思考与练习题解析思考与练习题解析第第11章章第33页,共34页。34 本章内容到此结束本章内容到此结束 第第11章章第34页,共34页。