tag 标签: 正弦波

相关帖子
相关博文
  • 热度 2
    2016-2-24 10:17
    287 次阅读|
    0 个评论
    三项电机正弦波启动方案优势 1:无刷 无感 无电子噪音 2:低压启动 3:外围器件少 应用在 PC水冷泵 冷暖空调扇驱动 加湿器驱动 空气净化器驱动 冷暖水床驱动等等。。。
  • 热度 40
    2015-10-23 01:32
    2823 次阅读|
    35 个评论
            首先在这里要感谢至芯科技(上海)的老师,在笔者校招期间,他们给了我很大的鼓励和帮助。从上海回长沙的开始一段时间并不是那么的顺利,一度怀疑自己学习的方向是不是错了,也开始怀疑自己能力,降低要求,找个单位签了算了。我给尤老师打电话,把自己的疑惑跟他谈了谈,马上纠正我的错误想法并且坚定我的信心。现在,比起之前的情况好了很多,手里也有了offer。真的很感谢至芯。也告诉所有喜欢FPGA的人,喜欢,就坚持,不要因为一点点阻碍就放弃自己的梦想。         大家看到我这篇文章的题目之前加了“系列”两个字,那就是说关于“波 ”,我们不会只有这一篇,而是包括正弦波、混合波以及各种滤波器实现。这里面涉及到的一些理论,我尽量用简单、通俗易懂的语言来讲给大家。 一.目标波形         正弦波想必大家都不陌生,在高中的时候就有接触过,什么正余弦定理,积化和差、和差化积、半角/全角公式等等。当然大家完全不需要回去重新复习这些,只看博客的内容就够了。大家先想一想正弦波的函数图象,它的波形是什么样子的,什么?这个也想不到,没关系,就是下面这个样子^_^。         博主不要闹,这哪里是什么正弦波,不要欺负我读书少!!!         别急,且听我慢慢说来,咳咳。。。上图给出的就是我们今天要实现的波形,先在视觉上面给大家一个直观的感受。该波形是由标准的正弦波通过变频、移相得到的。所谓万变不离其宗,根源还是正弦波。 二.相关概念         大家对下面的公式一定不陌生         y=f(x)=Asin(wx+k)=Asin(2*pi*f*x+k);         A :振幅   f:频率    k:相位         知道了这三个参数就能确定唯一一组波形。下面看看生成正弦波的步骤,并在步骤里面穿插讲解。 1.离散化  将连续的正弦波信号进行离散化;应用matlab软件进行实现; a)频率控制字M   以一个周期为例,在正弦波上面采集等间隔的离散的点,然后将这些点用平滑的曲线连接,就可以将波形表示出来。伟大的奈奎斯特告诉我们,要将波形恢复出来,采样频率要=2*该波形频率,即采样点数要大于等于2。我们可以将一个周期分成2、4、8、16........2^N的份数,可以连续选取采样点,也可以隔1、2、。。。M个点采样。这里的M就是频率控制字。它的作用是控制目标波形的频率。这里先这么记住,往后面看。 b)目标波形的频率fs         既然我要生成一个正弦波,我当然要知道我生成的正弦波的频率,目标波形的频率fs=M*fclk/2^N; fs怎么来的?         将一个周期分成2^N份,每M个点采样,那么一个周期要采多少个点?2^N/M;         每个时钟采一个点,采集2^N/M个点需要2^N/M个Tclk,转换成频率,乘变成除,就得到目标公式了。 c)相位控制字         相位的控制也比较简单,以相位为0作为标准:          90度——2^N/4;          180度——2^N/2;          270度——2^N*3/4;          相信大家也看出规律了,教大家一个快速的方法,将份数类比成角度360,对份数做运算相应的就是对角度做运算,得到期望的相位。          注:如果你对于这些参数如何用代码控制还不是很清楚控制,那么具体看代码就一目了然了。 2.将离散化后的正弦波一个整周期存储到Ram中         (1).将离散后的数据进行定点化,Ram的规格是256*8,数据规格:1bit符号位+7bit小数位        d)幅值        以8bit位宽的RAM为例。8bit数据能表示的有符号数的范围是-128——127,幅值即为127。 将浮点数定点化:这里8bit全部表示整数位宽,所以讲正弦值*127然后取整,再去掉符号,将数据生成mif文件(matlab实现)        (2).创建一个Ram 用于存储离散数据        创建一个单口RAM,深度256,位宽为8,将mif文件导入即可。 三.仿真步骤        该工程相应的仿真步骤如下: 1.打开Modelsim,改变当前路径        File-Change Directory        将路径切换到sim文件夹下面   2.在命令行中敲入do run.do,自动执行仿真   3.输出格式设置        选中o_wave信号,右键选中Format-Analog(custom) ,打开设置选项          Height改成120,Max改成127,Min改成-128,点击ok。 4.效果图   四. 总结         确定一个唯一的正弦波需要知道三个参数,幅值、频率、相位。结合了采样定理,说明了采样过程与这三个参数的对应关系,明确这些就可以用代码实现。由于篇幅原因,需要代码的同学,留言写下自己的邮箱,我会把代码打包好发给各位,包括(功能文件,测试文件,仿真文件、工程等)。
  • 热度 10
    2013-12-2 10:21
    3818 次阅读|
    7 个评论
    利用FPGA+DAC0832制作的信号源 制作信号源有多种方法,但是由于接口数量以及手头资源的因素,我选择了用FPGA来产生一个信号源,算是自己正式开始了FPGA逻辑设计吧。本文介绍的就是我自己利用cyclone系列的FPGA制作的信号源,信号源的设计包括以下几个部分: 1、整个设计框架 2、各个小模块的实现(可调分频模块,三角波产生模块(含rom的定制,需先生成.mif文件),正弦波产生(同上)模块,方波产生模块,锯齿波产生模块,具体生成方法同上,4选1多路选择器模块,4路输入及输出均为8位,DAC0832控制器) 3、外围电路的设计(包括频率控制,加 减 设置功能,以及直接设置多少频率,显示模块(待设计),DAC0832模块) 4、仿真结果 在每一个设计开始的时候,首先要进行的是整体框架的划分,即系统有哪些部分组成,模块与模块之间应该怎样互联,明确这些之后才是具体的底层实现。 一、整体设计的框架图 系统时钟是FPGA正常工作所需的时钟(选取的是50MHz),时钟分频模块用于将系统时钟分频,它决定了信号波形的周期,通过控制它可以调整信号发生器产生的信号的周期(这里先介绍含有两个固定分频系数的分频器,如何产生可调周期的信号等下次详述)。接着是四个波形发生器,它们都需要先定制rom的初始化数据,然后再利用初始化的存储数据产生rom,利用QUARTUS Ⅱ产生各模块。4选1多路选择器,用于选择输出的波形,DAC0832控制器用于产生外部硬件的控制信号。接下来的是DAC0832的外部电路,用于产生最终输出的模拟信号。 在以上各模块中,难点是如何产生波形发生器,以及如何进行调频和调幅。(在本设计中只是用到了两个固定的周期,而且没有涉及到调幅,这些都将在下一篇中进行详述介绍)。 二、各小模块的具体实现 1、时钟分频模块 本部分设计的周期是6.25MHz和12.5MHz,对系统时钟进行8分频和4分频即可,分频系数分别为8和4。 具体实现电路原理图如下,rst信号用于复位,k4用于选择频率选择,当K4为高电平时输出频率为6.25MHz,为低电平时是12.5MHz。clkin是系统时钟为50MHz。   图1、分频模块 具体的FPGA实现代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all;   entity divide_8 is    port(        rst : in std_logic;        clkin: in std_logic;        k4: in std_logic;        clkout: out std_logic    ); end entity;   architecture divide of divide_8 is signal n :integer range 0 to 7; signal clk: std_logic; begin    devide:process(clkin,rst)    begin        if rst='0' then                         --reset configration           clkout='0';           n=0;           clk='0';        elsif rising_edge(clkin) then           if k4='1' then               if n=7 then                     --6.25MHz                  n=0;                  clk= not clk;               else                  n=n+1;               end if;           else               if n=3 then                     --12.5MHz                  n=0;                  clk=not clk;               else                  n=n+1;               end if;           end if;        end if;        clkout=clk;    end process; end architecture;     2、波形发生模块 本模块分为正弦波发生器模块,三角波发生器模块,方波发生器模块,锯齿波发生模块,分别用于产生对应的波形数据。 产生流程如下:1、建立存储器初始化数据表(用于存储波形数据)。2、利用新建立的初始化数据表.mif文件定制对应的rom,生成对应的波形发生器。 具体步骤如下: 2.1新建一个.mif文件。File→new→memory initialization file→ok 填入的字数为128,字节位数为8(字),这用于确定建立的数据表的大小。 图2、新建的.mif文件 在里面填入波形初始化数据即可,由于采用的是8位的数模转换器,转换精度为8位,最大值为255,对应的如果参考电压为5V的话,精度即为19.6mV。  定制rom过程如下: 利用megawizard plug-in manager定制正弦信号数据ROM宏功能块,并将上面的波形数据加载于此ROM中。 选择菜单tools—megawizard plug-in manager命令,在出现的对话框中选择create a new custom,单击next,产生图3所示对话框,如图设置                     图3. LPM宏功能模块设定 在左栏选择memory compiler项下的ROM:1-PORT,再选择器件和VHDL语言方式,输入ROM文件存放的路径和文件名。单击next出现图4对话框,按图中设置 图4. 选择控制线、地址线和数据线 注意需要将上面设置框中的64改选为128,产生7位地址线,单击next,按图5所示设置                    图5. 选择地址锁存信号inclock 单击next,按图6所示设置           图6. 调入ROM初始化数据文件并选择在系统读写功能 在上面的窗口中,点击browse选择工程下面的之前建立的sinwave.mif初始化数据文件,单击finish按钮完成ROM定制。将生成的sinwave.vhd文件加入工程中。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;   entity rom_out is port(clk:in std_logic;     dout:out std_logic_vector(7 downto 0)); end rom_out;   architecture dacc of rom_out is component sinwave                                    port(address:in std_logic_vector(6 downto 0);     clock:in std_logic;     q:out std_logic_vector(7 downto 0)); end component; signal q1:std_logic_vector(6 downto 0);                 --generate --address signal,address rise by 1 along with clk's rising_edge begin process(clk) begin if clk'event and clk='1' then q1=q1+1; end if; end process; u1:sinwave port map(address=q1,q=dout,clock=clk);    --call --sinwave.mif file end dacc; 生成原理图文件:file- Create/Update-create symbol files for current file即可生成。如图7所示: 图7、正弦波发生器 其余三种波形发生器的生成方法与正弦波类似,这里就不再赘述,下面只将三角波、方波、锯齿波的初始化数据表和波形发生器顶层设计列出。 2.2三角波生成器 数据表如图8所示(这些数据都是可以自己计算的,方法是在对应的函数图形上取点,只取纵坐标上的点,并将其存入数据表即可),   图8、三角波数据 三角波发生器顶层设计 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;   entity tri_angle_out is    port(        clk: in std_logic;        dout: out std_logic_vector(7 downto 0)    ); end entity;   architecture transmit of tri_angle_out is    component tri_angle                                                                                           --tri_angle rom claim        port(           address: in std_logic_vector(6 downto 0);           clock: in std_logic;           q: out std_logic_vector(7 downto 0)        );    end component; signal q1 : std_logic_vector(6 downto 0);   begin    process(clk)    begin        if(rising_edge(clk)) then           q1=q1+1;        end if;    end process;    u1: tri_angle port map(clock=clk,address=q1,q=dout);            --call tri_angle.vhd file end architecture; 生成原理图文件,如图9所示 图9、三角波发生器原理图 2.3锯齿波发生器 波形数据如图10所示:此处只选取了64个数据,(这在数据rom定制中可以修改) 图10、锯齿波发生器数据 锯齿波发生器的顶层设计 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;   entity sawtooth_out is    port(        clk: in std_logic;        dout: out std_logic_vector(7 downto 0)    ); end entity;   architecture transmit of sawtooth_out is    component sawtooth        port(           address: in std_logic_vector(5 downto 0);           clock: in std_logic;           q: out std_logic_vector(7 downto 0)        );    end component; signal q1 : std_logic_vector(5 downto 0);--由于是64个数据,所以此--处只有5位地址线     begin    process(clk)    begin        if(rising_edge(clk)) then           q1=q1+1;        end if;    end process;    u1: sawtooth port map(clock=clk,address=q1,q=dout); end architecture; 原理图符号生成如图11所示: 图11锯齿波发生器原理图符号 2.4方波发生器模块 数据表如图12所示: 图12、方波发生器数据 方波发生器顶层设计: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;   entity fangbo_out is    port(        clk: in std_logic;        dout: out std_logic_vector(7 downto 0)    ); end entity;   architecture transmit of fangbo_out is    component fangbo        port(           address: in std_logic_vector(6 downto 0);           clock: in std_logic;            q: out std_logic_vector(7 downto 0)        );    end component; signal q1 : std_logic_vector(6 downto 0);   begin    process(clk)    begin        if(rising_edge(clk)) then           q1=q1+1;        end if;    end process;    u1: fangbo port map(clock=clk,address=q1,q=dout); end architecture; 方波发生器的原理图13所示: 图13、方波发生器原理图 注:在以上的顶层设计中,只是相对于定制的rom模块来说是顶层设计,并不是整个设计的顶层设计,每一个发生器的顶层设计中均需要调用已生成的IP核,即rom模块,这就需要先进行被调用模块的声明,然后还需要对其进行例化才能正确调用。 三、4选1多路选择器的设计 4选1多路选择器由4路8输入端及两条选择线控制,输出为1路8输出信号。当选择输入信号sel与输出的对应关系见具体设计。 具体实现如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;   entity mux4_1 is    port(        rst: in std_logic;        din4,din3,din2,din1: in std_logic_vector(7 downto 0);        sel: in std_logic_vector(1 downto 0);        q: out std_logic_vector(7 downto 0)    ); end entity; architecture sel of mux4_1 is begin    process(sel,din4,din3,din2,din1,rst)    begin        if rst='0' then           q="00000000";                     --复位        else           case sel is                        --输入选择控制               when "00"= q=din1;               when "01"= q=din2;               when "10"= q=din3;               when "11"= q=din4;               when others= q=din1;           end case;        end if;    end process; end architecture; 生成的原理图文件如图14所示: 图14、 4选1多路选择器 四、DAC0832外部电路的设计:如图15所示:DAC0832的具体使用介绍网上已有很多资料介绍,本设计不再单独列出,可参照网上。本设计的DAC0832的引脚图如下所示: 图15、DAC0832的引脚图 DI0~DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻. Vcc:电源输入线  (+5v~+15v) 。 Vref:基准电压输入线  (-10v~+10v) 。 AGND:模拟地,摸拟信号和基准电源的参考地.。 DGND:数字地,两种地线在基准电源处共地比较好。 D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。 控制时序如图16所示: 图16、DAC0832的控制时序图 具体设计如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all;   entity DAC0832 is    port(din     :in std_logic_vector(7 downto 0);        --data input        rst     :in std_logic;        cs      :out std_logic;                          --控制信号cs        wr1     :out std_logic;                          --控制信号wr1        dout:out std_logic_vector(7 downto 0)        --波形数据输出        );         end DAC0832;  architecture behav of DAC0832 is begin     process(rst)     begin        if rst='0' then            cs='1';            wr1='1';            dout="00000000";        else            cs='0';            wr1='0';            dout=din;                   --cs、wr1赋值;波形数据输出;        end if;     end process; end behav; 注:以上设计中没有涉及到的控制引脚信号,已利用外部硬件对应的连到地或电源线上了。 具体生成的原理图符号如图16所示: 图16、DAC0832控制模块原理图文件 将以上所生成的各部分按对应关系连接在顶层文件中,即构成了整个设计,具体如下(图17)可放大     六、仿真结果如下所示: 6.25MHz的正弦波 12.5 MHz的正弦波   6.25 MHz的方波   12.5 MHz的方波 6.25 MHz的三角波   12.5 MHz的三角波        6.25 MHz的锯齿波 12.5 MHz的锯齿波    
  • 热度 8
    2013-5-25 14:05
    1037 次阅读|
    6 个评论
       今天很高兴,终于差不多完成实物的调试了。论文也写到最后尾声,等着答辩。可惜打样的板子还在路上,不然,直接调试手持微小型版的示波器,嘿嘿,感觉就上了一个档次了。   下面进行这个示波器的波形测试: 无图无真相,直接看图:   20Hz正弦波   8Hzz正弦波     1MHz正弦波     100kHz 三角波   100kHz方波   噪声   目前由于时钟是STM32给AD的,所以采样频率最多12MHz,只加了简单的线性内插算法,没有加复杂的正弦内插算法,实时采样。所以,目前就做到了0~1M的频宽。 做得不好,请大家拍砖哈。
  • 热度 4
    2013-1-30 14:37
    16945 次阅读|
    2 个评论
      自己理解的正弦波正弦量、平均值、有效值的推导 wxleasyland@sina.com 2013.1.30   有点忘记怎么推导了,自已再重新理解下。   一、基本公式 对于一个时间函数的正弦波:   即函数是u=F(t),注意u≠sin(t),F≠sin。 但是它是一个正弦波,故u=sin(£),£与t存在关系 即:u=F(t)=sin(£),£与t存在关系,£的单位是角度,t的单位是秒。sin只能对“角度”,不能对“秒”。“秒”要转换成“角度”才能sin。 现在来求解£是什么,发现: O点,t=0时,£=0 A点,t=T时,£=2π B点,t=2T时,£=2×2π 即£与t的关系是 £=(2π/T)×t   故得:u=F(t)=sin(£)=sin((2π/T)t)  !!!!   另, 角速度=2π/t 角频率ω=2π/T=2πf,T为周期,f为频率 故最终: u=sinωt    !!!!   即t乘以ω后,就变成角度了,ωt是角度,就可以sin了!       二、对于各种提前、延后的情况:   即 sin函数里面的都是角度 ! 时间需要乘以ω转成角度。 角度要转成时间,就要除以ω。 π/2=ω×T/4,即T/4相当于是π/2。     三、平均值   时间和角度是相当的,角度可以代替时间去计算,这就方便多了。   1. 正弦波平均值肯定为0。   把角度当作时间来简化计算。 把2π当作周期T,把小片段角度d£当作小片段时间dt。 在一个周期T内的平均值,即是∫u×dt/T,即相当于∫u×d£/2π 用角度时:u=sin£ 则∫u×d£/2π=∫sin£×d£/2π 在0~2π区间作积分:   故∫sin£d£/2π=(-cos2π+cos0)/2π=0   2. 全波整流的平均值:   只要计算0~π即可: ∫sin£d£/π=(-cosπ+cos0)/π=2/π=0.6366 即平均值=峰值的0.6366倍。       3. 半波整流的平均值   计算0~π,但周期要按2π算: ∫sin£d£/2π=(-cosπ+cos0)/π=2/2π=0.3183 即平均值=峰值的0.3183倍。                 四、有效值   时间和角度是相当的,角度可以代替时间去计算,这就方便多了。   1. 正弦波有效值 把角度当作时间来简化计算。 把2π当作周期T,把小片段角度d£当作小片段时间dt。 在一个周期T内的有效值,即是计算一个周期T内的热量值相同的等效电压: 一个周期T内的热量值(假设电阻R=1):∫u^2×dt,即相当于∫u^2×d£ 用角度时:u=sin£ 则∫u^2×d£=∫sin 2 £×d£ 在0~2π区间作积分:   故∫sin 2 £d£=(2π/2-1/4×sin4π)-(0/2-1/4×sin0)=π   等效电压Uo产生的热量值=Uo^2×2π等于∫sin 2 £d£=π 故:Uo^2×2π=π 最终得:Uo=0.707 即有效值等于峰值的0.707倍     2. 全波整流的有效值: 只要计算0~π即可: 故∫sin 2 £d£=(π/2-1/4×sin2π)-(0/2-1/4×sin0)=π/2 故:Uo^2×π=π/2 最终得:Uo=0.707 即有效值等于峰值的0.707倍       3. 半波整流的有效值 只要计算0~π,但周期要按2π算: 故∫sin 2 £d£=(π/2-1/4×sin2π)-(0/2-1/4×sin0)=π/2 故:Uo^2×2π=π/2 最终得:Uo=0.5 即有效值等于峰值的0.5倍     五、汇总     平均值 有效值 正弦波 0 峰值的0.707倍 全波 峰值的0.6366倍 正弦波有效值的0.9倍 峰值的0.707倍 半波 峰值的0.3183倍 正弦波有效值的0.45倍 峰值的0.5倍     总之,sin函数里面一定是角度。时间需要乘以ω转成角度。角度可以等效成时间来计算。    
相关资源
  • 所需E币: 0
    时间: 2020-11-9 20:58
    大小: 96.4KB
    上传者: Goodluck2020
    ANC系列的正弦波逆变电源应用分析(电源技术)
  • 所需E币: 0
    时间: 2020-9-18 22:29
    大小: 256.87KB
    上传者: LGWU1995
    基于AVR单片机的三相正弦波变频电源设计
  • 所需E币: 0
    时间: 2020-8-30 14:29
    大小: 53.38KB
    上传者: 丸子~
    该文档提供了一种关于正弦逆变的解决方案
  • 所需E币: 3
    时间: 2020-8-4 22:38
    大小: 308.71KB
    上传者: 丸子~
    该文档为2010年福建省大学生电子设计竞赛三相正弦波变频发电模拟装置的一种解决方案以及参数论证,测试数据。
  • 所需E币: 3
    时间: 2020-8-5 11:09
    大小: 269.93KB
    上传者: 丸子~
    该文章主要论述了正弦波输出车载空调逆变电源的设计研究与实现,提供了一种逆变电源的设计思路与研究原理。
  • 所需E币: 3
    时间: 2019-12-26 01:18
    大小: 863.71KB
    上传者: givh79_163.com
    全套正弦波UPS资料(英文)……
  • 所需E币: 5
    时间: 2019-12-25 22:02
    大小: 19.84KB
    上传者: givh79_163.com
    利用TMS320LF240x实现SVPWM算法的程序下面给出了利用TMS320LF2407实现SVPWM算法的一个应用程序。在该程序中,我们假设有200个电压矢量Uout平均分布在电角度为2π的范围内,通过改变SVPWM的调制周期T可以改变输出的3相正弦波的频率。……
  • 所需E币: 4
    时间: 2019-12-25 21:40
    大小: 620.29KB
    上传者: wsu_w_hotmail.com
    正弦波源程序代码[完整的]……
  • 所需E币: 5
    时间: 2019-12-25 21:41
    大小: 37.51KB
    上传者: 微风DS
    正弦波数据生成器[原创]……
  • 所需E币: 5
    时间: 2019-12-25 21:41
    大小: 37.51KB
    上传者: 二不过三
    正弦波数据生成器,可根据特定晶振频率、DA位数生成正弦波数据,用以实现DA输出正弦波。……
  • 所需E币: 3
    时间: 2019-12-28 21:41
    大小: 256.94KB
    上传者: 2iot
    提出了一种基于PIC单片机设计的三相正弦波变频电源.样机实践证明,该电源切实可行、成本低廉,且具有输出频率可调、缺相保护、过流保护、不平衡保护等特点.基于PIC单片机的三相正弦波变频电源的设计,张华林1,一(1・漳州师范学院物理系,福建漳州363000;2.厦门大学自动化系,福建厦门361005)摘要:提出了一种基于PIC单片机设计的三相正弦波变频电源。样机实践证明,该电源切实可行、成本低廉,且具有输出频率可调、缺相保护、过流保护、不平衡保护等特点。关键词:单片机三相PWM变频三相逆变控制常用的方式有三种:一是基于可编程逻辑器件的对称规则采样法,产生S硎嘞信号以实现逆(,:些一o.67E、/2霄变控制;二是利用DSP芯片产生S阿M信号以实现逆变由上述分析可知,图1信号中主要成份为基波,而控制;三是用专用芯片配合微处理器产生鲫IWM信号实……
  • 所需E币: 5
    时间: 2019-12-25 12:32
    大小: 23KB
    上传者: rdg1993
    TLC7524接口电路程序8.7TLC7524接口电路程序见随书所附光盘中文件:TLC7524VHDL程序与仿真。--文件名:TLC7524.VHD--功能:产生156.25KHz的正弦波。--最后修改日期:2004.3.18。libraryieee;useieee.std_logic_arith.all;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityTLC7524isport(clk:instd_logic;--系统时钟rst:instd_logic;--复位信号data_out:outstd_logic_vector(7downto0));--波形数据endTLC7524;architecturebehavofTLC7524issignalb:integerrange0to63;--地址计数器signalq:integerrange0to4;--计数器signald:integerrange0to255;--波形数据寄存器beginprocess(clk)……
  • 所需E币: 5
    时间: 2019-12-25 12:31
    大小: 60.5KB
    上传者: 16245458_qq.com
    波形发生程序8.23多功能波形发生器VHDL程序与仿真--文件名:mine4.vhd。--功能:实现4种常见波形正弦、三角、锯齿、方波(A、B)的频率、幅度可控输出(方波--A的占空比也是可控的),可以存储任意波形特征数据并能重现该波形,还可完成--各种波形的线形叠加输出。--说明:SSS(前三位)和SW信号控制4种常见波形种哪种波形输出。4种波形的频率、--幅度(基准幅度A)的调节均是通过up、down、set按键和4个BCD码置入器以及一--个置入档位控制信号(ss)完成的(AMP的调节范围是0~5V,调节量阶为1/51V)。--其中方波的幅度还可通过u0、d0调节输出数据的归一化幅值(AMP0)进行进一步--细调(调节量阶为1/(51*255)V)。方波A的占空比通过zu、zp按键调节(调节--量阶1/64*T)。系统采用内部存储器——RAM实现任意输入波形的存储,程序只支--持键盘式波形特征参数置入存储,posting为进入任意波置入(set)、清除(clr)状态--控制信号,SSS控制存储波形的输出。P180为预留端口,--最后修改日期:2004.3.26。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitymine4isport(clk:instd_logic;--时钟信号输入set,c……
  • 所需E币: 4
    时间: 2020-1-2 01:41
    大小: 3.92MB
    上传者: 微风DS
    多种正弦波发生电路正弦波发生电路能产生正弦波输出,它是在放大电路的基础上加上正反馈而形成的,它是各类波形发生器和信号源的核心电路。正弦波发生电路也称为正弦波振荡电路或正弦波振荡器。9-1.1产生正弦波的条件9-1.1.1正弦波发生电路的组成为了产生正弦波,必须在放大电路里加入正反馈,因此放大电路和正反馈网络是振荡电路的最主要部分。但是,这样两部分构成的振荡器一般得不到正弦波,这是由于很难控制正反馈的量。如果正反馈量大,则增幅,输出幅度越来越大,最后由三极管的非线性限幅,这必然产生非线性失真。反之,如果正反馈量不足,则减幅,可能停振,为此振荡电路要有一个稳幅电路。为了获得单一频率的正弦波输出,应该有选频网络,选频网络往往和正反馈网络或放大电路合而为一。选频网络由R、C和L、C等电抗性元件组成。正弦波振荡器的名称一般由选频网络来命名。正弦波发生电路的组成放大电路正反馈网络选频网络稳幅电路9-1.1.2产生正弦波的条件产生正弦波的条件与负反馈放大电路产生自激的条件十分类似。只不过负反馈放大电路中是由于信号频率达到了通频带的两端,产生了足够的附加相移,从而使负反馈变成了正反馈。在振荡电路中加的就是正反馈,振荡建立后只是一种频率的信号,无所谓附加相移。[pic](a)负反馈放大电路(b)正反馈振荡电路图9-1.01振荡器的方框图比较图11.01(a)……
  • 所需E币: 5
    时间: 2019-12-25 10:29
    大小: 174.2KB
    上传者: 238112554_qq
    波形产生电路与变换电路……
  • 所需E币: 5
    时间: 2019-12-25 10:07
    大小: 2.78KB
    上传者: 238112554_qq
    采用查表法产生正弦波时,可以通过该软件产生标值……
  • 所需E币: 3
    时间: 2020-1-4 23:15
    大小: 131.18KB
    上传者: givh79_163.com
    正弦波失真度测量……
  • 所需E币: 5
    时间: 2020-1-4 23:39
    大小: 74.87KB
    上传者: 978461154_qq
    Matlab下用dspbuilder实现dds模块产生正弦波的源码……
  • 所需E币: 3
    时间: 2019-12-24 10:27
    大小: 1MB
    上传者: rdg1993
    基于DDS的DA正弦波输出……
  • 所需E币: 5
    时间: 2019-12-19 13:37
    大小: 8.94MB
    上传者: rdg1993
    tyw专辑类----开关电源相关专辑@@-正弦波逆变器-431页-9.6M.rar……
广告