- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[Type text][Type text][Type text]
PAGE 2
- PAGE III-
摘 要
本实验报告为RS232串口通信控制器。
实验设计了基于VHDL描述的RS232串口通信控制器,通过串口调试工具实现PC和CPLD互发和接收数据。完成的功能包括实现收发一帧10个bit、波特率为9600的串口通信控制器,CPLD接收数据后可译码显示在7段数码管上。实验的重心放在了RS232串口通信控制器发送模块和接收模块的设计,采用了自顶向下的思路进行设计,系统的核心为有限状态机。报告中给出了完整的设计思路和过程,并将系统分模块进行了详细的设计,给出了VHDL语言描述。完成了状态机和核心模块以及系统整体的仿真验证。最终下载到实验板上测试通过。
关键词: RS232;VHDL;串口通信;状态机
TOC \o 1-3 \h \z \u 第一部分 任务要求 4
1.1课题要求 4
1.2设计目标 4
第二部分 系统设计 5
2.1设计思路 5
2.2系统结构设计 6
2.2.1系统结构框图 6
2.2.2系统逻辑功能划分 6
2.2.3层次模块划分 7
2.2.4模块设计图 9
2.2.5发送模块设计 10
2.2.6接收模块设计 11
2.2.7分频模块设计 12
2.2.8按键防抖模块设计 12
2.2.9译码显示模块设计 12
2.3系统硬件语言描述 13
2.3.1VHDL描述思路 13
2.3.2总体电路的描述 13
2.3.3分块电路的描述 14
2.4系统仿真验证 21
第三部分 结果与分析 23
3.1实现功能说明 23
3.2器件资源分析 23
3.3故障和问题分析 25
第四部分 总结与结论 26
4.1实验结论 26
4.2总结体会 26
第五部分 附录部分 28
5.1元器件和仪表清单 28
5.2VHDL源代码 28
5.3电路图 39
5.4参考文献 41
数字电路综合实验·报告
第 PAGE 25页
第一部分 任务要求
1.1课题要求
设计并实现一个可以和PC机通过RS232协议进行通信的串口通信控制器。
PC机通过串口调试工具来验证程序的功能;
实现一个收发一帧10个bit的串口控制器,10个bit是1位起始位,8位数据位,1位结束位;
串口的波特率选择9600bit,串口处于全双工工作状态;
按“发送数据”按键后,CPLD向PC机发送字符串(内容自定,串口调试工具设成按ASCII码接受方式);
PC机可随时向CPLD发送0~F的十六进制数据,CPLD接收后译码显示在7段数码管上。
1.2设计目标
根据课题要求,实验中将目标进行了细化,叙述如下:
设定数据帧格式为10bit,其中第一位为起始位,定位低电平,8位数据位,1位结束位,无数据传输时为高电平;
按键控制CPLD向PC发送字符串;
通过串口调试工具向CPLD发送数据,CPLD接收后译码显示在7段数码管上,要求可以显示20以内的整数;
第二部分 系统设计
2.1系统结构设计
2.1.1系统结构框图
图2.1 RS232串口通信控制器系统结构框图
串口通信控制器的输入是按键输入信息和PC发送的数据。当发送数据按键按下时,CPLD向PC发送已定义好的字符串。同时,当CPLD检测到PC发送数据帧的起始位时,开始接收数据,并行输出。
2.1.2系统逻辑功能划分
图2.2 RS232串口通信控制器系统逻辑框图
如图2.2所示,系统可逻辑地划分为三个子系统:一是分频子系统,包括为发送模块和接收模块提供波特率为9600bit的时钟和为按键防抖模块提供100Hz的时钟;二是发送子系统,包括发送模块和按键防抖模块;三是接收子系统,包括接收模块和7段数码管的译码显示模块。
2.1.3层次模块划分
系统划分为三层,自顶向下分别是顶层模块、控制器子模块、用户模式底层模块。顶层描述了整个系统的功能和运行;控制器子模块实现系统中各个独立而完整的功能部分;第三层为第二层的子模块,用于扩展第二层的功能,具体负责用户模式的实现。每个层次可用一个或多个具体模块加以实现。
swdisplaybaudreceivertransferfinal
sw
display
baud
receiver
transfer
final
图2.3 RS232串口通信控制器层次模块划分框图
然后从逻辑上划分出各层次的具体模块,分述如下。模块设计图见2.2.4小节。
顶层模块:
作用为集成子模块功能,控制子模块的连接和耦合信号。定义实体为final,在其中例化子模块。
中层模块:
文档评论(0)