<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>基于CPLD的三相多波形函數發生器設計

      基于CPLD的三相多波形函數發生器設計

      時間:2023-02-20 23:51:41 電子通信論文 我要投稿
      • 相關推薦

      基于CPLD的三相多波形函數發生器設計

      摘要:介紹了基于可編程邏輯器件CPLD和直接數字頻率合成技術(DDS)的三相多波形函數發生器的基本原理,并在此基礎上給出了基于CPLD的各模塊設計方法及其VHDL源程序。

          關鍵詞:CPLD;直接數字頻率合成;函數發生器;VHDL

      1 引言

      直接數字頻率合成 ?Direct Digital Synthesis ,DDS?是20世紀60年代末出現的第三代頻率合成技術。該技術從相位概念出發,以Nyquist時域采樣定理為基礎,在時域中進行頻率合成。DDS頻率轉換速度快,頻率分辨率高,并在頻率轉換時可保持相位的連續,因而易于實現多種調制功能。DDS是全數字化技術,其幅度、相位、頻率均可實現程控,并可通過更換波形數據靈活實現任意波形。此外,DDS易于單片集成,體積小,價格低,功耗小,因此DDS技術近年來得到了飛速發展,其應用也越來越廣泛。

      基于CPLD和DDS技術的函數發生器可以實現信號波形的多樣化,而且方便可靠,簡單經濟,系統易于擴展,同時可大大提高輸出信號的帶寬。

      2 系統原理

      2.1 CPLD內部設計

      CPLD的內部結構框圖如圖1所示,圖中,首先由控制寄存器將外部控制器(如單片機)送入的數據轉換為頻率和幅度控制字;然后再由分頻器根據頻率控制字進行分頻并將輸出作為尋址計數器的時鐘;尋址計數器的尋址空間為360字節,可對ROM中的查找表進行尋址;而通過模360加法器可以產生120°的相位差。
      (范文先生網www.ycxgx.cn收集整理)
          2.2 CPLD的外圍電路

      圖2所示是CPLD的外圍電路連接圖。圖中,CPLD幅度控制字經D/A轉換輸出后,可作為查找表輸出DAC的參考電壓,該參考電壓可通過改變幅度控制字來進行改變,從而改變輸出信號的幅度。

      3 CPLD各模塊的設計

      3.1 控制寄存器的設計

      控制寄存器設計主要是將外部控制器輸入的數據轉換為頻率和幅度控制字。其程序代碼如下:

      --////////////調庫////////////--

      entity controller is

      port(clk:in std_logic;

      datain:in std_logic;

      ad:out std_logic_vector(16 down to 0);

      freq:out std_logic_ vector(16 down to 0));

      end;

      architecture dataflow of controller is

      signal out1:std_logic_vector(16 down to 0);

      begin

      s2p:process(clk,datain)

      variable temp:std_logic_vector(16 down to 0);?

      begin

      if clk'event and clk=‘1’ then

      temp:=temp(15 down to 0)&datain;

      end if;

      out1<=temp;

      end process s2p;

      mux:process(out1(16))

      begin

      if out1(16)=‘1’ then

      ad<=out1(15 down to 0); --1號寄存器為幅度控制字

      else

      freq<=out1(15 downto 0); --0號寄

      存器為頻率控制字

      end if;

      end process mux;

      end;

      圖3

          3.2 分頻比可變的分頻器模塊設計

      該設計主要是根據頻率控制字決定分頻倍數,從而輸出與頻率控制字相對應的頻率時鐘,此模塊的輸出可作為尋址計數器的時鐘。具體代碼如下:

      process?clk? --clk為外部時鐘(如晶振)

      variable temp,fen:std_logic_vector(15 down to 0);?

      constant temp1:std_logic_vector(15 down to 0):=“1111111111111111”;

      variable a:std_logic;

      begin

      fen:=temp1-fen_in; --使分頻后的頻率正比于頻率控制字

      if clk=‘1’ and clk'event then

      if temp=(‘0’&fen(15 down to 1)) then --相當于除2運算

      a:=not a;

      temp:=temp+1;

      elsif temp=fen then

      a:=not a;

      temp:=“0000000000000000”;

      else

      temp:=temp+1;

      end if;

      end if;

      fen out<=a; --fen out 為輸入時鐘的頻率fen倍分頻

      end process;

      3.3 尋址計數器設計

      尋址計數器主要用于產生對ROM尋址輸出波形數據的尋址信號,尋址空間為360字節,具體的程序代碼如下:

      process(clk)

      variable temp:integer range 0 to 359;

      begin

      if clk=‘1' and clk'event then

      if temp<359 then

      temp:=temp+1;

      else

      temp:=0;

      end if;

      end if;

      adress<=temp;

      end process;

      3.4 模360加法器設計

      此模塊用來產生120°的相移,以形成三相相差為120°的輸出波形。由于尋址空間為360字節,故在輸出尋址數大于360時,須對360取模。程序如下:

      process(adress_in)

      variable temp?integer range 0 to 511;

      begin

      temp:=adress in+120;--相移120°

      if temp<360 then;

      adress out<=temp?

      else

      adress_out<=temp-360;--綜合工具不支持取模運算,故采用減法器來實現

      end if;

      end process;

      3.5 查找表ROM設計

      此模塊主要用于存儲各種波形數據,以便通過尋址計數器尋址輸出并經D/A轉換來輸出各種波形,其中包括正弦波、三角波、方波以及鋸齒波。代碼如下:

      process(adress,sel)

      begin

      if sel=“00” then --sel為波形選擇端口,選擇輸出波形,00為正弦波

      case adress is

      when 000=>data<=0; when 001=>data<=4; ......--正弦波查找表

      when others=>null;

      end case;

      else if sel=“01” then --01輸出方波,

      if adress<180 then

      data<=255;

      else

      data<=0;

      end if;

      else if sel=“10” then --鋸齒波

      data<=adress/2;

      else --三角波

      if adress<180 then

      data<=adress;

      else

      data<=adress-180;

      end if;

      end if;

      end process;

      由以上各模塊組成的三相波形發生器原理圖如圖3所示。

      4 結束語

      此方案可以方便地輸出多種三相波形,而且,由于CPLD具有可編程重置特性,因而可以方便地改變控制方式或更換波形數據,而且簡單易行,易于系統升級,同時具有很高的性價比。


      【基于CPLD的三相多波形函數發生器設計】相關文章:

      一種高精度波形發生器的設計08-06

      SDRAM在任意波形發生器中的應用08-06

      基于CPLD的系統中I2C總線的設計08-06

      基于CPLD/FPGA的半整數分頻器的設計08-06

      基于DSP與CPLD的I2C總線接口的設計與實現08-06

      一種基于CPLD的PWM控制電路設計08-06

      基于CPLD的高壓電力線FSK MODEM設計08-06

      基于軟件無線電的多制式信號發生器的設計與實現08-06

      基于PC/104的多串口通訊的設計08-06

      主站蜘蛛池模板: 久久这里只有精品免费首页| 国产L精品国产亚洲区在线观看| 99久久精品费精品国产一区二| 激情久久av一区二区三区| 九九热久久这里全是精品| 亚洲顶级裸体av片| 非会员区试看120秒6次| 夜色福利站WWW国产在线视频| 久久99精品九九九久久婷婷| 久久精品免视看国产成人| 亚洲最大日韩精品一区| 亚洲精品日韩中文字幕| 亚洲精品一区二区天堂| 亚洲一精品一区二区三区| 日韩不卡一区二区三区四区 | 图片区 小说区 区 亚洲五月| 正在播放肥臀熟妇在线视频| 久久综合精品国产一区二区三区无| 99久久免费只有精品国产| 亚洲AV福利天堂在线观看| 韩国无码AV片午夜福利| 国产日韩一区二区四季| 又爽又黄又无遮挡的激情视频| 亚洲国产美女精品久久久| 影音先锋啪啪av资源网站| 亚洲一区二区三区啪啪| 色成年激情久久综合国产| 亚洲精品中文字幕在线观| 亚洲熟妇av综合一区二区 | 久久久国产成人一区二区 | 欧美成人一区二区三区不卡| 巨爆乳中文字幕爆乳区| 玩弄丰满少妇人妻视频| 中文字幕国产精品二区| 少妇高潮水多太爽了动态图| 国偷自产一区二区三区在线视频 | 韩国福利视频一区二区三区 | 日韩精品久久久肉伦网站| 亚洲国产成人av在线观看| 精品一精品国产一级毛片| 精品国产午夜福利在线观看|