串行输入输出有关知识.ppt

上传人:sh****n 文档编号:7439567 上传时间:2020-03-21 格式:PPT 页数:74 大小:862KB
返回 下载 相关 举报
串行输入输出有关知识.ppt_第1页
第1页 / 共74页
串行输入输出有关知识.ppt_第2页
第2页 / 共74页
串行输入输出有关知识.ppt_第3页
第3页 / 共74页
点击查看更多>>
资源描述
第八章串行输入 输出接口 概述串行通信的实现串行通信的基本术语可编程串行通讯接口芯片8251A简介串行通信RS 232CUSB总线简介 8 1概述 一 串行数据计算机与外部信息交换方式有两种 一种是并行通信 另一种是串行通信 并行通信时 数据各位同时传送 而串行通信时 数据和控制信息是一位接一位串行地传送下去 这样 虽然速度会慢一些 但传送距离比并行通信长 硬件电路也相应简单些 现在的台式PC机一般至少有两个RS 232串行口COM1和COM2 通常COM1使用的是9针D形连接器 而COM2使用的是老式的DB25针连接器 二 串行通信的实现 1 并行通信和串行通信的特点 串行通信是逐位传送数据 所以一个多位数据需要多次传送 比如一个8位的字节型数据至少需要8次传送 它有如下特点 速度较慢 引线少 距离长 2 串行通信的硬件条件在硬件上 串行通信系统的核心部件是移位寄存器 其中在发端要有一个并入串出移位寄存器 在收端要有一个串入并出移位寄存器 001100000 000110000 000010001 D7 D0 3 串行通信的同步为了可靠的串行通信 同步信号起到至关重要的作用 在理想情况下 同步信号应该在数据信号线上出现有效数据期间的中心点有效 因为这时数据线上的数据是最稳定的 但在典型的串行通信系统中 是不存在同步信号线的 如何实现串行通信的中数据传送的同步呢 系统从软件和硬件两方面采取了如下三个措施 1 设置波特率波特率是指单位时间内传送的位数 单位是比特 秒 2 设置数据的传送格式 一般地串行通信在传送数据时 并不是单纯地传送数据位信息 为了使数据传送可靠 还设定了其他一些辅助位 3 设置波特率因子在异步通信方式进行通信时 发送端需要用时钟来决定每1位对应的时间长度 接收端也需要用一个时钟来测定每1位的时间长度 前一个时钟叫发送时钟 后一个时钟叫接收时钟 这两个时钟的频率可以是波特率的数倍 一般取16倍 32倍或64倍 这个倍数就称为波特率因子 波特率 波特率因子 采样输入信号 8 2串行通信的基本技术 一 串行通信方式1 异步通讯异步通信是指以字符为单位传送数据 用起始位和停止位标识每个字符的开始和结束字符 两次传送时间隔不固定 2 同步通信异步通讯为了可靠地传送数据 在每次传送数据的同时 附加了一些标志位 在大量数据传送时 为了提高速度 就去掉这些标志 这就是同步通讯 采用同步传送 在数据块开始处要用同步字符来指示 并在发送端和接收端之间要用时钟来实现同步 二 串行通讯中的数据传送方向1 半双工每次只能有一个站发送 2 完全双工两个站都能同时发送称完全双工 三 异步接收 发送器 UART 串行接口的基本结构主要是异步接收 发送器 UART 它不仅包括并行数据和串行数据之间的相互转换 还有检测串行通信在传送过程中可能发生错误的逻辑部件 a 奇偶错误如上所述 在接收时 UART检查接收到的每一个字符的 1 的个数这个标志 发出奇偶校验出错信息 b 帧错误若接收到的字符格式不符合规定 如缺少停止位等 则置位该标志 发出帧出错信息 c 丢失 溢出 错误UART是一种双缓冲器结构 例如 在接收时 接收的数据先由移位寄存器移位 把串行数据变成并行数据 然后送到接收数据寄存器 由输入指令将数据送到CPU中 由于数据送到接收数据寄存器 所以即使CPU还没取走这个数据 UART也可以接收另一个新的字符 但若UABT接收到第二个字符的停止位 且要把第二个字符传送到接收数据寄存器时 CPU还没取走上一个数据 于是第一个数据会被丢失 如果UART出现这种情况就置位丢失 溢出 标志 发出丢失出错信息 四 信号的调制和解调由于模拟信号的传输比数字信号传输更为有效 因而可将数字信号调制成模拟信号进行传输 用解调器把接收的模拟信号再转换成数字信号 8 3可编程串行通讯接口芯片8251A简介 8251A芯片是INTEL公司生产的大规模集成电路芯片 是与INTEL系列CPU兼容的可编程的串行通讯接口 虽然8251A功能较强 但它需要外部时钟电路 因此采用8251A作为接口电路时需要比较复杂的外围电路 而目前流行的单片机如MCS51系列 CPU内部就集成了串行接口部件及定时器 计数器 几乎不需要外围辅助电路 使用起来非常简单 性能价格比很高 因此现在越来越多的数字化仪器仪表电路中不再采用8251A而是使用单片机作为串行通信接口了 一 主要基本性能1 可用于同步和异步传送2 波特率 DC 19 2K 异步 DC 64K 同步 3 完全双工 双缓冲发送和接收4 与8080 8085CPU完全兼容 二 内部结构 发送和接收电路 调制解调控制电路 总线接口部分 1 发送器a 数据输出线TxDb 发送时钟TxCc 发送器准备好TxRDYd 发送器空信号TxEMPY过程TxRDY有效 CPU写数据到8251 8251发数据 发送完毕 TxEMPY有效2 接收器a 数据输入线RxDb 接收时钟RxCc 接收器准备好RxRDY过程8251接数据 RxRDY有效 CPU读8251 3 调制解调控制电路 DTR 数据终端准备好信号 是由825IA送往外设的 表示CPU当前已经准备就绪 DSR 数据设备准备好 是外设送往825lA的 表示当前外设已经准备好数据 8251 Modem DTR DSR RTS 请求发送信号 是8251A送往外设的 表示CPU已经准备好发送 CTS 清除请求发送信号 由外设送往825lA的 当为低电平时 允许825lA执行发送操作 8251 Modem RTS CTS 4 读 写控制电路 三 8251编程 1 方式选择控制字 三 8251编程 1 模式寄存器的格式 方式选择控制字 时钟频率 波特率因子 波特率 RxCTxC OUTCLKGATE 5v 1MHz 8251 8253 如果波特率为1200 波特率因子为16 问计数初值 1200 16 2 控制寄存器的格式 操作命令控制字 接收 发射 3 状态寄存器的格式 状态控制字 读 四 举例 例 编写8251异步模式下的接收和发送程序 设端口地址 90H 92H 波特率因子16 1起始位 1停止位 无奇偶校验 每字符8位 RxCTxC OUTCLKGATE 5v 1 8432M 8251 8253 解 1 8253工作方式及计数初值工作方式mode38253输出频率 fout 9600 16 153600 153 6Kfclk 1MN 1000 153 6 6 51 不能用 fclk 1 8432MN 12 2 8251工作方式方式选择控制字 01001110 4EH 操作命令控制字 00110111 37H 3 程序8251初始化设置 a 先对825lA软件复位 一般采用先送3个0 再送1个40H的方法 这也是8251A的编程约定 40H可以看成是使8251A执行复位操作的实际代码 b 对8251A进行工作方式及操作命令设置 MOVAL 00H 复位8251OUT92H ALCALLDELAYOUT92H ALCALLDELAYOUT92H ALCALLDELAYMOVAL 40HOUT92H ALCALLDELAY 等待8251复位MOVAL 4EH 置工作方式OUT92H ALMOVAL 37H 操作命令OUT92H AL 发送 SENDDATPROC DL 要发送的数据CHKTXR INAL 92H 输入状态字ANDAL 01H 查TXRDYJZCHKTXRMOVAL DLOUT90H AL 发送RETSENDDATENDP接收 RECIDATPROC AL 接收的数据CHKRXD INAL 92H 输入状态字ANDAL02H 查RXRDY JZCHKRXDIN90H AL 发送RETRECIDATENDP 五 8250和16550速度8250 50 960016550 115200 RxCTxC OUTCLKGATE 5v 1 8432M 8251 8253 A0A1A2 允许访问除数寄存器MOVDX MY16550 3MOVAL 80HOUTDX ALCALLDALLY 波特率9600 波特率 1 8432 波特率因子 16 MOVDX MY16550 0 波特率低8位MOVAL 0CHOUTDX ALCALLDALLYMOVDX MY16550 1 波特率高8位MOVAL 00HOUTDX ALCALLDALLY 工作方式选择MOVDX MY16550 3MOVAL 1BH 偶校验 1位停止位 8位数据OUTDX ALCALLDALLY modem设置MOVDX MY16550 4 MCRMOVAL 03H RTS DTR有效OUTDX ALCALLDALLY 中断设置MOVDX MY16550 1 中断允许寄存器MOVAL 00H 中断屏蔽OUTDX ALCALLDALLY 00011011 发送TR MOVDX MY16550 5 发送保持寄存器检查LSRINAL DXANDAL 20HJZTRMOVDX MY16550 0MOVAL TXD data 发送数据OUTDX ALRET 接收REV MOVDX MY16550 5 查询接收INAL DXANDAL 01HJZREVMOVDX MY16550 0 接收数据寄存器INAL DXRET 8 4串行通信接口RS 232C 一 RS 232C电器特性及接口信号1 电气特性在数据线TXD和RXD上 逻辑1 3V 15V逻辑0 3V 15V在控制线和状态线RTS CTS DSR DTR和DCD上 信号有效 3V 15V信号无效 3V 15V 2 RS 232C与TTL转换RS 232C是用正负电压来表示逻辑状态 与TTL以高低电平表示逻辑状态的规定不同 因此 为了能够使计算机接口与终端的TTL器件连接 必须在RS 232C与TTL电路之间进行电平和逻辑关系变换 MAX232 3 RS 232C的接口信号可以用电缆线直接连接标准RS232端口 但通信距离较近 12m 若距离较远 可附加调制解调器 MODEM RS 232C规标准接口有25条线 最常用的信号线有9根 二 RS 232C应用举例1 RS 232C串口通信接线方法 三线制 2 BIOS串行通信口功能IBMPC及其兼容机提供了比较灵活的关于串行口的BIOS中断调用方法 即通过INT14H调用ROMBIOS串行通信口例行程序 该例行程序包括将串行口初始化为指定的字节结构和传输速率 检查控制器的状态 读写字符等功能 3 举例设通信双方有一台计算机为PC机 使用COM1端口 在串行通信中 必须首先设定通信双方所使用字符串的数据结构 才能进行软件编程 这里我们设数据在接收和发送的字符串中 序号为0的字节为数据长度 其后的字节为所接收的数据 接收数据子程序 receiveprocfar 这是接收数据子程序 出口AL AHrec check movah 3 读通讯口状态字movdx 0int14htestah 20H 测试数据准备好位jzrec check 数据未准备好 再读状态字movah 2 读通信端口数据movdx 0int14hretreceiveendp 发送数据子程序 sendprocfar 这是发送数据子程序 输入参数 AL 输出参数 AL AHpushaxsend check movah 3 读通讯口状态字movdx 0int14htestah 20h 测试 发送保存寄存器空 位jzsend check 发送保存寄存器满 再读状态字popaxmovah 2 发送数据movdx 0int14hretsendendp 8 5USB总线简介 一 USB的定义USB是UniversalSerialBus的缩写 中文意思就是 通用串行总线 是连接有USB接口的计算机外围设备到计算机的一种计算机外部总线结构 二 USB的开发背景制定了USB的规范 1 连接PC与电话 2 Plug and Play 即插即用 3 端口扩展 USB提供双向低成本低速到中速 USB2 0可达480Mb s 的通用外设总线适用于连接各种各样的外设并且易于扩展 三 USB的变革至目前为止 USB共经历以下几次重大变革 0 7版本于1994年11月11日发布 是USB的最早版本 1 0版本于1995年11月13日制定发布了 规定USB具有2种传输速度Low speed1 5Mb s Full speed12Mb s 1 1版本于1998年9月23日制定了1 1规格版本 速度不变 2 0 草案 版本于1999年10月5日发布 制定了High speed的概念 规格 2 0版本于2000年4月27日发布 四 USB系统拓扑结构 五 USB的特点1 USB为所有的USB外设提供了单一的 易于操作的标准的连接类型 2 USB整个的系统只有一个端口和一个中 3 USB支持热插拔 hotplug 4 USB支持PNP 5 USB在设备供电方面提供了灵活性 6 USB提供全速12Mbps的速率和低速1 5Mbps的速率来适应各种不同类型的外设 USB2 0还支持480Mbps的高速传输速率 7 USB2 0的High speed模式支持音频和视频设备 可以保证其固定带宽 8 为了适应各种不同类型外围设备的要求USB提供了四种不同的数据传输类型 控制传输 Bulk数据传输 中断数据传输 同步数据传输 同步数据传输可为音频和视频等实时设备的实时数据传输提供固定带宽 9 USB的端口具有很灵活的扩展性 一个USB端口串接上一个USBHub就可以扩展为多个USB端口 规范中说 USB可以扩展到127个外设端口 六 USB工作原理 1 NRZI编码 2 分组传送USB技术和IP技术一样 都是基于分组传送方式的 对USB总线来讲 当要传送一个文件时 程序按照USB协议 首先把数据分成若干块 然后在每块数据前面添上同步信号 包标识 后面添上CRC校验 就形成了USB封包 一个文件可能可能有多个封包 全速USB总线把1毫秒作为一个时间帧 总线在一个帧内依次传送不同文件的封包 因此从宏观上 就仿佛总线同时对不同的USB外设进行数据传送 3 USB封包根据信息包所实现的功能可分为3种类型 令牌包 数据包和握手包 令牌包定义了数据传送的类型 比如图所示 七 USB传输方式 1 USB的四种传输方式 1 同步 isochronous 方式传输同步传输提供了确定的带宽和间隔时间 以固定的传输速率 连续不断地在主机与USB设备之间传输数据 在传送数据发生错误时 USB并不处理这些错误 而是继续传送新的数据 它被用于时间严格并具有较强容错性的流数据传输或者用于要求恒定的数据传输率的即时应用中 2 中断传输方式 Interrupt 该方式传送的数据量很小 但这些数据需要及时处理 以达到实时效果 此方式主要用于定时查询设备是否有中断数据要传输 3 控制传输方式 Control 控制传输是双向传输 数据量通常较小 用来处理主机到USB设备的数据传输 包括设备控制指令 设备状态查询及确认命令 4 批 Bulk 传输方式主要应用在数据大量传输和接受数据上 同时又没有带宽和间隔时间要求的情况下 要求保证传输正确无误的数据 2 USB设备类型 八 USB设备列举 在USB规范中有一个非常重要的 动作 或 过程 这个动作将会让PC机知道何种USB设备刚接上以及其所含的各种信息 这样 PC机就可以与这个USB设备开始进行数据传输的工作了 这个动作称之为设备列举 enumeration 1 USB描述符在设备列举过程中 USB设备向主机传送了一个重要的信息 使主机知道了这个设备是 谁 并启动了该设备的驱动程序 这个信息就是USB描述符 2 设备列举设备列举包含两方面的功能 一是主机搜集USB设备的信息 也就是USB描述符 另一个是主机根据USB描述符对设备进行配置 比如USB设备地址设置 USB设备各端点数据传输方式设置
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!