直接頻率合成報告

2021-09-24 13:33:11 字數 2508 閱讀 4456

eda實驗報告

-------直接數字式頻率合成器的設計

姓名(學號

一、學習目的:熟悉quartusⅱ及其lpm_rom和鎖相環pll,任意整數分頻器的設計、狀態機的設計等基本模組的設計,fpga硬體資源的使用方法和波形發生器的製作思路。

二、學習重點:巨集功能模組的應用、分頻器、狀態機

三、設計思路:50mhz的頻率通過pllu倍頻到162.4mhz,然後經過分頻器控制分頻後再輸入到10位計數器和rom的時鐘。

輸出經dac0832和tl082後,通過示波器觀察輸出的波形。

頻率控制字可以由12位的撥碼開關來控制,也可由乙個12位的二進位制計數器產生,當然如果是想獲得固定的幾個頻率的話,也可以由狀態機來產生。

四、製作內容:

1、 pllu的設計:當時我就按書上的步驟來的,可是資料夾裡就是沒有生成任何檔案。後來在他人的指導下我才發現執行到最後一步,要按enter鍵才能生成檔案。

2、 dvf模組的設計:

**的時候,發現分頻關係是(d+1)* 2的關係。這個分頻器有缺陷,因為他不能實現任意整數的分頻,這樣的話,如果要實現特定的幾個頻率的話,精度就可能達不到要求。

於是就設計了下面的任意整數的分頻器,下面主要把奇數分頻的程式列出如下:

3、 rom模組的設計

最初書上給出的是64個點的rom表,但是如果要擴充套件為1024個點的,就要修改一些引數。

我發現用我自己編的c程式得到的.mif檔案在編譯時說超過了8位輸出資料的大小,但是用群裡面傳的軟體生成的檔案編譯時就成功了。後來我想了一下,我8位輸出給da,最大數字量為255,但是我的程式中卻出現最大值為1024的值。

這很明顯是有錯的。程式需要修改。

思考一下該怎麼修改。

#include

#include

#define width 8mif 儲存資料寬度,這個應該與所用的da相匹配

#define depth 1024mif 儲存資料總量

int main()

fprintf(fp,"end;");

fclose(fp);

return (0);

}/*把以上程式在visual c++6.0上執行,由於程式設定的是「c:\\documents and settings\\all users\\桌面\\mif.

mif」這個路徑,於是就可以在桌面生成檔名為mif.mif的檔案。

至於說width的設定,就要與相應的da轉換器的位數相匹配,比如說乙個8位的da,width就應該設為8;而depth即為所取的點數。並不是說所取的點數越多越好,因為點數越多,你的輸入頻率也要做的相當高才能得到很寬頻率範圍的輸出訊號,這對鎖相環的要求也相應提高。

這個程式是實現正弦波波形資料的輸出。其核心演算法如下:

s=sin(atan(1)*8*i/ depth);

fprintf(fp,"\t%d\t:\t%d;\n",i,(int)((s+1)* (depth -1)/2));

第一句是求每一點經量化後的正弦值,而第二步是向檔案中輸入資料。我們可以看到,它並不是直接將s的值輸出,而也是在經量化後輸出的。我們可以這樣理解(int)((s+1)* (depth -1)/2)這一句,將他拆開為s*1023/2+1023/2;這樣就很好理解了。

*/4、 用原理圖進行頂層設計

先要生成所要呼叫的模組。然後把這些生成的模組放在同乙個資料夾中。特別是相關的.

vhd檔案我在編譯時還出現過另一種情況,就是必須把那個1024點的.mif檔案也放在剛才所建的頂層檔案的資料夾中。否則編譯也會出錯。

5、quartus_ii軟體顯示視窗標籤(tab)的問題

第一次裝quartus ii的時候(那時候還是6.0版本),使用過程中不小心在視窗標籤上右鍵然後點了一下「hide tabs」(見下圖),然後視窗就沒標籤了,檢視和切換變成非常難用,當時找了很久也沒有找到顯示視窗標籤的方法,後來實在不爽就重灌了。

晚上在做乙個設計的時候不小心又點了那個「hide tabs「,登時標籤又沒了,抓狂啊,搞不好還要重灌,幸好,在網上搜了搜就找到了解決辦法:

開啟」tools」–>」option」對話方塊(如下圖)

選中「display tabs for child window

現在標籤重新顯示了,雖然設定起來也很方便,不過不提示的話估計很多人都找不到,altera公司的平台開發工程師不知道怎麼想的,把顯示範疇的設定放到tools裡,害的大家都找不到。

五、發散思考

1、先是近期所做的題目「網路導納分析儀」該如何實現頻率100hz 的步進增加?

(1) 基本要求:製作正弦波訊號發生器,技術指標如下:

a、能產生 100hz、300hz、1khz、3khz、10khz 五個頻率,頻率誤差的絕對值小於所要求頻率的1%;

b、輸出電壓峰-峰值為1v,輸出電壓誤差的絕對值小於20mv;

c、輸出電阻小於 1ω(在設計報告中給出推導和計算結果,不進行測試);輸出波形無明顯失真。

(2)擴充套件要求:a、正弦波訊號發生器的頻率可以從 100hz 開始,以100hz 的步進增加,最後到達10khz 結束;

2、如何做到很高的頻率?(這可能與運放的選擇以及da的選擇有關)

直接數字頻率合成訊號的軟體設計

第 卷第 期 電子設計工程 年 月 直接數字頻率合成訊號的軟體設計 李靜,徐豔 長安大學資訊工程學院,陝西西安 摘要 為了實現直接數字頻率合成訊號的產生,文中基於直接數字頻率合成器的工作原理 基本結構 特性分析 輸出頻譜,採用了 語言進行程式設計,結合互動式圖形使用者介面 簡稱 調整引數可以產生 任...

考綱 鎖相與頻率合成技術

南京理工大學編 高綱號 0552 課程性質與設定目的要求 鎖相與頻率合成技術 課程是江蘇省高等教育自學考試電子資訊工程專業的必修課,主要內容為鎖相技術的基本原理 電路與應用。鎖相與頻率合成技術是實現相位自動控制的一門科學,是專門研究系統相位關係的技術。隨著科學技術的發展,人們對各種裝置的控制精度要求...

直接數字頻率器DDS設計

數字邏輯系統課程設計報告 設計題目 直接數字頻率器dds設計 班級 1211 姓名學號35 日期 2014.12.8 2014.12.12 目錄1.設計任務與要求 1 1.1 設計任務 1 1.2 設計要求 1 2.整體電路工作原理 1 3.模組設計過程與 3 4.整體設計與分析 10 5.與除錯 ...