通用串口实验报告.docVIP

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

通用串口实验

实验目的:1、掌握QuartusII软件的根本使用;

2、熟悉VHDL硬件描述语言编程及其调试方法;

3、学习用FPGA实现接口电路设计;

4、学习MCS-51单片机程序设计方法;

5、学习液晶显示器的编程。

实验内容:

设计一个通用串行接口,要求与PC的串口连接后,可以接受PC发来的数据,并能在液晶显示屏上显示,实验板上的键盘输入的数据可以传送到PC,并在PC的显示器上显示,串口传送速率为9600波特,8位数据位,1位停止位,不校验。

进一步实现波特率可设置,设置范围为1200bps、2400bps、9600bps

1、UART简介

UART〔UniversalAsynchronousReceiverTransmitter通用异步收发器〕是一种应用广泛的短距离串行传输接口。常常用于短距离、低速、低本钱的通讯中。8250、8251、NS16450等芯片都是常见的UART器件。

根本的UART通信只需要两条信号线〔RXD、TXD〕就可以完成数据的相互通信,接收与发送是全双工形式。TXD是UART发送端,为输出;RXD是UART接收端,为输入。

UART的根本特点是:

〔1〕在信号线上共有两种状态,可分别用逻辑1〔高电平〕和逻辑0〔低电平〕来区分。在发送器空闲时,数据线应该保持在逻辑高电平状态。

〔2〕起始位〔StartBit〕:发送器是通过发送起始位而开始一个字符传送,起始位使数据线处于逻辑0状态,提示接受器数据传输即将开始。

〔3〕数据位〔DataBits〕:起始位之后就是传送数据位。数据位一般为8位一个字节的数据〔也有6位、7位的情况〕,低位〔LSB〕在前,高位〔MSB〕在后。

〔4〕校验位〔parityBit〕:可以认为是一个特殊的数据位。校验位一般用来判断接收的数据位有无错误,一般是奇偶校验。在使用中,该位常常取消。

〔5〕停止位:停止位在最后,用以标志一个字符传送的结束,它对应于逻辑1状态。

〔6〕位时间:即每个位的时间宽度。起始位、数据位、校验位的位宽度是一致的,停止位有0.5位、1位、1.5位格式,一般为1位。

〔7〕帧:从起始位开始到停止位结束的时间间隔称之为一帧。

〔8〕波特率:UART的传送速率,用于说明数据传送的快慢。在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送数据位的数目来表示,称之为波特率。如波特率9600=9600bps〔位/秒〕。

UART的数据帧格式为:

START

D0

D1

D2

D3

D4

D5

D6

D7

P

STOP

起始位

数据位

校验位

停止位

本实验8位数据位,1位停止位,不校验。

FPGAUART系统组成:如下列图所示,FPGAUART由三个子模块组成:波特率发生器;接收模块;发送模块;

2、VHDL模块设计:

系统由四部局部组成:顶层模块;波特率发生器;UART接收器;UART发送器

1〕顶层模块

异步收发器的顶层模块由波特率发生器、UART接收器和UART发送器构成。

UART发送器的用途是将准备输出的并行数据按照根本UART帧格式转为TXD信号串行输出。

UART接收器接收RXD串行信号,并将其转化为并行数据。

波特率发生器就是专门产生一个远远高于波特率的本地时钟信号对输入RXD不断采样,使接收器与发送器保持同步。

2〕波特率发生器

波特率发生器实际上就是一个分频器。

可以根据给定的系统时钟频率〔晶振时钟〕和要求的波特率算出波特率分频因子,算出的波特率分频因子作为分频器的分频数。

波特率分频因子可以根据不同的应用需要更改。

3〕UART接收器

由于串行数据帧和接收时钟是异步的,由逻辑1转为逻辑0可以被视为一个数据帧的起始位。

然而,为了防止毛刺影响,能够得到正确的起始位信号,必须要求接收到的起始位在波特率时钟采样的过程中至少有一半都是属于逻辑0才可认定接收到的是起始位。由于内部采样时钟bclk周期〔由波特率发生器产生〕是发送或接收波特率时钟频率的16倍,所以起始位需要至少8个连续bclk周期的逻辑0被接收到,才认为起始位接收到,接着数据位和停止位将每隔16个bclk周期被采样一次〔即每一个波特率时钟被采样一次〕。

如果起始位确实是16个bclk周期长,那么接下来的数据将在每个位的中点处被采样。

UART接收器的接收状态机

接收状态机一共有5个状态:R_START〔等待起始位〕;R_CENTER〔求中点〕;

R_WAIT〔等待采样〕;R_SAMPLE〔采样〕;R_STOP〔停止位接收〕。

R_START状态

当UART接收器复位后,接收状态机将处于这一个状态。

在此状态,状态机一直在等待RXD的电平跳转,从逻辑1变为逻辑0,即起始位,这意

文档评论(0)

147****4268 + 关注
实名认证
文档贡献者

认真 负责 是我的态度

1亿VIP精品文档

相关文档