【小学期272829班】异步通信控制器_2012.doc

上传人:大米 文档编号:561781740 上传时间:2023-06-22 格式:DOC 页数:5 大小:286.01KB
返回 下载 相关 举报
【小学期272829班】异步通信控制器_2012.doc_第1页
第1页 / 共5页
【小学期272829班】异步通信控制器_2012.doc_第2页
第2页 / 共5页
【小学期272829班】异步通信控制器_2012.doc_第3页
第3页 / 共5页
【小学期272829班】异步通信控制器_2012.doc_第4页
第4页 / 共5页
【小学期272829班】异步通信控制器_2012.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《【小学期272829班】异步通信控制器_2012.doc》由会员分享,可在线阅读,更多相关《【小学期272829班】异步通信控制器_2012.doc(5页珍藏版)》请在金锄头文库上搜索。

1、异步串行通信控制器1. 目的l 掌握状态机的原理与设计方法;l 了解异步通信的原理和特点;l 掌握异步通信接口的设计方法。2. 异步通信原理简介我们主要以接收端为例来说明异步通信的工作原理,发送端可依此类推。异步通信的特点是数据在线路上的传输是不连续的,线路上数据是以一个字符为单位来传输的。异步传输时,各个字符可以是连续传输,也可以是间隔传输,这完全由发送方根据需要来决定。另外,在异步传输时,同步时钟信号并不传送到接收端,即收发双方各用自己的时钟来控制发送和接收。由于字符的发送是随机进行的,因此,对于接收端来说就有一个判断何时有字符来,何时是新的一个字符开始的问题。因此,在异步通信时,对字符必

2、须规定统一的格式。1) 异步信息传输格式一个字符通常由四部分组成:起始位、数据位、奇偶校验位和停止位。一个字符由起始位开始,停止位结束。奇偶校验位只占一位,为了简化分析我们暂且规定不用奇偶校验位。起始位为0信号,占用一位,来通知接收端一个新的字符开始来到。线路上不传输字符时,应保持为1。接收端不断检测线路的状态,若连续为1以后又开始测到一个0,就知道是发来一个新字符,马上应准备接收。字符的起始位还被用来同步接收端的时钟,以保证以后的接收能正确进行。接收时钟信号RXC的频率是数据率的N倍,一般N=8,16,32,64等。由于异步通信双方各用自己的时钟源,若是时钟频率等于波特率,则频率稍有偏差便会

3、产生接收误差,因此,采用较高频率的时钟,就能保证正确地捕获到信号。起始位后面紧接着的是数据位,它可以是5位、6位、7位和8位。我们这里规定采用8位的数据位。注意在发送时,总是低位先发送(最低位LSB,最高位MSB)。停止位用来表征字符的结束,它一定是高电平1。停止位可以是1位或2位。接收端收到停止位时,就表示这一字符的结束。同时,也为接收下一个字符做好准备,即只要再收到0就是新字符的起始位。若停止位以后不是紧接着传输下一个字符,则让线路上保持位1。DATA.起始位 LSB MSB 停止位RXC .异步信息传输格式示意图2) 同步原理比如,N=8。在起始位前沿(下降沿),启动接收时钟从0计数,当

4、计到4时(差不多在信息位的中间),输出采样时钟SCLK。此后,每8个RXC,输出一个SCLK,以对接收数据RXD进行串-并变换,直到收到停止位。若在应该是停止位的地方收到逻辑0,则表示出现帧错误FE(Frame Error)。应等待下一个高电平1,把它作为停止位继续接收。这样就可以实现帧对准(Frame Align)。3) 系统构成我们以接收8位串行数据为例,串并变换至少需要9级移位寄存器,最后一级作为一帧数据完整接收的指示信号so来用。这里还需要一个8位寄存器缓存接收数据。其框图如下:接收端系统框图其中,LDSR是接收移位寄存器置初始值的置位信号。在收到起始位的前沿时,它把移位寄存器置成全1

5、,这样,当起始位移到so后,就知道整个的接收字符全部进入了移位寄存器。这样就可以省去接收位计数器(否则,应该使用位计数,来指示接收完成)。SCLK是采样(移位)时钟,(它应处在RXD每位数据的中间位置)。LDRB是接收缓存的装入命令,它把移位寄存器的接收数据装入到缓存,以便接收设备把它取走。是接收设备的取数据命令,它是低电平有效。可以看出,这里需要一个设备来产生LDSR,SCLK,LDRB及其它一些标志信号FE等,这个设备称为 接收控制器,它的特点是:l 它按我们预定的原理工作,自动实现位同步和帧对准;l 依据不同的外部条件,进入不同状态,不同状态完成不同的动作。接收控制器实际是状态机,关于状

6、态机最准确的描述莫过于流程图。接收控制器的流程图如下所示:接收控制器的流程图根据流程图,可以进行电路设计。常用的方法有两种:人工设计和计算机辅助设计。a) 人工设计l 确定所需状态数和触发器级数K,按顺序编码设计状态码;l 确定状态转移表;l 画出每一级触发器的卡诺图,并列出状态方程;l 画出逻辑电路图;l 验证。必要时修改设计。同学们可用D-或JK触发器设计,或74163设计实现,并验证。b) 计算机辅助设计高级硬件描述语言(如VHDL,AHDL)都有关于状态机的表述方法。可参阅有关资料。而以AHDL语言的表格法 最为简洁。3. 实验内容1) 基本要求l 设计接收控制器。编译通过后,可把它变

7、成逻辑符号备用;l 设计数据通路,并与接收控制器合在一起,构成异步接收器,并编译;l 输入仿真文件,进行仿真;l 稍稍改变RXC的频率,看能否正确接收。若仍有余地,使RXC变化再大一些,看仿真结果,并总结异步接收的优点。2) 提高要求首先完成异步发送电路的设计。l 发送双缓冲:包括发送缓冲寄存器TB(Tx Buffer)和发送移位寄存器TS(Tx Shifter);l 发送字长=8位,最高位是奇校验位;l 停止位至少1位;l 发送速率由TCLK输入确定,是TCLK频率的1/8;l 发送缓冲器的指示位TBE(Tx Buff. Empty)=1,表示发送缓冲器空,请求下一发送数据。若允许发送中断(

8、ETBE=1),则可产生发送中断请求;l 现行数据发送出去之后,若TBE=0(发送缓冲器满),则把TB中的数据装入TS,把TBE置位,并开始发送。若TBE=1,则继续发送停止位,直到TBE=0.然后完成接收电路的设计。l 接收双缓冲,包括接收移位寄存器RS(Rx Shifter)和接收缓冲器RB(Rx Buffer);l RBF指示接收缓冲器(RB)的状态:RBF=1,表示RB内的数据有效,0表示无效;l 应有状态寄存器,指示FE,PE,OE,RBF,TBE等。若ERBF=1,且RBF=1,则可产生接收中断。读RB可使RBF=0。接收逻辑对接收字符进行奇校验,若不合规律,则使PE置1;否则,置

9、0。若发生FE,则FE置1,指示起止格式错。若下一次产生LDRB时,RBF=1,则产生OE=1,表示接收字符丢失。当读接收数据后,使RBF清零,而读状态寄存器后,使OE,PE,FE清零。最后把发送和接收电路组合在一起,构成异步通信控制器。通信控制器操作功能表:/CS A0 /RD /WR功能 1 X X XD7.0输出高阻 0 0 0 1Dout读出接收数据(RB) 0 0 1 0Din写数据到TB 0 1 0 1Dout读状态寄存器 0 1 1 0Din写命令寄存器读写数据寄存器格式:XB6B5B4B3B2B1B0命令寄存器格式(只写寄存器)00000ERXEETBEERBF其中,ERBF=1,允许接收中断,0,不允许;ETBE=1,允许发送中断, 0,不允许;ERXE=1,若OE,PE,FE任一个是1,就产生接收错误中断。状态寄存器格式(只读寄存器)000FEOEPETBERBF其中,上电后,FE,OE,PE,RBF为0,TBE=1;写数据寄存器使TBE=0,装载TS(Load Tx Shifter)使TBE=1;读数据寄存器使RBF=0,装载RXB(Load Rx Buff)使RBF=1;读命令后,使FE,OE,PE清零,置位条件已如上述。5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号