微机原理第十一章.ppt_第1页
微机原理第十一章.ppt_第2页
微机原理第十一章.ppt_第3页
微机原理第十一章.ppt_第4页
微机原理第十一章.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第11章串行通信11 1串行通信概述11 1 1串行通信的特点在串行通信中 只用一根通信线在一个方向上传输信息 这根线上既要传送数据信息又要传送联络信息 这是串行通信的首要特点 为了能够识别在一根线上串行传送的信息流中 哪一部分是联络信息 哪一部分是数据信息 就需要通信双方事先作出一系列的通信约定 这就是协议 因此 串行通信的第二个特点是它的信息格式必须事先用协议约定 11 1 2串行通信的基本概念1 数据通信方式串行通信中 数据通常是在两个站 如终端和微机 之间进行传送 按照同一时刻数据流的方向可分成三种基本传送模式 全双工 双工和单工传送 如图11 1所示 见下页 图11 1数据通信的三中传送模式 2 串行通信方式根据同步方式的不同 串行通信可分为异步通信方式和同步通信方式 1 异步通信方式异步通信方式的特点是每发送一个字符前先发送起始位 发送完字符后再发送结束位 以此作为双方同步的依据 这种方式对硬件要求较宽松 电路简单 但传输效率不高 2 同步串行通信方式同步串行通信方式中一次连续传输一块数据 开始前使用同步信号作为同步的依据 由于连续传输一个数据块 故收发双方时钟必须相当一致 否则时钟漂移会造成接收方数据辨认错误 这种方式下往往是发送方在发送数据的同时也通过一根专门的时钟信号线同时发送时钟信息 接收方使用发送方的时钟来接由数据 同步串行通信方式传输效率高 但对硬件要求高 电路结构复杂 3 串行通信协议常采用的通信协议有两类 异步协议和同步协议 1 起止式异步协议起止式异步协议一帧数据的格式如上图所示 由上述工作过程可以看到 异步通信是按字符传输时 每传送一个字符是用起始位来通知收方 以此来重新核对收发双方同步 起止式协议一般用在数据速率较低的场合 小于19 2kbit s 在高速传送时 一般要采用同步协议 2 同步协议同步协议又有面向字符和面向比特两种 4 信息的校验方式 1 奇偶校验 2 循环冗余码校验CRC5 波特率并行通信中 传输速率是以每秒传送多少字节 Byte s 来表示 而在串行通信中 是用每秒传送的位数即波特率 bps Bit s 来表示 因此 1bps 1位 秒 6 信号的调制与解调进行长距离传输时 需要在发送端将数字信号转换成适合电话网传输的模拟信号 这一过程称为 调制 在接收端将电话网上传输的模拟信号还原成原来的数字信号 这一过程 称为 解调 11 1 3串行接口概述1 串行接口基本功能串行接口基本功能如下图所示 2 异步串行通信接口基本结构异步串行通信接口也称为异步接收发送器 简称UART 典型的异步通信接口 UART基本 结构如图11 5所示 见下页 3 异步串行通信接口的错误下面简单介绍异步串行通信常见的错误 1 奇偶校验错2 帧出错3 溢出错 11 2RS 232C串行接口标准11 2 1电气特性RS 232C对电气特性 逻辑电平和各信号线功能都作了规定 1 电平规定对于数据发送TxD和数据接收RxD线上的信号电平规定为 逻辑1 MARK 3 15V 典型值为 12V 逻辑0 SPACE 3 15V 典型值为 12V 对于RTS CTS DTR和DCD等控制和状态信号电平规定为 信号有效 接通 ON状态 3 15V 典型值为 12V 信号无效 断开 OFF状态 3 15V 典型值为 12V 2 电平转换图11 6为EIA RS 232C与TTL电路之间进行电平转换的示意图 见下页 3 传输距离及通信速率 RS 232C标准规定 DTE和DCE之间最大传输距离为15m 传输数据速率不能高于20Kbps 图11 6EIA RS 232C与TTL电路电平转换 11 2 2接口信号功能1 连接器最常用的RS 232C连接器是DB 9型连接器 如下图所示 2 RS 232C的接口信号信号含义 请求发送RTS Requesttosend 此信号表示DTE请求DCE发送数据 允许发送CTS Cleartosend 此信号表示DCE准备好接收DTE发来的数据 数据装置准备好DSR DataSetReady 此信号有效 ON状态 时表明MODEM处于可以使用的状态 数据终端准备好DTR DataTerminalReady 此信号有效 ON状态 时表明数据终端可以使用 载波检出DCD DataCarrierDetection 此信号用来表示DCE已接通通信信道 通知DTE准备接收数据 振铃指示RI Ringing 当MODEM检测到线路上有振铃呼叫信号时 使该信号有效 ON状态 发送数据TxD TransimittedData 通过TxD线计算机将串行数据发送到DCE 接收数据RxD ReceivedData 通过RxD线计算机接收从DCE送来的串行数据 GND 地 11 2 3信号线的连接1 远距离连接远距离连接需要加调制解调器MODEM 如图11 8所示 图11 82 近距离连接近距离连接不用MODEM 如下图所示 11 3异步通信接口芯片825011 3 1INS8250的结构和外部特性INS8250的内部结构如图11 10所示 其引脚如图11 11所示 见下页 INS8250的引脚除了电源线VCC 5V 地线 GND 和一个空脚 NC 外 其余可分为二大类 与CPU系统总线相连的信号和与通信设备MODEM相连的信号 1 系统的引脚信号D7 D0 8位双向三态数据线 CS0 CS1 2 片选输入信号 A2 A0 地址输入信号 ADS 地址选通信号输入 CSout 片选输出 DISTR DISTR 数据输入选通信号 DOSTR DOSTR 数据输出选通信号 DDIS 驱动器禁止信号 输出 MR 主复位信号输入 高电平有效 INTRPT 中断请求信号输出 高电平有效 图11 10INS8250的内部结构图 图11 11INS8250引脚图 2 对外部设备的引脚RTS CTS DTR DSR RLSD RI 这6个引脚分别与RS 232C的RTS CTS DTR DSR DCD RI信号对应 只是有效电平不同 SIN SOUT 串行数据输入 串行数据输出引脚 对应于RS 232C中的RxD与TxD引脚 OUT1与OUT2 用户编程指定输出端 XTAL1 XTAL2 时钟输入信号和时钟输出信号 BAUDOUT 波特率输出 输出8250的发送时钟信号 发送时钟频率 XTAL1端输入信号频率 波特率除数寄存器的值发送波特率 发送时钟频率 16RCLK 接收器时钟输入 由该引脚输入接收时钟信号 11 3 2INS8250的寄存器8250内部有10个可编程的单字节寄存器 这10个寄存器实际只占用了7个端口地址 情况如表11 1所示 见课本 1 波特率因子寄存器 DLL DLH 波特率因子寄存器用于存入波特率因子 波特率因子是一 个数字 系统时钟除以波特率除数得到波特率 设外部时钟频率为f 而8250所要求的波特率为F 则波特率除数可由以下公式求出 波特率除数 f F 16 2 通信线路控制寄存器 LCR 通信线路控制寄存器 LCR 各位意义如下图所示 3 通信线路状态寄存器 LSR 通信线路状态寄存器 LSR 各位含义如下图所示4 中断允许寄存器 IER 中断允许寄存器IER控制格式如下图所示 5 中断识别寄存器 IIR 中断识别寄存器格式如图11 15所示 见下页 图11 15中断识别寄存器格式6 调制解调器控制寄存器 MCR MODEM控制寄存器MCR的格式如图11 16所示 见下页 图11 16MODEM控制寄存器MCR的格式7 MODEM状态寄存器 MSR MODEM状态寄存器的格式如图11 17所示 见下页 图11 17MODEM状态寄存器格式8 发送保持寄存器 THR 和接收缓冲寄存器 RBR 发送时 CPU首先将待发送的字符写到8250的发送保持寄存器THR中 然后进入发送移位寄存器 在发送时钟的作用下 从SOUT引脚输出 接收时 串行数据在接收时钟作用下 从SIN引脚先输入到接收移位寄存器RSR 然后由RSR并行输入到接收缓冲器RBR 一旦RBR变满 将LSR的DR位置 1 产生中断请求 要求CPU读取数据字符 11 3 3INS8250的编程1 编程步骤异步通信编程一般有三个部分 初始化串行通信口 发送字符以及接收字符 初始化串行通信口编程的内容是 确定数据传输帧格式 包括数据位长度 停止位长度及有无奇偶校验和校验的类型 确定传输波特率以及确定8250操作方式 操作方式是指采用自发自收的循环反馈通信方式 还是程序查询方式传送或者中断方式传送 串行口初始化过程需要设置波特率除数寄存器 线路控制寄存器和中断允许寄存器 如使用MODEM进行通信 还 要设置调制解调器控制寄存器 8250即使在查询方式下工作 也应设置中断允许寄存器 置0 以确保中断禁止 若以查询方式工作 CPU不断读取线路状态寄存器 以获取串行口状态信息 从而判断是否可以发送数据或是否收已到数据需要取走 若以中断方式工作 在初始化中断允许寄存器时将第0 3位中某一位或几位置1 则对应的条件发生时8250将向CPU发送中断请求信号 当引发中断的条件在二个或二个以上时 在中断服务程序内必须断别是何种原因引发的中断 以便确定处理方法 为此 需要读取中断标识寄存器 其标志位指明了中断的原因 值得注意的是 在PC机内中断控制器8259A被初始化为普通结束方式 故硬件中断的中断服务程序在结束前必须给8259A发中断结束命令 即执行如下两条指令 MOVAL 20HOUT20H ALPC机中有二个独立的串行口COM1和COM2 这二个串行口 各对应一片8250 其各自的端口地址已在表11 1中列出 若使用中断方式工作 COM1的中断请求信号接在8259A的IRQ4引脚 中断类型码为0CH COM2的中断请求信号接在8259A的IRQ3引脚 中断类型码为0BH 另外 PC机的异步通信适配器中INTRPT的输出受控于OUT2 只有OUT2 0 INTRPT的输出才能到达8259A的IRQ引脚 2 查询方式通信示例例11 1编制以查询方式实现双机串行通信的程序 要求如下 将通信协议设置为 传输率1200波特 8位数据位 偶校验和1个停止位 CPU以查询方式工作 通信双方以全双工方式工作 每方均可以随时向对方发送数据 也可以随时接收对方发来的数据 通信的硬件连接图如图11 9 a 所示 该图前面已经画出 程序流程见图11 18所示 见下页 程序见课本 图11 18例11 1流程图 本程序同时具有收发功能 在参加通

温馨提示

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

最新文档

评论

0/150

提交评论