




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大连东软信息学院本科毕业设计(论文)论文题目论文题目:基于FPGA的豆浆机控制电路设计与实现系 所: 电子工程系 专 业:电子信息工程(集成电路设计与系统方向) 学生姓名: 学生学号: 指导教师: 导师职称: 讲师 完成日期: 2014年 4月 28日 大连东软信息学院Dalian Neusoft University of Informati大连东软信息学院毕业设计(论文) 摘要 IV基于FPGA的豆浆机控制电路设计与实现摘 要本文针对现代智能家居的实际需求,设计了一种基于现场可编程门阵列(FPGA)的豆浆机控制系统。采用FPGA设计,设计者只需用Verilog语言完成系统功能的描述,借助E
2、DA工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。该系统能实现豆浆制作功能,果汁制作功能和自动清洗功能。系统由上位机和下位机两部分组成。上位机使用按键实现操作界面。下位机采用Quartus软件实现代码设计,使用硬件描述语言编程,由EP2C80208C8N芯片执行豆浆机相关操作。文章详细介绍了豆浆机设计中每个模块的作用以及系统实现,上位机的操作界面,下位机原理及使用和七段数码管模块的原理及使用。设计的系统运行稳定,性能优良,在现代智能家居中,具有很好的应用前景。关键词:豆浆机,Verilog,七段数码管大连东软信息学院毕业设计(论文) AbstractAbstractThi
3、s paper aims at meeting the needs of Intelligent Home Furnishing, I design a Soybean Milkmachinecontrol system based on FPGA. Designers only need to complete the description of the the systemfunction when using FPGA,and get the result by using EDA tools, Thecompiled code isdownloaded to the targetch
4、ip so that it can implement in the hardware. The system can realize thefunction of Soybean Milkproduction, juice production and automatic cleaning. The system has two parts,the upper and lower machine. The upper achieve operating interface by keystrokes, the lower part realizes the Software design b
5、y using the Quartus II, programming by using hardware description language, and t realizes the operation by using EP2C80208C8N chip. This paper describes in detail the function of each module in the soya-bean milk machine design and implementation of a system, PC interface, the principle of the uppe
6、r machine and the lower machine and the principle of seven-segment digital tube. The system designed is stable and has excellent performance in modern intelligent home, and has good prospects.Key Words: Soy-bean Milk Machine, Verilog, The seven segment digital tube大连东软信息学院毕业设计(论文) 目录目 录 TOC o 1-3 u
7、摘 要 PAGEREF _Toc386437826 h IAbstract PAGEREF _Toc386437827 h II第1章绪 论 PAGEREF _Toc386437828 h 11.1 课题研究背景与意义 PAGEREF _Toc386437829 h 11.2 课题发展前景 PAGEREF _Toc386437830 h 11.3 市场现状 PAGEREF _Toc386437831 h 2第2章豆浆机控制电路选择 PAGEREF _Toc386437832 h 32.1 豆浆机的基本结构 PAGEREF _Toc386437833 h 32.1.1 豆浆机结构图 PAGERE
8、F _Toc386437834 h 32.1.2 豆浆机结构 PAGEREF _Toc386437835 h 32.2 豆浆机控制电路的论证 PAGEREF _Toc386437836 h 42.2.1 方案一:基于单片机的豆浆机控制电路设计 PAGEREF _Toc386437837 h 42.2.2 方案二:基于FPGA的豆浆机控制电路设计 PAGEREF _Toc386437838 h 42.2.3 方案比较与选择 PAGEREF _Toc386437839 h 5第3章关键技术介绍 PAGEREF _Toc386437840 h 63.1 系统设计目标 PAGEREF _Toc3864
9、37841 h 63.2 系统功能需求 PAGEREF _Toc386437842 h 63.3 系统开发环境 PAGEREF _Toc386437843 h 63.3.1 Quartus II PAGEREF _Toc386437844 h 63.3.2 FPGA设计 PAGEREF _Toc386437845 h 73.3.3 Verilog介绍 PAGEREF _Toc386437846 h 83.3.4 Modelsim介绍 PAGEREF _Toc386437847 h 103.4 系统可行性分析 PAGEREF _Toc386437848 h 103.4.1 技术可行性 PAGER
10、EF _Toc386437849 h 103.4.2 经济可行性 PAGEREF _Toc386437850 h 11第4章系统设计 PAGEREF _Toc386437851 h 124.1 总体方案 PAGEREF _Toc386437852 h 124.2 FPGA核心模块 PAGEREF _Toc386437853 h 124.2.1 FPGA芯片 PAGEREF _Toc386437854 h 124.2.2 电源 PAGEREF _Toc386437855 h 124.2.3 时钟源 PAGEREF _Toc386437856 h 144.2.4 复位电路 PAGEREF _Toc
11、386437857 h 144.2.5 配置电路 PAGEREF _Toc386437858 h 144.5 系统顶层模块图 PAGEREF _Toc386437859 h 174.5.1 状态流程图 PAGEREF _Toc386437860 h 174.5.2 状态机图 PAGEREF _Toc386437861 h 18第5章系统实现 PAGEREF _Toc386437862 h 195.1 系统顶层模块 PAGEREF _Toc386437863 h 195.2功能模块实现 PAGEREF _Toc386437864 h 19第6章系统仿真 PAGEREF _Toc386437865
12、 h 236.1 系统仿真 PAGEREF _Toc386437866 h 236.2 系统仿真图 PAGEREF _Toc386437867 h 236.2 系统仿真代码 PAGEREF _Toc386437868 h 266.3 数据总结 PAGEREF _Toc386437869 h 286.4 下一步工作 PAGEREF _Toc386437870 h 28第7章结论 PAGEREF _Toc386437871 h 29参考文献 PAGEREF _Toc386437872 h 30致 谢 PAGEREF _Toc386437873 h 31大连东软信息学院毕业设计(论文)- 第1章绪
13、论1.1 课题研究背景与意义豆浆有很丰富的营养,是一款性价比高的健康食品。专家介绍,在豆浆中具有多种蛋白质,多种维生素和多种人体必要的氨基酸和微量元素等,不论成年人,老年人和儿童,只要坚持饮用,对体质增强,预防和治疗疾病,都是非常有效的。中国医药早已证实,豆浆对健康的好处。它认为豆浆性柔和,补虚干燥和清除肺祛痰作用。现代医学研究证明,女性喝豆浆能够明显的延缓衰老。豆浆中含有抗氧化剂,矿物质和维生素,除此之外还有 HYPERLINK /search?word=%E6%A4%8D%E7%89%A9%E9%9B%8C%E6%BF%80%E7%B4%A0&fr=qb_search_exp&ie=utf
14、8&eid_gfrom=151 t _blank 植物雌激素黄豆苷原,这是在牛奶中没有的,其可以调节女性内分泌系统。妇女喝豆浆一个月, 300500毫升,可以调节内分泌,也可大大提高心态和身体素质。春秋季节饮豆浆,滋阴润燥,能够调节阴阳;夏季喝豆浆,消热防暑;冬季喝豆浆,祛寒暖胃。豆浆是适合所有年龄段的人群,价格便宜高品质的饮品,豆浆中含有的铁是牛奶的6倍,豆浆中的蛋白质含量虽然不比牛奶高,但其吸收率可在人体内达到85 ,因此豆浆被人们叫做“植物牛奶” 。豆浆被誉为最适合女人的食物,因为豆浆中含有极丰富的营养成分,豆浆中含的异黄酮可以调节女性内分泌系统的平衡,有肌肤美白作用,异黄酮对女性的作用
15、跟雌激素是一样的,像缓解更年期综合症,提升骨密度,预防骨质疏松等,也能避免雌激素带来的负面影响,例如乳腺癌,卵巢癌等。随着人们健康意识的提升,为了卫生,防止“黑心作坊”,大多数家庭选择自制豆浆,通过家庭的自制豆浆,拉动内需,使全自动豆浆机市场活跃。1.2 课题发展前景 豆浆是一种所有年龄段,价格便宜的高质量的饮品,我国的医学在很早就肯定了豆浆对健康的作用。豆浆传统的制作方法,先提炼,然后过滤,接着煮豆浆,特别需要注意豆浆溢出的问题,过程繁琐、制作手续麻烦。伴随着人们的健康意识的提升,越来越多的人更关心自己以及家人的健康状况,人们开始喜欢上家用豆浆机,生产过程不用操作,豆浆机自动控制完成。市场上
16、的豆浆机大部分由单片机控制,但单片机外围电路较多且实现能力较弱,调试复杂,抗干扰能力差,需要长时间对豆浆机进行系统操作,主要功能由软件操作,较易出错,以致系统不稳定。采用FPGA设计,设计者用Verilog语言来描述系统功能,利用仿真工具就可以得到的设计结果,将编译后的代码下载到开发板上即可以在硬件实现。EDA技术作为现代电子系统实现的方法,拥有修改软件程序即可改变系统硬件,速度快,更高可靠性,制作成本低、功能多等特点。因此,使用FPGA完成豆浆机的设计,使用液晶显示,远程计算机操作来完成检测,加水,加热,碎黄豆等功能。它的功能强大,必将在未来占据电子智能市场上的很大份额。1.3 市场现状近些
17、年来,家用豆浆机智能市场的需求已经呈现加速增长的趋势。国内豆浆机市场2005年到2007年的销售量分别为250万台、300万台、500万台,今年的销量更是突破到1000万台。专家估计,在未来几年豆浆机智能市场会拥有很好的前景。豆浆机拥有的广阔前景,引起了众多大家电企业的关注,现在市场上的豆浆机品牌数不胜数,但九阳一直凭借着先行者的优势以及雄厚的企业实力占据着九成的市场,具有绝对的垄断地位。相比其他品牌的家电产品,以豆浆机为代表的小家电的利润率都比较高,超过30%。美的、东菱等知名家电企业都加大了对豆浆机生产的投入,特别是国内家电巨头美的在2002年正式踏足豆浆机领域,改变了九阳多年“独占”的局
18、面,这一变化让九阳感到较大的压力。美的电器有关人士透露,美的投资3亿元在广东顺德建设的料理电器工业园已经正式启用,其中包括豆浆机生产线4条,年产量达到3000万台。据了解,美的在豆浆机销售行业的目标是占有10%的市场份额;预计2010年销售额突破20亿元,占到市场份额35%。由于美的大举进入豆浆机制造行业,对九阳占有的豆浆机市场带来了较大压力。但是行内专家指出,作为行业新进入者,美的在短时间内还无法给九阳实质性威胁,但在依托生产优势以及品牌、渠道方面等实力,或许两三年后,二者的竞争可能会出现结果。到目前为止,以九阳在豆浆机行业的地位似乎其他企业还无法撼动,因为九阳是国内豆浆机的缔造者,其在豆浆
19、机行业的强大品牌号召力,专业化和优势技术也有助于其保持住豆浆机市场的龙头地位。大连东软信息学院毕业设计(论文)第2章豆浆机控制电路选择2.1 豆浆机的基本结构2.1.1 豆浆机结构图如图2.1所示。图2.1 智能豆浆机的结构图2.1.2 豆浆机结构(1) 杯体:有提手和到浆口,主要的作用是盛水以及豆浆。杯体材料用的是符合食品卫生的不锈钢或者聚碳酸脂材质。在杯体上标注水位线,用来作为煮豆浆时的加水量。杯体的上沿正好扣住机头下盖,对机头起固定以及支撑作用。(2) 机头:机头是整个豆浆机最重要的部件,除去杯体外,其余的部件全部安装在机头上。机头外壳分上盖和下盖。上盖有面板按键、水位标识、电源插座。下
20、盖用来安装各主要部件,分别有防溢电极、防干烧电极、加热器、温度传感器、电机、刀片。同样要注意的是,下盖的制作材料也同样需要符合食品卫生标准。(3) 加热器:加热功率800W,材质为不锈钢制作,用于加热豆浆。加热管下半部设计形状为半圆形,方便洗刷和装卸网罩。(4) 温度传感器:检测“预热”时杯体内的水温,当温度达到设定温度(要求80 左右)时,系统启动电机开始打磨(5) 防溢电极:检测豆浆是否沸腾,防止豆浆溢出,其处在杯体上方。为使防溢电极工作正常,应及时对其清洗,使其保持干净,保证豆浆不要太稀,防止防溢电极将失去防护作用,造成溢杯。(6) 防干烧电极:在杯体水位正常时,防干烧电极下端是浸泡在水
21、中。当杯体中水位处于低水位或无水,或机头被提起时,并使防干烧电极下端离开水面时,被微控制器通过防干烧电极检测到后,为保用户安全,将禁止豆浆机工作。(7) 刀片:外形类似螺旋桨,材质使用高硬度不锈钢,用于粉碎豆粒。(8) 网罩:用于盛豆子,过虑豆浆。2.2 豆浆机控制电路的论证2.2.1 方案一:基于单片机的豆浆机控制电路设计如果采用单片机作为主控芯片,通过单片机的引脚连接外部电路,通过相关引脚控制其相应三极管驱动,由继电器组实施电路转换来完成操作。单片机控制系统框图如图2.2所示。图2.2单片机系统控制框图2.2.2 方案二:基于FPGA的豆浆机控制电路设计如果采用FPGA作为主控芯片,采用V
22、erilog代码进行编写,借助EDA工具就可得到设计结果,将编译后的代码下载到开发板上即可在硬件上实现,通过控制电机进行豆浆研磨,七段数码管显示豆浆机状态,按键模块进行控制。如图2.3所示。图2.3 FPGA控制系统框图2.2.3 方案比较与选择采用单片机设计能具有成本低、控制方便的优点。设计是:通过编程,仿真,调试,将符合要求后的代码将程序写入单片机芯片,利用单片机采集来的数据,对豆浆机进行控制。但这样的设计外围电路较多,时序能力实现较弱,调试复杂以及抗干扰能力差,特别是像豆浆机的强电控制,主要是由软件运作,较易出错,造成系统不稳定。本设计针对用户对现在智能设备市场的需求,设计了一种基于FP
23、GA的豆浆机控制系统。采用FPGA设计,是因为FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一,FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。使用FPGA的编程不用使用专用的FPGA编程器,使用通用的EPROM、PROM编程器就可以。当系统需要修改FPGA功能时,设计者只是需要更换EPROM即可。所以同一片FPGA,通过
24、不同的编程代码,可以产生出不同的电路。因此,FPGA的设计非常灵活。采用FPGA设计,将所有器件集成在一块芯片上,在体积减小的同时又提高了稳定性,还可应用EDA软件仿真,调试,方便进行功能扩展,外围电路较少,采用硬件逻辑电路实现,其最大的优点是稳定性好,抗干扰能力强,很适合作为豆浆机系统的控制核心。基于对以上因素的考虑,决定采用以FPGA为核心,用 Verilog编程来实现豆浆机的设计方法,实现豆浆机控制电路的设计,提升设计的可行性。综上所述,本设计是基于FPGA的豆浆机控制电路的设计。第3章关键技术介绍3.1 系统设计目标 豆浆机主要分为上下两部分,由上部分给下部分控制信号,下部分执行。下部
25、分向上部分反映水位高、水位低、加水、加豆、加水果等信号。上部分不同的操作在下部分液晶显示是不一样的,电机驱动不同。3.2 系统功能需求 在设计豆浆机时首先要考虑的是用户的需求,了解用户需要什么样的功能,针对用户的需求去做系统设计,能够更好的服务使用者,也能更大的扩展市场,最大程度的占领市场份额。根据市场用户调查可以大致的列出以下几点用户需求:(1)显示时间(2)误操作报警提示(3)七段数码管显示豆浆机状态(4)具有磨豆浆榨取果汁及清洗功能(5)具有加热和研磨操作(6)具有远距离操作功能等6条用户需求。3.3 系统开发环境 3.3.1 Quartus II (1)Quartus II简介Quar
26、tus II 是 HYPERLINK /view/3317625.htm t _blank Altera公司的综合性PLD/FPGA开发工具,能够使用原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等系统设计输入方式,内部嵌有的综合器和仿真器,能够实现从设计输入至硬件配置的完全的PLD设计流程。Quartus II可以在XP、Linux以及Unix上运行,除了可以运用Tcl HYPERLINK /view/54.htm t _blank 脚本完成系统设计流程外,还提供了优良的用户图形界面的设计方式。还具有运行快,使用
27、简单等特点。Quartus II支持Altera的IP核,其包括了LPM/MegaFunction宏功能模块数据库,使用户可以充分使用已经编译完成的模块,简化了系统设计的难度、提高了系统设计的速度。其对第三方EDA工具的完美的运行支持也使设计者在流程设计时使用自己熟悉的第三方EDA工具。Maxplus II 作为Altera的上一代PLD设计 HYPERLINK /view/37.htm t _blank 软件,因为其出色的易用性而得到了广大设计者的使用。现在Altera已经暂停了对Maxplus II 的技术支持,Quartus II 与其相对比下不只是支持多种器件类型以及图形化界面的改变。
28、Altera在Quartus II 中包括了许多例如SignalTap II、Chip Editor和RTL Viewer等辅助系统设计工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 完善的图形化界面和简单快捷的使用方法。Altera Quartus II 作为一种可编程逻辑器件的开发软件,因为其功能强大的设计能力和简单方便直观的接口,广泛的受到设计开发者的欢迎。(2)Quartus II性能特点:支持MAX7000/MAX3000等乘积项器件软件体积缩小,运行速度加快LogicLock设计流程把性能提升15%采用快速适配选项缩短编译时间新的功能减小了系统级验证
29、3.3.2 FPGA设计(1)FPGA 简介通过硬件描述语言(Verilog或VHDL)所完成的电路系统设计,可以经过简单的综合与布局布线,快速的烧录到 FPGA 开发板上进行测试,是现代 IC系统设计验证的主流技术。这些可编辑元件可以被用来实现一些简单的逻辑门级 HYPERLINK /ShowTitle.e?sp=S%E7%94%B5%E8%B7%AF t _blank 电路(比如AND、OR、XOR、NOT)或者更加繁琐的具有组合功能例如译码器或者是解数学题。很大部分的FPGA设计里面,这些可编辑的元器件里都包括记忆元件类似 HYPERLINK /ShowTitle.e?sp=S%E8%A
30、7%A6%E5%8F%91%E5%99%A8 t _blank 触发器(Flipflop)和其他功能完整的记忆模块。开发者也可以根据系统需求通过可编辑之间的连接把FPGA内部的逻辑块用线连接起来,就像是一个 HYPERLINK /ShowTitle.e?sp=S%E7%94%B5%E8%B7%AF t _blank 电路试验板被安放在了一个 HYPERLINK /ShowTitle.e?sp=S%E8%8A%AF%E7%89%87 t _blank 芯片里。一个在从工厂内出来的成品FPGA的逻辑块的连接能够按照设计者的需求而做出改变,这样FPGA设计就可以完成设计者所需要的功能。FPGA一般来
31、说要比ASIC(专用 HYPERLINK /ShowTitle.e?sp=S%E9%9B%86%E6%88%90%E8%8A%AF%E7%89%87 t _blank 集成芯片)的读取速度要慢,不能够完成难度较大一点的设计,相对比下其 HYPERLINK /ShowTitle.e?sp=S%E5%8A%9F%E8%80%97 t _blank 功耗还是比较低的。但他们也具有快速成品,可以修改主程序中的错误和更加便宜的产品造价。(2)基本特点1)采用FPGA设计ASIC HYPERLINK /view/134362.htm t _blank 电路( HYPERLINK /view/380272.
32、htm t _blank 专用集成电路),用户不需要投片生产,就能得到合用的 HYPERLINK /view/26651.htm t _blank 芯片。2)FPGA可做其它全定制或半定制ASIC HYPERLINK /view/134362.htm t _blank 电路的中试样片。3)FPGA内部有丰富的 HYPERLINK /view/71792.htm t _blank 触发器和I/O引脚。4)FPGA是ASIC HYPERLINK /view/134362.htm t _blank 电路中设计周期最短、开发费用最低、风险最小的器件之一。5) FPGA采用高速CMOS工艺, HYPER
33、LINK /view/720038.htm t _blank 功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行 HYPERLINK /view/3281.htm t _blank 编程。用户可以根据不同的配置模式,采用不同的 HYPERLINK /view/3281.htm t _blank 编程方式。加电时,FPGA HYPERLINK /view/26651.htm t _blank 芯片将EPROM中数据读入片内编程RAM中,配置完成后,
34、FPGA HYPERLINK /view/1355461.htm t _blank 进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA HYPERLINK /view/1164883.htm t _blank 编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的 HYPERLINK /view/134362.htm t _blank 电路功能。因此,FPGA的使用非常灵活。3.3.3 Verilog介绍Verilog即Ve
35、rilog HDL。Verilog HDL是一种 HYPERLINK /view/25278.htm t _blank 硬件描述语言(HDL:Hardware Description Language),其通过 HYPERLINK /view/5777152.htm t _blank 文本的方式来描述 HYPERLINK /view/987445.htm t _blank 数字系统硬件的结构以及行为的语言,使用它即可以完成逻辑电路图也能够表达出 HYPERLINK /view/3524173.htm t _blank 逻辑表达式,其还可以用来表示 HYPERLINK /view/494470.
36、htm t _blank 数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上使用最广泛的两种硬件描述语言,这两种语言都是在20世纪80年代中期被开发出来的。前者由Gateway Design Automation公司(该公司于1989年被 HYPERLINK /view/193517.htm t _blank Cadence公司收购)开发。两种 HYPERLINK /view/115464.htm t _blank HDL均为 HYPERLINK /view/3933.htm t _blank IEEE标准。Verilog HDL是一种硬件描述语言,用于从算法级、门级到开
37、关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Ve
38、rilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。Verilog以模块为基础的设计 HYPERLINK /view/31949.htm?fromtitle=Verilog&fromid=524752&type=syn o 编辑本段 编辑,描述复杂的硬件电路,设计人员总是将复杂的功能划分为简单的功能,模块是提供每个简单功能的基本结构。设计人员可以采
39、取“自顶向下”的思路,将复杂的功能模块划分为低层次的模块。这一步通常是由系统级的总设计师完成,而低层次的模块则由下一级的设计人员完成。自顶向下的设计方式有利于系统级别层次划分和管理,并提高了效率、降低了成本。“自底向上”方式是“自顶向下”方式的逆过程。使用Verilog描述硬件的基本设计单元是模块(module)。构建复杂的电子电路,主要是通过模块的相互连接调用来实现的。模块被包含在关键字module、endmodule之内。实际的电路元件。Verilog中的模块类似C语言中的函数,它能够提供输入、输出端口,可以实例调用其他模块,也可以被其他模块实例调用。模块中可以包括组合逻辑部分、过程时序部
40、分。设计人员可以使用一个顶层模块,通过实例调用上面这个模块的方式来进行测试。这个顶层模块常被称为“测试平台(Testbench)”。为了最大程度地对电路的逻辑进行功能验证,测试代码需要尽可能多地覆盖系统所涉及的语句、分支、条件、路径、触发、状态机状态,验证人员需要在测试平台里创建足够多的输入激励,并连接到被测模块的输入端,然后检测其输出端的表现是否符合预期(诸如 HYPERLINK /view/842700.htm t _blank SystemVerilog的硬件验证语言能够提供针对验证专门优化的数据结构,以随机测试的方式进行验证,这对于高度复杂的集成电路设计验证可以起到关键作用)。实例调用
41、模块时,需要将端口的连接情况按照这个模块声明时的顺序排列。这个顶层模块由于不需要再被外界调用,因此没有输入输出端口:module tester;reg 1:0 SELECT;reg IN0, IN1, IN2, IN3;wire OUT;mux my_mux (OUT,SELECT,IN0,IN1,IN2, IN3); /实例调用mux模块,这个实例被命名为my_muxinitial /需要仿真的激励代码 begin endendmodule在这个测试平台模块里,设计人员可以设定仿真时的输入信号以及信号监视程序,然后观察仿真时的输出情况是否符合要求,这样就可以了解设计是否达到了预期。除此之外,
42、还可以使用或者采用命名端口连接的方式。使用这种方式,端口的排列顺序可以与原模块声明时不同,甚至可以不连接某些端口:Mux,my_mux(.out(OUT),.select(SELECT),.in0(IN0),.in1(IN1),.in2(IN2),.in3(IN3);使用命名端口连接,括号外面是模块声明时的端口,括号内是实际的端口连接,括号外相当于C语言的形式参数,括号内相当于实际参数endmodule上面所述的情况是,测试平台顶层模块的测试变量直接连接了所设计的功能模块。测试平台还可以是另一种形式,即测试平台并不直接连接所设计的功能模块,而是在这个测试平台之下,将激励模块和功能模块以相同的抽
43、象级别,通过线网相互连接。这两种形式的测试平台都可以完成对功能模块的测试。大型的电路系统,正是由各个层次不同模块之间的连接、调用,来实现复杂的功能的。Verilog HDL的最大特点就是方便使用简单易学,如果设计者有C语言的使用经验,可以在很短的时间内学习并掌握使用,因此可以把Verilog HDL的学习安排在 HYPERLINK /view/3080633.htm t _blank ASIC设计等有关课程教学计划内进行教授,因为HDL语言自身是面向硬件和系统设计的,这样的安排也可以让学习者在学习的同事也能够得到设计电路的实际经验。与学习Verilog相比,VHDL的学习则要更加的辛苦一些。但
44、Verilog HDL是一种语法比较自由的语言,也容易使初学者犯一些语法错误,这一点要格外注意。3.3.4 Modelsim介绍 HYPERLINK /view/1667387.htm t _blank Mentor公司的ModelSim是行业内最优秀的HDL设计 HYPERLINK /view/561380.htm t _blank 仿真软件,它能提供良好的仿真环境,是行业内唯一的 HYPERLINK /view/2375980.htm t _blank 单内核支持VHDL和Verilog混合仿真的仿真软件。它采用直接优化系统的 HYPERLINK /view/553519.htm t _b
45、lank 编译技术、Tcl/Tk技术以及单一内核仿真技术,代码的仿真编译速度快,代码的编译与其设计的软件无关,方便保护IP核,具有特色的的图形界面以及 HYPERLINK /view/1309799.htm t _blank 用户接口,给使用者快速修改错误提供了便捷的通道,是FPGA/ HYPERLINK /view/3080633.htm t _blank ASIC设计 HYPERLINK /view/561380.htm t _blank 仿真软件中的首选。其主要特点有:(1)优化RTL和门级电路,仿真编译运行速度快,能够跨平台和版本进行仿真;(2) HYPERLINK /view/237
46、5980.htm t _blank 单内核VHDL和Verilog结合仿真;(3) HYPERLINK /view/60376.htm t _blank 源代码模版,源代码助手和系统模块管理;(4)集中了系统性能的 HYPERLINK /view/2466792.htm t _blank 分析、波形的比较、代码覆盖率、ChaseX、Signal Spy、Virtual Object、Memory窗口、Assertion等系统调试功能;(5)C和Tcl/Tk接口,C调试;(6)对SystemC的直接支持,和HDL任意混合;(7)支持 HYPERLINK /view/842700.htm t _b
47、lank SystemVerilog的设计功能;对系统级描述语言的最全面支持, HYPERLINK /view/842700.htm t _blank SystemVerilog,SystemC,PSL;ASIC Sign off。可以单独或同时进行行为(behavioral)、RTL级、和门级(gate-level)的代码。3.4 系统可行性分析3.4.1 技术可行性本系统采用FPGA设计,使用Verilog语言进行系统功能的编写,用仿真工具就可得到设计结果。FPGA设计是现代电子系统开发的一种方式,具有速度快,可靠性高等特点,成本低,功能强。所以采用FPGA来设计本系统,控制豆浆机的工作,
48、用液晶显示,完成测量水位,加热,研磨等。3.4.2 经济可行性豆浆的好处现在可谓是家喻户晓,一部豆浆机也成为了每个家庭的必须品,在这个前提下,研制出一部可靠性高,速度快的豆浆机是有必要的,相信在未来的市场上必将占有一定的份额。大连东软信息学院毕业设计(论文)第4章系统设计4.1 总体方案 本系统采用FPGA芯片作为中央处理器,通过七段数码管显示豆浆机状态,实现豆浆机研磨功能,果汁操作功能。本系统主要由FPGA核心模块、按键模块、七段数码管显示模块、传感器模块以及电机驱动模块五部分组成,具体系统框图如图4.1所示。图4.1电路系统框图4.2 FPGA核心模块FPGA核心模块是系统的整个核心,它负
49、责控制整个系统的时序、数据采集以及处理的任务。本设计的FPGA核心模块主要由FPGA芯片、电源、时钟源、FPGA配置电路等组成。4.2.1 FPGA芯片FPGA芯片使用Altera公司的Cyclone系列的EP2C80208C8N,它的I/O电压为3.3V,内核电压为1.5V,含有一个锁相环,约3万门、6万RAM bit,144个引脚。FPGA的I/O引脚按功能能分为四部分,且每个BANK的I/O引脚供电是独立的,BANK1BANK4引脚图如图4.2所示。4.2.2 电源如图4.3所示,本系统采用的核心板的所有I/O脚都采用3.3V标准电压,因此所有的VCC都连接 3.3V,VCCINT为FP
50、GA内核工作输入电压,Cyclone 系列的FPGA均采用 1.5V的内核电压,所以系统这里连接1.5V。图4-1 系统框图图4-1 系统框图b) c) d)图4.2 EP2C80208C8N BANK1BANK4引脚图4.3 I/O电压、内核电压连接图4.2.3 时钟源无论是使用离散逻辑、可编程逻辑,或者基于其他类型器件的任何数字设计,系统的成功运行都必须依靠可靠的时钟。个别对实时性以及同步性要求比较高的系统,如数据信息采集系统,不能使用任何会含有毛刺的输出作为时钟信号。在FPGA设计中使用的最多的时钟方案是:用专用的全局时钟输入引脚驱动的单个主时钟去控制设计项目中的每一个触发器。FPGA都
51、具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。在本系统使用的FPGA芯片EP2C80208C8N 提供4路时钟供给用户使用,板上装载50M有源晶振,可以根据需要进行PLL 定制,或者直接进行分频处理。本系统时钟接线如图4.4所示。图4.4 系统时钟接线图4.2.4 复位电路复位按钮,可以从新配置FPGA,按下复位按键之后,从配置芯片中读取系统程序;成功读取之后,程序开始重新运行。系统复位电路的原理图如图4.5所示。4.2.5 配置电路由于FPGA芯片一般都是基于SRAM工艺的,不具备非易失特性,因此每次断电后都会丢失内部的逻辑配置,所以系
52、统在每次上电后都必须从外部非易失性存储器中加载既定的配置信息。本系统采用EP2C作为FPGA系统配置芯片,用于储存系统的内部逻辑配置。EP2C是属于Altera的串行配置器件系列的芯片,是可编程逻辑工业领域中成本价格最低的配置器件。EP2C拥有在系统可编程(ISP)、访问flash存储器的接口、节省单板空间的小外形集成电路(SOIC)封装等高级特征,成为Cyclone FPGA系列产品在大容量及价格敏感的应用环境下的完美补充。系统FPGA配置电路的原理图如4.6所示。图4.5系统复位电路图图4.6 系统FPGA配置电路图 FPGA核心模块是整个系统的核心,它担负着整个系统的时序控制、数据采集和
53、处理的任务。本系统的FPGA核心模块主要由控制模块,分频模块,时钟模块等组成。 4.3 七段数码管显示电路7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。当发光二极管导通时,相应的一个点或一个笔画发光,控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,如图4.7所示。图4.7 七段数码管4.4 系统顶层模块图4.4.1 状态流程图根据用户需求分析,设计出系统状态流程图,流程图的各个状态分
54、别为开始,显示系统时间。用户操作加入材料,系统判断按键是否有效,判断操作是否正确,如正确则系统启动,设置时间,第一次预加入开始,系统判断加热是否完成,如完成则电机启动,系统判断研磨是否完成,如完成则第二次加热开始,判断是否加热完成,如完成则操作结束,完成提示,系统工作结束。如果在其中那一步有操作错误都会有报警提示。具体如图4.8所示。图4.8 系统流程图4.4.2 状态机图本系统的状态机共分idel,fruit,setup,hot,polish,stop,alarm等共7个状态,在idel状态时时系统刚刚通电,七段数码管显示初始状态,在fruit处是由使用者去放置制作原材料,此处会设置两个外置
55、按键,通过按键控制材料是否放置完成,一个是放置,一个是确认完成。在确认放置完成之后属于setup状态,这个状态主要是设置系统时间,共有三次时间设置,第一次在hot处,此处为第一次预加热,采用倒计时方式,在倒计时结束时会有报警提示,这就是第七个状态alarm,在第一次加热完成报警后会跳到setup状态,在预加热完成之后是polish研磨状态,由于本系统未加入电机驱动,同样采用倒计时方式去设置研磨状态,此处是第二次设置时间,同样在研磨结束后会有报警提示,在研磨报警后跳到setup状态,在研磨结束后到了第三次加热设置,此处为豆浆煮熟过程,同样采用倒计时方式,在倒计时结束后系统自动stop,回到初始状
56、态。状态机流程图如图4.9所示。图4.9 状态机第5章系统实现5.1 系统顶层模块系统顶层模块由数据通道和状态机组成,负责整个系统的功能调配与数据通信。如图5.1所示。图5.1 顶层模块5.2 功能模块实现(1)数据通道:负责各个模块之间的逻辑处理。数据通道主要包括clk50m(系统时钟);rst_n(系统复位);sw0,sw1,sw2,sw3(时间设置);sw_m(设置分钟);sw_s(设置秒);sw_sure(时间确认),等输入信号。Clk1hz,first_done,hot_time_over,over_hot,polish_time_over,second_done,third_don
57、e,等是输出给状态机的信号,lcd_dp,lcd_cs,lcd_data,spks是数据通道输出给七段数码管和蜂鸣器的信号。如图5.2所示。图5.2 数据通道(2)状态机:控制系统的整体状态,系统中共分7个状态,分别为初始状态,放置材料状态,时间设置状态,第一次预加热状态,研磨状态,第二次加热状态,结束状态,报警状态。如图5.3所示。图5.3 状态机(3)分频模块:本设计把50MHZ分成1hz和1Khz,1hz供给整个系统使用,能够使系统处于频率同步状态,1Khz供个七段数码管显示使用,为了进行更快的扫描,达到不使肉眼可见的状态。如图5.4所示。图5.4 分频模块(4)时间设置模块:由于豆浆机
58、在使用过程中需要设置加热倒计时,研磨倒计时,所以特设此模块。主要sw0,sw1,sw2,sw3四个按键设置 0-9等数字,sw_s,sw_m,sw_sure,是设置秒,分和确定的按键。如图5.5所示。图5.5 时间设置(5)倒计时模块:时间设置好之后,通过倒计时模块进行时间显示。如图5.6所示。图5.6 倒计时模块(6)控制模块:控制系统各个信号,负责系统的整体运行。如图5.7所示。图5.7 控制模块(7)判断模块:是整个系统的关键所在,设置完时间之后,通过判断先进行加热,接着进行研磨,当加热和研磨都进行完成后,系统自动判断功能结束并提示报警。如图5.8所示。图5.8 判断模块(8)译码模块:
59、通过译码模块把系统设置的时间在七段数码管上显示出来。其中led_seg_dp是控制数码管上的点的显示,led_seg是控制数码管的管脚。如图5.9所示。图5.9 译码模块(9)蜂鸣器模块:当第一次预加热完成,研磨完成,第二次加热完成之后都会通过蜂鸣器发出报警.如图5.10所示。图5.10 蜂鸣器模块大连东软信息学院毕业设计(论文)第6章系统仿真6.1 系统仿真系统仿真是通过Mdoelsim进行的,在使用Modelsim进行仿真前,需要先建立工程(project),先建立工作库(library),一般将这个库命名为work。尤其是第一次运行modelsim时,是没有这个的。但我们的project
60、一般都是在这个work下面工作的,所以这个work是必须要建立的。6.2 系统仿真图通过Modelsim仿真得到以下结果,其得到的波形图与系统设计代码时序相对应。初期在个别时序上还有不如意的地方,后来通过调整分频模块得到了改善。下面是具体的仿真图形。图6.1 顶层模块图6.2 数据通道图6.3 状态机图6.4 分频模块图6.5 时间初始值图6.6 倒计时图6.7判断图6.8 控制模块图6.9 译码模块图6.10 报警模块6.2 系统仿真代码module lcd_top_test;/ Inputsreg clk50M_i;reg rst_n_i;reg sw_s_i;reg sw_m_i;reg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织品及针织品市场营销策划考核试卷
- 2024年的微生物研究新方向试题及答案
- 2025年【保育员(高级)】模拟考试题及答案
- 玉米种植农业产业链现代化推进考核试卷
- 磨制谷物在农业与食品安全产业协同发展的社会效益考核试卷
- 工业自动化与智能港口运营考核试卷
- 2023年中国电信宁波分公司杭州湾新区分局招聘笔试参考题库附带答案详解
- 全部土方外运 施工方案
- 稀有金属加工中的企业社会责任与环境保护措施实施考核试卷
- 生物质能发电与气候变化适应性考核试卷
- 2023年中考语文一轮复习考点梳理+对点训练(原卷版+解析版)(打包7套)
- 幼儿绘本故事:如果不洗澡
- 2022年《趣味接力跑》教案
- 农业机械使用与维护课程标准
- 汽轮机上缸吊出及翻缸风险分析及管控措施
- 普通高中学生综合素质档案填写样表
- 管道机器人毕业设计正文
- 国电南自PSL 641U线路保护测控装置技术说明书V1.1
- 2022年国网输变电工程质量通病防治工作要求及技术措施[1]
- 出口退运货物追溯调查情况说明表
- 49.5MW风电场变电所电气部分设计
评论
0/150
提交评论