新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于CPLD的DDS正弦信號發生器的設計

        基于CPLD的DDS正弦信號發生器的設計

        作者: 時間:2016-10-18 來源:網絡 收藏

        這幾天終于實現了DDS正弦信號的發生,限于CPLD的128宏單元不夠用也不知道怎么優化,后來就干脆把按鍵、頻率顯示、頻率控制字交給單片機控制產生,再由單片機講頻率控制字傳送給CPLD,這樣就實現了頻率的控制。最終產生的正弦信號頻率范圍為1HZ~30KHZ,頻率可步進1HZ也可通過單片機預置,也可以自動掃頻信號。起先出來的頻最大誤差達到2HZ多,覺得不對勁出來的頻率應該很精確不會有這么大的誤差,后來發現原來是晶振不準有點誤差,后來經程序修改使輸出最大頻率誤差在0.1HZ以內,經過這幾天的努力總算感到了一點的欣慰,呵呵。

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

        這是VHDL頂層模塊:

        1.jpg

        這是當k=001111111111111時的仿真波形:

        2.jpg

        單片機控制6個數碼管顯示當前的頻率,P1口接4個功能按鍵,分別是+、-、選擇和掃頻,再用兩片574向CPLD輸出頻率控制字。限于時間暫時做到這么多。

        在說一點吧,由于是用DAC0832轉換的(轉換時間1us)所以晶振就限制在1M之內了,出來的最大頻率,根據奈奎斯特采樣定理也就限制在0.5MHZ之內了(不過失真很大的,取小點好了),最后對出來的波形再做濾波就可以了。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 沈丘县| 江西省| 株洲市| 尼木县| 石屏县| 新昌县| 信阳市| 台北市| 连云港市| 锦屏县| 准格尔旗| 多伦县| 杭州市| 濮阳县| 建宁县| 漳平市| 本溪市| 呼伦贝尔市| 南通市| 绥中县| 博乐市| 防城港市| 秭归县| 虹口区| 城步| 山东省| 宜兰市| 剑川县| 盐城市| 临夏县| 望江县| 龙川县| 武山县| 郎溪县| 梁平县| 古浪县| 顺平县| 定州市| 乌拉特后旗| 蓝山县| 汶川县|