资源预览内容
第1页 / 共87页
第2页 / 共87页
第3页 / 共87页
第4页 / 共87页
第5页 / 共87页
第6页 / 共87页
第7页 / 共87页
第8页 / 共87页
第9页 / 共87页
第10页 / 共87页
亲,该文档总共87页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第7章 串并行通信 及其接口技术,湖南中医药大学 王志辉, 7.1 串行通信和串行接口 7.2 可编程串行通信接口8251A 7.3 并行通信和并行接口 7.4 可编程并行通信接口8255A,教学重点为: 串并行接口的用途; 8251A的功能结构与工作原理、初始化流程; 8255A的控制字; 8255A的工作方式;,第7章 串并行通信及其接口技术,4,6,Intel “4”系列原装主板,微机与I/O设备的接口按照数据传送方式的不同,可分为:并行接口和串行接口两种。,串行通信接口与并行接口概述,7.1.1 串行通信涉及的几个问题,7.1 串行通信和串行接口,串行通信:将数据分解成二进制位用一 条信号线,一位一位顺序传 送的方式。在传输过程中, 每一位数据占据一个固定的时间长度。,数据的各位依次由源到达目的地 慢 数据线少、抗干扰能力强 远程, 费用低,0 1 1 0 1 0 1 0,串行通信适于长距离、中低速通信,1. 按传输方式分:全双工、半双工、单工,全双工:双根传输线,数据的发送和接收采用不同的通道,能够同时发送和接收 半双工:单根传输线,数据的发送和接收采用同一的通道,不能同时发送和接收 单工:单根传输线只能在一个方向传输数据,只用作发送或只用作接收,2. 按时钟定时分:同步、异步,多个字符组成一个数据块(或称信息帧、信息组),在每一个数据块前附加一个或两个同步字符或标识符,最后以校验字符结束在传送过程中发送端和接收端使用同一时钟信号进行控制使每一位数据均保持位同步。同步通信一个信息帧含有多个或上千字符。,同步通信:收发双方采用同一个时钟信号来定时,同步字符 字符1 字符2 字符n 校验字符,数据块,异步通信:收发双方不用统一的时钟来定时,每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身各位,接着传输校验位,最后以停止位结束该字符的传输。 一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为异步通信的一个信息帧(Frame),只含一个字符。 帧与帧之间可有任意个空闲位。为了保证异步通信的正确,必须在收发双方通信前约定字符格式、传送速率、时钟和校验方式等。,收发双方不用采用同一时钟信号定时 通过起始位和停止位来识别信息帧 一个信息帧只含1个字符,起始位每个字符开始传送的标志,起始位采用逻辑0电平,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位,停止位表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位,空闲位传送字符之间的逻辑1电平,表示没有进行传送,图7.1 标准的异步通信数据格式,异步通信数据格式总结: 无信息传输(或间隔)时,输出必须为“1”状态(标识态); 1到0的跳变作为字符的开始起始位; 起始位后为58位的数据位,低位在前,高位在后; 数据位后为奇偶校验位,可设为奇或偶校验,也可不设; 最后有1、1.5或2位停止位,均为“1”,传输速率,在串行通讯中,用波特率来描述数据的传输速率。即每秒钟传送的二进制位数,简写为bps,串行通信无论收发都必须有时钟脉冲信号对传送的数据进行定位和同步控制。接收时钟/发送时钟是波特率的倍数波特率因子。,【例】:波特率=9600bps,波特率因子=16,则接收时钟和发送时钟频率=960016=153600Hz 波特率因子=16 ,表明16个时钟脉冲传送1位。,3. 串行通信的传输率,国际上规定的标准波特率:110、300、600、1200、1800、2400、 4800、9600、19200。,时钟频率=波特率因子*波特率,设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为1200/10120个。,以1200bps的波特率工作,用4个同步字符作为信息帧头部,但不用奇偶校验,那么,传输100个字符所用的时间为7(100+4)/12000.6067s,这就是说,每秒钟能传输的字符数可达到100/0.6067165个。,例1:异步传输过程,例2: 同步传输过程,可见,在同样的传输率下,同步传输时实际字符传输率要比异步传输时高。,7.1.2 串行接口,1. 串行接口部件4个主要寄存器: 控制寄存器 状态寄存器 数据输入寄存器 数据输出寄存器,2. 串、并行数据转换: 输入时,串行输入并行输出移位寄存器将接收的1个字符移位得到并行数据,并将之送到数据输入寄存器 输出时,数据寄存器将接收的并行数据传输给移位寄存器,然后将其转换成串行数据,7.1.2 串行接口,图7.2 可编程串行接口的典型结构,四个寄存器只用2个端口地址,7.2 可编程串行通信接口 8251A,7.2.0 8251A的基本性能, 通过编程,8251A可以工作在同步方式,波特率0 64K,也可以工作在异步方式,波特率019.2K;, 同步方式下可以用58位来表示字符,允许增加1位奇偶校验位,能自动检测同步字符,实现收发同步;, 异步方式下用58位来表示字符,1位可选的奇偶校验位,1位启动位,根据需要可设置1、1.5或2位停止位;, 全双工、双缓冲的发送器和接收器;, 具有奇偶、溢出和帧错误检测功能;, 输入输出电路为TTL电平。,8251A的功能结构(7个模块),7.2.1 8251A的基本工作原理,图7.3 8251A的基本工作原理,数据、控制字、命令字、状态信息均通过数据总线缓冲器传输,数模转换,实现远距离传输,W9-1,中断优先级问题怎么解决?,多个中断源产生中断,CPU首先为谁服务? 中断优先级排队问题。 (1) 解决中断优先级的三种办法: 软件查询方式 简单硬件方式菊花链法 专用硬件方式可编程的中断控制器,DMA传送的工作过程?, CPU对DMA控制器进行初始化设置 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 DMA传送数据 DMA读存储器:存储器 外设 DMA写存储器:存储器 外设 自动增减地址和计数,判断传送完成否,DMA控制器的6大功能: 向CPU发总线请求信号 实行对三大总线的控制 修改所用的存储器或接口的地址指针 发RW控制信号 字节计数器(存放数据长度直至为0) 交还总线控制权,2、DMA控制器的功能有哪些?,多个字符组成一个数据块(或称信息帧、信息组),在每一个数据块前附加一个或两个同步字符或标识符,最后以校验字符结束在传送过程中发送端和接收端使用同一时钟信号进行控制使每一位数据均保持位同步。同步通信一个信息帧含有多个或上千字符。,同步通信数据帧的格式是怎样?,同步字符 字符1 字符2 字符n 校验字符,数据块,异步通信数据帧格式是怎样的?,1. 8251A和CPU之间的连接信号 片选信号:CS 数据信号:D7D0 读/写控制信号: RD WR C/D 收发联络信号: TXRDY TXE RXRDY SYNDET,8251A与CPU及外设的连接关系,发送,接收,同步,6.2.3 8251A的外部信号(自学),收发联络信号: DTR数据终端 DSR数据设备 RTS请求发送 CTS清除请求 数据信号: TXD发送器数据 RXD接收器数据,发送,接收,接收,发送,8251A的外部信号,8251A芯片共有28个引脚,其中:有17个引脚是与系统相连接,有6个是与外部设备相连接,另外,还有3个时钟输入端,1个电源端,1个接地端。,6.2.2. 8251A的发送和接收,异步接收方式:将RXD线上的低电平作为起始位,并开始计数。当计数到半位的传输时间,再次检测RXD,若仍为低电平,则确认收到有效起始位 异步发送方式:当控制寄存器中发送允许位TXEN位为1且CTS#有效,则开始发送 同步接收方式:8251A先搜索同步字符,将RXD线上的数据送入移位寄存器,然后将得到的字符与同步字符寄存器内容相比较。若相等,则SYNDET输出高电平表示同步字符已经找到。 同步发送方式:当控制寄存器中TXEN位为1且CTS#有效,则开始发送。先传送同步字符,后传送数据块。,2. 8251A的发送和接收,(1)检测起始位,1)异步接收方式,设数据接收时钟频率是数据传输频率的16倍。,低电平起始检测,确定已检测到起始位,采样数据进行装配,每隔一字符(设16个脉冲)传输时间,对RxD进行一次采样,数据送移位寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。,(2)8251A进行常规采样并进行字符装配,注:对于少于8位的数据,8251A将高位补0。,(3)通知CPU接收数据 并行数据经过内部数据总线送接收数据缓冲器,并置RxRDY有效,通知CPU已收到一个数据,可以取用。,8251A异步接收数据传输格式,2)8251A异步发送方式,(2)8251A由TxD线把串行数据送出 。 8251A从CPU接收到一个数据,移位形成串行数据,再加上起始位、奇偶校验位以及停止位,由TxD把数据送出。,注:数据及起始位、校验位、停止位总是在发送时钟TxC的下降沿从8251A发出,数据传输的波特率为发送时钟频率的1、1/16或者1/64,具体决定于编程时给出的波特率因子。,2. 8251A的发送和接收,异步接收方式:将RXD线上的低电平作为起始位,并开始计数。当计数到半位的传输时间,再次检测RXD,若仍为低电平,则确认收到有效起始位 异步发送方式:当控制寄存器中发送允许位TXEN位为1且CTS#有效,则开始发送 同步接收方式:8251A先搜索同步字符,将RXD线上的数据送入移位寄存器,然后将得到的字符与同步字符寄存器内容相比较。若相等,则SYNDET输出高电平表示同步字符已经找到。 同步发送方式:当控制寄存器中TXEN位为1且CTS#有效,则开始发送。先传送同步字符,后传送数据块。,3)8251A的同步接收方式,(1)搜索同步字符,双同步字符 检测到第一个同步字符后,再继续检测此后输入的移位寄存器的内容是否与第二个同步字符寄存器的内容相同,不同重新比较第一个同步字符;相同,则认为同步已经实现。,(b)外同步,通过在同步输入端SYNDET加一高电位实现同步。当SYNDET端出现一个高电平,并且维持一时钟接收周期,8251A认为已经完成同步。,(2)数据的同步传输,接收器利用时钟信号对RxD采样,把收到的数据送移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器的内容送输入缓冲寄存器,且发出RxRDY信号,表示收到一数据。,4)8251A的同步发送方式,(2)发送同步字符 根据编程要求,发送器先发送一个或两个同步字符。,注:如发送数据时,CPU来不及提供新数据,8251A发送器会自动插入同步字符,由TxD送出。,(3)发送数据块 发送数据块时,发送器根据要求对数据块中的数据加上奇偶校验位或不加。,1. 用错位连接结合软件方法实现8位接口芯片与16位CPU总线的连接 在硬件上将地址总线的A1与8251A的A0(即C/D)引脚相连接,在软件设计时用连续的偶地址代替端口的奇/偶地址,在硬件上将AB的A2/A1等与8251A的A1/A0错位连接,就解决了8位接口芯片与16位数据总线的连接;即就是将8位的接口芯片与16位数据总线的低8位数据线相连接。,7.2.3 8位接口芯片与CPU总线的连接(自学),表7.1 CPU总线与8位接口错位连接小结,16位系统中,高8位DB与奇地址相关,低8位DB与偶地址相关。 软件上,用连续偶地址代替奇偶地址。,2. 用硬件方法实现8位外设与16位数据总线的连接 两个硬件电路: (1)检测控制电路:检测并识别奇地址端口输入/输出指令,确认是奇地址I/O指令时启动高/低字节复制器,并
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号