实验六 Microsoft Word 文档.doc_第1页
实验六 Microsoft Word 文档.doc_第2页
实验六 Microsoft Word 文档.doc_第3页
实验六 Microsoft Word 文档.doc_第4页
实验六 Microsoft Word 文档.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 综合设计选题原则:学号后两位模取余数 设计题目一 SPWM脉宽调制控制系统设计(1)实验原理:SPWM(Sinusoidal PWM)脉宽调制技术是非常重要的电力电子控制技术,在高性能电机驱动、步进电机细分控制、变频电源、电力电子逆变控制等方面有重要的应用。特别是随着FPGA技术进入这一行业,使SPWM技术的应用更有了长足的进步,使其得到了更高效、更深入和更广泛的应用。SPWM控制的原理和相关技术可以参考附带的资料:KX_DN7重要ppt_PDF文件PDF实验设计文件SPWM,也可通过其他途径获得相关资料。图18 SPWM波生成原理图相对于空间矢量PWM、随机采样PWM、电流滞环PWM、自然采样PWM、等面积采样PWM或规则采样等方式的PWM,正弦采样的PWM在逆变控制等技术应用中,产生的谐波含量最小,因此应用也最广泛。数字方式产生SPWM波的原理如图4-18所示,其中等腰三角波是载波,正弦波是调制波,当这两路信号经过一个数字比较器后输出图4-18下方的脉冲波形,即SPWM波。当正弦波大于三角波时,比较器输出1,反之输出0。三角波与正弦波的频率比称为载波比;它们的频率如果等比例增减则为同步调制方式,否则就是异步调制方式。载波频率通常为数十KHz,载波比为数百。图19是基本电路图。其中PLL20输出两路时钟,一路C0,输出3.6MHz,为三角波信号发生器提供载波时钟;另一路C1输出200kHz,为正弦波调制信号提供时钟。CNT10B是10位计数器,其一为三角波发生模块TRANG(例4-5)提供递增数据。另一CNT10B是正弦波数据ROM的地址发生器。ROM10模块的数据可用附录1的mif生成器产生,深度是1024,数据宽度是10位。当下载图19的设计于实验系统后,图20是利用逻辑分析仪SignalTap II实测的波形,显然与图18的波形有很好的对应关系。三角波发生模块module TRANG3 (ADR, OUTD); input9:0 ADR; output9:0 OUTD; wire9:0 OUTD;reg9:0 OT1; reg10:0 CC; always (ADR or CC) begin if (ADR 10b1000000000) begin OT19:1 = ADR8:0 ; OT10 = 1b0 ; end else begin CC = 11b10000000000 + (ADR) ; OT19:1 = CC8:0 ; OT10 = 1b0 ; end end assign OUTD = OT1 ;endmodule(2)实验内容1:设计面积采样PWM信号发生电路,并在FPGA上实现,用逻辑分析仪和示波器显示波形。KX_DN5/7实验系统演示示例(含实验指导pdf/PDF课件):/EDA_EP3C5E/EXPERIMENTs/EXP33_PWM_GENERATOR/ 。(3)实验内容2:根据图4-19,在FPGA上实现SPWM信号发生器,试用逻辑分析仪生成图4-20的波形。查阅资料,讨论SPWM的应用领域、基于FPGA的数字SPWM的优势,并研究异步或同步调制的优缺点,以及载波比对不同控制对象的影响。KX_DN5/7系统演示(含实验指导pdf/PDF课件):/EDA_EP3C5E/EXPERIMENTs/EXP37_SPWM_Basic/(4)实验内容3:查阅资料,利用基于SPWM的逆变技术,给出30Hz变频电源的设计方案。图19 SPWM波发生器基本电路图图20 图4-19电路的SignalTap II实测波形图21 三相SPWM控制器电路模块图(5)实验内容4:根据图4-21,设计更实用的三相SPWM控制器。其中CLK可以来自锁相环;由DDS模块生成4路信号,一路是三角波发生模块时钟SC_CLK。相对于其余3路正弦波的基频,通过改变SC_CLK的频率性质,可以实现同步调制方式、异步调制方式以及改变载波比。DDS的三路正弦波可数控调频,各相差120度;DDS中的波形ROM可以直接使用3个10位地址线和10位输出数据线的LPM ROM(因为EP3C5的内嵌RAM足够大),3个不同相位的正弦波数据mif文件可用附录1的工具生成。幅度调制模块可用EP3C5中专用数字乘法器嵌入式模块实现。为了保护IGBT,防止上下桥臂同时导通而烧毁此器件,必须设计死区控制模块。可以根据实际需要设置死区时间,通常为数百ns。死区发生器可由死区计数器和相关组合电路构成,使同相的上下桥臂驱动信号能错开一个死区时间段,以免功率器件短路。设计题目二 4X4阵列键盘键信号检测电路设计(1)实验原理:4X4阵列键盘十分常用,图4-15是其电路和接口。假设其两个4位口,A3:0和B3:0都有上拉电阻。在应用中,当按下某键后,为了辨别和读取键信息,一种比较常用的方法是,向A口扫描输入一组分别只含一个0的4位数据,如1110,1101,1011等。若有键按下,则B口一定会输出对应的数据,这时,只要结合A,B口的数据,就能判断出键的位置。如当键S0按下,对于输入的A=1110时,那么输出的B=0111。于是B,A=0111_1110就成了S0的代码。例4-3就是根据此原理给出的Verilog设计程序。 图15 4X4键盘电路和10芯接口 图16 设置端口上拉module KEY4X4 (CLK,A,B,R); input CLK; input 3:0 A; output 3:0 B; output 3:0 R;reg 1:0 C ; reg 3:0 R,B ; always (posedge CLK) begin C=C+1; case(C) 0: B=4B0111; 1: B=4B1011; 2: B=4B1101; 3: B=4B1110; endcase case(B,A ) 8B0111_1110 : R=4H0; 8B0111_1101 : R=4H1; 8B0111_1011 : R=4H2; 8B0111_0111 : R=4H3; 8B1011_1110 : R=4H4; 8B1011_1101 : R=4H5; 8B1011_1011 : R=4H6; 8B1011_0111 : R=4H7; 8B1101_1110 : R=4H8; 8B1101_1101 : R=4H9; 8B1101_1011 : R=4HA; 8B1101_0111 : R=4HB; 8B1110_1110 : R=4HC; 8B1110_1101 : R=4HD; 8B1110_1011 : R=4HE; 8B1110_0111 : R=4HF; endcase end endmodule(2)实验任务1:根据实验原理分析程序4-3,仿真并详细说明程序中各语句结构的功能。(3)实验任务2:在实验系统上硬件验证。(4)实验任务3:修改程序例4-3,使第二个case语句成为一个独立的有时钟敏感信号的过程结构,再根据教材16.4.2节的方法使程序自动生成ROM替代模块(要检测键功能是否被改变);或干脆例化进一个LPM_ROM以取代第二个case语句。检测其功能和资源的变化情况。(5)实验任务4:利用此项电路进而设计一个4位加、减、乘法计算器。(6)实验任务5:为了更实用,参考教材17.8节,为键盘电路加上去抖动电路模块。(7)实验任务6:首先回答问题:例4-3的程序中为何没有加default语句,它希望借此实现什么功能?如果加上default语句会有什么后果?分别用仿真波形说明之。在default语句存在的条件下,需要增加什么电路才能实现例4-3同样的功能?试给出完整程序,并硬件验证之。KX_DN5/7实验系统演示示例(含实验指导pdf/PDF课件):KX_DN7EDA_EP3C5EEXPERIMENTsEXP31_SCAN_4X4KEY设计题目三 乐曲硬件演奏电路设计(1)实验目的:学习利用实验4-8的分频器设计硬件乐曲演奏电路。(2)实验原理:硬件乐曲演奏电路顶层模块图如图4-37所示,电路由6个子模块构成。本实验设计项目作为“梁祝”乐曲演奏电路的实现。组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素。问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。下面首先从几个方面来了解图4-37的工作原理: 音符的频率可以由图4-37中的SPKER获得,对应的程序是例4-10。这是一个数控分频器(其详细工作原理可参考实验4-8)。由其CLK端输入一具有较高频率(1MHz)的时钟,通过SPKER分频后,经由D触发器构成的分频电路,由SPK_KX口输出。由于直接从分频器中出来的输出信号是脉宽极窄的信号,为了有利于驱动扬声器,需另加一个D触发器分频以均衡其占空比,但这时的频率将是原来的1/2。SPKER对CLK输入信号的分频比由输入的11位预置数TN10.0决定。SPK_KX的输出频率将决定每一音符的音调;这样,分频计数器的预置值TN10.0 与输出频率就有了对应关系,而输出的频率又与音乐音符的发声有对应关系,例如在F_CODE模块(例4-9)中若取TN10.0=11H40C,将由SPK_KX发出音符为“3”音的信号频率。详细的对应关系可以参考图4-38的电子琴音阶基频对照图。 音符的持续时间需根据乐曲的速度及每个音符的节拍数来确定,图4-37中模块F_CODE(例4-9)的功能首先是为模块SPKER(11位分频器)提供决定所发音符的分频预置数,而此数在SPKER输入口停留的时间即为此音符的节拍周期。模块F_CODE是乐曲简谱码对应的分频预置数查表电路,程序例4-9中的数据是根据图4-38得到的,程序中设置了“梁祝”乐曲全部音符所对应的分频预置数,共14个,每一音符的停留时间则由音乐节拍和音调发生查表模块MUSIC中简谱码和工作时钟inclock的频率决定,在此为4Hz。这4Hz频率来自分频模块FDIV,模块MUSIC是一个LPM_ROM。它的输入频率来自锁相环PLL20的2kHz输出频率。而模块F_CODE的14个值的输出由对应于MUSIC模块输出的q3.0及4位输入值INX3.0确定,而INX3.0最多有16种可选值。输向模块F_CODE中INX3.0的值在SPKER中对应的输出频率值与持续的时间由模块MUSIC决定。 模块CNT138T是一个8位二进制计数器,内部设置计数最大值为139(例4-8),作为音符数据ROM的地址发生器。这个计数器的计数频率即为4Hz。即每一计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。例如,“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒时间,相应地,所对应的“3”音符分频预置值为11H40C,在SPKER的输入端停留了1秒。随着计数器CNT138T按4Hz的时钟速率作加法计数时,即随地址值递增时,音符数据ROM模块MUSIC中的音符数据将从 ROM中通过q3.0端口输向F_CODE模块,“梁祝”乐曲就开始连续自然地演奏起来了。CNT138T的节拍是139,正好等于ROM中的简谱码数,所以可以确保循环演奏。对于其他乐曲,此计数最大值要根据情况更改。(3)实验内容1:定制音符数据ROM MUSIC。该ROM中对应“梁祝”乐曲的音符数据已列于例4-12中。注意该例数据表中的数据位宽、深度和数据的表达类型。此外,为了节省篇幅,例中的数据都横排了,实际程序中必须以每一分号为一行来展开。最后对该ROM进行仿真,确认例4-12中的音符数据已经进入ROM中。图4-39是利用Quartus II的在系统存储器读写编辑器(In-System Memory Content Editor)读取FPGA内MUSIC ROM中的数据,请与例4-12的数据比较。(4)实验内容2:对图4-37中所有模块,分别仿真测试,特别是通过联合测试模块F_CODE和SPKER,进一步确认F_CODE中的音符预置数的精确性,因为这些数据决定了音准。可以根据图4-38的数据进行核对,如果有偏差要修正。(5)实验内容3:完成系统仿真调试和硬件验证。演奏发音输出口是SPK。与演奏发音相对应的简谱码输出显示可由LED3:0输出在数码管LEDA显示;HIGH为高八度音指示,可由发光管指示。图37 乐曲演奏电路顶层设计图38 电子琴音阶基频对照图(单位Hz)(6)实验内容4:在模块MUSIC填入新的乐曲。针对新乐曲的曲长和节拍情况改变模块CNT138T的计数长度(注意,一个计数值就是一个1/4拍)。(7)实验内容5:争取可以在一个ROM装上多首歌曲,可手动或自动选择歌曲。(8)实验内容6:根据此项实验设计一电子琴,有16个键。用4X4键盘,程序可参考实验4-19。(9)实验内容7:为以上的电子琴增加一到两个RAM,用以记录弹琴时的节拍,音符和对应的分频预置数。当演奏乐曲后,可以通过控制功能自动重播曾经弹奏的乐曲。(10)实验报告:用仿真波形和电路原理图,详细叙述硬件电子琴的工作原理及其5个模块的功能,叙述硬件实验情况。KX_DN5/7实验系统演示示例(含实验指导pdf/PDF课件):/EDA_EP3C5E/EXPERIMENTs/EXP4_Music/。【例】module CNT138T (CLK, CNT8); input CLK; output7:0 CNT8 ; reg7:0 CNT; wire LD; always (posedge CLK or posedge LD ) begin if (LD) CNT = 8b00000000 ; else CNT=CNT+1; end assign CNT8=CNT; assign LD=(CNT=138) ; endmodule【例】module F_CODE (INX, CODE, H, TO); input3:0 INX; output3:0 CODE; output H; output10:0 TO; reg10:0 TO; reg3:0 CODE; reg H; always (INX) begin case (INX) / 译码电路,查表方式,控制音调的预置?0 : begin TO = 11H7FF; CODE=0; H=0; end1 : begin TO = 11H305; CODE=1; H=0; end2 : begin TO = 11H390; CODE=2; H=0; end3 : begin TO = 11H40C; CODE=3; H=0; end4 : begin TO = 11H45C; CODE=4; H=0; end5 : begin TO = 11H4AD; CODE=5; H=0; end6 : begin TO = 11H50A; CODE=6; H=0; end7 : begin TO = 11H55C; CODE=7; H=0; end8 : begin TO = 11H582; CODE=1; H=1; end9 : begin TO = 11H5C8; CODE=2; H=1; end10 : begin TO = 11H606; CODE=3; H=1; end11 : begin TO = 11H640; CODE=4; H=1; end12 : begin TO = 11H656; CODE=5; H=1; end13 : begin TO = 11H684; CODE=6; H=1; end14 : begin TO = 11H69A; CODE=7; H=1; end15 : begin TO = 11H6C0; CODE=1; H=1; end default : begin TO = 11H6C0; CODE=1; H=1; endendcase end endmodule【例】module SPKER (CLK, TN, SPKS); input CLK; input10:0 TN; output SPKS; reg SPKS; reg10:0 CNT11; always (posedge CLK) begin : CNT11B_LOAD/ 11位可预置计数器 if (CNT11=11h7FF) begin CNT11=TN; SPKS=1b1; end else begin CNT11=CNT11+1; SPKS=1b0 ; end end endmodule【例】module FDIV (CLK,PM ); input CLK ; output PM ; reg 8:0 Q1; reg FULL; wire RST ; always (posedge CLK or posedge RST) begin if (RST) begin Q1=0; FULL=1; end else begin Q1 = Q1+1; FULL=0 ; end end assign RST = ( Q1=499 ) ; assign PM = FULL ; assign DOUT = Q1 ; endmodule图39 In-System Memory Content Editor对MUSIC模块的数据读取【例】WIDTH = 4 ; /“梁祝”乐曲演奏数据DEPTH = 256 ; /实际深度139ADDRESS_RADIX = DEC ; /地址数据类是十进制DATA_RADIX = DEC ; /输出数据的类型也是十进制CONTENT BEGIN /注意实用文件中要展开以下数据,每一组占一行00: 3 ; 01: 3 ; 02: 3 ; 03: 3; 04: 5; 05: 5; 06: 5; 07: 6; 08: 8; 09: 8;10: 8 ; 11: 9 ; 12: 6 ; 13: 8; 14: 5; 15: 5; 16:12; 17: 12;18: 12;19:15;20:13 ; 21:12 ; 22:10 ; 23:12; 24

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论