天天看點

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

未完待續

基于FPGA的DDS信号源設計

一些廢話

這是我的畢業設計,剛接到這個題時真是一臉懵,從零開始,嘔心瀝血。前期逛了不少論文和部落格,接受到網上許多好心人的幫助,才能集各家所長,最終搞出結果。在這個過程中,我也發現實際上網上關于DDS信号源設計的材料也并不是很完備,比如我找來找去都沒找到有誰設計完信号源展示線性調頻的時域圖(對于菜狗來說,要看這個線性調頻成不成功不就是想看個直覺點兒的時域圖嘛!)

是以,如果你也是為畢業設計煩惱,如果你也是第一次接觸FPGA大工程,如果你也是第一次聽說DDS,不要害怕!我會把大緻流程幫你理順了,附上一些我的論文裡的圖,并且提供代碼,希望我的論文和工程能有點兒幫助到你。

基本介紹

目的:設計一款在電腦端控制輸出信号的射頻信号源

系統實物:FPGA開發闆AX516,DDS信号源子產品AD9910,電腦

方法:電腦和AX516之間用網線相連,用UDP協定傳指令。AX516和AD9910之間用杜邦線相連,用SPI協定傳輸資料。電腦上位機用的是網絡調試助手。

直覺效果:電腦和AX516用網線連着,AX516和AD9910用杜邦線連着,程式載入FPGA闆後,在網絡調試助手輸入寄存器位址和資料,AD9910就會出現想要的波形。我程式裡也會說明杜邦線怎麼連,然後輸入些啥後面會說。

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

結果展示

先放結果展示哈哈,如果這個結果不是你要的,那後面你也沒必要看下去

單頻

更多結果在我的論文裡哈哈哈哈這裡放一部分

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計
基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

上面這套儀器做出來的有點醜,放一些另一套儀器做的圖

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

線性調頻

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計
基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

另一套儀器

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

原理

怎麼讓AD9910産生我們要的信号

你可能要多看一些DDS的原理,才能明白AD9910是怎麼工作的,我論文寫了這些,網上也有很多資料,不過這塊也可以先不管(當然還是重要的)。如果你隻是想快點讓它工作或者說是想直覺了解一下你得幹啥才能讓它動起來,我覺得看我說的應該了解得更快。

簡單說,AD9910有很多寄存器,你給它配置對應的值,它就能産生你要的信号,我所實踐的隻有單頻和線性調頻。

要怎麼知道對應某個信号得給它配置哪些寄存器、又配置什麼數值呢??如果你自己計算的話,就需要掌握DDS的原理和仔細讀AD9910的手冊了,但是我找到了亞德諾半導體公司釋出的官方軟體,叫做AD9910 Evaluation Software,它其實是跟他們公司的官方評估闆配套用的,但是我們不買闆子也可以下載下傳它來計算寄存器的數值。官網就有得下載下傳

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

知道了要配置些啥,那怎麼配置進去呢?AD9910的資料手冊有說這個,其實就是SPI串行通信,先傳指令位元組,再傳資料。CS、SCLK、SDIO這幾根線是FPGA闆和AD9910相連的最主要的三根線。

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

怎麼用電腦傳指令到FPGA闆

我用的是UDP協定和網絡調試助手,其實就是很多FPGA新手教程會有的那個以太網的自環測試的教程,我把它改成了從電腦單向傳到FPGA。關于怎麼用網絡調試助手讓自己的電腦和FPGA闆建立連接配接,建議看看網上教程

網絡調試助手那邊顯示連接配接之後就可以發送了,簡單說下原理吧,其實就是你在網絡調試助手輸入的那些東西會被電腦打包成以太網包,發以太網包給FPGA,以太網包裡面呢有一部分是標頭,有一部分是資料也就是IP包;IP包裡面有一部分是標頭,一部分是資料也就是UDP包;UDP包也是一部分標頭,另一部分是資料,這份資料就是你輸入的那些東西。。。。

基于FPGA的DDS信号源設計(電腦端控制)基于FPGA的DDS信号源設計

FPGA收到之後隻要把UDP有效資料解析出來就好了。

這個有效資料呢,我很簡單的設計了一個規則,先發送任意18位元組無效資訊,再發送1位元組的資料位寬n、1位元組寄存器位址、n位元組寄存器資料。

這塊發送出去後再寫下一個寄存器。

舉例:

如果根據前面軟體的計算,你知道了自己要給AD9910的位址為0x00的寄存器(已知該寄存器資料位寬32位)寫入資料00 00 40 00,那麼就可以網絡調試助手發送如下内容

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 20 00 00 00 40 00

總結

也就是說,完成這個工程你需要掌握AD9910 Evaluation Software、網絡調試助手怎麼用,适當知道一些DDS原理、UDP原理。

程式下載下傳https://download.csdn.net/download/weixin_44561071/19689893

有疑問可聯系qq541096998

繼續閱讀