當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]介紹了基于可編程邏輯器件CPLD和直接數(shù)字頻率合成技術(shù)(DDS)的三相多波形函數(shù)發(fā)生器的基本原理,并在此基礎(chǔ)上給出了基于CPLD的各模塊設(shè)計(jì)方法及其VHDL源程序。

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

    關(guān)鍵詞:CPLD;直接數(shù)字頻率合成;函數(shù)發(fā)生器;VHDL

1 引言

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

基于CPLD和DDS技術(shù)的函數(shù)發(fā)生器可以實(shí)現(xiàn)信號(hào)波形的多樣化,而且方便可靠,簡(jiǎn)單經(jīng)濟(jì),系統(tǒng)易于擴(kuò)展,同時(shí)可大大提高輸出信號(hào)的帶寬。

2 系統(tǒng)原理

2.1 CPLD內(nèi)部設(shè)計(jì)

CPLD的內(nèi)部結(jié)構(gòu)框圖如圖1所示,圖中,首先由控制寄存器將外部控制器(如單片機(jī))送入的數(shù)據(jù)轉(zhuǎn)換為頻率和幅度控制字;然后再由分頻器根據(jù)頻率控制字進(jìn)行分頻并將輸出作為尋址計(jì)數(shù)器的時(shí)鐘;尋址計(jì)數(shù)器的尋址空間為360字節(jié),可對(duì)ROM中的查找表進(jìn)行尋址;而通過(guò)模360加法器可以產(chǎn)生120°的相位差。

    2.2 CPLD的外圍電路

圖2所示是CPLD的外圍電路連接圖。圖中,CPLD幅度控制字經(jīng)D/A轉(zhuǎn)換輸出后,可作為查找表輸出DAC的參考電壓,該參考電壓可通過(guò)改變幅度控制字來(lái)進(jìn)行改變,從而改變輸出信號(hào)的幅度。

3?。茫校蹋母髂K的設(shè)計(jì)

3.1 控制寄存器的設(shè)計(jì)

控制寄存器設(shè)計(jì)主要是將外部控制器輸入的數(shù)據(jù)轉(zhuǎn)換為頻率和幅度控制字。其程序代碼如下:

--////////////調(diào)庫(kù)////////////--

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號(hào)寄存器為幅度控制字

else

freq<=out1(15 downto 0); --0號(hào)寄存器為頻率控制字

end if;

end process mux;

end;

圖3

    3.2 分頻比可變的分頻器模塊設(shè)計(jì)

該設(shè)計(jì)主要是根據(jù)頻率控制字決定分頻倍數(shù),從而輸出與頻率控制字相對(duì)應(yīng)的頻率時(shí)鐘,此模塊的輸出可作為尋址計(jì)數(shù)器的時(shí)鐘。具體代碼如下:

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

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 --相當(dāng)于除2運(yùn)算

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 為輸入時(shí)鐘的頻率fen倍分頻

end process;

3.3 尋址計(jì)數(shù)器設(shè)計(jì)

尋址計(jì)數(shù)器主要用于產(chǎn)生對(duì)ROM尋址輸出波形數(shù)據(jù)的尋址信號(hào),尋址空間為360字節(jié),具體的程序代碼如下:

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加法器設(shè)計(jì)

此模塊用來(lái)產(chǎn)生120°的相移,以形成三相相差為120°的輸出波形。由于尋址空間為360字節(jié),故在輸出尋址數(shù)大于360時(shí),須對(duì)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;--綜合工具不支持取模運(yùn)算,故采用減法器來(lái)實(shí)現(xiàn)

end if;

end process;

3.5 查找表ROM設(shè)計(jì)

此模塊主要用于存儲(chǔ)各種波形數(shù)據(jù),以便通過(guò)尋址計(jì)數(shù)器尋址輸出并經(jīng)D/A轉(zhuǎn)換來(lái)輸出各種波形,其中包括正弦波、三角波、方波以及鋸齒波。代碼如下:

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;

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

4 結(jié)束語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉