數字邏輯系統課程設計報告
設計題目: 直接數字頻率器dds設計
班級: 1211
姓名學號35
日期: 2014.12.8~2014.12.12
目錄1. 設計任務與要求 1
1.1 設計任務 1
1.2 設計要求 1
2. 整體電路工作原理 1
3. 模組設計過程與** 3
4. 整體設計與分析 10
5. **與除錯 12
6. 結論與心得 15
7. 參考文獻 15
設計任務與要求
設計任務
直接數字頻率綜合技術,即dds技術,是一種新型的頻率合成技術和訊號產生方法。利用eda技術和fpga實現直接數字頻率合成器dds的設計。
設計要求
掌握直接數字頻率合成器的原理;
掌握直接數字頻率合成器的設計方法;
學習嵌入式邏輯分析儀signaltab ii的使用方法;
通過實驗箱上的開關輸入dds的頻率控制字,並能用示波器觀察加以驗證;
dds中的波形儲存器模組用altera公司的cycloneⅱ系列fpga晶元中的rom實現。
整體電路工作原理
乙個數字頻率合成器由相位累加器、加法器、波形儲存rom、d/a轉換器、低通濾波器(lpf)構成。dds原理框圖如圖2-1所示。
圖 2-1 dds原理框圖
其中,f為頻率控制字,控制輸出波形頻率;n為相位取值精度,即將乙個週期的波形分為2n個點,每個點對應相應的波形資料和相位,相位步進為(2π)/2n;p為相位控制字,控制輸出波形相位;w為波形控制字,控制輸出波形是正弦波還是方波等;s(n)為儲存器rom的位址線寬,即rom內一共有2s(n)個儲存單元用於儲存幾種波形各乙個週期的波形資料,如果只儲存一種波形資料,則儲存單元數2s(n)=2n,如果儲存兩種波形資料,則2s(n)=2×2n,即每種波形需要2n個儲存單元,與相位取值精度n將乙個週期的波形分為2n個點對應起來;rom內每個單元儲存波形資料的寬度為m。
頻率控制字f和相位累加器。在系統時鐘clk控制下,rom儲存的波形資料將不斷被讀取。假設系統時鐘頻率是fc,則讀完乙個週期的波形資料需要的時間t=(1/fc)×2n,即輸出波形頻率f0=1/t=fc/2n。
頻率控制字f又稱為相位增量。它的含義是每次讀數時,將上一次rom的位址增加f,即每隔f個點讀取一次,如圖2-2所示,這時相位增加f×(2π/2n)。因為讀完乙個週期(即乙個圓周)的波形資料,要比每隔乙個點讀取一次快f倍,所以通過頻率控制字f後輸出波形的頻率變為f0=f×(fc/2n)。
當f=1時,dds輸出最低頻率fc/2n;而dds的最大輸出頻率是fc/2,即f=2n-1,由nyquist取樣定理決定。只要n足夠大,dds就可以得到很細的頻率間隔,即足夠精度的頻率解析度fc/2n。當然在f越大,取樣點越少,頻率越高的同時,波形越粗糙。
圖 2-2 相位累加器輸出
相位控制字p和加法器。把相位累加器的輸出與相位控制字p相加,相當於將需要取值的位址向後移動p個,則波形相位變化p×(2π/2n)。
波形控制字w和加法器。在波形儲存器rom中的波形資料是分塊儲存的。當波形控制字w改變時,波形儲存器的位址輸入為改變相位後的位址輸出加上波形控制字w(不同波形儲存的位址)。
如果相位精度n=8,則每種波形需要256個儲存空間,兩種波形需要512個儲存空間。設計者可以將正弦訊號儲存在0~255這256個儲存空間中,而將方波訊號儲存在256~511這256個空間中。那麼可以設定控制訊號wctl,當wctl=『1』時,w=0,指向正弦訊號;當wctl=『0』時,w=256,指向方波訊號。
d/a轉換器。d/a轉換器的作用是把從rom中取出的波形資料轉換為模擬量。d/a轉換也有一定的精度要求。
lpf。d/a輸出的波形為階梯型,除了主頻外,還存在非諧波分量,需要通過低通濾波器(lpf)取出主頻,得到光滑的波形。
模組設計過程與**
頻率控制模組,如圖3-1所示。該模組通過撥擋開關產生不同的頻率控制字f,以便得到不同的輸出頻率的波形。
圖 3-1 頻率控制模組
源程式:
library ieee;
useuseentity fct1 is
port(
clk : in std_logic系統時鐘clk,頻率fc=1.5mhz
din : in std_logic_vector(3 downto 04位撥擋開關
add : out std_logic_vector(7 downto 0)); --256個波形點對應資料
end;
architecture one of fct1 is
signal a : std_logic_vector(7 downto 0);
signal f : integer range 0 to 8頻率控制符
begin
p0:process(clk)
begin
if rising_edge(clk) then
a<=a+f;
end if;
end process p0;
p1:process(din)
begin
case din is
when "1110"=>f<=2;
when "1101"=>f<=4;
when "1011"=>f<=6;
when "0111"=>f<=8;
when others=>f<=1;
end case;
end process p1;
add<=a;
end one;
波形**,如圖3-1.1所示。
圖 3-1.1 頻率控制字波形**
波形控制模組,如圖3-2.1所示。該模組用來控制輸出波形是方波還是正弦波。
圖 3-2.1 波形控制模組
源程式:
library ieee;
useuseentity wct1 is
port(
a_in : in std_logic_vector(7 downto 0);
width : in std_logic;
a_out : out std_logic_vector(8 downto 0));
end;
architecture one of wct1 is
signal w : integer range 0 to 256;--波形選擇
begin
process(width)
begin
if width='1' then
w<=0;
else
w<=256;
end if;
end process;
a_out<='0'&a_in+w;
end one;
波形**,如圖3-2.2所示。
圖 3-2.2 波形控制字波形**
波形資料儲存模組,如圖3-3.1所示。該模組是用來儲存正弦波和方波的資料。
圖 3-3.1 波形資料儲存模組
配置波形資料檔案。file→new→memory file→hexadecimal intel formal file。設定512個儲存空間,8位word size,具體資料如圖3-3.
2所示。波形資料可有matlab/dsp builder或者c語言程式設計生成,以正弦訊號為例,其計算公式如下:
上式中,i表示第i個點,2n表示乙個週期內的取樣個數,本實驗是256;m代表資料位寬,本實驗是8,即資料值最大是255。
圖 3-3.2 波形配置檔案具體配置資料
新增的ipm_rom巨集模組。設定512個儲存空間,8位資料輸出,新增3-3.2的資料檔案。
數模轉換模組,如圖3-4.1所示。該模組是把ipm_rom中輸出的波形資料轉換為模擬量。
圖 3-4.1 數模轉換模組
源程式:
library ieee;
useuseuseentity dac is
port(
dac_clk : in std_logic;
chan_sel : in std_logic_vector(1 downto 0);
rng : in std_logic;
data_in : in std_logic_vector(7 downto 0);
da_clk : out std_logic;
da_ldac,da_load,da_data : out std_logic);
end;
architecture one of dac is
signal cnt_load : std_logic_vector(2 downto 0);
signal cnt_da_clk : std_logic_vector(3 downto 0);
signal data_reg : std_logic_vector(11 downto 0);
signal da_clk_r,da_load_r : std_logic;
type states is(st0,st1,st2,st3);
signal c_state,n_state : states;
begin
da_clk<=da_clk_r;
da_load<=da_load_r;
da_data<=data_reg(11);
da_ldac<='0';
process(dac_clk)
begin
if rising_edge(dac_clk) then
c_state<=n_state;
end if;
end process;
process(dac_clk,da_load_r)
begin
if da_load_r='1' then
cnt_load<="000";
elsif falling_edge(dac_clk) then
if cnt_load<"111" then
cnt_load<=cnt_load+1;
else
cnt_load<=cnt_load;
直接數字頻率合成訊號的軟體設計
第 卷第 期 電子設計工程 年 月 直接數字頻率合成訊號的軟體設計 李靜,徐豔 長安大學資訊工程學院,陝西西安 摘要 為了實現直接數字頻率合成訊號的產生,文中基於直接數字頻率合成器的工作原理 基本結構 特性分析 輸出頻譜,採用了 語言進行程式設計,結合互動式圖形使用者介面 簡稱 調整引數可以產生 任...
數字頻率計
實驗報告 課程名稱 電子電路綜合設計指導老師 沈紅成績 實驗名稱 數字頻率計實驗型別同組學生姓名 一 設計任務 設計並製作乙個簡易數字頻率計電路。分三個頻段 1 10hz 100hz 99hz 2 100hz 1khz 999hz 3 1khz 10khz 9.9khz 當訊號頻率超過規定頻段的上限...
VHDL數字頻率計設計報告
電子科技大學 學生姓名 學號 指導教師 一 實驗室名稱 二 實驗專案名稱 數字及頻率計的設計及實現 三 實驗原理 1 測頻原理 若某一訊號在t秒時間裡重複變化了n 次,則根據頻率的定義可知該訊號的頻率fs 為 fs n t 通常測量時間t取1秒或它的十進位制時間。頻率計方框圖如下 1 時基t 產生電...