串并行通信和接口技术.ppt_第1页
串并行通信和接口技术.ppt_第2页
串并行通信和接口技术.ppt_第3页
串并行通信和接口技术.ppt_第4页
串并行通信和接口技术.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第6章串并行通信和接口技术 6 1串行接口和串行通信 基本的通信方式有两种 并行通信 数据的各位同时传送 串行通信 数据一位一位顺序传送 6 1 1串行通信涉及的几个问题 在串行通信中引出了一系列的约定和概念 双方约定以何种速率进行数据的发送和接收 波特率 约定采用何种数据格式 帧格式 如果包含控制信息 其定义是什么 接收方如何得知一批数据的开始和结束 帧同步 接收方如何从位流中正确地采样到位数据 位同步 接收方如何判断收到数据的正确性 数据校验 收发出错时如何处理 出错处理 1 串行通信的特点 串行通信 通信线路简单 适用于远距离通信 但传输速度慢 6 1 1串行通信涉及的几个问题 2 数据传送方向 接收和发送用同一的通路 接收和发送用不同通路 6 1 1串行通信涉及的几个问题 同步通信同步通信是以数据块 字符块 为单位传送的 形成一帧数据 作为一个整体进行发送与接收 因此 每一帧的开始需加同步字符 它要求有时钟来实现发送端与接收端之间的同步 故而硬件复杂 3 两种基本形式 6 1 1串行通信涉及的几个问题 异步通信异步通信以一个字符为传输单位 用起始位表示字符的开始 用停止位表示字符结束 6 1 1串行通信涉及的几个问题 同步通讯 字符间和字符内部的位与位之间都需要严格同步 所以收发双方需用同一个时钟源 异步通讯 以字符为单位 传输时字符间可以异步 字符内部各位同步 所以收发双方不需要同一时钟源 只需用同频率的收发时钟 6 1 1串行通信涉及的几个问题 串行传输速率也称波特率 BaudRate 每秒传输的二进制位数bps 4 串行通信的传输率 例 异步传输过程假如数据传送的速率是120字符 秒 设每个字符对应1个起始位 7个信息位 1个奇偶校验位和1个停止位 则波特率为1200bps每一位的传送时间即为 Td 1 1200 0 833 ms 6 1 1串行通信涉及的几个问题 异步通讯中 二者的关系为 发送 接收时钟频率 n 发送 接收波特率其中n称为波特率因子 一般n 16 32 64 例2 要求异步通讯传输速率为1200bps当选择n 16时 表明一位数字信号中有16个时钟脉冲 故发送 接收时钟频率为 1200 16 19 2kHz 5 时钟频率 同步通讯中 接收和发送的波特率分别和发送 接收时钟的频率相等 6 信号的调制和解调计算机通信是一种数字信号的通信 如下图所示 在进行远程数据通信时 通信线路大多数借用电话线传送 为此 在发送时需要将数字信号 二进制信号 调制成适合在电话线上传输的音频信号 在接收时 需要解调还原成数字信号 6 1 1串行通信涉及的几个问题 6 1 1串行通信涉及的几个问题 要用调制器 Modulator 把数字信号转换为模拟信号 用解调器 Demodulator 检测此模拟信号 再把它转换成数字信号 6 1 1串行通信涉及的几个问题 7 串行通信接口标准 EIARS 232C 控制信号的定义 6 1 1串行通信涉及的几个问题 信号电平标准 EIARS 232C 6 1 1串行通信涉及的几个问题 计算机和远方以及当地终端 用查询方式交换信号 的连接的示意图如下 6 1 2串行接口 微型计算机与I O设备的接口按照数据传送格式的不同 可分为并行接口和串行接口两种 实现并行通信的接口就是并行接口实现串行通信的接口就是串行接口 6 1串行接口和串行通信 可编程串行接口的典型结构 6 2可编程串行通信接口8251A 可以工作在同步或异步方式 在同步方式时 能用5 6 7或8位代表字符能自动检测同步字符 允许奇偶校验 在异步方式下能用5 6 7或8位代表字符 用1位作为奇偶校验 能增加1个启动位能增加1个 1 5个或2个停止位 波特率 异步最高为19 2K 同步最高为64K 完全双工 双缓冲器发送和接收器 错误检测 具有奇偶 溢出和帧错误等检测电路 6 2 18251A的基本性能 6 2 28251A的基本工作原理 1 8251A的功能结构 由7个模块组成 8251A的内部工作原理见下图所示 6 2 28251A的基本工作原理 6 2 28251A的基本工作原理 2 8251A的发送和接收 6 2 28251A的基本工作原理 6 2 28251A的基本工作原理 6 2 38251A的对外信号 8251A和CPU之间的连接信号片选信号数据信号读 写控制信号收发联络信号 图6 68251A与CPU及外设的连接关系 6 2 38251A的对外信号 C D RD WR的编码和对应的操作 6 2 38251A的对外信号 8251A与外设之间的连接信号数据信号调制解调器的联络信号 6 2 48251A的编程 1 8251A的初始化 硬件或软件设置复位 复位之后的第一个奇地址 6 2 48251A的编程 2 模式寄存器的格式 异步 8位数据 1位起始位 2位停止位 奇校验 因子是16 指定通信方式及数据格式 6 2 48251A的编程 4 控制寄存器的格式 使8251内部复位 6 2 48251A的编程 5 状态寄存器的格式 例3 若要查询8251A接收器是否准备好 可用下列程序实现 MOVDX 3FAH 状态口NEXT INAL DX 读状态口ANDAL 02H 查询D1 1 JZNEXT 未准备好 转NEXT等MOVDX 3F8H 数据口地址送DXINAL DX 6 2 48251A的编程 例4 接收时检查出错信息 MOVDX 3FAH 状态口NEXT INAL DX 读状态口TESTAL 38H 查询是否有三类错误JNZERROR 有 跳转 6 2 58251A编程举例 MOVDX 3FAHMOVAL 7AH 送模式字OUTDX ALMOVAL 15H 设控制字OUTDX AL 1 异步模式下的初始化程序举例 例5 设8251A工作于异步方式 波特率系数为16 具有7位数据位 1位停止位 偶校验 发送 接收允许 设端口地址为3F8H和3FAH 试编程初始化 6 2 58251A编程举例 2 同步模式下的初始化程序举例 例6 设8251A工作于同步方式 控制口的端口地址为3FAH 采用双同步字符 同步字符为16H 奇校验 7位数据位 试编程初始化 MOVDX 3FAHMOVAL 00011000B 模式字OUTDX ALMOVAL 16HOUTDX AL 送第一个同步字符16HOUTDX AL 送第二个同步字符16HMOVAL 97H 设置操作命令字OUTDX AL 6 2 58251A编程举例 MOVDX 209HMOVAL 7BHOUTDX ALMOVAL 14HOUTDX AL 3 使用查询式接收数据 要求 异步方式 波特率因子是64 7个数据位 偶校验 1个停止位 地址是208H 209H LOP INAL DXTESTAL 02HJZLOPMOVDX 208HINAL DX 6 2 68251A的使用实例 图6 12用8251A作为CRT接口的实际例子 6 2 68251A的使用实例 INIT XORAX AXMOVCX 0003MOVDX 00DAHOUT1 CALLKKKLOOPOUT1MOVAL 40HCALLKKKMOVAL 4EHCALLKKKMOVAL 27HCALLKKK KKKprocOUTDX ALPUSHCXMOVCX 0002ABC LOOPABCPOPCXRETKKKendp 6 2 68251A的使用实例 往CRT输出一个字符的例子CHAROUT MOVDX 0DAHSTATE INAL DXTESTAL 01JZSTATEMOVDX 0D8HPOPAXOUTDX AL 8251A实验 用到8253A的程序片段 datasegmentinportequed4llh 280hio8253aequioport 280hio8253bequioport 283hio8251aequioport 2b8hio8251bequioport 2b9hmes1db youcanplayakeyonthebeybord 0dh 0ah 24hmes2ddmes1dataendscodesegmentassumecs code ds datastart movax datamovds axmovdx io8253bmoval 16houtdx almovdx io8253amoval 52outdx al 给8251送三个0 一个40H进行复位 对8251进行初始化 先送模式字 再送控制字 显示上述字符串 以下为发送数据程序段 查询TXRDY状态位 从键盘输入字符 并判断是否为ESC 表示退出程序 发送数据 并延时 以下为接收数据程序段 查询RXRDY状态位 接受数据并显示 子程序编写 movdx 初始化8251 movcx 03 向8251控制端口送3个0next callout1loopnextmoval 向8251控制端口送 使其复位callout1moval 设置为1个停止位 8个数据位 波特率因子为16callout1moval 向8251送控制字允许其发送和接收callout1ldsdx mes2 显示提示信息movah 09int21h 对8251进行软件复位 对8251进行初始化 先送模式字 再送控制字 显示上述字符串 waiti movdx inal dxtestal 发送是否准备好waitimovah 01 是 从键盘上读一字符int21hcmpal 27 若为ESC 结束 movdx incal 发送movcx 0F00hs51 loop 以下为发送数据程序段 查询TXRDY状态位 从键盘输入字符 并判断是否为ESC 表示退出程序 发送数据 并延时 next movdx testal 检查接收是否准备好jznext 没有 等待movdx 准备好 接收movdl almovah 02 将接收到的字符显示在屏幕上int21hjmp exit movah 4ch 退出int21h 以下为接收数据程序段 查询RXRDY状态位 接受数据并显示 out1procnear 向外发送一字节的子程序 pushcxmovcx 0F00hgg loop 延时popcx out1 code start 子程序的编写 6 4并行通信和并行接口 并行通信 是指利用多条数据传输线将一个数据的各位同时传送 实现并行通信的接口就是并行接口 串行通信 利用一条传输线将数据一位位地顺序传送 6 4并行通信和并行接口 典型的并行接口和外设连接的示意图 使用查询方式 使用中断方式 6 4并行通信和并行接口 典型的并行接口和外设连接的示意图 使用查询方式 使用中断方式 6 5 18255A的内部结构 8255A的内部结构 6 5 28255A的芯片引脚信号 6 5 38255A的控制字 8255A有两种控制字 工作方式选择控制字端口C的按位置位 复位控制字 6 5 38255A的控制字 1 方式选择控制字 D7 1 6 5 38255A的控制字 例7 要求 地址为200H 203HA端口 方式1输入C端口上半部 输出 C口下半部 输入B端口 方式0输出方式控制字 10110001B或B1H初始化的程序段 MOVDX 203H 控制端口为203HMOVAL 0B1H 方式控制字OUTDX AL 送到控制端口 例8 8255与系统连线如图 片选译码地址为FFF0h1 确定各端口地址 2 编程设置8255 A口方式0输入 PC7 PC4输出B口方式0输出 PC3 PC0输入 6 5 38255A的控制字 6 5 38255A的控制字 2 端口C置1 置0控制字 D7 0 注意 此控制字必须写入控制口 000 0 例9 通过控制口置PC2为0 置PC4为1解 MOVDX 0203H 置DX为控制口地址MOVAL 00000100B 置PC2为0OUTDX ALMOVAL 00001001B 置PC4为1OUTDX AL 6 5 38255A的控制字 地址为200H 203H 6 5 38255A的控制字 例10 设8255A的4个端口地址分别为0C0H 0C1H 0C2H和0C3H 要求用按位置位 复位控制字使PC6输出方波信号 试编程实现 MOVDX 0C3HMOVAL 80HOUTDX ALL1 MOVAL 0CHOUTDX ALNOPNOP MOVAL 0DHOUTDX ALNOPNOPJMPL1 例11 设8255的A端口工作于方式1输入 B端口工作于方式0输出 置PC4 H 8255的操作地址为60H 63H MOVAL 0B0H 1011000XOUT63H AL 写方式控制字MOVAL 09H 0XXX01001OUT63H AL 写置 复位控制字 C口置 复位控制字 工作方式控制字 6 5 38255A的控制字 6 5 38255A的控制字 工作方式命令 指定8255A的3个端口的工作方式 必须初始化 按位置位 复位命令 只对PC口的输出进行控制 可放到初始化程序的任何地方 特征位的设置 D7 1 为工作方式命令 D7 0为按位置位 复位命令 按位置位 复位命令代码只能写入命令口 关于两个控制字的讨论 6 5 38255A的控制字 初始化编程 一个方式控制字采用控制I O地址 A1A0 11工作过程中 通过数据端口对外设数据进行读写数据读写利用端口A B和C的I O地址 A1A0依次等于00 01 10 6 5 48255A的工作方式 8255A的工作方式有三种 方式0 基本输入输出方式方式1 选通输入输出方式方式2 双向选通传送方式 A端口有三种工作方式方式0 方式1 方式2B端口有二种工作方式方式0 方式1C端口无工作方式选择工作于方式0 或作为A B端口工作于方式1 2时的联络信号 6 5 48255A的工作方式 相当于三个独立的8位简单接口 各端口既可设置为输入口 也可设置为输出口 但不能同时实现输入及输出 C端口可以是一个8位的简单接口 也可以分为两个独立的4位端口 常用于连接简单外设 适于无条件或查询方式 1 方式0 例12 用8255A控制三个发光二极管依秩序循环显示 端口地址 340H 343H 6 5 48255A的工作方式 6 5 48255A的工作方式 例13 8255A作为连接打印的查询式接口 工作于方式0 设8255A的端口地址为 A端口 00D0H B端口 00D2H C端口 00D4H 控制口 00D6H 8255A作为打印机接口的示意图 6 5 48255A的工作方式 方式1的特点 端口A B可分别工作在方式1 端口C配合方式1 2 方式1 数据选通信号表示外设已经准备好数据 输入缓冲器满信号表示A口已经接收数据 中断请求信号请求CPU接收数据 端口A方式1作输入 6 5 48255A的工作方式 6 5 48255A的工作方式 8255工作于方式1下输入时序 例14 8255A

温馨提示

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

评论

0/150

提交评论