www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]一種基于DDS和Qt的“所見即所得”波形發(fā)生器

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

1 DDS模塊的設(shè)計
1.1 DDS在FPGA中的實現(xiàn)

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


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


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

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


    根據(jù)圖2電路有:
   
    式中:Rv是R4兩部分的并聯(lián)電阻,當(dāng)
   

2 Qt程序設(shè)計
2.1 GUI設(shè)計

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


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

[!--empirenews.page--]


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

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



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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進(jìn)出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機(jī) CAN

要問機(jī)器人公司哪家強(qiáng),波士頓動力絕對是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉