




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本本 科科 毕毕 业业 设设 计计 题目:题目:基于 FPGA 的 RS-232 串口通讯逻辑 设计 姓 名 杨常伟 学 院 信息与电气工程学院 专 业 电气工程及其自动化 年 级 2008 级 学 号 20082926113 指导教师 韩 辅 君 2012 年年 6 月月 10 日日 独独 创创 声声 明明 本人郑重声明:所呈交的毕业论文(设计),是本人在指导老师 的指导下,独立进行研究工作所取得的成果,成果不存在知识产权 争议。尽我所知,除文中已经注明引用的内容外,本论文(设计) 不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的 研究做出重要贡献的个人和集体均已在文中以明确方式标明。 此声明的法律后果由本人承担。 作者签名: 二一 年 月 日 毕业论文(设计)使用授权声明毕业论文(设计)使用授权声明 本人完全了解鲁东大学关于收集、保存、使用毕业论文(设计) 的规定。 本人愿意按照学校要求提交论文(设计)的印刷本和电子版, 同意学校保存论文(设计)的印刷本和电子版,或采用影印、数字 化或其它复制手段保存论文(设计) ;同意学校在不以营利为目的的 前提下,建立目录检索与阅览服务系统,公布论文(设计)的部分 或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定) 论文作者(签名): 二一 年 月 日 毕业设计选题报告毕业设计选题报告 姓 名 杨常 伟 性 别 男 学 院 信息与电气 工程学院 年 级 2008 级 学 号 20082926113 设计题目基于 FPGA 的 RS-232 串口通讯逻辑设计 课题来源教学课题类别应用研究 选做本课题的原因及条件分析: 现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强, 复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是 微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技 术为代表,而后者的代表就是 EDA(electronic design automatic,电子设计自动化) 技术。而 FPGA(FieldProgrammable Gate Array,现场可编程门阵列)是特殊的 ASIC 芯片,与其它的 ASIC 芯片相比,它具有设计开发周期短、设计制造成本低、 开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。而串 行通信技术又有比较成熟的技术与其特有的优点被普遍应用,因此设计此课题具 有很强的的实用性和发展性。 指导教师意见: 签名: 年 月 日 院(系)毕业论文(设计)领导小组意见: (公章) 年 月 日 毕业设计任务下达书毕业设计任务下达书 学院 信息与电气工程学院 专业 计算机科学与技术 学号 0322110213 姓名 杨 常伟 现将毕业设计任务下达书发给你。毕业设计任务下达书内容如下: 一、毕业设计题目 基于 FPGA 的 RS-232 串口通讯逻辑设计 二、主要内容 1. 基于 FPGA 的 RS-232 串口通讯逻辑设计的实现方法的选择; 2. 基于 FPGA 的 RS-232 串口通讯逻辑设计数据的接受发送模块的程序设 计及其仿真实验; 3. 基于 FPGA 的 RS-232 串口通讯逻辑设计接收到的数据的数码管显示。 .基于 FPGA 的 RS-232 串口通讯逻辑设计的上机测试。 三、具体要求 利用 VHDL 语言编写程序实现基于 FPGA 的 RS-232 的串行通信的接收和发送,利用 FPGA 集成度比较高,具有在线可编程能力,在其完成各种功能的同时,可以将串行通信接口 构建其中,根据实际需求分配资源。开题报告撰写的要求,查阅文献资料的要求, 设计工作要求,写作格式要求,纪律要求,以及设计中注意的问题和其他方 面的要求等,100 字左右。 四、主要参考文献 1 刘涛. 小型网站架设设计M. 北京:中国铁道出版社,2004. 2 温明. ASP 网站建设实录M . 北京:希望电子出版社,2005. 3 石志国. ASP 动态网站编辑M. 北京:清华大学出版社, 2001. 五、进程安排 阶 段起 止 日 期主 要 内 容 准备开题阶段2008.1.18-2008.3.9 设计实现阶段2008.3.10-2008.5.20 说明书完成阶段2008.5.21-2008.6.5 答辩阶段2008.6.6-2008.6.13 六、 毕业设计任务下达书于 年 月 日发出。毕业设计应于 年 月 日 前完成后交指导教师,由指导教师评阅后提交毕业设计答辩委员会。 七、 毕业设计任务下达书一式两份,一份给学生,一份留学院存档。 指导教师: 签发于 年 月 日 分管院长: 签发于 年 月 日 毕业设计开题报告毕业设计开题报告 姓 名 杨常伟 性 别 男 学 院 信息与电气 工程学院 年 级 2008 级 学 号 2008292611 3 预计 完成 时 间 2012.5.23 设计题目 基于 FPGA 的 RS-232 串口通讯逻辑设计 课题来源教学课题类别应用研究指导教师韩辅君 毕业设计实施方案: 第一阶段:开题 在做好需求分析的基础上,深入了解 FPGA 技术的发展及 VHDL 语言的语法,学会所用工具软件的具体操作; 第二阶段:综合分析 完成实现串口通信所需内容的设计,如显示模块、分频模 块、接收模块及发送模块的语言架构分析,最后连接到顶层文件; 第三阶段:修改完善设计 在初步完成的基础上,查看所做设计是否完善,功能 是否欠缺,后充实内容,各种模块能否达到预期效果,如接收模块能否正常接收等; 第四阶段:完成设计,对完成的设计进行最后上机调试,获取试验结果; 第五阶段:完成基于 FPGA 的 RS-232 串口通讯逻辑设计。 设计主要内容(提纲): 1、介绍选题背景及 EDA 技术的发展背景; 2、FPGA 简介及其开发环境介绍,并对 RS-232 通信原理简单介绍了解; 3、对所设计的各个模块进行程序编写及用 Modelsim 对各个模块进行模拟仿真; 4、程序模块功能设计,完成各个功能所需代码。 指导教师意见: 学生对于设计基于 FPGA 的 RS-232 串口通讯逻辑设计较为熟练,基本可以实现 设计的既定功能,整个实施方案过程合理清晰,步骤合理,阶段任务明确;设计内容 完整、科学,符合设计的相关要求,已经具备了开题的条件,同意开题。 签名: 年 月 日 年 月 日 学院毕业论文(设计)领导小组意见: (公章) 年 月 日 (签章) 年 月 日 毕业设计结题报告毕业设计结题报告 姓名 杨常伟性别男 学院 信息与电气工 程学院 年级2008 级 学号 20082926113 设计题目 基于 FPGA 的 RS-232 串口通讯逻辑设计 课题来源教学课题类别应用研究指导教师 韩辅君 本课题完成情况介绍(包括研究过程、实验过程、结果分析、存在的问题及应用 情况等。 ) 此设计从开始查考资料到串口通信的实现,都有步骤有计划的进行。基于 FPGA 的 RS-232 串口通讯逻辑设计过程中,对所编写的每一程序模块都经过仿真测试, 并且经过了许多次的修改,最终使仿真结果合乎预期。设计对仿真图形分析较为清 晰明确。最后,上机实现数据的接收以及发送。在接收验证时,把接收到的数据送 入数码管进行循环显示;在发送测试时,利用拨码开关实现数据输出的改变,在串 口助手的工作界面显示出所要传送的数据。通过上机实验基本达到了既定功能。 指导教师意见: 本设计基本实现了所定义的功能,采用模块化设计有很强的可读性和移植性。结 构设计合理,程序编写恰当,比较好的完成了设计任务。同意结题。 签名: 年 月 日 学院毕业论文(设计)领导小组意见: (公章) 年 月 日 设计成绩 毕业设计成绩评定表毕业设计成绩评定表 学院:信息与电气工程学院 学号:0322110213 姓 名杨常伟设计总成绩: 设计题目 基于 FPGA 的 RS-232 串口通讯逻辑设计 该设计在对鲁东大学书店概况做了需求分析的基础上,划分了网 站的功能结构,开发了一个基于 ASP 的鲁东大学网上书店网站,整个 设计方案合理,实现的功能较为齐全,达到了设计任务书所规定的要 求,设计说明书结构合理,表达清楚。最好能加上每个同学可以发布 自己的买书和卖书的论坛。 同意推荐该同学参加答辩。 指 导 教 师 评 语 评定成绩: 签名: 年 月 日 该学生基本完成了鲁东大学网上书店网站的设计要求,设计思路 较为清晰,功能较为完善,摘要所反映的外语能力较好,设计说明书 的文本、图表规范,表述清楚,数据库设计可以更合理一些。 同意该学生参加答辩。 评 阅 人 评 语 评定成绩: 签名: 年 月 日 答 辩 小 组 评 语 答辩成绩: 组长签名: 年 月 日 注:1、论文(设计)总成绩=指导教师评定成绩(50%)+评阅人评定成绩(20%) 指导教师对论文(设计)的内 容、工作量、工作态度、完成 质量、创新性、应用性、文本 规范、存在不足等给出评价, 以及是否同意参加答辩。不少 于 100 字。 评阅人对论文(设计)的内容 完整性、工作思路、理论观点、 创新性、应用性、文本规范、 外语能力、存在不足等给出评 价,以及是否同意参加答辩。 不少于 100 字 注意时间先后安排,全 文时间要合理 手写 +答辩成绩(30%) 2、将总成绩由百分制转换为五级制,填入本表相应位置。 目 录 1 引言1 1.1 选题背景.2 1.1.1 课题相关技术的发展.2 1.1.2 课题研究的必要性3 1.2 课题研究的内容.3 2 FPGA 简介及其开发环境简介4 2.1 FPGA 简介4 2.1.1 FPGA 发展历史与现状.4 2.1.2 FPGA 系统设计流程5 2.2 ISE 9.1I集成开发环境简介.6 2.3VHDL 硬件描述语言简介7 2.3.1VHDL 基本介绍 .7 2.3.2VHDL 编程语言的优势 .7 2.4 FPGA 开发版(EXCD-1)概述8 2.4.1 板上资源9 2.4.2 使用说明10 3 串口通信设计11 3.1 串口通信的原理图.11 3.2 设计的基本要求 11 4 串口通信各单元电路设计12 4.1 RS-232 顶层模块设计12 4.2 RS-232 发送模块设计12 4.3 RS-232 接收模块设计13 4.4 波特率发生模块 14 4.5 显示模块设计 14 4.6 上机调试.15 4.6.1 管脚配置.15 4.6.2 测试结果分析16 5 实验总结18 附录.19 参考文献.28 致 谢.29 1 基于基于 FPGA 的的 RS-232 串口通讯逻辑设计串口通讯逻辑设计 杨常伟 (信息与电气工程学院,电气工程及其自动化专业,2008 级 4 班,20082926113) 摘摘 要:要:随着科学技术的发展,通讯的速度及在线可编程能力越来越重要,而一 些普通的集成芯片很难满足这一要求。FPGA 的出现,使接口的通讯速度和能力大幅提 高。本文用 VHDL 语言编写程序实现基于 FPGA 的 RS-232 的串行通信,并从 FPGA 通 讯应用的角度对系统进行分析设计,把目前应用和后继发展进行兼顾考虑,随着科学的 发展,该课题还存在大量的后续研究工作。 关键词:关键词:FPGA,通讯,接口,VHDL Based on the FPGA serial communications RS-232 logic design Abstract: With the development of science and technology, the communication speed and online programmable ability become more and more important, and some common integrated chip is difficult to meet the requirements. The emergence of the FPGA, make the communication interface speed and capacity increase .In this paper, using the VHDL language procedures for the realization of serial communication based on the FPGA , and this article from the FPGA communication application angle, carries on the analysis to the system design, the application and subsequent development into account, along with the development of science, there is still a lot of work. Key words: FPGA, communication, interface, VHDL 1 引言 现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越 强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基 础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微 细加工技术为代表,而后者的代表就是 EDA(electronic design automatic,电子设 2 计自动化)技术。 本设计采用的 VHDL 是一种全方位的硬件描述语言,具有极强的描述能力, 能支持系统行为级、寄存器传输级和逻辑门级等三个不同层次的设计;支持结 构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在 实际应用中越来越广泛。ASIC(Application Specific Integrated Circuit)是专用的系 统集成电路,是一种带有逻辑处理的加速处理器。而 FPGA(FieldProgrammable Gate Array,现场可编程门阵列)是特殊的 ASIC 芯片,与其它的 ASIC 芯片相比,它具有设计开发周期短、设计制造成本低、 开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。 串行通信是将数据分解成二进制位用一条信号线,一位一位顺序传送的方 式,其优势是用于通信的线路少,因而在远距离通信时可以极大地降低成本, 它适合于远距离数据传送,也常用于速度要求不高的近距离数据传送 PC 系列 机上有两个串行异步通信接口、键盘、鼠标与主机间采用串行数据传送。 异步通信是一种很常用的通信方式。异步通信在发送字符时,所发送的字 符之间的时间间隔可以是任意的。发送端可以在任意时刻开始发送字符,因此 必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以 便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简 单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大) 。 本设计采用串口异步通信技术。 1.1 选题背景 本节将从 FPGA 嵌入式应用开发技术与串行通信发展的客观实际出发,通 过对该技术发展状况的了解,以及课题本身的需要,指出研究基于 FPGA 的芯 片系统与设计FPGA 串口通信的设计与实现的必要性。 1.1.1 课题相关技术的发展 我们知道现在数字集成电路不间断的发展、变化。由起初的电子管、晶体 管、小中规模集成电路、发展到超大规模集成电路(VLSIC)以及很多具有专用功 能的专用集成电路。然而,随着集成电路的规模变得越来越大,很多设计师想 自己设计出理想的集成电路,他们的想法是在实验室里就能设计出合适的超大 规模集成电路芯片,而且想立刻投入实践之中。基于上述的想法,设计师们设 计出了现场可编程逻辑器件(FPLD),在现场可编程逻辑器件中,应用最为广泛 的有两种:现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)2。 Xilinx 公司在 1985 年开发出第一块现场可编程逻辑器件,现在,FPGA 已 经发展了十几年了。在这十几年中,数字系统现场集成技术取得了惊人的成就。 现场可编程器件的规模也由最初的 1200 个门逐渐发展到几十万门,现在国际上 现场可编程逻辑器件的两大领导厂商 Xilinx 和 Altera 公司又推出了上百万门 FPGA/CPLD 产品,可以说现在的现场可编程逻辑器件的集成度达到了一个前 3 所未有的高度。同时他们推出的器件所具有的资源和开发套件相比于以前也增 加了很多。 基于 FPGA 的优良特性,它在通信、控制、数据计算等领域得到了广泛的 应用。它为用户减少了电子系统的开发风险和开发成本。同时缩短了上市时间, 再通过系统编程、远程在线重构技术等更是减少了维护升级的成本。大大降低 了整体系统的开发投入成本。未来可编程器件的发展趋势可以有这么几个:首 先,它朝着大容量、低电压、低功耗的 FPGA 发展,这是毋庸置疑的,可以说 各个芯片都朝着这个方向发展;其次,它朝着系统级的高密度 FPGA 发展;再 次,FPGA 可能朝着与 ASIC(Application Specific Integrated Circuit)融合的方 向发展。当这样的 FPGA 在批量生产时与通用集成电路相比具有体积更小、功 耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点;最后,可能 会朝着动态可重构 FPGA 方向发展。FPGA 动态可重构技术主要是基于 SRAM 可编程 FPGA 全部或者使部分逻辑资源,从而实现系统的动态转换功能。他可 以在系统上实现动态配置的新型 FPGA 芯片。 1.1.2 课题研究的必要性 随着科学技术的发展,新产品、新技术层出不穷,电子技术的发展更是日 新月异。电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改 变着我们的世界。 RS-232接口是现在最常用的一种通信接口,它的使用及开发现在已经非常成 熟,因此基于FPGA的RS-232串口逻辑通信将具有更加好的可行性及适用性, 可以应用到各种控制与通信系统中。 1.2 课题研究的内容 本设计主要研究基于 FPGA 的 RS-232 串口异步通信,要求根据 RS-232 异 步通信的帧格式进行传输。FPGA 数据接收模块中采用的每一帧格式为:1 位开 始位+8 位数据位+1 位结束位,波特率为 9600。该模块首先检测串口数据的起 始位,在检测到起始位后,每隔一个波特率的时间对串口数据进行一次采样, 并存入寄存器的相应位置,当每一帧的 8 位数据全部写入寄存器后,再统一输 出。 4 2 FPGA 简介及其开发环境简介 2.1 FPGA 简介 2.1.1 FPGA 发展历史与现状 就如前面所提及的现在数字集成电路不间断的发展、变化。由起初的电子 管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC)以及很多具 有专用功能的专用集成电路。然而,随着集成电路的规模变得也越来越大,很 多设计师想自己设计出理想的集成电路,他们的想法是在实验室里就能设计出 合适的超大规模集成电路芯片,而且想立刻投入实践之中。基于上述的想法, 设计师们设计出了现场可编程逻辑器件(FPLD),在现场可编程逻辑器件中,应 用最为广泛的有两种:现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD) 2。 Xilinx 公司在 1985 年开发出第一块现场可编程逻辑器件,现在,FPGA 已 经发展了十几年了。在这十几年中,数字系统现场集成技术取得了惊人的成就。 现场可编程器件的规模也由最初的 1200 个门逐渐发展到几十万门,现在国际上 现场可编程逻辑器件的两大领导厂商 Xilinx 和 Altera 公司又推出了上百万门 FPGA/CPLD 产品,可以说现在的现场可编程逻辑器件的集成度达到了一个前 所未有的高度。同时他们推出的器件所具有的资源和开发套件相比于以前也增 加了很多。 大规模可编程逻辑门阵列 FPGA(Field Program Gate Array)和复杂可编程 逻辑器件 CPLD(Complex Programmable Logic Device)是现在应用最为广泛的 两种可编程专用集成电路。他们具有性能好、容量大、体积小、功耗低、可靠 性高、速度快、设计周期短等好处。而且现在各大公司都在努力扩充自己的 IP 库,用更为优化的资源满足用户的需要,扩大自己的市场。 基于 FPGA 的优良特性,它在通信、控制、数据计算等领域得到了广泛的 应用。它为用户减少了电子系统的开发风险和开发成本。同时缩短了上市时间, 再通过系统编程、远程在线重构技术等更是减少了维护升级的成本。大大降低 了整体系统的开发投入成本。未来可编程器件的发展趋势可以有这么几个:首 先,它朝着大容量、低电压、低功率的 FPGA 发展,这是毋庸置疑的,可以说 各个芯片都朝着这个方向发展;其次,它朝着系统级的高密度 FPGA 发展;再 次,FPGA 可能朝着 ASIC(Application Specific Integrated Circuit)融合的方向 发展。当这样的 FPGA 在批量生产时与通用集成电路相比具有体积更小、功耗 更低、可靠性提高、性能提高、保密性增强、成本降低等优点;最后,可能会 朝着动态可重构 FPGA 方向发展。FPGA 动态可重构技术主要是基于 SRAM 可 5 编程 FPGA 全部或者使部分逻辑资源,从而实现系统的动态转换功能。他可以 在系统上实现动态配置的新型 FPGA 芯片。 。 2.1.2 FPGA 系统设计流程 在本章中,我们根据我们的设计对 Xilinx FPGA 开发环境 ISE 和整个开发 流程做一个详细了解。我们知道 Xilinx 作为世界上最大的 FPGA(现场可编程 门阵列)/CPLD(复杂可编程器件)生产商之一,不断推动着现场可编程器件 技术的发展。作为其开发软件 ISE 也是不断随着器件的发展而推陈出新,最新 的 ISE 已经取代了早期的 Foundation 系列,而且其功能更强大,包含的库更多, 能利用它进行开发的系列更多。 ISE 是 Integrated Software Environment(集成综合环境)的缩写,它是 Xilinx 提供给用户的一个工具集,这个集成的工具可以实现 FPGA/CPLD 的源 代码输入或原理图输入、仿真、综合到下载到板子上调试的整个开发过程,其 界面风格简洁流畅,易学易用。在遇到问题时,我们可以查找在线的帮助信息, 通过 Xilinx 提供的技术支持网站,我们可以把在设计中遇到的问题解决掉。同 时,在 ISE Language Template 中 ISE 元件提供给我们丰富的代码片段。在编写 程序时,找到我们需要的代码片段,我们可以加以修改,变成我们所要的程序。 下面是我们进行 FPGA 进行开发的设计流程。 功能定义 静态时序仿真 FPGA厂家开发工具 逻辑综合器 下载验证 布局布线后仿真 布局布线 综合后仿真 逻辑综合 功能仿真 设计输入 逻辑仿真器 逻辑仿真器 逻辑仿真器 6 图 2-1 FPGA 设计流程图 在接下来的设计中,我们根据上面的 FPGA 设计流程图,我们仔细的分析 一下 FPGA 的开发流程。 2.1.4 FPGA开发编程原理 硬件设计需要根据各种性能指针、成本、开发周期等因素,确定最佳的实 现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。 CPLD/FPGA软件设计可分为两大块:编程语言和编程工具。编程语言主要 有VHDL和Verilog两种硬件描述语言;编程工具主要是两大厂家Xilinx和Xilinx 的集成综合EDA软件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三 方工具(如FPGA Express、Modelsim、Synposys SVS等) 。具体的设计输入方式 有以下几种: 1.HDL语言方式。HDL既可以描述底层设计,也可以描述顶层的设计,但 它不容易做到较高的工作速度和芯片利用率。用这种方式描述的项目最后所能 达到的性能与设计人员的水平、经验以及综合软件有很大的关系。 2.图形方式。可以分为电路原理图描述,状态机描述和波形描述3种形式。 有的软件3种输入方法都支持,如Active-HDL。MAX+plusII 图形输入方式只支 持电路原理图描述和波形描述两种。电路原理图方式描述比较直观和高效,对 综 合软件的要求不高。一般大都使用成熟的IP核和中小规模集成电路所搭成的 现成电路,整体放到一片可编程逻辑器件的内部去,所以硬件工作速度和芯片 利用率很高,但是当项目很大的时候,该方法就显得有些繁琐;状态机描述主 要用来设计基于状态机思想的时序电路。在图形的方式下定义好各个工作状态, 然后在各个状态上输入转换条件以及相应的输入输出,最后生成HDL语言描述, 送去综合软件综合到可编程逻辑器件的内部。由于状态机到HDL语言有一种标 准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利用率 主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接 描述输入与输出的波形关系。这种输入方式最后所能达到的工作速度和芯片利 用率也是主要取决于综合软件。 本设计采用的是以VHDL硬件编程语言实现,并以Modelsim6.5g仿真。 2.2 ISE 9.1i 集成开发环境简介 ISE 软件是 Xilinx 的综合开发工具,它集成了 Xilinx 的 FPGA/CPLD 开发 流程中所涉及的所有工具和第三方软件接口。ISE 9.1i 版本几乎支持 Xilinx 现行 的所有 FPGA,在该集成开发环境中可以实现电路的设计、综合、适配到最后 形成下载文件以及在线配置 FPGA,还能对电路进行功能仿真,对适配后形成 的最终电路进行时序仿真。也就是说只要有了 ISE 这个集成开发环境,就基本 上可以完成 Xilinx 公司 FPGA 开发过程中的所有工作。另外,为了方便设计, ISE 还提供了免费 LPM 模块供用户调用,如计数器、内存、加法器、乘法器等。 除了这些免费的 LPM 模块外,Xilinx 公司还开发了有偿 IP 核供给有需要的用 户使用。这些 LPM 模块和 IP 核都大大简化了设计过程,缩短了开发周期。ISE 7 9.1i 支持多种输入方式,常用的有: (1)原理图输入:这种方法最直观,适合顶层电路的设计; (2)硬件描述语言输入:包括 AHDL、VHDL 及 Verilog HDL 输入。采用 硬件描述语言的优点易于使用自顶向下的设计方法、易于模块规划和复用、移 植性强、通用性好。 (3)网表输入:对于在其它软件系统上设计的电路,可以采用这种设计方 法,而不必重新输入,ISE 支持的网表檔包括 EDIF、VHDL 及 Verilog 等格式。 这种方法的优点是可以充分利用现有的设计资源。在本章的设计中,采用的是 VHDL 硬件描述语言输入的方式。 一般来说,完整的 FPGA 设计流程包括电路设计与输入、功能仿真、综合、 综合后仿真、实现、布线后仿真与验证、板级仿真验证与调试等主要步骤。 2.3VHDL 硬件描述语言简介 2.3.1VHDL 基本介绍 对 FPGA 进行设计,我们有两种设计输入方式,一种是硬件描述语言输入 方式,一种是原理图设计输入方式。本设计以硬件描述语言输入方式进行设计, 因此对原理图设计输入方式,我们不做介绍。 硬件描述语言使用的是文本方式描述设计,他又分为普通硬件描述语言和 行为描述、语言两种。普通硬件描述语言有 ABEL-HDL、CUPL 等,他们支持 逻辑方程、真值表、状态机等逻辑表达方式。目前,行为描述语言是非常常用 的一种高层描述语言,它有两种描述方式:VHDL 和 Verilog-HDL。现在这两 种描述语言都成为了 IEEE 标准,而且他们分别都有自己的优点:设计者在系 统设计、逻辑验证阶段就可以确定方案的可行性;语言可以公开利用,便于实 现大规模的系统设计;硬件描述语言有很强的逻辑描述和仿真功能。 VHDL 作为硬件描述语言的一种,它和 Verilog 在细节上有一定的区别,但 是他们最大的区别在于所处的开发环境不同,Verilog 它根源于传统的自底而上 的设计,因而被集成电路工业基于单元的设计大量采用,而 VHDL 多采用的是 自定而上的设计开发。 VHDL 模型具有不同的构造体,有功能构造体、行为构造体、结构构造体 三种。我们可以把 VHDL 模型分为两个部分:接口部分(VHDL 中的实体 entit y)和行为部分(VHDL 中的构造体 architecture) 。实体的作用是在 VHDL 模型 中定义模块如何与其他的模型进行连接的,在实体的内部我们可以定义模型的 名称以及任何要传递给模型的参数,端口定义等。 2.3.2VHDL 编程语言的优势 (1)与其它的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定 了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体 8 的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能 查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计 的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完 成必须有多人甚至多个代发组共同并行工作才能实现。 (4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑 综合和优化,并自动的把 VHDL 描述设计转变成门级网表。 (5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构, 也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 2.4 FPGA 开发版(EXCD-1)概述 EXCD-1 可编程片上系统开发板是一款易于使用的开发板,它能够实现大 量基于FPGA 的数字系统设计。开发板采用Xilinx Spartan 3E FPGA 器件,板上 资源丰富,有2Mbytes 的Flash 和1Mbytes 的快速SRAM,以及各种输入输出设 备,可以方便的设计具有各种功能的数字系统,也可设计含有Xilinx Micro Blaze 软核的嵌入式处理器系统。EXCD-1 可编程片上系统开发板有5 个扩展 接口,可灵活的扩展各种功能模块,如数模转换模块,模数转换模块,LCD显 示模块等。 图2-1 EXCD-1 可编程片上系统开发板 9 2.4.1 板上资源 图2-2 EXCD-1 板上资源框图 1. Xilinx Spartan 3E XC3S500E PQ208 FPGA 器件 10,476 逻辑单元 1,164 CLBs 73Kbits 分布式RAM 360Kbits 块RAMs 20 个专用乘法器 4 个DCMs 158 个用户I/O 管脚 PQ208 管脚封装 2. 时钟:50MHZ 晶振输入 3. 高速异步SRAM 512K 16bits 4. Flash 存储器 1M 16bits 5. 配置Flash: XCF04S 4Mbit 6. JTAG 下载接口 7. 4 个按键 8. 1 个4 位7 段数码管 9. 2 个DIP 开关 10. 8 个拨码开关 11. 8 个发光二极管 12. 1 个PS2 接口 13. 1 个RS232 接口 10 14. 1 个VGA 接口 15. 扩展接口: 4 个具有8 个IO 信号的12-PIN 扩展接口 1 个具有34 个IO 信号的68-PIN SCSI 扩展接口 16. 1 个电源接口 17. 1 个电源拨码开关 18. 1 个复位按钮 2.4.2 使用说明 1 使用前准备 1. 连接电源; 2. 连接Xilinx USB 平台电缆或并口下载线,用于配置FPGA 和平台Flash; 3. 连接串行电缆板上相应端口; 4. FPGA 配置及编程 Xilinx Spartan 3E XC3S500E FPGA 器件提供了两种方案来解决FPGA 的编 程。 (1). JTAG 配置 这是一种很通用的编程方式,利用PC 机直接将FPGA 的配置文件通过 JTAG 下载到FPGA 芯片中,每次上电需要重新下载程序。如图2-3所示。 JTAG 配置方式编程的器件为FPGA,配置文件为ISE的综合和实现后自动 生成*.bit 文件。 (2). PROM 配置 PROM 配置方式与JTAG 不同,FPGA 的配置文件下载到PROM 中,重 新上电之后, PROM 将通过串行或者并行的方式将配置文件下载FPGA 芯片。 因此,PROM 配置方式的好处在于掉电无需重新下载。 JTAG 配置和PROM 配置操作流程很相似,只是由于它们编程的器件不同, 它们需要的配置文件格式也不同。PROM 配置方式编程的器件为FLASH,需要 的配置文件为IMPACT 软件生成的*.mcs 文件。如图2-3所示。 11 图2-3 JTAG 配置与PROM 配置方式示意图 2 输入时钟 EXCD-1 可编程片上系统开发板使用50MHZ 的晶振作为整个系统的工作 时钟。晶振产生的50MHz 时钟信号连接至FPGA 全局时钟引脚P80,可驱动 FPGA 内部锁相环(DLL)模块,以达到分频或倍频的目的。 3 串口通信设计 3.1 串口通信的原理图 如图 3.1 所示。其中 UART-TX 为发送数据线 UART-RX 为接收数据线。 图 3.1 串口通信原理图 3.2 设计的基本要求 通信方式可分为并行通信和串行通信两种。 并行通信就是数据以成组的方 式在多个并行信道上同时传输;而串行通信则是在传输过程中,二进制数据一 位一位的通过一条通信信道,并且按照规定的规程依次 传输,实现计算机与计 算机或计算机与外部设备之间的通信(数据交换)。根据 RS232 异步通讯的帧格 式 FPGA 数据接收模块中采用的每一帧格式为:1 位开始位(0)+8 位数据位+1 位结束位(1) ,波特率为 9600。该模块首先检测串口数据的起始位,在检测到 起始位后,每隔一个波特率的时间对串口数据进行一次采样,并存入寄存器的 相应位置,当每一帧的 8 位数据全部写入寄存器后,再统一输出。由于串行通 信的收发方都只需要一条数据线,比较容易实现而且长距离传输时也更加可 12 靠, 因此其应用十分广泛。本设计就是使用第二种方法设计的串行通信。 4 串口通信各单元电路设计 设计流程图: 13 14 4.1 RS-232 顶层模块设计 其顶层模块原理图如下: 图 4.1 RS-232 顶层模块原理图 由三部分组成:接收模块,发送模块以及波特率发生模块等三个模快。其 顶层文件模块程序代码见 附录一。 4.2 RS-232 发送模块设计 工作说明: 发送器接收 8 位的数据,并将其串行输出。(“reset“置位后开始传输)。 RS-232 模块的传输数据: 8 位数据, 1 个停止位(1), 1 个开始位(0) 。 15 RS-232 发送模块波形仿真图如图 4.2 所示 图 4.2 RS-232 发送底层模块仿真波形分析: 首先将数据接收信号使能端 ENABLE=0,亦即使其处于发送状态工作 中。开始时,RESET=1 信号传送端口 TXD 处于等待状态,这时,在 D_DATA 中已经写入初值 01100010。 当 RESET=0 时,遇到时钟上升沿时,TXD 端口开始传输数据,从最低 位开始传送。传送数据前首先发一个起始位 0,8 位数据传送完成后,再发送一 个停止位 1。 从波形结果分析可知,仿真结果满足预期要求,实现了传输功能。传送 程序代码见 附录二。 4.3 RS-232 接收模块设计 工作说明: 1.当 reset 置位时开始检测起始位(0) 。 2.检测到起始位接收允许信号 rxa 置位。 3.RS-232 接收顶层模块原理图如图 4.5 所示 16 图 4.5 RS-232 接收模块波形仿真图 RS-232 接收模块仿真结果分析: 首先将 ENABLE_R 置位,表示接收执行工作状态。 当 RESET 信号置零时,RXA 在第一个时钟上升沿无变化,用来检测起始 位 0。当检测到起始位零时,接下来的一个时钟周期 RXA 置 1。然后,一个时 钟周期发送一位数据,从起始位开始发送,直至最后一位。 由于传送过程还未给 R_DATA 赋值,因此为接收完成时始终显示未初始化 状态 U。当 8 位数据接受完成,将数据赋给 R_DATA。有以上仿真波形分析可 知,所编程序语言符合预期。程序代码见 附录三。 17 4.4 波特率发生模块 图 波特率 8 分频仿真波形 为方便观察仿真波形结果,本波形采用 8 分频进行测试仿真。 首先,频率发生器复位信号 RESETB=1,复位内部的计数器。 其次,将 RESETB 置零,在下一个时钟上升沿,触发波特率产生器开始工作。 由于内部计数程序的给定计数周期和连续工作,使其产生 8 分频稳定的时钟频 率。 由以上波形分析可知,试验测试结果达到预期。再实际上机时,本设计采用 9600 的波特率,附录中给出的程序为产生 9600 的时钟脉冲。波特率发生模块 程序代码见 附录四。 4.5 显示模块设计 显示模块仿真波形如下: 图 4.5 显示模块仿真波形图 本模块所要实现的功能是将接受到的 8 位二进制数,以十六进制形式在 数码管上显示出来。当 FPGA 接收到传输过来的信号 L_DATA 后,将接受到的 数据转而经由 DATA_OUT 输出。然后,通过地址位选信号 ADDR 的改变,使 高位与低位被循环显示。因而能使数码管以 2 位十六进制来显示接收到的 8 位 二进制数。接收程序代码见 附录五。 4.6 上机调试 4.6.1 管脚配置 18 NET “clk“ LOC = “p80“ ; NET “T_data“ LOC = “p107“ ; NET “T_data“ LOC = “p106“ ; NET “T_data“ LOC = “p61“ ; NET “T_data“ LOC = “p62“ ; NET “T_data“ LOC = “p43“ ; #sw0 NET “T_data“ LOC = “p32“ ; #sw1 NET “T_data“ LOC = “p26“ ; #sw2 NET “T_data“ LOC = “p20“ ; #sw3 NET “data_out“ LOC = “p47“ ; #sega NET “data_out“ LOC = “p50“ ; #segb NET “data_out“ LOC = “p48“ ; NET “data_out“ LOC = “p41“ ; NET “data_out“ LOC = “p45“ ; NET “data_out“ LOC = “p42“ ; NET “data_out“ LOC = “p49“ ; NET “data_out“ LOC = “p40“ ; #segh NET “add“ LOC = “p39“ ; #sel1 NET “add“ LOC = “p36“ ; #sel2 NET “add“ LOC = “p35“ ; #sel3 NET “add“ LOC = “p34“ ; #sel4 NET “enable_R“ LOC = “p14“ ;#sw5 NET “reset“ LOC = “p6“ ; #sw6 NET “flag“ LOC = “p194“ ; #sw7 NET “rxa“ LOC = “p171“ ; NET “rxd“ LOC = “p184“ ; NET “txd“ LOC = “p18“ ; #PACE: End of Constraints generated by PACE 4.6.2 测试结果分析 本设计在进行上机测试时,采用串行调试小助手进行验证调试。 在验证传送时,首先用拨码开关,拨至上方即 ENABLE_R=1;RESET 复位后 即开始接收数据。然后,将 FLAG 所连接的拨码开关拨动一下,使数码管显示 数据。 在端口定义时,使接收输出端口 DATA_OUT 安排用来驱动 LED 灯。例如, 当发送一个 16 进制数时,前两个数码管显示,另两个数码管未使用。 (LED 为共阴极,所以,1 点亮,0 灭灯),其实验结果如 4.6.1 图及 4.6.2 图所 示。经过反复测试都能得到正确的结果。 19 图 4.6.1 串行调试助手使用界面 图 4.6.2 EXCD-1 实物显示图 接下来验证传送功能时,将拨码开关 SW5 拨至下方,即 ENABLE_R=0,执 行传送功能。当 RESET 复位即拨码开关 SW6 由上拨至下方时,开始执行传送。 在配置引脚时,为使实验结果容易观察,定义传送的低四位的数据为 0,用拨 码开关 SW0SW3 来改变高四位,得到的结果如图所示。 20 5 实验总结 将设计程序下载到实验板上运行调试后,最终结果与预期效果基本一致, 用键盘输入字符到串口调试软件,从串口调试软件发送到实验版上。 在此次 RS232 串行通信的设计过程中,更进一步地熟悉有关数字电路的知 识和具体应用。学会了利用 ISE 9.1i 软件进行原理图的绘制,硬件描述语言 VHDL 的编写,程序的仿真等工作。并能根据仿真结果分析设计的存在的问题 和缺陷,从而进行程序的调试和完善。 在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并 不是完全一致的,例如在对具体模块的仿真的过程中,往往没有考虑到整体设 计的层面以及与上下模块接口的设计。再加上器件对信号的延时等问题,实际 下载到实验板上后会出现一系列的问题,因此仿真图和电路连接图还是有一定 区别的。 此次的 RS232 串行通信设计重在各个模块代码的编写,虽然能把各个模块 的代码编写出来,并能正常显示,但对于各个模块的优化设计还有一定的缺陷 和不足。总的来说,通过这次的设计实验更进一步地增强了实验的动手能力, 21 对 RS232 串行通信的工作原理也有了更加透彻的理解。 本设计是采用硬件描述语言和 FPGA 芯片相结合进行的 RS-232 串行通信 的研设计,从中可以看出 EDA 技术的发展在一定程度上实现了硬件设计的软件 化。设计的过程变的相对简单,容易修改等优点,相信随着电子技术的发展, 串行通信的功能会更加多样化,满足人们的各种需要。在今后的学习中,我希 望对 FPGA 做一个更深入的研究。充分挖掘 FPGA 的应用潜力,更加熟悉 FPGA 的开发设计,模拟仿真等开发流程。能够学好 FPGA。作者认真的进行 了这次毕业设计,并且按时完成了论文的写作。但是由于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车技能方面试题及答案
- 速写肖像考试题及答案
- 西汉翻译考试题及答案
- 民间雕塑面试题及答案
- 出租车公司跨区域联营合作协议范本
- 企业捐款面试题及答案
- 信息技术设备委托加工技术保密及网络安全协议
- 2026版《全品高考》选考复习方案生物804 第23讲 第3课时 神经系统的分级调节及人脑的高级功能含答案
- 车间补料管理方案
- 学生法律法规教育
- 人教精通版五年级上学期Lesson25教学课件
- 鲁教版九年级英语课文原文及翻译Unit1
- 《工业固废资源化技术及应用》课程教学大纲
- 会计档案案卷目录
- [北京]输变电工程标准工艺应用图册(图文并茂)
- 2020年雀巢公司北京总部十周年庆典暨雀巢家庭日活动策划案ppt课件
- 潘通色卡电子版精品
- 1000MW机组锅炉长伸缩式吹灰器检修规程
- 清关发票装箱单样本
- 地下水八大离子-阴阳离子平衡计算公式
- 广州人才绿卡申请表
评论
0/150
提交评论