您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 桂电2015总EDA实验6综合设计
实验一综合设计选题原则:学号后两位模3取余数+1设计题目一SPWM脉宽调制控制系统设计(1)实验原理:SPWM(SinusoidalPWM)脉宽调制技术是非常重要的电力电子控制技术,在高性能电机驱动、步进电机细分控制、变频电源、电力电子逆变控制等方面有重要的应用。特别是随着FPGA技术进入这一行业,使SPWM技术的应用更有了长足的进步,使其得到了更高效、更深入和更广泛的应用。SPWM控制的原理和相关技术可以参考附带的资料:\KX_DN7\重要ppt_PDF文件\PDF实验设计文件\SPWM,也可通过其他途径获得相关资料。图18SPWM波生成原理图相对于空间矢量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是利用逻辑分析仪SignalTapII实测的波形,显然与图18的波形有很好的对应关系。三角波发生模块moduleTRANG3(ADR,OUTD);input[9:0]ADR;output[9:0]OUTD;wire[9:0]OUTD;reg[9:0]OT1;reg[10:0]CC;always@(ADRorCC)beginif(ADR10'b1000000000)beginOT1[9:1]=ADR[8:0];OT1[0]=1'b0;endelsebeginCC=11'b10000000000+(~ADR);OT1[9:1]=CC[8:0];OT1[0]=1'b0;endendassignOUTD=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变频电源的设计方案。图19SPWM波发生器基本电路图图20图4-19电路的SignalTapII实测波形图21三相SPWM控制器电路模块图(5)实验内容4:根据图4-21,设计更实用的三相SPWM控制器。其中CLK可以来自锁相环;由DDS模块生成4路信号,一路是三角波发生模块时钟SC_CLK。相对于其余3路正弦波的基频,通过改变SC_CLK的频率性质,可以实现同步调制方式、异步调制方式以及改变载波比。DDS的三路正弦波可数控调频,各相差120度;DDS中的波形ROM可以直接使用3个10位地址线和10位输出数据线的LPMROM(因为EP3C5的内嵌RAM足够大),3个不同相位的正弦波数据mif文件可用附录1的工具生成。幅度调制模块可用EP3C5中专用数字乘法器嵌入式模块实现。为了保护IGBT,防止上下桥臂同时导通而烧毁此器件,必须设计死区控制模块。可以根据实际需要设置死区时间,通常为数百ns。死区发生器可由死区计数器和相关组合电路构成,使同相的上下桥臂驱动信号能错开一个死区时间段,以免功率器件短路。设计题目二4X4阵列键盘键信号检测电路设计(1)实验原理:4X4阵列键盘十分常用,图4-15是其电路和接口。假设其两个4位口,A[3:0]和B[3:0]都有上拉电阻。在应用中,当按下某键后,为了辨别和读取键信息,一种比较常用的方法是,向A口扫描输入一组分别只含一个0的4位数据,如1110,1101,1011等。若有键按下,则B口一定会输出对应的数据,这时,只要结合A,B口的数据,就能判断出键的位置。如当键S0按下,对于输入的A=1110时,那么输出的B=0111。于是{B,A}=0111_1110就成了S0的代码。例4-3就是根据此原理给出的Verilog设计程序。图154X4键盘电路和10芯接口图16设置端口上拉moduleKEY4X4(CLK,A,B,R);inputCLK;input[3:0]A;output[3:0]B;output[3:0]R;reg[1:0]C;reg[3:0]R,B;always@(posedgeCLK)beginC=C+1;case(C)0:B=4'B0111;1:B=4'B1011;2:B=4'B1101;3:B=4'B1110;endcasecase({B,A})8'B0111_1110:R=4'H0;8'B0111_1101:R=4'H1;8'B0111_1011:R=4'H2;8'B0111_0111:R=4'H3;8'B1011_1110:R=4'H4;8'B1011_1101:R=4'H5;8'B1011_1011:R=4'H6;8'B1011_0111:R=4'H7;8'B1101_1110:R=4'H8;8'B1101_1101:R=4'H9;8'B1101_1011:R=4'HA;8'B1101_0111:R=4'HB;8'B1110_1110:R=4'HC;8'B1110_1101:R=4'HD;8'B1110_1011:R=4'HE;8'B1110_0111:R=4'HF;endcaseendendmodule(2)实验任务1:根据实验原理分析程序4-3,仿真并详细说明程序中各语句结构的功能。(3)实验任务2:在实验系统上硬件验证。(4)实验任务3:修改程序例4-3,使第二个case语句成为一个独立的有时钟敏感信号的过程结构,再根据教材[1]6.4.2节的方法使程序自动生成ROM替代模块(要检测键功能是否被改变);或干脆例化进一个LPM_ROM以取代第二个case语句。检测其功能和资源的变化情况。(5)实验任务4:利用此项电路进而设计一个4位加、减、乘法计算器。(6)实验任务5:为了更实用,参考教材[1]7.8节,为键盘电路加上去抖动电路模块。(7)实验任务6:首先回答问题:例4-3的程序中为何没有加default语句,它希望借此实现什么功能?如果加上default语句会有什么后果?分别用仿真波形说明之。在default语句存在的条件下,需要增加什么电路才能实现例4-3同样的功能?试给出完整程序,并硬件验证之。KX_DN5/7实验系统演示示例(含实验指导pdf/PDF课件):\KX_DN7\EDA_EP3C5E\EXPERIMENTs\EXP31_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位预置数TN[10..0]决定。SPK_KX的输出频率将决定每一音符的音调;这样,分频计数器的预置值TN[10..0]与输出频率就有了对应关系,而输出的频率又与音乐音符的发声有对应关系,例如在F_CODE模块(例4-9)中若取TN[10..0]=11'H40C,将由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模块输出的q[3..0]及4位输入值INX[3..0]确定,而INX[3..0]最多有16种可选值。输向模块F_CODE中INX[3..0]的值在SPKER中对应的输出频率值与持续的时间由模块MUSIC决定。③模块CNT138T是一个8位二进制计数器,内部设置计数最大值为139(例4-8),作为音符数据ROM的地址发生器。这个计数器的计数频率即为4Hz。即每一计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。例如,“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒时间,相应地,所对应的“3”音符分频预置值为11'H40C,在SPKER的输入端停留了1秒。随着计数器CNT138T按4Hz的时钟速率作加法计数时,即随地址值递增时,音符数据ROM模块MUSIC中的音符数据将从ROM中通过q[3..0]端口输向F_CODE模块,“梁祝”乐曲就开始连续自然地演奏起来了。CNT138T的节拍是139,正好等于ROM中的简谱码数,所以可以确保循环演奏。对于其他乐曲,此计数最大值要根据情况更改。(3)实验内容1:定制音符数据ROMMUSIC。该ROM中对应“梁祝”乐曲的音符数据已列于例4-12中。注意该例数据表中的数据位宽、深度和数据的表达类型。此外,为了节省篇幅,例中的数据都横排了,实际程序中必须以每一分号为一行来展开。最后对该ROM进行仿真,确认例4-12中的音符数据已经进入ROM中。图4-39是利用QuartusII的在系统存储器读写编辑器(In-SystemMemoryContentEditor)读取FPGA内MUSICROM中的数据,请与例4-12的数据比较。(4)实验内容2:对图4-37中所有模块,分别仿真测试,特别是通过联合测试模块F_CODE和SPKER,进一步确认F_CODE中的音符预置数的精确性,因为这些数据决定了音准。可以根据图4-38的数据进行核对,如果有偏差要修
本文标题:桂电2015总EDA实验6综合设计
链接地址:https://www.777doc.com/doc-2295941 .html