0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

多波形信號發(fā)生器設(shè)計(jì)原理分析

要長高 ? 來源:單片機(jī)精講吳鑒鷹 ? 作者:單片機(jī)精講吳鑒鷹 ? 2022-06-20 17:35 ? 次閱讀

在教學(xué)實(shí)驗(yàn)和教學(xué)研究中,信號發(fā)生器作為提供測試用電信號的儀器必不可少。目前通用的信號發(fā)生器一般只能輸出常用的波形信號,不能滿足某些特殊的需要,例如在電子測量教學(xué)中,通過用示波器測量晶體管的輸出特性曲線實(shí)驗(yàn),讓學(xué)生理解晶體管測試儀的測量原理,就需要階梯波信號。又如研究計(jì)數(shù)法測周期時(shí),噪聲信號引起的觸發(fā)誤差所需的某種噪聲信號。鑒于教學(xué)實(shí)驗(yàn)和教學(xué)研究的需要,筆者設(shè)計(jì)了一種基于可編程邏輯器件CPLD的多波形信號發(fā)生器,此設(shè)計(jì)采用Max Plus II開發(fā)平臺(tái),VHDL編程實(shí)現(xiàn),整個(gè)系統(tǒng)除晶體振蕩器和A/D轉(zhuǎn)換外,全部集成在一片美國Altera公司生產(chǎn)的EPM7256SR208-15的芯片上。他除了輸出常用的正弦波、三角波、方波以外,專門設(shè)計(jì)了一個(gè)任意波形模塊(在本設(shè)計(jì)中為階梯波波形數(shù)據(jù)),以及兩種波形線性組合共10種波形。任意波形模塊可由用戶自行編輯所需波形數(shù)據(jù),經(jīng)下載在不改變整個(gè)系統(tǒng)硬件連接的情況下,輸出用戶所需的特殊波形。該信號發(fā)生器輸出波形的頻率可數(shù)控選擇,其范圍為100 Hz~30 kHz。幅度調(diào)節(jié)范圍為0~5 V。

1 設(shè)計(jì)原理

根據(jù)設(shè)計(jì)要求,多波形信號發(fā)生器由3部分組成,即時(shí)鐘信號發(fā)生器、波形數(shù)據(jù)產(chǎn)生器和數(shù)/模轉(zhuǎn)換電路。晶體振蕩器產(chǎn)生穩(wěn)定度很高的時(shí)鐘信號,在時(shí)鐘信號的作用下,波形數(shù)據(jù)產(chǎn)生器生成頻率可變的波形數(shù)據(jù)數(shù)字信號,經(jīng)數(shù)/模轉(zhuǎn)換電路最終輸出所需波形信號。幅度的調(diào)節(jié)可通過改變A/D轉(zhuǎn)換芯片電阻網(wǎng)絡(luò)的基準(zhǔn)電壓實(shí)現(xiàn)?;贑PLD的波形數(shù)據(jù)產(chǎn)生器頂層電路如圖1所示。

pYYBAGKwPwWAMOc0AAHmnJLXLvQ172.png

圖1 波形數(shù)據(jù)產(chǎn)生器頂層電路圖

圖中DFR為數(shù)控分頻器,根據(jù)儀器面板8位數(shù)字量開關(guān)產(chǎn)生的預(yù)置數(shù)據(jù)D輸出不同頻率的時(shí)鐘,以改變輸出信號的頻率。在時(shí)鐘的作用下,DELTA,SIA,SQUARE,AT_WILL模塊分別產(chǎn)生三角波、正弦波、方波和任意波形的波形數(shù)據(jù)。SELECTOR(數(shù)據(jù)選擇器)在面板上的波形選擇開關(guān)CORTROL的控制下,選擇輸出不同的波形數(shù)據(jù),送至A/D轉(zhuǎn)換電路。A/D轉(zhuǎn)換采用8位的DAC0832芯片。

2 各模塊電路設(shè)計(jì)

2.1 數(shù)控分頻器設(shè)計(jì)

數(shù)控分頻器的功能是在輸入端輸入不同數(shù)據(jù)時(shí),對輸入時(shí)鐘產(chǎn)生不同的分頻比,輸出不同頻率的時(shí)鐘,以改變輸出信號的頻率。本設(shè)計(jì)中利用并行預(yù)置數(shù)的減法計(jì)數(shù)器實(shí)現(xiàn),他的工作原理是:減法計(jì)數(shù)器在并行預(yù)置數(shù)的基礎(chǔ)上,在時(shí)鐘的作用下進(jìn)行減計(jì)數(shù),當(dāng)計(jì)數(shù)值為零時(shí)產(chǎn)生溢出信號,加載預(yù)置數(shù)據(jù),并且將溢出信號作為分頻器的輸出信號,實(shí)現(xiàn)N分頻信號輸出。其分頻系數(shù)N為N = D 1。D為預(yù)置數(shù)的值。為了得到占空比為50%的矩形時(shí)鐘信號,將輸出再進(jìn)行二分頻。由此,該分頻器的總分頻系數(shù)為2N。本設(shè)計(jì)中一個(gè)波形周期由64個(gè)時(shí)鐘信號組成,則輸出信號頻率為:

pYYBAGKwPwuAUCp0AAAe1mN1lDo362.png

時(shí)鐘頻率為4 MHz。數(shù)控分頻器如程序1。

[程序1]

--略去申明部分

entity dfr is

port(clk:in std_logic;d:in integer range 0 to 255;fout:out std_logic);

end dfr;

architecture one of dfr is

signal full:std_logic; //定義內(nèi)部溢出標(biāo)志信號

begin

process(clk)

variable cnt9:integer range 0 to 312;

//內(nèi)部變量,位寬同預(yù)置數(shù)據(jù)端

begin

if clk‘event and clk=’1‘ then

if cnt9= 0 then cnt9:=d; //計(jì)數(shù)值為0時(shí),產(chǎn)生溢出信號

full《=’1‘; //同時(shí),同步加載預(yù)置數(shù)據(jù)d

else cnt9:=cnt9=1;full《=’0‘;//否則,進(jìn)行減1計(jì)數(shù)

end if;

end if;

end process;

--略去二分頻進(jìn)程

end one;

2.2 三角波波形數(shù)據(jù)產(chǎn)生模塊設(shè)計(jì)

該模塊可設(shè)計(jì)一個(gè)可逆計(jì)數(shù)器實(shí)現(xiàn)。設(shè)計(jì)時(shí)設(shè)置一變量作為工作狀態(tài)標(biāo)志,在此變量為全0時(shí),當(dāng)檢測到時(shí)鐘的上升沿時(shí)進(jìn)行加同一個(gè)數(shù)操作,為全1時(shí),進(jìn)行減同一個(gè)數(shù)操作。由于A/D轉(zhuǎn)換采用8位的DAC0832芯片,且設(shè)64個(gè)時(shí)鐘為一個(gè)三角波周期,則輸出Q每次加/減8。

2.3 正弦波波形數(shù)據(jù)產(chǎn)生模塊設(shè)計(jì)

用加法計(jì)數(shù)器和譯碼電路完成。首先對幅度為1的正弦波的一個(gè)周期分為64個(gè)采樣點(diǎn),根據(jù)正弦波的函數(shù)關(guān)系計(jì)算得到每一點(diǎn)對應(yīng)的幅度值,然后量化為8位二進(jìn)制數(shù)據(jù),最大值為255,最小值為0,以此得到正弦波波表。加法計(jì)數(shù)器生成譯碼電路的64個(gè)輸入值,譯碼電路查波表輸出。如程序2。

[程序2]

--略去申明和實(shí)體部分

architecture one of sia is

begin

process(clk,clr)

variable tmp:integer range 0 to 63;

begin

if clr=’0‘ then q《=0;

elsif clk’event and clk=‘1’ then

if tmp=63 then tmp:=0;

else tmp:=tmp 1;

end if;

case tmp is

--查表輸出部分程序

when 00=》 q《=0;when 01=》 q《=1;when 02=》 q《=4;

……

when 29=》 q《=252;when 30=》 q《= 254;when 31=》 q《=255;

……

when 61=》 q《=4;when 62=》 q《=1 when 63=》 q《=0;when others=》 null;

end case;

end if;

end process;

end one;

2.4 方波波形數(shù)據(jù)產(chǎn)生模塊設(shè)計(jì)

通過交替送出全0和全1,并給以32個(gè)時(shí)鐘延時(shí)實(shí)現(xiàn),64個(gè)時(shí)鐘為一個(gè)周期。

2.5 任意波波形數(shù)據(jù)產(chǎn)生模塊設(shè)計(jì)

設(shè)計(jì)原理同正弦波。譯碼器查表輸出設(shè)計(jì)方法可以使用戶編輯任意波形時(shí),依據(jù)所需波表數(shù)據(jù),修改CASE語句中條件賦值語句的賦值源數(shù)據(jù)即可。

2.6 數(shù)據(jù)選擇器設(shè)計(jì)

用CASE語句設(shè)計(jì)完成。在CORTROL的控制下選擇輸出一種波形數(shù)據(jù)輸出,同時(shí)完成兩種波形的線性組合。波形組合是將波形每一時(shí)刻的數(shù)值相加,為了不超出DAC0832的輸出范圍,做相應(yīng)的除2操作 。如程序3。

[程序3]

--略去申明和實(shí)體部分

architecture one of selector is begin

process(delta,sia,square,at_will,cortrol)

variable a:std_logic_vector(9 downto 0);

begin

case cortrol is

when “1000”=》 q《= delta;when “0100”=》 q《= sia;

when “0010”=》 q《= square;when “0001”=》 q《=at_will;

when “1100”=》 a:=“00”& delta sia;q《=a(8 downto 1);

when “1010”=》 a:=“00”& delta square;q《=a(8 downto 1);

when “1001”=》 a:=“00”& delta at_will;q《= a (8 downto 1);

when “0110”=》 a:=“00”& sia square;q《=a(8 downto 1);

when “0101”=》 a:=“00”& sia at_will;q《=a(8 downto 1);

when “0011”=》 a:=“00”& square at_will;q《=a(8 downto 1);

when others= 》 null:

end case;

end process;

end one;

以上各模塊電路在Max Plus II開發(fā)平臺(tái)上經(jīng)編譯、仿真符合設(shè)計(jì)要求后,用原理圖輸入法完成頂層電路的設(shè)計(jì)、綜合,最后下載至型號為EPM7256SR208-15的CPLD芯片中,最終完成硬件電路連接。經(jīng)測試符合設(shè)計(jì)要求。用Multisim仿真器仿真波形如圖2所示。

poYBAGKwPxOAZvOzAACWqkOnHyw918.png

圖2中左圖為正弦波 方波的輸出波形,右圖為三角波波形。從對輸出10種波形的測試結(jié)果看:在整個(gè)頻率范圍內(nèi),頻率誤差最大為設(shè)計(jì)值的0.8%,最小為0.2%,低于傳統(tǒng)的函數(shù)信號發(fā)生器的頻率誤差。

3 結(jié)語

實(shí)驗(yàn)表明,基于CPLD的多波形信號發(fā)生器實(shí)現(xiàn)了各種波形的產(chǎn)生,尤其是實(shí)現(xiàn)了傳統(tǒng)的函數(shù)信號發(fā)生器不具有的一些波形的產(chǎn)生。輸出波形頻率按設(shè)計(jì)要求可調(diào),并達(dá)到一定的精度。滿足了教學(xué)實(shí)驗(yàn)和開發(fā)新的實(shí)驗(yàn)項(xiàng)目對特殊波形的要求。整個(gè)設(shè)計(jì)采用VHDL編程實(shí)現(xiàn),其

設(shè)計(jì)過程簡單,極易修改,可移植性強(qiáng)。另外由于CPLD具有可編程重置特性,因而可以方便地更換波形數(shù)據(jù),且簡單易行,所以為教學(xué)帶來極大的方便。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1248

    瀏覽量

    169367
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1018

    瀏覽量

    83746
  • 信號發(fā)生器
    +關(guān)注

    關(guān)注

    28

    文章

    1474

    瀏覽量

    108764
收藏 人收藏

    評論

    相關(guān)推薦

    實(shí)用的多種波形信號發(fā)生器電路

    實(shí)用的波形信號發(fā)生器電路 信號發(fā)生器在電子產(chǎn)品研發(fā)過程中使用廣泛,但對于電子愛好者來說,個(gè)人
    發(fā)表于 06-13 10:28 ?195次下載

    波形信號發(fā)生器

    波形信號發(fā)生器:由555芯片組成,可產(chǎn)生正弦波,三角形波,方波。
    發(fā)表于 10-17 17:21 ?4326次閱讀
    <b class='flag-5'>多</b><b class='flag-5'>波形</b><b class='flag-5'>信號</b><b class='flag-5'>發(fā)生器</b>

    簡易波形信號發(fā)生器電路設(shè)計(jì)

    信號發(fā)生器在電子實(shí)驗(yàn)中作為信號源,通常用得多的是正弦波、三角波、方波以及用作觸發(fā)信號的脈沖波。本次制作的是能產(chǎn)生九種波形
    發(fā)表于 02-29 11:08 ?5496次閱讀
    簡易<b class='flag-5'>多</b><b class='flag-5'>波形</b><b class='flag-5'>信號</b><b class='flag-5'>發(fā)生器</b>電路設(shè)計(jì)

    基于FPGA的DDS波形信號發(fā)生器的設(shè)計(jì)

    設(shè)計(jì)采用Altera公司CycloneII系列EP2C5Q208作為核心器件,采用直接數(shù)字頻率合成技術(shù)實(shí)現(xiàn)了一個(gè)頻率、相位可控的基本信號發(fā)生器。該信號發(fā)生器可以產(chǎn)生正弦波、方波、三角波
    發(fā)表于 01-22 14:45 ?472次下載
    基于FPGA的DDS<b class='flag-5'>波形</b><b class='flag-5'>信號</b><b class='flag-5'>發(fā)生器</b>的設(shè)計(jì)

    基于CPLD的三相波形函數(shù)發(fā)生器

    整個(gè)設(shè)計(jì)采用MAX+ plus II開發(fā)平臺(tái),VHDL編程實(shí)現(xiàn),基于可編程邏輯器件CPLD設(shè)計(jì)波形信號發(fā)生器。用VHDL編程實(shí)現(xiàn),其設(shè)計(jì)過程簡單,極易修改,可移植性強(qiáng)。系統(tǒng)以CPLD
    發(fā)表于 10-12 16:51 ?15次下載

    射頻信號源和函數(shù)/任意波形發(fā)生器之間的區(qū)別分析

    目前市場上見到的比較多的有函數(shù)發(fā)生器,任意波形發(fā)生器,射頻信號源,統(tǒng)稱為信號源,是根據(jù)客戶的需求不同選擇不同的源。任意
    發(fā)表于 07-23 15:15 ?8157次閱讀
    射頻<b class='flag-5'>信號</b>源和函數(shù)/任意<b class='flag-5'>波形</b><b class='flag-5'>發(fā)生器</b>之間的區(qū)別<b class='flag-5'>分析</b>

    函數(shù)信號發(fā)生器是否與任意波形信號發(fā)生器相同

    原理上是一樣的,但是實(shí)現(xiàn)方法不一樣吧,函數(shù)信號發(fā)生器是用數(shù)學(xué)運(yùn)算的方法實(shí)現(xiàn)的,直接但是對單片機(jī)的運(yùn)算能力要求較高,而任意波形發(fā)生器是通過波形
    發(fā)表于 03-23 14:03 ?1444次閱讀

    虛擬信號發(fā)生器(波形產(chǎn)生及疊加)labview代碼

    虛擬信號發(fā)生器(波形產(chǎn)生及疊加)labview代碼
    發(fā)表于 12-08 17:03 ?37次下載

    是德信號發(fā)生器導(dǎo)入波形教程

    的導(dǎo)入波形是指將外部的模擬信號輸入到發(fā)生器中,經(jīng)過發(fā)生器的處理,將信號變換成指定的波形,從而實(shí)現(xiàn)
    的頭像 發(fā)表于 02-24 14:16 ?1558次閱讀
    是德<b class='flag-5'>信號</b><b class='flag-5'>發(fā)生器</b>導(dǎo)入<b class='flag-5'>波形</b>教程

    關(guān)于波形發(fā)生器,你知道多少?

    信號發(fā)生器系列波形發(fā)生器你知道多少?虹科信號發(fā)生器系列波形
    的頭像 發(fā)表于 08-05 08:07 ?3069次閱讀
    關(guān)于<b class='flag-5'>波形</b><b class='flag-5'>發(fā)生器</b>,你知道多少?

    信號發(fā)生器的特點(diǎn) 信號發(fā)生器可以產(chǎn)生哪些波形?

    信號發(fā)生器的特點(diǎn) 信號發(fā)生器可以產(chǎn)生哪些波形信號發(fā)生器
    的頭像 發(fā)表于 12-21 15:05 ?1498次閱讀

    任意波發(fā)生器如何輸出波形、帶調(diào)制的信號

    任意波發(fā)生器,如何輸出波形、帶調(diào)制的信號? 任意波發(fā)生器是一種用于產(chǎn)生各種波形信號
    的頭像 發(fā)表于 01-19 15:54 ?770次閱讀

    函數(shù)發(fā)生器、信號發(fā)生器波形發(fā)生器的區(qū)別

    在電子測試和測量領(lǐng)域,函數(shù)發(fā)生器、信號發(fā)生器波形發(fā)生器都是重要的測試儀器,它們各自具有獨(dú)特的功能和應(yīng)用場景。本文將詳細(xì)介紹這三種
    的頭像 發(fā)表于 05-15 14:49 ?1592次閱讀

    任意波形發(fā)生器與示波器怎么連接

    在電子測試領(lǐng)域中,任意波形發(fā)生器和示波器是兩種非常重要的測試設(shè)備。任意波形發(fā)生器能夠產(chǎn)生多種波形信號
    的頭像 發(fā)表于 05-15 15:38 ?1038次閱讀

    任意波形發(fā)生器和矢量信號發(fā)生器有什么區(qū)別

    在電子測試與測量領(lǐng)域,任意波形發(fā)生器(Arbitrary Waveform Generator,簡稱AWG)和矢量信號發(fā)生器是兩種常見的信號
    的頭像 發(fā)表于 05-30 16:02 ?2895次閱讀