第09章 串行通信接口_第1页
第09章 串行通信接口_第2页
第09章 串行通信接口_第3页
第09章 串行通信接口_第4页
第09章 串行通信接口_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第9章串行通信接口

主要内容:1、串行传送的基本概念

2、串行通信的数据格式

3、串行通信接口标准

4、串行通信接口的任务及组成

5、可编程串行接口芯片8251A

6、采用RS-232标准的全双工异步串行通信接口电路设计

7、采用RS-485标准的异步串行通信接口电路设计

8、PC微机异步通信适配器的分析和使用重点内容:1、串行接口电路的标准及使用

2、8251A的工作原理及应用1第9章串行通信接口

9.1串行通信的基本概念通信方式并行通信(B/s)串行通信(b/s)一、串行通信的特点(1)用一根传输线一位一位地传送数据和联络信息;(2)固定的数据格式(异步和同步数据格式)(3)信号的逻辑定义和TTL不兼容,需进行逻辑关

系和逻辑电平的转换;(4)双方按约定的通信传输的波特率通信;

2第9章串行通信接口

二、串行通信双方需解决的问题(1)双方发送和接收数据的速率——波特率(2)双方的数据格式——帧格式(3)双方的数据开始与结束的确定——帧同步(4)双方的数据的采样——位同步(5)接收方的数据的正确性——数据校验(6)接收方出错如何处理

通信协议:通信双方对数据格式、同步方式、传送速度、传送步骤、检纠错方式及控制字符定义等问题作出的统一规定,通信双方式必须共同遵守的这些约定。3第9章串行通信接口

三、串行数据传送方向1、单工传送方式A设备B设备发送器接收器2、半双传送方式A设备B设备发送器发送器接收器接收器4第9章串行通信接口

3、全双传送方式收接和发送开关是由软件控制的电子开关。电话线是全双工。A设备B设备发送器发送器接收器接收器5第9章串行通信接口

四、信号的调制和解调五、信息的检错与纠错1、奇偶校验或方阵检错只能查错无纠正错误能力,以反馈重发方式纠错。2、循环冗余码CRC能查错并有自动纠正错误能力。计算机MODEMMODEMCRT电话线调制解调6第9章串行通信接口

1101001010000010101011111001110000101偶校验011方阵检错00001001检验字符在接收时数据块读出产生一个检验字符,将这个字符与发送来的检验字符进行比较,不同表明有错重发。7第9章串行通信接口

六、波特率与发送/接收时钟1、波特率单位时间内传送二进制数据的位数。例:在异步串行通信中,传送一个字符,包括12位其中有1个起始位,8位数据位,1个偶校验位,

2个停止位,其传输速率是1200b/s,求:每秒传送的字符的个数是多少个?8第9章串行通信接口

2、发送/接收时钟

在发送数据时,发送器在发送时钟(下降沿)作用将发送移位寄存器的数据按位串行移位输出;在接收数据时,接收器在接收时钟(上升沿)作用下对来自通信线上串行数据,按位串行移入接收移位寄存器。

在实际数据传输过程中,收接器的采用比特率比发送器高得多的频率的时钟来提高定位采样的分辨率和抗干扰能力。原因在于发送器发送过一个数据后,接收器可通过更高的时钟频率对传送过来的数据进行多次采样,不仅有利于实现收发同步,而且有利于抗干扰和提高异步通信的可靠性。(16倍、64倍等)9第9章串行通信接口

3、波特因子是发送/接收1位数据所需要的时钟脉冲个数。发/收时钟脉冲与波特率关系:发/收时钟Txc=Baud×Factor

在异步通信中Factor=16,在同步通信Factor=1,在波特因子选定的情况下,可利用改变发/收时钟频率来控制串行通信的波特率。4、传输距离与传输速率的关系10第9章串行通信接口

七、串行通信的基本方式1、异步串行通信方式以字符为信息单位传送的。一帧字符用起始位和停止位来完成收发同步。同一个字符的位与位是同步的,字符与字符间是异步的。数据流的分界、定时及同步的方法的不同

2、同步串行通信方式

以数据块为信息单位传送,每帧信息包括多个字符,靠同步字符来完成收发双方同步的。同步通信不仅字符内部的位传送时同步的,字符与字符之间传送也是同步的,双方必须使用同一时钟来控制数据块传输过程中的定时。11第9章串行通信接口

9.2串行通信的数据格式一、起止式异步通信数据格式一帧数据的格式起始位0、数据位5~8、校验位1和停止位1~2。双方通信是靠起止位和停止位来完成信息传输的同步。011110LSBMSB起止位0/10/1……0/10/1数据位(5~8)先送低后送高0/1校验位停止位(1,1½

或2)空闲位起止位0/1LSB第n+1个字符第n个字符(1位)(可有可无有为1位)(不限)12第9章串行通信接口

二、面向字符的同步通信数据格式一次传送由若干个字符组成的数据块,并规定10个特殊字符组成

的通信控制字作为数据块的开头、结束标志及整个传输过程的控

制信息。SYNSYNSOH标题STX数据块ETB/ETX块校验SYN:同步字符。SOH:序始字符,表示标题的开始。标题:源地址、目标地址和路由指示等。STX:文始字符,表示数据块的开始。ETB/ETX:组终/文终字符,表示传送数据块的组的结束及块的结束。块校验:它对SOH至ETB/ETX段信息的校验码。13第9章串行通信接口

9.3串行通信接口标准在串行通信中,数据终端设备DTE与数据通信设备DCE之间的连接,要符合接口标准,目前使用最广泛的是串行标准RS-232C、RS-423、RS-422A、RS-485。

RS-232C美国电子工业协会(EIA)在1969年为了电话网络进行数据通信而公布的数据通信标。通过调制将逻辑“1”和“0”的高低电压转换成高、低不同的频率在电话网络中传送,在接收端用解调器把不同的频率变在一系列高低电压以表示“1”和“0”。14第9章串行通信接口

1、控制信号的定义9针连接器25针连接器名称方向功能32TXDOUT发送数据23RXDIN

接收数据74RTSOUT

请求发送85CTSIN

允许发送66DSRIN

数据设备准备好57GND

信号地18DCDIN载波检测420DTROUT数据终端准备好922RIIN振铃指示一、RS-232C总线引脚15第9章串行通信接口

2、信号电平标准

RS-232C采用负逻辑,以+3V~+25表示“0”,以-3V~-25表示“1”,与计算机接口芯片中的+/-12V或+/-15V电平不同,采用此总线时必须有相应的电平转换,输入时用MC1489,它可将RS-232C的电平转换为TTL电平,输出时用

MC1488,它可将计算机输出的TTL电平转换为RS-232C允许使用的电平。16第9章串行通信接口

3、信号线的连接和使用(1)采用MODEM时RS-232C信号线的使用计算机接口调制解调器TxDRxDRTSCTSDSRSGDCD调制解调器TxDRxDRTSCTSDSRSGDCD接口终端专用电话线17第9章串行通信接口

(2)不采用MODEM时RS-232C信号线的使用计算机或终端计算机或终端23457620123457620118第9章串行通信接口

填空:1、异步串行通信规程规定,传送数据的基本单是()、最先传送的是(),长度为()信号电平()。2、在RS-232C接口标准中,对于控制信号的接通状态的电平范围是(),断开状态的电平范围是()。判断:1、在数据通信中,半双工通信在任意一个时刻只能进行一个方向的传输,而全双工通信可以同时进行两个方向的传输。()2、调制解调器是将数字信号变成能在传输线上传送的模拟信号,或将传输线上的模拟信号变成数字信号。()19第9章串行通信接口

作业:P41——1、2、6、7、820第9章串行通信接口

9.4串行通信接口的任务及组成一、串行通信接口的基本任务1、实现数据格式化2、进行串行与并行转换3、控制数据传输速率4、进行错误检测5、进行TTL与EIA电平转换6、提供符合EIA-RS-232C接口标准所要求的信号线二、串行通信接口电路的组成由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器及地址译码电路组成。21第9章串行通信接口

9.5可编程串行接口芯片8251A

8251A是通用同步异步接收发送器,具有独立的发送器和接收器,能以单工、半双工和全双工三种方式通信,可用同步和异步方式传输信息。通过初始化编程设置串行通信接口芯片的工作方式、波特因子、数据帧格式及8251A的工作状态。22第9章串行通信接口

1、8251A的引脚8251AD21D32RxD3GND4D45D56D67

D78TxC9WR10CS11C/D12RD13RxRDY142827262524232221201918171615D0D1VccRxCDTRRTS

RESETCLKTxDTxEMPTYCTSSYNDETTxRDYDSR(1)与CPU连接信号D0~D7:数据线用于传数据、控制和状态信息。RD、WR:读写控制控制CPU与I/O端口间的数据、命令和状态信息的写入与读出。CS:片选信号C/D:地址线(A0)

1:CPU访问命令寄存器或状态寄存器

0:CPU访问数据寄存器(2)状态信号供CPU查询或向CPU申请TxRDY:发送器准备好表示发送器已准备好,通知CPU可以向8251发送数据。RxRDY:接收器准备好表示8251A已从它的串行输入端接受了一个字符,通知

CPU取走。TxE:发送器空SYNDET:同步字符检出内同步:输出外同步:输入(3)时钟信号TxC:发送器时钟由外部波特率时钟发生器提供。RxC:接收时钟

由外部波特率时钟发生器提供。CLK:工作时钟由外部提供,在同步方式下,CLK>TxC、

RxC30倍,异步下为

4~5倍。TxD:发送数据线RxD:接收数据线(4)面向调制解调器信号DTR:数据终端准备好表示8251A准备好。DSR:数据装置准备好表示调制器已准备好,

CPU

通过读状态寄存器的D7位来检测。RTS:请求发送通知MODEM,8251A

要发送。由工作命令字的D5=1来设置。CTS:允许传送是MODEM对8251A的信号的响应,表示

8251A可以发送数据。一、8251A的引脚和内部结构23第9章串行通信接口

2、8251A的内部结构数据总线缓冲器D0~7读/写控制逻辑RESETCLKC/DRDWRCS调制控制DTRDSRRTSCTS发送控制TxDTxRDYTxEMPTTxC发送缓冲器接收控制RxDRxRDYSYNDETRxC接收缓冲器发送器接收器发送器:将待发送的并行数据转换成所要求的帧格式并加上校验位,然后在

TxC的作用下,由TxD引脚一位一位地串行发送出去。发送一帧后,

TxRDY=1,通知CPU发下一个数据。接收器:在接收时钟RxC作用下接收RxD引脚上的帧格式化串行数据并把转换为并行数据。同时将检错信息存于状态寄存器,供CPU处理。若无错时,将并行数据存入数据缓冲器,RxRDY=1,通知CPU取数。24第9章串行通信接口

操作口地址210H、211H8251A读/写操作

CSC/DRDWR0001010100100110

CPU从8251读数据CPU从8251读状态CPU写数据到8251CPU写命令到8251210H211H210H211H25第9章串行通信接口

二、8251A的命令字和状态字1、方式命令字波特率系数00—同步方式01—异步×110—异步×1611—异步×64Y同步控制X0—内同步X1—外同步0X—两字符1X—单字符N帧控制00—不用01—1个停止位10—1.5停止位11—2个停止位奇偶校验X0—无校验01—奇校验11—偶校验同步?字符长度00—5位01—6位10—7位11—8位D7D6D5D4D3D2D1D026第9章串行通信接口

例:在某异步通信中,数据格式采用8位数据位,1位起始位,

2位停止位,偶校验,波特因子为64,端口地址为210H

和211H,将方式命令字写入端口中。练习1:在某异步通信中,数据格式采用8位数据位,1位起止位,奇校验,内部对波特率时钟进行16分频,端口地址为210H和211H,将方式命令字写入端口中。练习2:若8251方式控制寄存器的内容11111110B(FEH)时,那么异步字符长度,奇偶校验类型和停止位数目各是多少?练习3:规定8251A内步方式,同步字符为2个,用奇校验,

7个数据位。写出方式命令字。27第9章串行通信接口

2、工作命令字D7D6D5D4D3D2D1D0EHIRRTSERSBRKRXEDTRTXEN确定8251A的实际操作,迫使8251A处于某种工作状态,以便接收或发送数据。搜索同步字符发送允许数据终端准备好接收允许发中止字符错误标志复位发送请求内部复位例:允许8251A的发送器和接收器工作,并实现差错复位的功能。写出8251A的工作命令字28第9章串行通信接口

3、状态字D7D6D5D4D3D2D1D0DSRSYNDETFEOEPETXERXTDYTXRDYCPU可通过IN指令获取状态寄存器的内容,来了解8251A的当前工作状态。数据设备准备好发送准备好接收准备好发送器空奇偶错溢出错格式错同步检测例:检查8251A是否接收到一个字符,若接收到,存于BL寄存器。写出完成上述功能的程序段(210H、211H)29第9章串行通信接口

例:检查8251A是否接收到一个字符,若接收到,存于BL寄存器。写出完成上述功能的程序段。SCAN:INAL,211HTESTAL,02HJZSCANINAL,210HMOVBL,AL30第9章串行通信接口

三、8251A初始化流程图8251A初始化编程步骤:(1)向控制口写入1~3个0;(2)向控制口写入40H,使芯片内部复位;(3)向控制口写入方式命令字,设工作方式、波特因子和帧数据结构;(4)向控制口写入工作命令字。系统复位写入方式命令字写入第一个同步字符写入第二个同步字符写入工作命令字数据传输YYYNN异步单同复位N31第9章串行通信接口

上图所示电路利用8251实现CPU与I/O

的操作,下面程序完成的功能是:连续地从RS-232C接口读取串行字符,将接收的字符取反,然后将其送回RS-232C接口。接收和发送的每个字符的长度为8位,使用2个停止位,无奇偶校验。将下面的程序段填写完整。Clock=19.2kHzTxDRxDresetCSA9A8A2IOWIORA0RDWRC/D=1D0~D7与门A7A6A5A4A3A132第9章串行通信接口

INT8251:MOVAL,();写工作命令字

MOVDX,()

OUTDX,ALMOVAL,();写方式命令字

OUTDX,ALMOVAL,();写工作命令字

OUTDX,ALCHRRX:INAL,DX;检查是否接收到一个字符

RORAL,1RORAL,1JNCCHKRXMOVDX,()INAL,DX;若接收到一个字符

NOTAL;把接收到的字符求反

MOVBL,AL;暂存CHKTX:MOVDX,()INAL,DX;检查是否能发送字符

RORAL,1JNCCHKTX;若不能发送返回CHKTXMOVAL,BL;发送已求反的字符

MOVDX,()

OUTDX,ALJMPCHKRX211H15H210H211H210H0EEH40H33第9章串行通信接口

四、8251A串行通信举例1AB+5V8MHZ2×393Q18253GATE2CLK2OUT22×3938251D0~7C/DA0RxCTxCCSCSI/O口地址译码器208H~20FH210H~217H+5VTxDRxD34第9章串行通信接口

在主机屏幕上显示10行测试电文:THEQUICKBROWNFOXJUMPSOVERLAZYDOG(1)采用查询方式,完成电文的发送和接收;(2)帧数据格式中包括8个数据位,1个停止信,无校验传送,波特因子取16;(3)使用8251A完成数据的发送和接收,无联络信号,差错复位;(4)2号计数器工作在方式波发生器方式,计数初始值为104;为下面的程序段的每条语句标明注释。35第9章串行通信接口

DATASEGMENTMESGDB‘TEST8251TXD---RXD’,0DH,0AH,’$’TEXTDB‘THEQUICKBROWNFOXJUMPSOVERLAZYDOG’,0DH,0AHLENSEQU$-TEXTERRORDB0DH,0AH,‘8251BAD!$’C_8251EQU211HD_8251EQU210HC_8253EQU20BHD_8253EQU20AHDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDX,AXCALLI8253CALLI8251MOVAH,()MOVDX,OFFSETMESG936第9章串行通信接口

INT21HMOVCH,AGAIN:MOVCL,LENSMOVBX,OFFSETTEXTTSCAN:MOVDX,C_8251INAL,DXTESTAL,()JZTSCANSEND:MOVAL,[BX]MOVDX,D_8251OUTDX,ALMOVSI,0RSCAN:MOVDX,C_8251INAL,DXTESTAL,()JNZREVEICEJMPNEXT

REVEICE:MOVDX,D_8251INAL,DXMOVAH,0EHINT10H;()INCBXDECCLJNZTSCANDECCHJNZAGAINJMPEXITNEXT:MOVAH,9MOVDX,OFFSETERRORINT21HEXIT:MOVAH,4CHINT21H

1001H02H37第9章串行通信接口

I8253PROCMOVDX,C_8253MOVAL,0B6HOUTDX,ALMOVDX,D_8253MVOAL,104OUTDX,ALMOVAL,AHOUTDX,ALRETI8253ENDPDELAYPROCPUSHCXPUSHDXMOVAH,86HMOVCX,0MOVDX,1000INT15HPOPDXPOPCXRETDELAYENDPI8251PROCMOVCX,3AGA:MOVAL,()MOVDX,C_8251OUTDX,ALCALLDELAYLOOPAGAMOVAL,()OUTDX,ALCALLDELAYMOVAL,()OUTDX,ALCALLDELAYMOVAL,()OUTDX,ALRETI8251ENDPCODEENDS

ENDBEG040H4EH15H38第9章串行通信接口

8251A串行通信举例2AB+5V8MHZ2×393Q28253GATE2CLK2OUT22×3938251D0~7C/DA0RxCTxCCSCSI/O口地址译码器208H~20FH210H~217H+5VTxDRxD39第9章串行通信接口

用8253计数器产生8251的发送和接收时钟,TxD

RxD连在一起(自发自收)。编程:从键盘输入一个字符,将其ASCII码加1后发送出去,再接收回来在屏幕上显示,实现自发自收。

8253计数器的计数初值=时钟频率/(波特率×波特率因子)时钟频率接

Q2,波特率选1200,波特率因子选16,计数器初值为52。40第9章串行通信接口

DATASEGMENTMES1DB‘YOUCANPLAYAKEY!’,0DH,0AH,‘$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAOUT1PROCNEAROUTDX,ALPUSHCXMOVCX,400HGG:LOOPGGPOPCXRETOUT1ENDPSTART:MOVAX,DATAMOVDS,AXMOVDX,20BH;(MOVAL,96HOUTDX,AL)设置8253计数器2工作方式,计数器0工作在方式3,只写计数初始值低8位,二进制计数。41第9章串行通信接口

MOVDX,20AH;(

温馨提示

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

评论

0/150

提交评论