- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大 学
高级可编程逻辑实验报告
实验课程名称 :串口通信
实验指导老师 :
学 生 姓 名 :(s100103008)
(s100101095)
(s100131047)
2010年12月20日
串口通信
一、实验目的
1、熟练掌握QuartusII的使用
2、学习多层次的设计方法,掌握基本的Verilog语言
3、进一步熟悉和掌握高级可编程逻辑器件FPGA
4、用所学知识制作简单的硬件
5、通过实验箱实现PC机与试验箱的单向通信。
二、实验设计思路
本试验通过在高级可编程逻辑实验课上所学的QuartusII工具,使用Verilog编程,在将程序下载到试验箱中。设计的要求是基于FPGA的LCD显示屏控制系统,系统由一片FPGA芯片、LCD显示及接口驱动电路模块组成。采用Altera公司的EP3C10E144C8 FPGA芯片。PC上位机与FPGA核心板采用RS232串口通信和JTAG下载线。FPGA核心板的输出通过显示驱动模块点亮LCD显示屏。串口通信电路模块采用MAX232芯片实现电平转换及数据的通信。
三、实验原理
1、关于1602LCD屏的相关信息
2、串行通信的原理
根据同步方式的不同,串行通信又分为两类,异步通信和同步通信。同步通信时除了需要发送数据线,接收数据线和信号地线以外,还需要一根时钟信号线,时钟信号用于同步数据的发送和接收,传送时是先读取同步位,两设备的同步模式一样时数据开始传送,直到送完数据块,发送大的数据块时要周期性的重发同步字符。同步通信主要是应用于高速数据传送场合。DB-9引脚定义图
四、软件设计
1、软件设计的思想
在实现通过串口改变LCD液晶显示的字符的功能,在这里我们用分模块的思想来实现其功能,首先创建RS232接收模块RS232接收模块
五、硬件设计
1、设计所需要的硬件资源
硬件电路总体的设计:硬件电路设计,要结合试验箱上的硬件连接,从而对应连接才可以设计电路。首先确定使用FPGA的哪个I/O口,硬件设计在实验箱上已经固化的,我们只需要根据硬件的连接相应的改变软件的设计即可。其中串口电平转换单元由于实验箱上没有MAX232芯片,故需要设计一个电平转换电路,在实验箱上留有40个扩展接口,可以增加扩展模块,在这里就是利用扩展的接口来实现串行数据的接收。
2、硬件连接框图
3、串口电平转换电路
MAX232的引脚T1IN, T2IN, R1OUT, R2OUT为接TTL/CMOS电平的引脚,引脚T1OUT, T2OUT, R1IN, R2IN为接RS-232电平的引脚。
六、实验步骤
1、先建一个工程,将附录三中程序放在该工程下,再调试该程序;
2、编译成功后进行引脚设置,之后再进行全程编译;
3、将程序下载到实验箱中,运行串口调试程序;
4、验证实验结果是否正确。
七、实验结果
1、实验连接的实物图
2、测试是否有信号输入
3、初始化
4、实现输入显示
八、心得体会
通过本学期实验课的学习,我们获得了不少的知识,为我们后续的研究生学习生活指引了方向。回顾这学期,我从对QuartusII不了解到进一步掌握QuartusII的使用全过程,并进一步懂得了多层次的设计方法,掌握了基本的Verilog语言的设计方法。在这次串口通信实验中,从开始选题到最后完成,期间遇到了好多问题。首先,在选题的过程中,由于对试验箱上芯片所能实现的功能的不了解,以及对实验难度的要求,所以一直没办法定下来。最后通过组员们的商量,以及向学长学姐们的咨询,最终把题目定为了:串口通信。然后是在定题后的资料收集过程中,由于我们对串口通信也不是很熟悉,所以需要对串口通信进行全新的学习。虽然网上资料很多,不过还是都必须要自己能够看得熟悉,理解了之后才能自己拿来用。最后就是在程序的调试阶段,由于对软件的不熟悉,这个也花了很长的时间来弄。不过最终还是得出了满意的结果。由于自身实力的问题,没能实现实验箱到PC机这个方向上的通信,只能简单的通过PC机上的串口调试助手对LCD上的显示做出修改。这个就是本实验需要改进的地方。通过这次实验设计,让我进一步熟悉和掌握了Verilog语言。除了课本上的知识之外,在人际交流沟通协作方面也有一定的提升,增强了团队协作能力。然后感谢在这次实验设计中提供过帮助的老师、学长学姐以及同学们!
附录一
引脚配置
附录二
程序一 串口接收模块
module async_receiver(clk, RxD, RxD_data_ready, RxD_data, RxD_endofpacket, RxD_idle);
input clk, RxD;
output RxD_data_ready; /
文档评论(0)