《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種基于DDS和Qt的“所見即所得”波形發生器
一種基于DDS和Qt的“所見即所得”波形發生器
張康康 王中訓 王 恒 劉建英
摘要: 提出一種基于直接數字頻率合成(DDS)技術和Qt鳊程的任意波形發生器(AWG)的整體設計方案。完成了DDS在FPGA中的硬件修改設計以及在Linux環境下Qt程序的軟件設計和內核驅動程序的開發,并給出實驗結果。實驗結果表明:通過觸摸筆繪制任意波形,即可產生與所繪波形在時間和電壓上均相同的實際電信號,達到“所見即所得”的效果,以滿足各種測試和試驗的要求。
Abstract:
Key words :

0 引言
    隨著電路設計的多樣化,電路測試也對信號源提出了更高的要求。傳統的信號源只能產生幾種固定的波形,靈活度較差。任意信號發生器(AWG)很好地滿足了這個要求,它不僅可以輸出標準信號,而且可以方便地產生任意波形,在測控、通信,醫療等領域有著廣泛的應用。任意信號發生器通常采用直接數字頻率合成(direct digital frequency synthesizer,DDS)技術實現。DDS技術是J.Tiemev在1971年首次提出的一種以全數字技術,它從相位概念出發直接合成所需波形的一種新的合成原理。Qt是一個跨平臺的C++圖形用戶界面應用程序框架。它提供給應用程序開發者建立圖形用戶界面所需的所用功能。Qt是完全面向對象的,模塊化程度非常高,很容易擴展,并且允許真正地組件編程。  Qt具有優良的跨平臺特性,支持多種系統和平臺,包括Windows系統,所有的UNIX系統以及嵌入式系統等。Qt遵循GPL(general public lice-nse)協議,開放主要的源代碼,用戶可以在GPL的規定下自由添加新特性。

1 DDS模塊的設計
1.1 DDS在FPGA中的實現

    DDS由相位累加器,波形存儲器,D/A轉換器,低通濾波器等部分組成。該系統的DDS模塊根據需要做了適當的修改。其結構框圖如圖1所示。


    (1)增加了通信接口電路和DD8控制模塊用于接收用戶數據和控制DDS的運行狀態。
    (2)基準時鐘采用5 MHz,經過可控分頻器分頻后作為DDS的時鐘信號,周期分辨率最高可達200 ns(即分頻為1)。
    (3)相位累加器的頻率控制字固定為1,相位控制字固定為0。
    (4)波形存儲器采用RAM,可以寫入用戶自定義的波形數據以產生任意波形,其地址寬度設置為11 b,這樣存儲深度可達2K點。
    (5)電平偏移電路用于消除D/A輸出信號中疊加的無效直流分量,對于有效的直流分量會保留。
1.2 通信接口及控制寄存器的設計
   
DDS控制寄存器控制整個DDS模塊的運行參數和狀態,并通過通信接口接收來自ARM的數據。根據需要共設置了8個寄存器,地址從O~7。其功能和分配如表1所示。


   表1其中:
    (1)0~3 B存儲分頻參數,占用32位,因此分頻范圍為1~232。
    (2)4~5 B存儲相位累加器的參數,用于控制波形點數和觸發模式,其各位的含義如表2所示。


    (3)6 B只使用了最低位,為1啟動DDS,為0則停止DDS。
    (4)地址7是一個虛地址,并不對應著實際的物理寄存器,而是與相位累加器組合指向RAM的某一個單元,通過對地址7的寫操作就間接的實現了對整個RAM的操作,這樣大大簡化了對DDS的控制操作。
1.3 電平偏移及放大電路
   
電平偏移及放大電路用于消除輸出信號中疊加的無效直流分量(允許有效直流量輸出)和調整信號增益,其電路圖如圖2所示。


    根據圖2電路有:
   
    式中:Rv是R4兩部分的并聯電阻,當
   

2 Qt程序設計
2.1 GUI設計

    GUI(圖形用戶界面)是人機交互的窗口,GUI的設計直接關系到產品的可操作性,是軟件設計中非常重要部分??紤]到觸摸屏面板的空間有限,因此控件(Widgets)的設計盡量緊湊。該系統的GUI設計見圖3。


    左側為工具欄,右側黃色區域為繪圖區。繪圖區提供了滾動條,用于繪制超出屏幕范圍的波形。可以繪制較長的序列信號。工具欄從上到下分為繪圖模式選擇區,波形輸出設定區,時間設定區及清屏和退出按鈕。波形的繪制只允許從左向右進行,一個時刻只對應一個數據點;已繪制波形允許修改,修改過程中自動變成紅色,修改完畢自動變成默認顏色。
2.2 Qt編程原理和方法
   
Qt程序設計采用面向對象和事件驅動的方法,整個GUI程序劃分為兩個類,其中主窗口為一個類,類名為MainWindow,繼承自Qt的QMa-inWindow類,它提供了工具條(toolbar)和一個主窗口(mainwindow);另一個類是DrawWidget,提供了一個繪圖區域,有4種事件,分別為觸摸筆按下(mousePressEvent),移動(mouseMoveEvent),松開(mouseReleaseEvent)和繪圖區重繪事件(paintEvent)。同時提供了處理波形的函數waveProcess和調用底層驅動的接口。滾動條是通過QScrollView類提供的視圖功能來實現的。延遲輸出功能通過Qtimer類來實現,延遲范圍0~999 s。觸摸筆的3個事件的發生順序和處理過程見圖4。


    信號/槽機制是Qt的一個中心特征,用于對象間的通訊。繪圖事件(paintEvent)采用雙緩沖機制。雙緩沖技術是一種GUI編程技術,它指的是在一個不在屏幕上的位圖上渲染一個物件并把此位圖拷貝到屏幕上,常用于消除閃爍和提供一個快速用戶界面。該程序采用了Qpixmap類來實現雙緩沖。
2.3 驅動程序設計
   
Linux設備驅動程序是系統內核的一部分,運行于內核態。其可以以兩種方式被編譯和加載:直接編譯進Linux內核和編譯成一個可加載和刪除的模塊,通過modprobe/insmod和rmmod來加載和卸載驅動模塊。該系統即采用字符設備驅動。在系統內部,I/O設備的存/取通過一組固定的入口點來進行,具體到Linux系統,設備驅動程序所提供的這組入口點由一個文件操作結構file_operation來向系統進行說明。該系統的驅動函數需要提供3個函數調用,read函數用于讀取DDS運行狀態,write函數用于向DDS寫入參數和波形數據,ioctl函數用于復位/啟動/停止DDS。另外還需要打開(open)和關閉設備函數(close)。File_operatio的定義如下:
   
    驅動程序在wave_ioctl,wave_wirte,wave-read等幾個函數中具體實現。所需的波形參數和數據通過Qt程序打包,調用write函數(對應驅動程序中的wave_wrtie函數)一次性寫入DDS模塊。最終將驅動程序編譯為模塊文件(*.ko),通過命令modprobe和rmmod來加載和卸載驅動模塊。

3 系統操作及測試
   
(1)設置波形參數,包括繪圖模式,時間軸刻度,輸出延時等。
    (2)繪制波形,并作相應的修改,最終完成波形繪制。在松開觸摸筆之后Qt程序根據所選擇的波形繪制模式對波形進行處理和優化并重新顯示出來。
    (3)點擊單次觸發模式或重復(循環)觸發模式,此時Qt程序提取時間軸刻度參數,轉換為DDS中可控分頻器的分頻參數,并將這些參數和處理后的波形數據打包傳輸給DDS模塊,輸出延時完畢則啟動DDS,即產生與所繪波形相同的實際電信號,達到“所見即所得”的效果,如圖5所示(時間刻度為100μs)。



4 結語
   
任意波形發生器是現代電子技術的一個新發展,本文給出了一種基于DDS和Qt的任意波形發生器的整體設計方案,分析了DDS在FPGA中的實現和Linux下Qt程序的設計。該設計最大的特點是“所見即所得”,即繪制何種波形就可立即產生何種波形,非常直觀,從而以滿足各種電路測試,通信等領域快速產生任意波形信號的要求。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲在线第一页| 亚洲激情影院| 欧美1级日本1级| 亚洲第一在线综合在线| 亚洲砖区区免费| 久久视频精品在线| 亚洲精品久久久久久久久久久久久| 国产午夜精品久久久久久久| 亚洲视频精品在线| 久久免费国产精品1| 一本色道久久综合亚洲精品不| 欧美片第1页综合| 夜夜嗨一区二区| 在线欧美日韩精品| 久久精品国产亚洲精品| 欧美精品在线一区| 午夜久久福利| 亚洲免费观看| 欧美中日韩免费视频| 亚洲激情成人网| 欧美日韩精品在线| 亚洲国产精品成人综合| 国产视频在线一区二区| 日韩午夜精品| 欧美日韩精品一区二区| 欧美国产日本高清在线| 亚洲黄色在线| 亚洲国产精品成人| 欧美激情一区二区三区| 久久只有精品| 欧美视频在线观看视频极品| 亚洲黄色在线看| 欧美色欧美亚洲高清在线视频| 国模吧视频一区| 亚洲在线中文字幕| 国产一区二区久久精品| 中文在线一区| 亚洲欧美日韩一区在线| 国产精品欧美一区喷水| 午夜激情久久久| 欧美综合二区| 欧美日韩一区自拍| 在线看不卡av| 欧美一级大片在线观看| 亚洲免费观看在线视频| 亚洲欧美综合网| 国产亚洲欧洲一区高清在线观看| 欧美不卡一卡二卡免费版| 欧美在线在线| 国产一区二区三区丝袜| 欧美日韩福利视频| 国产精品天天摸av网| 麻豆免费精品视频| 欧美日韩精品在线观看| 亚洲欧洲精品天堂一级| 亚洲精品中文字幕女同| 亚洲第一天堂av| 久久久久久**毛片大全| 久久综合图片| 欧美成人69av| 农夫在线精品视频免费观看| 亚洲精选在线| 欧美私人网站| 久久综合成人精品亚洲另类欧美| 韩日午夜在线资源一区二区| 日韩视频欧美视频| 最新亚洲激情| 欧美美女日韩| 欧美日韩精选| 永久免费精品影视网站| 欧美日韩一区二区免费在线观看| 亚洲一区国产精品| 日韩一区二区福利| 国产午夜精品久久久久久免费视| 国产精品男gay被猛男狂揉视频| 国产精品久久久久久模特| 一区二区免费在线播放| 欧美资源在线观看| 欧美一区二区三区在线| 国产亚洲福利社区一区| 韩日成人av| 亚洲精品123区| 亚洲欧美国产精品桃花| 国语自产精品视频在线看抢先版结局| 久久成年人视频| 国产精品久久久对白| 影音先锋久久精品| 国产精品色午夜在线观看| 欧美不卡一区| 黑丝一区二区三区| 欧美高清在线视频| 亚洲精品久久视频| 久久成人资源| 国产色综合网| 国产精品v欧美精品v日韩精品| 国产精品video| 亚洲黄色免费| 欧美大片在线看| 99视频国产精品免费观看| 伊人成人网在线看| 欧美涩涩视频| 亚洲高清一区二| 欧美黄网免费在线观看| 亚洲最新在线视频| 国产精品99久久久久久久vr| 日韩午夜免费视频| 欧美日韩亚洲视频| 亚洲国产欧洲综合997久久| 久久狠狠婷婷| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲欧美日韩精品| 影视先锋久久| 国产日韩视频| 尤物精品在线| 亚洲视频精选在线| 一区二区视频免费在线观看| 亚洲欧美在线aaa| 亚洲欧美视频| 亚洲国产欧美日韩另类综合| 亚洲福利视频一区二区| 欧美插天视频在线播放| 久久免费视频在线观看| 亚洲视频狠狠| 欧美激情综合五月色丁香| 国产精品不卡在线| 欧美一区国产二区| 欧美午夜三级| 国产欧美日韩另类一区| 亚洲国产一区二区在线| 亚洲少妇最新在线视频| 亚洲电影免费观看高清完整版在线| 国产乱码精品一区二区三区五月婷| 欧美伦理在线观看| 久久狠狠久久综合桃花| 亚洲欧洲在线播放| 久久久久久久波多野高潮日日| 国产乱码精品一区二区三区五月婷| 亚洲午夜未删减在线观看| 国产一区二区三区久久悠悠色av| 欧美成人国产| 久久久女女女女999久久| 欧美色图天堂网| 一区二区三区产品免费精品久久75| 狠狠色狠狠色综合人人| 亚洲尤物视频在线| 免费观看在线综合色| 亚洲在线一区二区| 欧美午夜精品久久久久久孕妇| 国产日韩在线一区| 亚洲欧美999| 国产精品每日更新在线播放网址| 亚洲图片欧美日产| 国产女同一区二区| 亚洲午夜精品一区二区三区他趣| 欧美精品在线一区| 久久精品国产第一区二区三区最新章节| 亚洲综合精品自拍| 欧美国产日韩xxxxx| 欧美日韩在线三级| 久久国产一二区| 欧美激情黄色片| 亚洲看片一区| 国产精品亚洲视频| 欧美精品亚洲一区二区在线播放| 亚洲欧美日韩成人高清在线一区| 国产精品99久久不卡二区| 国产精品专区第二| 欧美日韩在线直播| 欧美四级剧情无删版影片| 欧美激情日韩| 国产精品一区一区三区| 91久久久国产精品| 久久综合国产精品| 伊人久久成人| 国产区精品视频| 欧美大片免费久久精品三p| 一本到12不卡视频在线dvd| 国产麻豆精品视频| 欧美偷拍一区二区| 日韩亚洲视频| 国产精品免费福利| 伊人天天综合| 久久一日本道色综合久久| 久久综合综合久久综合| 国产精品劲爆视频| 日韩视频永久免费| 美女国产精品| 狠狠88综合久久久久综合网| …久久精品99久久香蕉国产| 欧美视频中文在线看| 麻豆精品传媒视频| 欧美一区二区三区日韩| 欧美一区二区精品| 亚洲一区二区三区四区五区午夜| 亚洲高清在线| 国产精品你懂的| 欧美国产精品人人做人人爱| 免费成人性网站| 很黄很黄激情成人| 91久久在线| 欧美特黄一级大片| 欧美国产1区2区| 国产一区二区三区免费不卡| 国产精品免费网站| 亚洲第一免费播放区| 一区二区三区偷拍| 亚洲国产经典视频| 国产精品久久久久影院色老大| 久久国产精品99国产精| 国产精品第一区| 国产视频丨精品|在线观看| 久久精品综合一区| 国产日韩欧美在线视频观看| 欧美激情1区| 美脚丝袜一区二区三区在线观看| 欧美日韩成人综合| 久久久久国产成人精品亚洲午夜| 欧美影院在线播放| 日韩一级在线| 欧美一区二区三区免费观看视频| 狠狠色综合一区二区| 久久久噜噜噜久久中文字免| 欧美麻豆久久久久久中文| 亚洲一区免费视频| 欧美久久久久免费| 国产婷婷色一区二区三区| 国产精品一区一区三区| 亚洲免费精彩视频| 欧美日韩国产欧美日美国产精品| 久久蜜桃精品| 欧美日本在线视频| 欧美日本一区二区视频在线观看| 亚洲精品视频在线| 欧美精品一区二区三区高清aⅴ| 午夜免费电影一区在线观看| 亚洲娇小video精品| 久久精品视频在线观看| 亚洲乱码一区二区| 欧美大学生性色视频| 欧美激情在线免费观看| 麻豆精品国产91久久久久久| 亚洲国产欧美日韩| 欧美一区二区大片| 欧美亚洲在线观看| 欧美乱在线观看| 亚洲国产91色在线| 国产亚洲精品久| 久久久久久久激情视频| 国产一区二区在线观看免费播放| 欧美丰满高潮xxxx喷水动漫| 欧美一区二区三区视频在线观看| 一本高清dvd不卡在线观看| 久久精品国产亚洲精品| 一区二区三区在线观看视频| 久久综合伊人| 欧美人与性动交cc0o| 狠狠色狠狠色综合日日五| 欧美影院在线播放| 欧美精品成人在线| 黄色另类av| 免费短视频成人日韩| 亚洲乱码国产乱码精品精天堂| 国产日韩欧美综合| 一区二区日韩| 欧美色大人视频| 国产精品乱子久久久久| 欧美大片国产精品| 国产女人aaa级久久久级| 午夜亚洲精品| 久久一区二区三区超碰国产精品| 国产精品扒开腿做爽爽爽软件| 欧美不卡视频| 欧美精品久久久久久久| 国产一区二区日韩精品欧美精品| 国产精品夜夜嗨| 宅男66日本亚洲欧美视频| 亚洲大胆av| 欧美怡红院视频一区二区三区| 亚洲精一区二区三区| 欧美aⅴ99久久黑人专区| 亚洲综合精品| 美女视频一区免费观看| 狠狠色综合色综合网络| 欧美大秀在线观看| 欧美在线视屏| 国产精品久久久久久久浪潮网站| 欧美日韩一区三区四区| 久久综合国产精品台湾中文娱乐网| 欧美精品18videos性欧美| 久久本道综合色狠狠五月| 亚洲欧美日本国产专区一区| 欧美另类视频在线| 欧美电影在线播放| 国一区二区在线观看| 黄色成人av在线| 欧美久久久久久久| 久久国产综合精品| 狠狠色丁香婷综合久久| 久久综合九色九九| 亚洲国产精品国自产拍av秋霞| 原创国产精品91| 国产亚洲精品高潮| 欧美aaaaaaaa牛牛影院| 国产精品亚洲精品| 国产视频在线观看一区二区三区| 在线视频你懂得一区二区三区| 午夜国产不卡在线观看视频| 亚洲成人在线网站| 亚洲无线一线二线三线区别av| 欧美午夜一区二区福利视频| 亚洲精品小视频在线观看| 久久久国产精品一区| 在线亚洲免费| 精品盗摄一区二区三区| 亚洲国产高清在线观看视频| 国产欧美一区二区三区沐欲| 国产精品美女999| 亚洲精品午夜精品| 亚洲精品国产精品国自产在线| 欧美成年人视频网站欧美| 亚洲免费视频中文字幕| 国产精品久久久久久久第一福利| 国产精品美女久久久久久2018| 国产精品一区二区三区久久| 狼人社综合社区| 国产精品美女久久久浪潮软件| 玖玖国产精品视频| 亚洲视频狠狠|