亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)

        2017-11-01 21:03:17楊曉玲
        關(guān)鍵詞:信號(hào)設(shè)計(jì)

        郭 烜,楊曉玲

        基于FPGA的信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)

        郭 烜1,楊曉玲2

        (1.中兵通信科技股份有限公司,河南 新鄉(xiāng) 453000;2.新鄉(xiāng)市科學(xué)技術(shù)協(xié)會(huì),河南 新鄉(xiāng) 453000)

        信號(hào)發(fā)生器是數(shù)字設(shè)備工作中必不可少的一部分,文章主要研究了基于FPGA的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)思路和軟硬件實(shí)現(xiàn)過(guò)程。首先介紹了該設(shè)計(jì)的總體方案,以及該方案中所使用的軟件及硬件基本知識(shí)。在此基礎(chǔ)上進(jìn)行了硬件電路的設(shè)計(jì),主要采用VHDL語(yǔ)言編寫(xiě)各個(gè)波形模塊,將波形數(shù)據(jù)存儲(chǔ)在rom中,通過(guò)控制信號(hào)時(shí)鐘依次讀出形成波形信號(hào),基于A(yíng)ltera公司的cycloneII系列FPGA-EP2C50作為核心芯片,搭建外圍轉(zhuǎn)換電路,最后在軟件Quartus上給出了系統(tǒng)仿真波形,驗(yàn)證了該設(shè)計(jì)的正確性。

        信號(hào)發(fā)生器;VHDL;FPGA

        信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于通信、雷達(dá)、測(cè)控、電子對(duì)抗及現(xiàn)代化儀器儀表等領(lǐng)域,是最普通、最基本也是應(yīng)用最廣泛的電子儀器之一。

        傳統(tǒng)的信號(hào)發(fā)生器都采用諧振法,即用具有頻率選擇性的回路來(lái)產(chǎn)生正弦振蕩,弊端是輸出波形單一。隨著微處理器和集成電路的發(fā)展,對(duì)信號(hào)發(fā)生器的要求也在不斷的提高中,本文就是基于FPGA來(lái)完成信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)。

        1 模塊實(shí)現(xiàn)

        本文主要研究了5種常用波形模塊,包括正弦波、余弦波、三角波、鋸齒波和方波,下面依次介紹這五種波形模塊的軟件實(shí)現(xiàn)過(guò)程。

        1.1 正弦波模塊

        正弦波是頻率成分最為單一的一種信號(hào),因波形是數(shù)學(xué)上的正弦曲線(xiàn)而得名。采集一個(gè)周期內(nèi)?的64個(gè)點(diǎn)數(shù)值,放入存儲(chǔ)單元,采集點(diǎn)數(shù)值如圖1所示。

        然后通過(guò)控制時(shí)鐘在上升沿處依次讀取存儲(chǔ)數(shù)值,最后輸出形成波形,具體編程過(guò)程如下:

        signal cnt:integer range 0 to points-1;

        begin

        process(clk,reset)

        begin

        if reset='1'then

        cnt<=0;

        elsif rising_edge(clk)then

        if cnt>=points-1 then

        cnt<=0;

        else

        cnt<=cnt+1;

        end if;

        d1<=sin_data(cnt);

        end if;

        end process;

        圖1 正弦曲線(xiàn)上64個(gè)采集點(diǎn)的數(shù)值

        1.2 余弦波模塊

        余弦波和正弦波在波形上相差 1/4周期,其他均一樣,所以該設(shè)計(jì)與正弦波模塊的設(shè)計(jì)流程和代碼均相同,可參考1.1節(jié)代碼,rom里采集點(diǎn)數(shù)值位置不同,余弦波的64個(gè)采集點(diǎn)的數(shù)值如圖2所示。

        圖2 余弦曲線(xiàn)上64個(gè)采集點(diǎn)的數(shù)值

        然后通過(guò)控制時(shí)鐘在上升沿處依次讀取存儲(chǔ)數(shù)值,最后輸出形成波形。

        1.3 三角波模塊

        三角波的波形特點(diǎn)是數(shù)值從最小值開(kāi)始按一定的斜率逐漸增大,等數(shù)值達(dá)到最大值時(shí),開(kāi)始按一定的負(fù)斜率逐漸減小,直到達(dá)到最小值,從而形成一個(gè)波形周期,按此周期進(jìn)行循環(huán),形成連續(xù)的三角波波形。

        依據(jù)三角波的特點(diǎn),我們?cè)诰帉?xiě)程序中通過(guò)計(jì)數(shù)器來(lái)完成主要工作,前半波形周期,計(jì)數(shù)器遞增;后半波形周期,計(jì)數(shù)器遞減。然后通過(guò)控制時(shí)鐘依次輸出計(jì)數(shù)器的值來(lái)輸出三角波。

        三角波模塊程序如下:

        architecture behave of triangle is

        begin

        process(clk,reset)

        variable tmp:std_logic_vector(7 downto 0);

        variable a:std_logic;

        begin

        if reset='1'then

        tmp:="00000000";

        elsif rising_edge(clk)then

        if a='0'then

        if tmp="11111110"then

        tmp:="11111111";

        a:='1';

        else

        tmp:=tmp+1;

        end if;

        else

        if tmp="00000001"then

        tmp:="00000000";

        a:='0';

        else

        tmp:=tmp-1;

        end if;

        end if;

        end if;

        d3<=tmp;

        end process;

        1.4 鋸齒波模塊

        鋸齒波的波形特點(diǎn)是數(shù)值從最小值開(kāi)始按一定的斜率逐漸增大,等數(shù)值達(dá)到最大值時(shí),數(shù)值由最大值直降為最小值,從而形成一個(gè)波形周期,按此周期進(jìn)行循環(huán),就可以形成連續(xù)的鋸齒波波形。

        依據(jù)鋸齒波的特點(diǎn),我們?cè)诰帉?xiě)程序中通過(guò)計(jì)數(shù)器來(lái)完成主要工作,波形周期內(nèi),計(jì)數(shù)器遞增,等數(shù)值達(dá)到最大值時(shí),重新開(kāi)始計(jì)數(shù)。然后通過(guò)控制時(shí)鐘依次輸出計(jì)數(shù)器的值來(lái)輸出鋸齒波。

        鋸齒波模塊程序如下:

        architecture behave of sawtooth is

        begin

        process(clk,reset)

        variable tmp:std_logic_vector(7 downto 0);

        begin

        if reset='1'then

        tmp:="00000000";

        elsif rising_edge(clk)then

        if tmp="11111111"then

        temp="00000000"

        else

        tmp:=tmp+1;

        end if;

        end if;

        d4<=tmp;

        end process;

        1.5 方波模塊

        方波又稱(chēng)矩形波,波形特點(diǎn)是只有高低兩個(gè)固定數(shù)值,并且每個(gè)數(shù)值均占據(jù)半個(gè)周期,高低數(shù)據(jù)交替出現(xiàn)。

        依據(jù)方波的特點(diǎn),我們?cè)诰帉?xiě)程序中通過(guò)計(jì)數(shù)器來(lái)完成主要工作,取整個(gè)計(jì)數(shù)周期的中間數(shù)值為依據(jù),大于中間值則在上升沿輸出高,小于中間值則在上升沿輸出低,等數(shù)值達(dá)到最大值時(shí),重新開(kāi)始計(jì)數(shù)。通過(guò)控制時(shí)鐘依次輸出高低值來(lái)輸出方波。

        方波模塊程序如下:

        architecture behave of square is

        signal a:std_logic;

        begin

        process(clk,reset)

        variable tmp:std_logic_vector(7 downto 0);

        begin

        if reset='1'then

        a<='0';

        elsif rising_edge(clk)then

        if tmp="11111111"then

        tmp:="00000000";

        else

        tmp:=tmp+1;

        end if;

        if tmp<"10000000"then

        a<='1';

        else

        a<='0';

        end if;

        end if;

        end process;

        process(clk,a)

        begin

        if rising_edge(clk)then

        if a='1'then

        d5<="11111111";

        else

        d5<="00000000";

        end if;

        end if;

        end process;

        1.6 數(shù)據(jù)選擇器模塊

        數(shù)據(jù)選擇器模塊的作用是根據(jù)實(shí)際需求輸出指定波形。

        該模塊的程序如下;

        architecture behave of MUX5_1 is

        signal p: std_logic_vector(7 downto 0);

        begin

        process(sel)

        begin

        case sel is

        when "000" =>p<=d1; --正弦波

        when "001" =>p<=d2; --余弦波

        when "010" =>p<=d3; --三角波

        when "011" =>p<=d4; --鋸齒波

        when "100" =>p<=d5; --方波

        when others =>p<=NULL;

        end case;

        q(9 downto 2)<=p;

        q(1)<='0';

        q(0)<='0';

        end process;

        2 系統(tǒng)設(shè)計(jì)

        本文的設(shè)計(jì)思路是基于FPGA來(lái)實(shí)現(xiàn)信號(hào)發(fā)生器模塊,通過(guò) Quartus軟件來(lái)設(shè)計(jì)頂層結(jié)構(gòu)文件,采用VHDL語(yǔ)言來(lái)編寫(xiě)各種波形模塊,然后將仿真程序燒寫(xiě)到FPGA片子里,器件采用Altera公司的cycloneII系列 EP2C50。EP2C50配置原理圖如圖 3所示。

        圖3 EP2C50配置原理圖

        FPGA片子產(chǎn)生的信號(hào),經(jīng)過(guò)AD9761來(lái)進(jìn)行模 數(shù)轉(zhuǎn)換,最后經(jīng)過(guò)濾波電路和放大電路來(lái)輸出波形。其中輸入時(shí)鐘接DSP54_TOUT(19.2MHz)管腳,由外部提供,經(jīng)過(guò)8倍分頻得到2.4MHz,接到TX_CLK時(shí)鐘管腳上,設(shè)計(jì)中涉及的讀寫(xiě)控制時(shí)鐘均采用TX_CLK。器件 EP2C50(TX_TEST9~TX_TEST0)十位數(shù)據(jù)輸出線(xiàn)與 AD9761(DB9~DB0)相對(duì)應(yīng)。AD9761周?chē)娐吩韴D如圖4所示。

        圖4 AD9761外圍電路圖

        3 設(shè)計(jì)驗(yàn)證

        成功編譯全部程序,經(jīng) JTAG 口下載wave_generate.sof仿真文件到器件 EP2C50,通過(guò)Quartus的仿真工具SignalTap II 邏輯分析器觀(guān)察信號(hào)發(fā)生器輸出的波形,得到的仿真波形信號(hào)如圖 5所示。

        圖5 正弦波、余弦波、三角波、鋸齒波和方波仿真波形信號(hào)

        4 總結(jié)

        本文對(duì)信號(hào)發(fā)生器進(jìn)行了理論研究,并在A(yíng)ltera公司的 EP2C50芯片上采用 VHDL語(yǔ)言實(shí)現(xiàn)了一種生成五種波形信號(hào)的算法,最后以直觀(guān)的仿真圖來(lái)驗(yàn)證了這種算法的有效性和正確性,該設(shè)計(jì)能滿(mǎn)足在實(shí)際應(yīng)用中涉及波形信號(hào)方面的大部分需求,具有一定的參考價(jià)值。

        [1] Douglas L Perry. VHDL 編程實(shí)例(第四版)[M].北京:電子工業(yè)出版社,2009 .

        [2] 黃振華. 基于 FPGA函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[D].江蘇大學(xué),2009.

        [3] 張亦華.數(shù)字電路EDA入門(mén)-VHDL程序?qū)嵗痆M]. 北京:北京郵電大學(xué)出版社,2012.

        [4] 高淼.基于 FPGA的自治型 SPWM波形發(fā)生器的設(shè)計(jì)[D]. ?2005.

        [5] 王志鵬,付麗琴. 可編程邏輯器件開(kāi)發(fā)技術(shù) MAX+PLUS II[M].北京:國(guó)防工業(yè)出版社,2005.

        [6] 尹佳喜,尹仕. 基于CPLD的三相多波形函數(shù)發(fā)生器設(shè)計(jì)[D]. ?2005.

        TN741

        A

        1008–2093(2017)04–0005–04

        2017-05-20

        郭烜(1987―),男,河南新鄉(xiāng)人,助理工程師,碩士,主要從事電子工程研究。

        (責(zé)任編輯 王 磊)

        猜你喜歡
        信號(hào)設(shè)計(jì)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        孩子停止長(zhǎng)個(gè)的信號(hào)
        瞞天過(guò)海——仿生設(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專(zhuān)
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于LabVIEW的力加載信號(hào)采集與PID控制
        一種基于極大似然估計(jì)的信號(hào)盲抽取算法
        人妻无码一区二区在线影院| 电影内射视频免费观看| 中文字幕人妻熟在线影院| 亚洲av色先锋资源电影网站| 一区欧美在线动漫| 日本成人精品一区二区三区| 免费在线黄色电影| aaa级久久久精品无码片| 中文 国产 无码免费| 国产高清不卡在线视频| 亚洲精品人成中文毛片| 男人j进女人j啪啪无遮挡| 国产精品美女久久久久久大全| 国产精品不卡免费版在线观看| av在线观看免费天堂| 国产精品亚洲一区二区在线观看| 国产精品乱一区二区三区| 久久无人码人妻一区二区三区| 久久精品综合国产二区| 草逼视频污的网站免费| 亚洲男同gay在线观看| 日本www一道久久久免费榴莲| 亚洲一二三四五区中文字幕| 色婷婷久色国产成人免费| 人妖在线一区二区三区| 性猛交╳xxx乱大交| 色窝窝在线无码中文| 亚洲国产综合性感三级自拍| 色吧噜噜一区二区三区| 男女啪啪无遮挡免费网站| 亚洲成在人线电影天堂色| 最好的99精品色视频大全在线| 人妻少妇精品久久久久久| 国产精品美女久久久浪潮av| 放荡人妻一区二区三区| 一区二区三区免费看日本| a级毛片成人网站免费看| 99精品久久久中文字幕| 熟妇人妻精品一区二区视频| 免费a级毛片18以上观看精品| 亚洲伊人久久大香线蕉影院|