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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(FPGA实验报告北航电气技术实验Word文档下载推荐.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FPGA实验报告北航电气技术实验Word文档下载推荐.docx

1、(3)参照指导书进行波形仿真与管脚绑定等操作,链接实验箱并生成下载文件(4)将文件下载至实验箱运行,观察计数器工作现象,调试拨动开关查看是否清零。可以通过改变与PIN_P20(工程中绑定为clk输入的I/O接口)相连导线的另一端所选择的实验箱频率时钟的输出口位置,改变LED灯显示变化频率。并且对照指导书上对实验箱自带时钟频率的介绍,可以通过改变导线接口转换输入快慢,排查由于clk输入管脚损坏而可能引起的故障。2一位半加器(2)图形源文件编辑:由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原电路图中两个输出管脚与非门串联以实现原参考输出“高电平亮,低电平灭”。

2、(4)将文件下载至实验箱运行,观察半加器工作现象,调试拨动开关查看进位与置数指示是否正常工作。五、实验现象1. 四位二进制加法计数器SW1下拨为0时,四个LED指示灯可以对输入脉冲从”0000”到”1111”进行十六位循环计数(其中亮为1,灭为0)。SW1上拨为1时可以实现四个LED灯保持全灭清零。且四位二进制加法计数器功能成功实现2. 一位半加器 SW1与SW2输入分别为”00”、”01”、”10”、”11”时,进位指示与置数指示灯分别显示”00”、”01”、”01”、”10”(其中亮为1,灭为0)。且一位半加器功能成功实现。六、实验代码1四位二进制加法计数器(已修改) entity cou

3、nt4 is port( clk:in std_logic;-waishizhong,fpga_ex2_6 rst:-F1 pin-ab15 q:out std_logic_vector(3 downto 0);-led4-1 end; architecture b1 of count4 is signal q1:std_logic_vector(3 downto 0); begin process(clk,rst) if(rst=0)then if (clkevent and clk=1)then q1= q1-1; end if; else q1=1111; end process; q=

4、q1; end七、结果分析1若在加载运行文件后实验箱上无反应,可以通过更换不同频率输入管脚查看是否为实验箱自带时钟的故障。2实验箱上LED显示灯与设计逻辑相反时可以通过修改程序逻辑或给电路图添加非门实现正逻辑显示。实验二 1616LED点阵四字循环显示1、掌握VHDL编程技巧和各种输入输出显示方法。2、学习并分析指导书中实例,从中发现感兴趣的题目,并以此自设计一个有内容,功能稍复杂的主、子程序综合应用例程,实现调试与验证。3、实现LED点阵“高山仰止”四字清晰循环显示。.1 LED显示原理1616扫描LED点阵的工作原理同8位扫描数码管类似,其结构示意图(图1)与等效电路图(图2)如下。它有1

5、6个共阴极输出端口,每个共阴极对应有16个 LED显示灯,所以其扫描译码地址需4位信号线(管脚对应COL1-COL4),从右起为第一列且COL1-4对应”0000”。其汉字扫描码由16位段地址(从下至上管脚对应ROW1-ROW16)输入。本设计选用的LED列扫描,汉字信号行输入的方式,显示完整汉字。图1 1616LED点阵 图2 1616点阵LED等效电路列循环扫描,通过对每一列的扫描来完成对字母的现实,本设计为使列扫描符合视觉暂留要求,扫描频率至少大于168=128Hz,周期小于7.8ms,以此给人以连续的感觉。2 汉字的信息储存用动态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。

6、第一步是在程序中建立汉字数据库。第二步是在扫描模块的控制下,配合列扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像画在一个如(图3)所示的被分成1616共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,汉字取模可由专用软件进行。图3 16*16点阵显示模块由于本实验箱为从右至左依次对应”0000”列到”1111”列,从下至上为最高位到最低位,于平时习惯的认字方向相反,所以注意在逐列扫描的设计中要对字取“反模”。例如要在右边起第2列的从上到下数2、4、6、8行亮,则列编号为”

7、0001”、行输入为”0000000010101010”就可以实现了。3延时环节 为使汉字不断地循环显示,并且使每个汉子显示后停留,就需要在中间加一定的延时和循环环节。在这一环节中,可以通过修改每个显示和停留周期包含的总时钟脉冲数值来控制每个字的显示时间,运用状态机设计方法给四个汉字对应的不同输入状态进行编码,即可使汉字依次清晰显示。1可编程逻辑实验箱EP3C55F484C8 一台(包含1616LED点阵一组等)1建立工程,命名为ledgrq1616。建立VHDL程序文件命名为1ed1616grq.vhd。2按照第六部分原程序输入代码,并按所示表格绑定管脚。编写程序及绑定管脚时时注意第二部分中

8、所叙述的扫描显示顺序以及对应取反字模的方法。3编译无误后开启实验箱,生成.sof传输文件并下载至实验箱,确保运行模式为1,且CPRL_SW拨码开关为”00XX”。4观察实验箱上现象,通过改接不同频率的脉冲输入管脚或改变每个字符停留周期包含的总脉冲数来保证有足够快的扫描频率与大约每个字大约一秒多的充足停留时间,并查看是否有“高山仰止”四字依次有停顿的清晰的循环显示。当时钟输入线接FRQH_Q2(3000000Hz)管脚时,设定每个周期为5000000个脉冲时,实现“高山仰止”在1616LED点阵上清晰循环显示。library ieee;use ieee.std_logic_1164.all;us

9、e ieee.std_logic_unsigned.all;entity led1616grq is port(clk: in std_logic;-时钟 data: out std_logic_vector(15 downto 0);-行输入 addrs: out std_logic_vector(3 downto 0);-列地址end led1616grq;architecture chw_arc of led1616grq issignal fenpin:std_logic_vector(1 downto 0);-分频信号signal ad:-地址中转信号beginprocess(clk

10、)-产生一个大约1s的分频信号模块 variable cnt:integer:=0; variable tmp: begin if clk then if cnt5000000 then cnt:=cnt+1; else if tmp=11 tmp:00 else=tmp+1; end if; end if; fenpin=tmp;process(clk)-送16位地址程序 variable js: variable cnt: begin if clk if js10000 then js:=js+1; else if cnt= cnt:0000 else cnt: end if; end i

11、f; ad case ad is -”高”的字模when datanull; end case;01-0000 “山”的字模-00000111111111110000-7FF00010000000000000-20000011111111111111-3FFF0011111111110000-3FF010 case ad is-0000 “仰”的字模0000011111111100-07FC0000100000000010-08040000001000000010-04041111111111001111-FFCF0000010000000010-04020000100000000100000

12、1111111001111-1FCF0000000000000111-00071111111111111000-FFF80000000001100000-00600000000010000000-00800000000100000000-0100-0000止的字模 010*0100000001000000-4040 0111111111111111-7FFF-7FFF when others= end case; addrs=ad;end chw_arc;管脚绑定如下:设备调试与程序调试一样均为FPGA目标器件功能实现的必须工作,根据加载后实际显示情况,同样可以反推出QuartusII无法直接

13、报错的引脚绑定方面的问题以及程序书写逻辑问题,实验中具体出现的情况如下:(1)显示为一团不断闪烁的重叠形状原因:可能为间隔时间太短措施:应增大间隔周期数,延长停顿(2)字符形状与设计不同/错位如果为行顺序错位或乱序,但每一列仍为从右至左扫描,可能为ROW1-15管脚绑定错位:如果为列出现顺序及显示正确但位置错位,可能为CLK1-3管脚绑定错位;上述两种情况也可同时发生。将时钟输入频率放缓至可以看清每一列出现的顺序位置及显示内容,与所设计的字模对照,判断是哪几个ROW管脚及CLK错位,重新绑定即可。(3)实验箱开启后毫无显示可能是工作模式的拨码开关并非”00XX”,或时钟管脚故障。选用其他频率的

14、管脚试接;若排除管脚问题,查看模式显示数码管数值是否为1,如不是,改变工作模式,重新加载文件。实验三 蜂鸣器/扬声器电子音乐演奏2017.11.15(周三)晚 实验编号201、熟练掌握QuartusII平台各模块操作及实验箱调试方法。2、用元件例化语句调用方式,任意自选题设计一个有内容,功能较复杂的主、子程序综合应用的多模块集成例程,并实现调试与验证。3、实现电子音乐天空之城的主旋律循环播放,并通过LED灯指示音符。.1、电子音符演奏乐曲硬件电路产生音乐是和音乐频率和音乐的持续时间有关;音符的持续时间需根据乐曲的速度和每个音符的节拍数来确定。设计所用简谱及音符和频率的关系如下:2、演奏节拍控制

15、该演奏电路演奏的乐曲是天空之城,其最小的节拍为1拍,将1拍的时长定位0.25S,则只需要再提供一个4Hz的时钟频率即可产生1拍的时长(5Hz由24MHz的基准频率分频产生),对于占用时间较长的节拍,(一定是节拍的整数倍),如全音符为4拍,2/4音符为2拍,1/4音符为1拍。3、演奏电路模块乐曲硬件演奏电路系统主要有音调分频器和乐曲存储模块两个部分组成,其余还有音乐节拍发生器等等。音调分频器对24MHz(由基准频率产生)的频率进行分频,得到与各个音节对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中写入一个乐曲曲谱真值序列,由一个计数器来控制此序列的输出,而由计数器的计数时钟信

16、号作为乐曲节拍控制信号。4程序设计思路 实验中采用层次化设计思路,音乐发生器的设计包括四个模块:时钟分频模块、自动演奏模块、音符显示模块、音调分频模块。分好层次之后,编写每个模块的程序。时钟分频模块通过基准时钟频率clk(24MHz)产生两个时钟信号。自动演奏模块接收4hz的时钟信号,输出音调代码。显示模块利用音调代码查找并输出对应LED灯显示情况。同时将音调对应的给8盏LED指示灯,分别显示高中低音符。音调分频模块接收音调代码对应的分频系数 ,并据此分频,将对应频率的信号输出给扬声器供其发声。1可编程逻辑实验箱EP3C55F484C8 一台(含蜂鸣器、扬声器、若干LED灯等)1建立工程,命名

17、为grqbeep01。建立VerilogHDL程序文件命名为grqbeep01.v。3编译无误后开启实验箱,将时钟输入管脚P20接Q0(24000000Hz)。4生成.sof传输文件并下载至实验箱,确保运行模式为3,且CPRL_SW拨码开关为”0110”。5观察实验箱上现象,确定蜂鸣器与扬声器的器件使用设定方法,对比其效果差异。1跳线BZ1未调整时下载完毕,听到完整的由蜂鸣器播放的循环天空之城音乐,可是声音很小,LED指示灯显示没有错误。2跳线BZ1由23调整到12时下载测试,听到声音洪亮的循环播放的天空之城音乐,并且音调很好,数码管显示音符正常,实现预期功能。timescale 1ns /

18、1psmodule grqbeep01(clk,beep,led);input clk;/时钟管脚output beep;/蜂鸣器管脚output 7:0led;/led指示管脚reg beep;reg 22:0i;reg clk_4hz;reg 7:reg 16:0count,div_num;reg 6:0music;/以下为主体 always(posedge clk)/4hz生成部分 if(i=23h47868c) begin iclk_4hz=clk_4hz;endelse i=i+1b1;end always(posedge clk_4hz) if(music=7d122)/总共的音符节拍数musicelse =music+1always(posed

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

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