fpga串口通信汇总.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文档。上传文档
查看更多
FPGA实验报告 目录 FPGA实验报告 1 目录 1 TOC \o 1-5 \h \z \o Current Document 基于VHDL的串口通信实现设计 3 \o Current Document 摘要 3 \o Current Document 正文 3 \o Current Document 1?研究背景知识 3 \o Current Document 1.1串口简介 3 \o Current Document 1.2串口通信参数 3 \o Current Document 系统整体设计 5 \o Current Document 2.1系统框图 5 \o Current Document 2.2原理图 5 \o Current Document 2.3管脚介绍: 6 \o Current Document 系统模块设计 6 \o Current Document 3.1分频模块 6 \o Current Document 3.11流程图 6 \o Current Document 3.12程序 7 \o Current Document 3.2接收模块 8 \o Current Document 3.21流程图 8 3.22程序 9 \o Current Document 3.3发送模块 10 \o Current Document 3.31流程图 10 3.32 程序 11 \o Current Document 系统调试 12 \o Current Document 4.1时序调试 12 \o Current Document 4.2硬件调试 13 \o Current Document 总结 14 基于VHDL的串口通信实现设计 摘要 串口是计算机上一种非常通用设备通信的协议 ,其特点是通信线路简单,成 本低,特别适用于远距离通信,因此有较为广泛的应用。为了深入了解串口,本 课程设计基于VHDL语言,利用FPGA开发板实现了板间串口通信。在程序设 计中,考虑到串口波特率、数据格式等参数,共采用了四个模块:分频模块(即 波特率产生模块),接受模块,发送模块,显示模块。通过软件和开发板调试, 实现了板和串口调试助手收发数据, 软件改变波特率等参数,并在数码管显示的 功能。 关键词:串口 VHDL FPGA分频接收发送显示 正文 1.研究背景知识 1.1串口简介 串行接口 Serial In terface是指数据一位一位地顺序传送,其特点是通信线路 简单,只要一对传输线就可以实现双向通信 (可以直接利用电话线作为传输线) 从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 串口通信的两种最基本的方式:同步串行通信方式和异步串行通信方式。 1?2串口通信参数 双方为了可以进行通信,必须要遵守一定的通信规则,这个共同的规则 就是通信端口的初始化。通信端口的初始化有以下几项必须设置: 数据的传输速率 传输双方通过传输线的电压改变来交换数据, 但传输线的电压改变的速度必 须和接收端的接收速度保持一致,RS-232通常用于异步传输,即双方并没有一 个可参考的同步时钟作为基准。由于没有一个参考时钟,双方所发送的高低电位 到底代表几个位就不得而知了,要使得双方的数据读取正常,就要考虑到传输速 率一一波特率,其所代表的意义是每秒钟所能产生的最大电压状态改变率, 或者 说是每秒钟可以振荡的次数。 数据的发送单位 一般串行通信端口所发送的数据是字符类型的, 若用来传输文件,则会使用 二进制的数据类型。当使用字符类型时,通常使用 ASCII码,ASCII码中8个位 形成一个字符。以实际的RS-232传输来看,由于大多数应用只是发送文字码, 因此只要7个位就可以将ASCII码的0-127号字符表达出来,所有的可见字符都 在这个范围内,所以只要7个数据位就足够了。不同的情况下,会使用到不同的 发送单位,但使用多少个位合成一个字节必须先行确定。 起始位及停止位 由于异步串行通信中并没有使用同步脉冲作为基准,故接收端完全不知道 发送端何时将进行数据的发送,而当发送端准备要开始发送数据时, 发送端会在 所送出的字符前后分别加上高电位的起始位(逻辑0)及低电位的停止位(逻辑1), 它们分别是所谓的起始位和停止位。当发送端要开始发送数据时,便将传输在线 的电位由低电位提升至高电位,而当发送结束后,再将电位降至低电位。接收端 会因起始位的触发(因电压由低电位升至高电位)而开始接收数据,并因停止位的 通知(因电压维持在低电位)而确切数据的字符信号已经结束。 校验位的检查 为了预防错误的产生,因此使用校验位作为检查的机制;校验位是用来检查 所发送数据

文档评论(0)

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

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

1亿VIP精品文档

相关文档