可编程逻辑设计课程报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可编程逻辑设计课程报告

串行通用收发器设计与实现【摘要】串行通信接口是一种应用广泛的通信接口。目前,大部分处理器都集成了支持RS-232接口的通用异步收发器UART,本报告设计了一个串口通用收发器,用Quarts软件进行仿真并给出结果,分别验证各个模块的正确性。1.概念简介1.1串行数据接口串口即串行数据接口,是一种常用的数据接口。在PC一般都有两个串行口,其形状如图所示,是典型的9针D形接口,也称为DB9。由于串口多采用RS-232-C传输协议并长达数十年,因此也常被称为RS-232接口。串口主要用于网管控制或主业务数据的传输,支持数据的双向传输,速率9600-115200bps,即可以完成和PC的通信,也可以完成与带有标准串口的外设相连,其典型的连接方式如图1-2所示。其中串口接口分为带插孔和带插针的两种,其中插针端称为DCE,插孔端称为DTE。1.2串口通信协议RS-232全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,该标准规定采用25个脚的串口连接器(DB25),不仅对连接器的每个引脚的信号内容加以规定,还规定了各种信号的电平。标准的RS-232-C协议具有25根信号线,其中有4根为数据线、11根控制线、3根定时线和7根备用线。通常情况下,使用其中的9根线就可以实现RS-232串口通信。通常DB-25也可以像DB-9那样使用,但是它们的针号和针孔之间的连接关系是不一样的,下面给出常用的25针DB-25和DB-9的对照表以及管脚说明,如下表所示。RS-232-C的串行总线在空闲的时候保持为逻辑“1”状态,即串行连接线上的电平为-3至+15V。当需要传送一个字符时,首先会发送一个逻辑为“0”的起始位,表示开始发送数据;之后就逐个发送数据位、奇偶校验位和停止位(逻辑“1”),每一次传输1个字符(8个比特)。由于任意两个字符对应瞬间的时间间隔是可变的,因此也被称为异步格式。典型的传输时序如图1-3所示。在RS-232-C协议中,可以设置数据的传输速率。除此之外,字符的位宽、奇偶校验位、停止位都可以被设置。字符可以被设置成5~8比特,奇偶校验位可以被去除;停止位可以设置成1位、2位甚至1.5位。每秒传输的比特数也被称为二进制波特率,即位周期的倒数,简称为比特率,用于衡量RS-232的传输速率。RS-232-C有一系列波特率标准:110bps、300bps、600bps、1200bps、1800bps、2400 bps、4800bps、9600bps、14.4kbps、19.2kbps、28.8kbps、33.6kbps 和56kbps 等。有两点注意的是:首先,在设置波特率时,必须同时通知通信双方;其次,波特率的计算包括了起始位、字符、校验位、停止位在内所有的比特,而不是仅针对字符。发送数据过程:空闲状态,线路处于高电位;拉低线路一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧资料发送结束。接收数据过程:空闲状态,线路处于高电位;当检测到线路的下降沿(线路电位由高电位变为低电位)时说明线路有数据传输,按照约定的波特率从低电位到高电位接收数据,数据发送完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备准备接收数据或存入缓存。由于UART是异步传输,没有传输同步时钟。为了能保证数据传输的正确性,UART采用16倍数据波特率的时钟进行采样。每个数据有16个时钟采样,取中间采样值,以保证采样不会发生误码。一般UART一帧的数据位数为8,这样即使每个数据有一个时钟的误差,接收端也能正确地采样到数据。2.串口接收模块设计2.1接收模块原理串口接收的基本原理就是定时采样,因为发送端的数据是定时发送的,那么只要接收端和发送端的保持一致,按照一定时间间隔进行采样就可恢复数据。虽然接收模块只要定时采样就可以了,但是采样的时机很重要。如上图所示,采集的最佳时机是发送端的数据的中间时刻,这个时候的数据是最稳定的。串口一帧数据有很多位,不一定每一个位都要接收,例如起始位不需要接收,我们采取忽略的态度。实际上只需要采集8位数据即可。值得注意的是,串口数据最开始发送的是数据的最低位,最后发送的才是最高位。上图就是接收模块原理图,电平检测模块用于检测起始位,发出信号表明串口传送开始。波特率定时模块用于产生恒定波特率,用来定时采集数据。接受控制模块用于控制接收的过程。2.2接收模块代码设计以下即为接收模块的实现代码。Detect_module.v module detect_module ( CLK, RSTn, RX_Pin_In, H2L_Sig); input CLK; input RSTn; input RX_Pin_In; outpu

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档