微机原理与接口技术10_第1页
微机原理与接口技术10_第2页
微机原理与接口技术10_第3页
微机原理与接口技术10_第4页
微机原理与接口技术10_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第10章:串行通信串行通信基础串行异步通信接口芯片8250串行通信程序设计串行通信接口芯片8251A串行通信的特点同步异步通信的特点、异步通信的帧格式、波特率、串行数据传输方式8251A的特点

本章重点并行通信

多位二进制数据可以同时传输;提高数据传输的效率;每一位都要有自己的传输线和发送接收器件。串行通信

在单根导线上将二进制数一位一位顺序传送;传输线少,成本低,传输距离远。通信基本方式

所有串行通信都需要一个时钟信号来作为数据的定时参考。发送器和接收器用时钟来决定何时发送和读取每一个数据位。根据传输时采用的是统一时钟还是本地局部时钟,分:异步通信同步通信串行通信异步通信一个帧0/1奇偶校验起始位0停止位1、1.5、2位10/10/10/10/10/10/10/1低位高位有效数据5~8位以“字符”为单位;用起始位和停止位来完成收发;起始位为“0”,停止位为“1”;

两个字符间的传输间隔是任意的;起始位与停止位之间用空闲位隔开。帧错误

停止位发生错误校验错校验位发生错误溢出错前一字符还未取走,后一字符已经到来。异步通信常见错误同步通信同步字符数据CRC1CRC2一帧(单同步)同步字符同步字符数据CRC1CRC2(双同步)一帧以“数据块”为基本单位;

靠“同步字符”来完成收发同步;

将许多字符组成一个信息组(称为帧),字符一个接一个地传输,在每帧的开始处加上同步字符,没有信息传输时,填上空字符,同步传输不允许字符与字符之间有间隙。

需使用同一时钟作为发送接收设备的同步信号。异步与同步的区别异步串行通信同步串行通信在通信的数据流中,字符间异步,字符内各位间同步。使用多个时钟。在通信的数据流中,字符与字符之间以及字符内部的位与位之间都必须保持同步。需使用一个时钟。信息传送单位(1帧数据)为1个字符,即1帧数据中只包括1个字符的有效数据。字符与字符之间通信没有严格定时要求。信息传送单位(1帧数据)为数据块(字符块),即1帧数据中包括1个或多个字符的有效数据。传输方式发送器接收器发送器/接收器发送器/接收器发送器/接收器发送器/接收器单工方式如:广播、有线电视半双工方式如:对讲机全双工方式如:电话通信协议通信双方对数据传送控制的一种约定。约定中包括对数据格式、同步方式、传送速率、传送步骤、检纠错方式以及控制字符定义等问题作统一规定。通信双方必须共同遵守。通信协议波特率波特率(通信速率)每秒钟传送0、1代码的位数。单位:波特

1波特=1位/秒(1bps)常用波特率:

110、300、600、1200、2400、48009600、19200收发双方的通信速率必须一致。波特率与时钟频率同步通信

收/发时钟频率=波特率异步通信收/发时钟频率=n*波特率(n为波特率系数,取1,16,64)例:某系统利用8251A芯片发送字符,字符格式由1个起始位、奇校验、8位数据位、1个停止位组成,波特率为2200。试问:(1)该系统每分钟发送字符多少个?(2)若波特率因子为16,求发送的时钟频率?接口标准:RS-232C

连接器:外形为25针或9针的D型RS-232C电平:负逻辑

“1”:-3V~-15V

“0”:

+3V~+15VTTL电平:正逻辑

“1”:3.6V~

5V

“0”:

0V~

2.4V电平转换:

TTL→RS232:MC1488RS232→TTL:MC1489调制:将数字信号转换为模拟信号解调:将模拟信号转换成数字信号调制解调器(MODEM):既调制,又解调方法:根据载波Acos(t+)的三个参数:幅度、频率、相位,产生常用的三种调制技术:1.

振幅键控

Amplitude-ShiftKeying(ASK)2.

频移键控

Frequency-ShiftKeying(FSK)3.

相移键控

Phase-ShiftKeying(PSK)信号的调制解调8251A8251A是通用串行接口;是可编程的同步/异步、接收器/发送器。

两个命令字:方式选择命令字、工作命令字一个状态字方式选择命令字仅仅对8251A的工作方式做了规定,并不能使其启动工作。因此在方式选择命令字后必须写入一个工作命令字,以便接收和发送数据。两个命令字在对8251A初始化编程时必须完成,否则芯片将不工作。两个命令字都写入同一控制口,无特征位,所以必须按顺序完成。8251A命令字方式选择命令字D7D6D5D4D3D2D1D0通信方式与波特率选择00:同步01:异步110:异步1611:异步64数据长度00:5位01:6位10:7位11:8位同步/帧控制D1D0≠00时:00:不确定01:1个停止位10:1.5个11:2个停止位奇偶校验×0:无01:奇校验11:偶校验例:某系统利用8251A芯片传送字符,字符格式由1个起始位、奇校验、8位数据位、1个停止位组成,波特率为2200,时钟频率为35.2kHz。确定方式选择命令字。工作命令字初始化是在芯片复位的前提下进行的,所以需先向控制口写入40H,令8251A复位。初始化写工作命令字时,一般定工作命令字为:

00010101B(15H)D7D6D5D4D3D2D1D01:允许发送0:禁止发送TXENRXENERSBRKDTRRTSIREH1:允许接收0:禁止接收1:错误标志复位1:复位数据终端是否准备好1:发送终止字符0:正常工作1:发送请求1:搜索同步字符只用于内同步状态字为了监视和检查芯片的工作状态。D7D6D5D4D3D2D1D0发送准备好TXRDYRXRDYOEPEFESYNDETDSR发送器空溢出错同步检测接收准备好奇偶错格式错TXE数据设备准备好初始化编程步骤向控制口写入3个0保证芯片处于命令状态向控制口写入40H延时(>28*TCLK)写方式选择命令字写工作命令字令芯片复位返回空闲状态等待内部状态转换完毕确定工作方式及帧格式控制实际操作8251A举例设8251A工作在异步通信方式,字符为8位,偶校验,2位停止位,传输率为9600波特,发送接收时钟TxC和RxC接153.6kHz,8251A端口地址为C0H、C2H。初始化编程如下:波特率系数=153600/9600=16由于是异步方式,因此只需要向8251送方式选择字(奇地址端口)和工作命令字(奇地址端口)方式选择字为:

11111110:

2位停止位,偶校验,8位数据,系数16举例工作命令字:要求首先复位所有出错标志,请求发送/RTS有效,数据终端就绪/DTR有效,发送允许TxEN有效,接收允许RxE有效(全双工)。

即工作字为:001

10111外同步内部复位RTS有效复位出错标志不发连续空号RxE有效DTR有效TxEN有效由于8251端口地址为C0H、C2H,因此,8251的偶地址是C0H,奇地址实际上是C2H

初始化编程为:

MOV AL, 1111,1110B OUT 0C2H, AL MOV AL, 0011,0111B OUT 0C2H, AL8251A举例例2:查询8251A状态字,实现异步方式串行接收100个数据,放入BUFFER缓冲区,接收完后,发送一个结束标志字符给对方。通信格式同例1。解:8251编程约定,在初始化之前,先送3个0到奇地址,再送40H将8251A复位,之后,才进行初始化设置。要用软件不断检测RxRDY标志位(读奇地址),看是否接收到一个字符;若接收到字符,还要判断标志字的3、4、5位,看是否出现奇/偶错、覆盖错和帧格式错;若无错,则读偶地址,接收一个数据,读取一个数据后,RxRDY会自动复位。发送时,首先判断状态字中的TxRDY是否为1(发送缓冲器空),若为1,则输出一个数据(通过偶地址口)8251A举例8251A初始化读状态寄存器RxRDY=1?接收数据数据出错?读状态寄存器数据接收完?错误处理读状态寄存器TxRDY=1?发送结束符结束是是是是否否否8251A举例程序如下:

XOR AL,AL ;AL清0 OUT 0C2H,AL CALL DELAY ;调用延迟子程序

OUT 0C2H,AL CALL DELAY OUT 0C2H,AL CALL DELAY MOV AL,0100,0000B ;8251内部复位命令字

OUT 0C2H,AL CALL DELAY MOV AL,1111,1110B ;8251A初始化

OUT 0C2H,AL MOV AL,0011,0111B OUT 0C2H,AL

LEA BX,BUFFER ;接收缓冲区首地址

MOV DI,0 MOV CX,100 ;计数初值口)INCHR:IN AL,0C2H ;读状态字

TEST AL,00000010B ;测试RxRDY位

JZ INCHR ;未收到数据,继续接收

IN AL,C0H MOV [BX][DI],AL ;放入BUFFER INC DI IN AL,0C2H ;再读状态字

TEST AL,00111000B ;测试PE、OE、FE JNZ ERR ;刚才接收到的数据出错,出错处理

LOOP INCHR ;循环直到接收完100个数据TRANS:IN AL,0C2H ;接收结束,读状态字准备发送数据

TEST AL,00000001B ;判断TxRDY JZ TRANS MOV AL,’E’ ;发送结束标志字符‘E’ OUT 0C0H,AL JMP EXITERR: CALL ERRPRO8251A举例编写8251异步模式下的发送和接收程序:完成256个字符的发送和接收;设端口地址:208H,209H;波特率因子16,1个停止位,无奇偶校验,每字符8位。发送程序

MOVDX,209HMOVAL,01001110B ;方式选择命令字

OUTDX,ALMOVAL,00110111B;工作命令字

OUTDX,ALMOVCX,256 ;发送256字节NEXT:MOVDX,209HINAL,DX

温馨提示

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

评论

0/150

提交评论