新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > FPGA實現的任意波形發生器的設計

        FPGA實現的任意波形發生器的設計

        作者: 時間:2010-12-20 來源:網絡 收藏

        波形發生器廣泛應用于電子電路、自動控制和科學試驗領域,是一種為電子測量工作提供符合嚴格技術要求的電信號設備,和示波器、電壓表、頻率計等儀器一樣是最普通、最基本也是應用最為廣泛的電子儀器之一,幾乎所有電參量的測量都要用到波形發生器。隨著通信、雷達的不斷發展,對信號源的頻率穩定度、頻譜純度、頻率范圍和輸出頻率的個數以及信號波形的形狀也提出越來越多的要求。不僅要求能產生正弦波、方波等標準波形,還能根據需要產生任意波形,且操作方便,輸出波形質量好,輸出頻率范圍寬,輸出頻率穩定度、準確度及分辨率高,頻率轉換速度快且頻率轉換時輸出波形相位連續等。可見,研究制作高性能的十分有必要,而且意義重大。

        1 實現
        系統框架如圖1所示,上位機產生任意波形數據,經USB2.0控制器CY7C68013A與(現場可編程門陣列)相連。將數據下載到的RAM當中,再通過硬件電路依次從波形存儲器中讀取出來,經D/A轉換及濾波后得到所需信號波形輸出。

        本文引用地址:http://www.104case.com/article/191431.htm


        關于DDS的基本原理與結構在這里就不再加以闡述,用FPGA按照DDS的基本原理和結構設計和實現一個,所以DDS的幾個基本部分都是應當具備的。實現任意波形發生的關鍵在于把存放波形量化表的ROM換成了可以改寫的RAM,這樣通過與RAM的接口可以改變存放在波形RAM中的數據從而實現任意波形發生。這里主要介紹控制部分、相位累加器、波形RAM幾個模塊來敘述任意波形發生器的實現。
        1.1 控制部分
        這個部分主要是要解決DDS模塊與單片機的接口問題。在FPGA的實現中,主要設計了2個模塊,一個是輸入寄存器模塊,為了接收單片機寫入的頻率控制字。另外一個是地址分配模塊,這樣單片機就可以通過不同的地址來選通FPGA各個模塊工作。設計中DDS采用了32位的相位累加器。這樣對于一個頻率控制字,單片機要分4次分別寫入4個字節;基于這樣的要求,設計了輸入寄存器模塊如圖2,這個部分主要是要解決DDS模塊與單片機的接口問題。


        din[7..0]是該模塊與單片機數據線的接口,clr是低電平異步清零,en是高電平使能,elk為數據寫入時鐘,dout[31..O]是寄存器輸出的32位頻率控制字。該模塊工作過程為:當en為高電平,clr也為高電平時,elk的上升沿將輸入的8位數據鎖存進該模塊中,當鎖存完4個字節的數據后,自動將該4個字節的數據按照先寫入的在高位的順序組合成一個32 bit的數據輸出到dout[31..0]。
        該模塊的功能仿真圖如圖3所示,看到當clr=‘1’并且en=‘1’時,經過4個時鐘,dout上將前4個時鐘的值‘00’、‘01’、‘02’、‘03’組成32位的‘00010203’數值輸出在dout上。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 夏邑县| 乐至县| 修文县| 团风县| 会昌县| 宜兰县| 遂川县| 安康市| 阳泉市| 金川县| 石阡县| 乌恰县| 彰化县| 探索| 科技| 贞丰县| 会理县| 彩票| 东乡族自治县| 青阳县| 五寨县| 高邑县| 册亨县| 双桥区| 柘荣县| 盱眙县| 霍州市| 祥云县| 肇庆市| 南和县| 临高县| 洞头县| 九龙坡区| 如皋市| 揭西县| 高台县| 台州市| 胶南市| 益阳市| 建始县| 潼南县|