日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

DDS和Qt在“所見即所得”波形發(fā)生器的應(yīng)用

出處:張康康 王中訓(xùn) 王 恒 劉建英 發(fā)布于:2011-08-25 12:02:52

 

  波形發(fā)生器是一種數(shù)據(jù)信號(hào)發(fā)生器,在調(diào)試硬件時(shí),常常需要加入一些信號(hào),以觀察電路工作是否正常。用一般的信號(hào)發(fā)生器,不但笨重,而且只發(fā)一些簡(jiǎn)單的波形,不能滿足需要。例如用戶要調(diào)試串口通信程序時(shí),就要在計(jì)算機(jī)上寫好一段程序,再用線連接計(jì)算機(jī)和用戶實(shí)驗(yàn)板,如果不正常,不知道是通訊線有問題還是程序有問題。用E2000/L的波形發(fā)生器功能,就可以定義串口數(shù)據(jù)。通過邏輯探勾輸出,調(diào)試起來簡(jiǎn)單快捷。將邏輯探勾接在J3插槽上,波形發(fā)生器通過J3可以輸出8路自定義數(shù)字波形,每路可以單獨(dú)加在用戶板的任何輸入端。波形發(fā)生器可以選擇不同的時(shí)間基數(shù),做為定義波形的短間。E2000/L可產(chǎn)生短時(shí)基為50ns.可自定義波形長(zhǎng)度為 時(shí)基x 32767.波形發(fā)生器可自動(dòng)返回, 循環(huán)產(chǎn)生波形。

  DDS同 DSP(數(shù)字信號(hào)處理)一樣,是一項(xiàng)關(guān)鍵的數(shù)字化技術(shù)。DDS是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時(shí)間等優(yōu)點(diǎn),廣泛使用在電信與電子儀器領(lǐng)域,是實(shí)現(xiàn)設(shè)備全數(shù)字化的一個(gè)關(guān)鍵技術(shù)。一塊DDS芯片中主要包括頻率控制寄存器、高速相位累加器和正弦計(jì)算器三個(gè)部分(如Q2220)。頻率控制寄存器可以串行或并行的方式裝載并寄存用戶輸入的頻率控制碼;而相位累加器根據(jù)頻率控制碼在每個(gè)時(shí)鐘周期內(nèi)進(jìn)行相位累加,得到一個(gè)相位值;正弦計(jì)算器則對(duì)該相位值計(jì)算數(shù)字化正弦波幅度(芯片一般通過查表得到)。DDS芯片輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過高速D/A轉(zhuǎn)換器和低通濾波器才能得到一個(gè)可用的模擬頻率信號(hào)。

  1 DDS模塊的設(shè)計(jì)

  1.1 DDS在FPGA中的實(shí)現(xiàn)

  FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。 FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來改正程序中的錯(cuò)誤和更便宜的造價(jià)。廠商也可能會(huì)提供便宜的但是編輯能力差的FPGA.

  DDS由相位累加器,波形存儲(chǔ)器,D/A轉(zhuǎn)換器,低通濾波器等部分組成。該系統(tǒng)的DDS模塊根據(jù)需要做了適當(dāng)?shù)男薷摹F浣Y(jié)構(gòu)框圖如圖1所示。


 ?。?)增加了通信接口電路和DD8控制模塊用于接收用戶數(shù)據(jù)和控制DDS的運(yùn)行狀態(tài)。

 ?。?)基準(zhǔn)時(shí)鐘采用5 MHz,經(jīng)過可控分頻器分頻后作為DDS的時(shí)鐘信號(hào),周期分辨率可達(dá)200 ns(即分頻為1)。

 ?。?)相位累加器的頻率控制字固定為1,相位控制字固定為0.

 ?。?)波形存儲(chǔ)器采用RAM,可以寫入用戶自定義的波形數(shù)據(jù)以產(chǎn)生任意波形,其地址寬度設(shè)置為11 b,這樣存儲(chǔ)深度可達(dá)2K點(diǎn)。

  (5)電平偏移電路用于消除D/A輸出信號(hào)中疊加的無效直流分量,對(duì)于有效的直流分量會(huì)保留。

  1.2 通信接口及控制寄存器的設(shè)計(jì)

  DDS控制寄存器控制整個(gè)DDS模塊的運(yùn)行參數(shù)和狀態(tài),并通過通信接口接收來自ARM的數(shù)據(jù)。根據(jù)需要共設(shè)置了8個(gè)寄存器,地址從O~7.其功能和分配如表1所示。


  表1其中:

 ?。?)0~3 B存儲(chǔ)分頻參數(shù),占用32位,因此分頻范圍為1~232.

 ?。?)4~5 B存儲(chǔ)相位累加器的參數(shù),用于控制波形點(diǎn)數(shù)和觸發(fā)模式,其各位的含義如表2所示。


 ?。?)6 B只使用了位,為1啟動(dòng)DDS,為0則停止DDS.

 ?。?)地址7是一個(gè)虛地址,并不對(duì)應(yīng)著實(shí)際的物理寄存器,而是與相位累加器組合指向RAM的某一個(gè)單元,通過對(duì)地址7的寫操作就間接的實(shí)現(xiàn)了對(duì)整個(gè)RAM的操作,這樣大大簡(jiǎn)化了對(duì)DDS的控制操作。

  1.3 電平偏移及放大電路

  電平偏移及放大電路用于消除輸出信號(hào)中疊加的無效直流分量(允許有效直流量輸出)和調(diào)整信號(hào)增益,其電路圖如圖2所示。


    根據(jù)圖2電路有:


   


    式中:Rv是R4兩部分的并聯(lián)電阻,當(dāng)


   


  2 Qt程序設(shè)計(jì)

  2.1 GUI設(shè)計(jì)

  圖形用戶界面(Graphical User Interface,簡(jiǎn)稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對(duì)于用戶來說在視覺上更易于接受。GUI 是 Graphical User Interface 的簡(jiǎn)稱,即圖形用戶界面,通常人機(jī)交互圖形化用戶界面設(shè)計(jì)經(jīng)常讀做"goo-ee",準(zhǔn)確來說 GUI 就是屏幕產(chǎn)品的視覺體驗(yàn)和互動(dòng)操作部分。GUI 是一種結(jié)合計(jì)算機(jī)科學(xué)、美學(xué)、心理學(xué)、行為學(xué),及各商業(yè)領(lǐng)域需求分析的人機(jī)系統(tǒng)工程,強(qiáng)調(diào)人-機(jī)-環(huán)境三者作為一個(gè)系統(tǒng)進(jìn)行總體設(shè)計(jì)。該系統(tǒng)的GUI設(shè)計(jì)見圖3.


  左側(cè)為工具欄,右側(cè)黃色區(qū)域?yàn)槔L圖區(qū)。繪圖區(qū)提供了滾動(dòng)條,用于繪制超出屏幕范圍的波形??梢岳L制較長(zhǎng)的序列信號(hào)。工具欄從上到下分為繪圖模式選擇區(qū),波形輸出設(shè)定區(qū),時(shí)間設(shè)定區(qū)及清屏和退出按鈕。波形的繪制只允許從左向右進(jìn)行,一個(gè)時(shí)刻只對(duì)應(yīng)一個(gè)數(shù)據(jù)點(diǎn);已繪制波形允許修改,修改過程中自動(dòng)變成紅色,修改完畢自動(dòng)變成默認(rèn)顏色。

  2.2 Qt編程原理和方法

  Qt程序設(shè)計(jì)采用面向?qū)ο蠛褪录?qū)動(dòng)的方法,整個(gè)GUI程序劃分為兩個(gè)類,其中主窗口為一個(gè)類,類名為MainWindow,繼承自Qt的QMa-inWindow類,它提供了工具條(toolbar)和一個(gè)主窗口(mainwindow);另一個(gè)類是DrawWidget,提供了一個(gè)繪圖區(qū)域,有4種事件,分別為觸摸筆按下(mousePressEvent),移動(dòng)(mouseMoveEvent),松開(mouseReleaseEvent)和繪圖區(qū)重繪事件(paintEvent)。同時(shí)提供了處理波形的函數(shù)waveProcess和調(diào)用底層驅(qū)動(dòng)的接口。滾動(dòng)條是通過QScrollView類提供的視圖功能來實(shí)現(xiàn)的。延遲輸出功能通過Qtimer類來實(shí)現(xiàn),延遲范圍0~999 s.觸摸筆的3個(gè)事件的發(fā)生順序和處理過程見圖4.


  信號(hào)/槽機(jī)制是Qt的一個(gè)中心特征,用于對(duì)象間的通訊。繪圖事件(paintEvent)采用雙緩沖機(jī)制。雙緩沖技術(shù)是一種GUI編程技術(shù),它指的是在一個(gè)不在屏幕上的位圖上渲染一個(gè)物件并把此位圖拷貝到屏幕上,常用于消除閃爍和提供一個(gè)快速用戶界面。該程序采用了Qpixmap類來實(shí)現(xiàn)雙緩沖。

  2.3 驅(qū)動(dòng)程序設(shè)計(jì)

  Linux設(shè)備驅(qū)動(dòng)程序是系統(tǒng)內(nèi)核的一部分,運(yùn)行于內(nèi)核態(tài)。其可以以兩種方式被編譯和加載:直接編譯進(jìn)Linux內(nèi)核和編譯成一個(gè)可加載和刪除的模塊,通過modprobe/insmod和rmmod來加載和卸載驅(qū)動(dòng)模塊。該系統(tǒng)即采用字符設(shè)備驅(qū)動(dòng)。在系統(tǒng)內(nèi)部,I/O設(shè)備的存/取通過一組固定的入口點(diǎn)來進(jìn)行,具體到Linux系統(tǒng),設(shè)備驅(qū)動(dòng)程序所提供的這組入口點(diǎn)由一個(gè)文件操作結(jié)構(gòu)file_operation來向系統(tǒng)進(jìn)行說明。該系統(tǒng)的驅(qū)動(dòng)函數(shù)需要提供3個(gè)函數(shù)調(diào)用,read函數(shù)用于讀取DDS運(yùn)行狀態(tài),write函數(shù)用于向DDS寫入?yún)?shù)和波形數(shù)據(jù),ioctl函數(shù)用于復(fù)位/啟動(dòng)/停止DDS.另外還需要打開(open)和關(guān)閉設(shè)備函數(shù)(close)。File_operatio的定義如下:


   


  驅(qū)動(dòng)程序在wave_ioctl,wave_wirte,wave-read等幾個(gè)函數(shù)中具體實(shí)現(xiàn)。所需的波形參數(shù)和數(shù)據(jù)通過Qt程序打包,調(diào)用write函數(shù)(對(duì)應(yīng)驅(qū)動(dòng)程序中的wave_wrtie函數(shù))性寫入DDS模塊。終將驅(qū)動(dòng)程序編譯為模塊文件(*.ko),通過命令modprobe和rmmod來加載和卸載驅(qū)動(dòng)模塊。

  3 系統(tǒng)操作及測(cè)試

  (1)設(shè)置波形參數(shù),包括繪圖模式,時(shí)間軸刻度,輸出延時(shí)等。

 ?。?)繪制波形,并作相應(yīng)的修改,終完成波形繪制。在松開觸摸筆之后Qt程序根據(jù)所選擇的波形繪制模式對(duì)波形進(jìn)行處理和優(yōu)化并重新顯示出來。

 ?。?)點(diǎn)擊單次觸發(fā)模式或重復(fù)(循環(huán))觸發(fā)模式,此時(shí)Qt程序提取時(shí)間軸刻度參數(shù),轉(zhuǎn)換為DDS中可控分頻器的分頻參數(shù),并將這些參數(shù)和處理后的波形數(shù)據(jù)打包傳輸給DDS模塊,輸出延時(shí)完畢則啟動(dòng)DDS,即產(chǎn)生與所繪波形相同的實(shí)際電信號(hào),達(dá)到"所見即所得"的效果,如圖5所示(時(shí)間刻度為100μs)。


  4 結(jié)語

  任意波形發(fā)生器是現(xiàn)代電子技術(shù)的一個(gè)新發(fā)展,本文給出了一種基于DDS和Qt的任意波形發(fā)生器的整體設(shè)計(jì)方案,分析了DDS在FPGA中的實(shí)現(xiàn)和Linux下Qt程序的設(shè)計(jì)。該設(shè)計(jì)的特點(diǎn)是"所見即所得",即繪制何種波形就可立即產(chǎn)生何種波形,非常直觀,從而以滿足各種電路測(cè)試,通信等領(lǐng)域快速產(chǎn)生任意波形信號(hào)的要求。

 

 


  
關(guān)鍵詞:發(fā)生器

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!