ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.35MB ,
资源ID:11558480      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11558480.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的数字频率计的课程成论文.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的数字频率计的课程成论文.docx

1、基于FPGA的数字频率计的课程成论文South China Normal University课程设计实验报告课程名称: EDA技术 指导老师: 专业班级: 2014级 电路与系统姓 名: 学 号: 基于FPGA的谐波合成设计摘要:本文介绍了EP2C5T144C8N微处理器实现多次谐波产生和合成周期性方波的设计,产生的基波频率、各次谐波幅度、相位均可单独数字设置并控制,并最终通过PWM和LPF得到失真较小的谐波合成信号。本文最后对设计进行了测试与运行,从而验证该设计方案的可行性。关键词:谐波;基波;PWMAbstract:EP2C5T144C8N microprocessor implemen

2、tation are introduced in this design and synthesis of cyclic square wave, multiple harmonics produced by fundamental wave frequency, every harmonic amplitude and phase separately digital set and control, and finally obtained by PWM and LPF harmonic synthesis of less distortion of the signal. Finally

3、, the paper has carried on the test to design and operation, to verify the feasibility of the design.Key words: Harmonic; Fundamental wave; PWM目 录1 引言 41.1 FPGA简介 41.2 Quartus简介 51.3谐波合成原理 62 系统总体分析 72.1 系统总体分析 72.2系统软件组成 92.3系统硬件组成 92.4系统运行环境 102.5 系统总体框架 103软件模块设计 113.1 CPU模块设计 113.2 Quartus 模块设计

4、153.3 Nios II 模块设计 163.3.1 谐波合成 173.3.2 按键中断 183.3.4 PWM输出 214 系统测试及分析 224.1 n次谐波测试 224. 2 按键测试 234.3幅度按键测试 234.4 相位按键测试 244.5 频率按键测试 245 总结 25参考文献 261 引言1.1 FPGA简介FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电

5、路数有限的缺点。 目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。 FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的

6、造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。FPGA工作原理FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。编辑本段FPGA的基本特点1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其

7、它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和IO引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 1.2 Quartus简介Quartus是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。Quartus界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在Quartus上可以完成设计输入、元件适配、时序仿真和功能仿真、编

8、程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。 Quartus提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。 Quartus软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。在设计流程的每一步,Quartus软件能够引导设计者将注意力放在设计上,而不是软件的使用上。同时,自动的错误定位、完备的错误和警告信息,使设计修改变得简单容易。1.3谐波合成原理 基波(分量):对周期性交流分量进行傅里叶级数分解,得

9、到的与工频相同的分量称为基波。谐波(分量):对周期性交流分量进行傅里叶级数分解,得到的为基波频率大于1的整数倍的分量称为高次谐波,简称谐波。谐波次数:谐波频率与基波频率的整数比。任何电信号都是由各种不同频率、幅度和初相的正弦波迭加而成的。1822年法国数学家傅里叶在研究热传导理论时提出并证明了将周期函数展开为正弦级数的原理。奠定了傅里叶级数的理论基础、揭示了周期信号的本质,即任何周期信号(正弦信号除外)都可以看作是由无数不同频率、不同幅度的正弦波信号叠加而成的,就像物质都是由分子或者原子构成一样。周期信号的基本单元信号是正弦谐波信号。谐波合成的过程是一个逆傅里叶级数的过程,即将由傅里叶级数展开

10、的周期信号的各次谐波重新叠加起来合成原信号的过程。由傅里叶级数的定义可知,傅里叶级数得出的是一个无穷级数,谐波需要无穷次叠加才能得出原信号。这在现实中是不可实现的,一般的当谐波数量达到5次以上时,就能大致得出原有信号。如图1.1所示:图1.1 方波合成图 图1.1为方波的七次谐波合成图,由频域图可以看出方波只有奇次谐波。方波由多个正选函数和余弦函数叠加而成,当叠加次数达到3次时,基本上能看出方波的模样。2 系统总体分析2.1 系统总体分析 本设计的总体分析比较主要包括了软件实现方式、波形输出方式、人机交互方式等,从而选择出具有可行性的符合实际需求的总体方案。1) 软件实现方式本设计采用FPGA

11、作为硬件平台,但是由于本设计所涉及的谐波合成需要使用正弦函数和余弦函数,Verilog或VHDL中并没有三角函数库的支持,需要通过其他软件将所需要的三角函数数据存入存储器中调用,并且Verilog或VHDL并不支持浮点型操作。为了解决以上问题,本设计采用了SOPC技术。SOPC即可编程片上系统,通过可编程逻辑技术把一个完整的系统安装在一块硅片上。SOPC是一种特殊的嵌入式系统:首先它是片上系统(SOC),可通过单个芯片来完成整个系统所需要的主要逻辑功能;其次,它是可编程系统,可进行裁减、扩充、升级等灵活的设计方式,并且具有软硬件均在系统上可编程的功能。本设计是一个基于NiosII的SOPC系统

12、。NiosII的硬件通过QuartusII定制合适的CPU和外设来完成。完成NiosII的硬件开发后,QuartusII将自动生成用户定义的NiosII CPU和外设系统、存储器、外设地址映射等相应的软件开发包SDK,在生成的SDK基础上,进入软件开发流程。用户可使用汇编或C来进行相应的嵌入式程序设计。而C函数库中包含了三角函数,并且支持浮点型操作,能大大缩短开发周期和整形操作所带来的误差。因此本设计主要基于FPGA+SOPC+C语言的方式实现软件设计。2) 波形输出方式通过FPGA的IO端口输出的是一个数字信号,而一般示波器所检测的是模拟信号,要令示波器显示出谐波叠加后的波形必须通过数/模转

13、换(D/A转换)将数字信号转换模拟信号。数模转换可通过两种方式实现,一种是通过专门的D/A芯片实现,另一种则是通过PWM和LPF实现的。PWM即脉冲宽度调制,是一种对模拟信号电平进行数字编码的方法。通过计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。如图2.1所示:图2.1 脉冲宽度调制图 b图中将正弦波量化成7个点,并用等宽不同占空比的脉冲表示对应的值,通过这一方式将一个模拟量转换为数字量输出。当PWM输出通过一个低通滤波器(LPF)后这个数字信号就能还原为一个模拟信号,供示波器使用。3) 人机交互方式 设计中的人机交互方式有两种,一种是使用FPGA平台上自带的七段数码

14、管,另一种则是外接一个LCD显示屏。由于设计本身仅需要显示幅度、频率、相位等数值,无需使用中文字符,并且平台上已自带有四个共阳极的其段数码管,使用方便,故使用七段数码管和平台上的按键组合实现人机交互。2.2系统软件组成 系统软件三部分组成:CPU模块设计、Quartus模块设计和Nios II模块设计。 CPU模块使用Qsys设计。Qsys是Altera的系统集成工具,能够方便的根据用户要求搭建出自定义CPU。 Quartus模块设计是将通过Qsys生成的CPU作为一个元件调用,并在CPU周围加上适当的外设和进行引脚分配。 Nios II模块设计主要负责烧写到CPU上运行的程序设计。在本设计是

15、指使用C语言实现谐波合成、PWM输出以及人机交互。 系统软件首先设计好CPU,然后Quartus模块调用CPU并加上适当的外设和进行引脚分配后写入FPGA平台中,再进行Nios II模块的设计。设计完毕后检测FPGA上是否已装有CPU,当已装有CPU时将程序下载到CPU中并运行。2.3系统硬件组成系统硬件由按键、七段数码管和低通滤波器组成,其中按键与七段数码管FPGA平台自带无须搭建,低通滤波器采用电阻和电容简单的搭建然后将输入端与FPGA平台的端口相连。2.4系统运行环境 系统的软硬件环境关系到系统自身的稳定性和生命周期。本系统采用Cyclone II 的EP2C5T144C8作为硬件平台的

16、核心模块。CycloneII器件包含了许多新的特性,如嵌入存储器、嵌入乘法器、PLL和低成本的封装等。 系统软件采用Quartus开发环境,结合Qsys和Nios II进行开发。最终设计出一个基于SOPC的谐波合成系统。2.5 系统总体框架图2.2 系统总体框图 系统总体由软件设计和硬件操作两部分组成。软件设计主要实现了CPU的设计、使用和程序下载。当三个模块设计并下载到FPGA平台后,可通过人机交互对系统进行操作。硬件操作分为两个部分。一个是功能选择部分,该部分通过按键中断实现,当按下相应的按键后将中断信号传入FPGA中执行相应的操作。第二个部分是显示部分,显示又有两部分,一是七段数码管显示

17、当前周期信号的幅度、频率、相位、档位等信息,一是通过LPF输出到示波器中,通过示波器观察谐波合成后的周期信号。3软件模块设计 3.1 CPU模块设计 CPU通过Qsys设计。CPU架构列表如图3.1所示:图3.1 CPU架构列表图1) CPUCPU为整个CPU设计的内核。Qsys中提供了三种类型的CPU,CPU型号及其描述如图3.2所示:图3.2 CPU型号及其描述图本设计采用标准型CPU,标准型具有占用资源较少,功能齐全等优点,基本能满足本次设计的要求。2)clk_50 clk_50提供了50MHz的系统时钟,供系统正常运行使用。50MHz为本设计所使用的FPGA最大晶振频率。 3)jtag

18、_uart jtag_uart为CPU提供了jtag调试接口,可通过jtag对CPU进行调试,实现中断、单步执行等功能。 4)存储器 存储器包括了epcs_flash_controller、sdram和altpll_0三个部分。epcs_flash_controller在FPGA中一般用来存储应用程序。但由于本设计程序大小超过了flash的容量。故加上了sdram, SDRAM在FPGA开发板中一般作为NIOS 处理器的RAM和程序运行空间。altpll_0用于将系统时钟进行分频,提供时钟给sdram,sdram所使用的时钟需要与系统时钟有时间延时。altpll_0配置如图3.3所示,c0为系

19、统50MHz时钟,c2为提供给sdram的100MHz时钟。图3.3 altpll_0配置图5)IOIO配置包括了IO输出pwm、led、数码管和IO输入key。数码管包括了数码管的使能输出和数据输出。IO输出配置如图3.4所示,Width为输出/输入位数,Direction为IO方向。IO输入配置如图3.5所示。图3.4 IO输出配置图图3.5 IO输入配置图 由于key按键用于CPU中断,除了配置IO输出的两项外,还要配置中断选项。Edge capture register注册了中断为低电平有效,interrupt配置了中断为边沿中断。6)timer timer用于配置定时器,由于数码管是

20、共阳极的,数据线共用,因此需要通过控制不同数码管的使能端控制数码管显示数值。人眼识别连贯图像的速度大约是40ms,因此使能端的切换速度要低于40ms。经测试本设计定时1ms效果较佳。Timer配置如图3.6所示:图3.6 定时器配置图3.2 Quartus 模块设计 该模块主要是调用CPU,在CPU周围加上需要的外设,分配硬件引脚以及连接时钟。本模块配置如图3.7所示:图3.7 Quartus模块配置图3.3 Nios II 模块设计 该模块是实现系统总体功能的软件程序编写部分。包括了谐波的合成、按键中断、数码管显示以及PWM输出。工作流程如图3.8所示。 程序首先注册按键中断,并开始检测按键

21、中断,当有按键中断时触发相应的中断响应函数。然后谐波合成,得出谐波合成后的方波数据。接着数码管初始化以及开启定时器,定时器开启后四个七段数码管将不停的循环显示当前模式下的相应数值。最后进入循环,不断输出PWM波。图3.8 软件工作流程图3.3.1 谐波合成 本设计实现的是通过多次谐波合成一个周期性方波信号。方波的各次谐波计算公式如式3.1所示,程序实现如图3.9所示。程序中通过for循环将各次谐波叠加起来后得出的数据存储在dot数组中,用于后续程序处理。 (3.1)图3.9 谐波合成程序3.3.2 按键中断 按键中断程序的设计包括了按键中断的注册以及中断响应函数。中断注册用到的函数如图3.10

22、所示:图3.10 按键注册程序 中断注册函数中先允许按键中断,设置边缘捕获寄存器最后注册按键。当注册完按键后,一旦有中断来到时,程序将转入注册时注册的中断函数ISR_key1中执行中断响应。程序更具不同的按键作出不同的按键中断响应,详细如下所述。1) 幅度、频率、相位响应PWM输出经LPF后的方波幅度只与PWM的波形特性有关,与谐波合成后的波形幅度无关。方波的幅度由PWM每个脉冲的占空比决定,当占空比为0时,得到方波幅值为0V(此处的幅度皆指峰-峰值),当占空比为1时,得到方波幅值为端口最大输出电压3.3V。要控制方波的幅度就是控制端口输出电压最大时的脉冲占空比。如要让输出幅度为1.1V,即电

23、压变为原来的1/3,那么只需要在每个脉冲宽度不变的前提下将原来占空比为1缩短为占空比为1/3,其余的2/3均为低电平即可。方波的频率与幅度一样只与PWM的波形特性有关,与谐波合成后的波形频率无关。方波的周期由PWM的周期决定,由于PWM中每个脉冲宽度是一样的,不同的只是占空比,因此方波的周期或频率实际是有PWM一个周期中脉冲宽度决定的,调节每个脉冲的宽度即可做到调频的效果。方波的相位由谐波合成后的相位决定,在本设计中各次谐波是通过时间t取点离散化后,再将相同时间值的点叠加存储于数组中最后得出一个经离散化后方波数据。因此,方波的相位调节实际就是方波或者是各次谐波第一个取点位置的选择。程序如图3.

24、11所示。图3.11 相位调节程序图对比式(3.1)可知,相位调节部分为2*pi*f(t+p*(1/(f*360)。调节点的初始位置的方法是将方波周期分为360份,相位p代表了占360分中的多少份p*(1/(f*360)后就得出相位偏移后的第一个点的位置,即方波初始位置。 2)模式选择响应 模式选择是用于在幅度、频率和相位之间进行切换,其流程如图3.13所示。模式选择仅有三个状态:1-幅度;2-相位;3-频率。当确实只有按键后,判断模式当前值是否最大值,若是最大值则模式转到幅度模式(1),否则当前值加一,切换到下一个模式。图3.13 模式选择流程图 3)档位响应 本设计还设置了换挡功能。当确实

25、有按键时,程序首先更具模式标志判断按键执行对象,然后判断该对象当前的档位。判断完毕后进入下一个档位,当到达最后档位后,程序会回到初始档位,这里是直接更改档位标志实现的。改变档位后,当幅度、相位、频率响应发生时,对应的模式当前值会+/-对应的当前档位值。3.3.3 定时器 定时器用于七段数码管的动态显示。由于四个数码管的数据线是共用的,要另四个数码管显示出不同的数值,需要通过控制数码管的使能端,让数码管不断切换,特定位置的数码管显示特定的数值,其余三个数码管处于关闭状态。由于人眼一般无法识别40ms以下的连续图像的切换,因此设置数码管的切换时间小于40ms既能让四个数码管显示出不同的数值,而不会

26、因为切换的原因而出现数码管闪烁的现象。数码管的工作流程如图3.15所示。 先判断当前模式,然后其中一个数码管显示当前模式A/P/F,接着取出当前模式的值的各位赋予其余三个数码管显示。同时判断当前模式的档位,通过小数点表示出属于那个档位。图3.15 数码管工作流程图3.3.4 PWM输出 PWM输出程序如图3.16所示。图3.16 PWM程序图 本设计的PWM输出时通过延时函数usleep()实现的,usleep()是一个微妙级的延时函数,程序中乘以106是将微秒转换为秒。首先定义输出PWM的IO输出电平,然后通过延时函数改变电平的持续时间来实现不同的占空比。4 系统测试及分析 通过系统的实际运

27、行,了解系统的实际性能、功能的实现程度。通过测试对系统存在问题进行修改和完善。最后验证软件的可用性。 测试内容包括了n次谐波的合成图(0n13),然后测试各功能键是否正常运作。所有的测试均通过示波器观测。4.1 n次谐波测试 图4.1 1次谐波合成图 图4.2 3次谐波合成图 图4.3 5次谐波合成图 图4.4 7次谐波合成图 图4.5 9次谐波合成图 图4.6 11次谐波合成图 从图中可以看出,当谐波次数上升时,合成的图形越趋于完整的周期性方波信号,当谐波次数达到9次时基本可以看作是周期性方波。4. 2 按键测试 按键测试中换挡功能已在幅度、相位、频率按键中体现,不在单独测试。4.3幅度按键

28、测试 图4.7 1V方波图 图4.8 2.5V方波图图4.9 3V方波图 由上图可以看出幅度按键以及幅度换挡功能均运作正常,数码管显示正常。档位0.1V和1V由小数点在第三个数码管中的有无来体现。4.4 相位按键测试 图4.10 初相为0的方波图 图4.11初相为90的方波图图4.12初相为270的方波图 由上图可以看出相位按键以及相位换挡功能均运作正常,数码管显示正常。档位1、10和100由小数点在三个数码管中的有无来体现。由于本设计是得到所有点后在进行处理的,因此每次改变相位时需要重新绘图,中间会出现零值状态。4.5 频率按键测试由下图可以看出频率按键以及频率换挡功能均运作正常,数码管显示

29、正常。档位1、10、100由小数点在三个数码管中的有无来体现。从图中可以看出当频率到达10Hz时,得出的方波频率已和数码管中显示的数值不符,差异较大,因此后面的100Hz仅作为换挡功能测试所使用。 图4.13 1Hz方波图 图4.14 2Hz方波图 图4.15 10Hz方波图 图4.16 100Hz方波图5 总结通过这次课程设计,我认识到EDA技术是一门实用性很强的技术, FPGA是当前数字系统设计领域比较火热的一种工具,它可以大大缩短设计需要的时间,降低成本的同时也提高了系统的稳定性。本设计使用了基于Altera公司的FPGA系列,采用Altera公司提供的系统开发工具Quartus II软

30、件进行了系统的设计和仿真。 本文主要在通过学习傅里叶级数后,利用基波、谐波合成方波。通过本次设计对谐波合成以及PWM输出有了更加深入的理解,本设计的关键技术是谐波合成,PWM波形的实现和基于SOPC的FPGA程序开发。而基于FPGA+SOPC+C语言的方式实现软件设计的过程让我认识到FPGA的强大之处。最终本设计实现了通过多次谐波合成方波,并具有控制方波的幅度、频率、相位及换挡等功能。但由于设计者能力有限,本系统仍然有着很多可改进的地方,比如幅度、频率、相位的精度,频率可实现的最大范围,其它波形的实现等。参考文献1 FPGA技术开发.高级篇 /李洪涛,顾陈,朱晓华.北京:国防工业出版社,201

31、32 江国强.EDA技术与应用:第四版M.北京:电子工业出版社,20133 张洪润,张亚凡.FPGA/CPLD应用设计200例M.北京:北京航空航天大学出版社,20094 杨军,张伟平,赵嘎,王小军.面向SOPC的FPGA设计与应用M.北京:科学出版社,20125 郗艳华.基于Matlab周期信号的分解与合成J.计算机与现代化,2011,9:156-1646 FPGA系统设计与实例/杨晓慧, 杨旭编著. 北京:人民邮电出版社,20107 李威,周振宇,张金波.基于DDS/FPGA的谐波信号发生器的研究与设计J.电工技术,2008,8:67-698 FPGA设计与应用/刘皖, 何道君, 谭明编著. 北京:清华大学出版社,2006

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1