《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于AD9910的信號源實時顯示系統(tǒng)設(shè)計
基于AD9910的信號源實時顯示系統(tǒng)設(shè)計
2018年電子技術(shù)應(yīng)用第8期
張步高,馬希直
南京航空航天大學(xué) 機電學(xué)院,江蘇 南京210016
摘要: 鑒于目前在控制、電信與電子儀器領(lǐng)域?qū)Ω鞣N頻率信號源的需求,采用性價比較高的STM32F103RCT6芯片,通過按鍵控制高性能的DDS芯片AD9910產(chǎn)生各種頻率的信號,并通過LCD12864實時顯示。詳細闡述了該系統(tǒng)的硬件與軟件設(shè)計,并對其中的關(guān)鍵部分、注意事項和采用工具等進行具體說明。最后對設(shè)計出來的信號源實時顯示系統(tǒng)進行驗證,結(jié)果表明該系統(tǒng)工作穩(wěn)定,可以滿足工程需求。
關(guān)鍵詞: 信號源 STM32F103RCT6 DDS AD9910
中圖分類號: TN742.1;TP274
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.175047
中文引用格式: 張步高,馬希直. 基于AD9910的信號源實時顯示系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2018,44(8):94-97,101.
英文引用格式: Zhang Bugao,Ma Xizhi. Design of signal source real-time display system based on AD9910[J]. Application of Electronic Technique,2018,44(8):94-97,101.
Design of signal source real-time display system based on AD9910
Zhang Bugao,Ma Xizhi
Electrical and Mechanical College,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China
Abstract: In view of the current demand for various frequency signal sources in the fields of control, telecommunications and electronic instrumentation, a high cost-effective STM32F103RCT6 control chip is used to generate various frequency signals through the button control of the high-performance DDS chip AD9910 and real-time display through the LCD12864. This article describes in detail the system hardware and software design, and the key part, precautions and the use of tools for specific instructions. Finally the designed system is verified, and the results show that the system is stable and can meet the engineering needs.
Key words : various frequency sources;STM32F103RCT6;DDS;AD9910

0 引言

    隨著電子技術(shù)的發(fā)展,要求信號的頻率越來越高且準(zhǔn)確穩(wěn)定。MAX038芯片僅可以滿足一些低頻率的需求,晶體振蕩器雖然具有高準(zhǔn)確度和高穩(wěn)定度,但其頻率變化范圍很小且頻率值不高,這些都很難滿足在通信、測控等電子系統(tǒng)的需求[1-3]。而AD9910是一款采用ADI公司的DDS(Direct Digital Synthesizer)專利技術(shù)的直接數(shù)字頻率合成器芯片,它集成了14位數(shù)/模轉(zhuǎn)換(DAC),可以形成數(shù)字可編程、高頻模擬輸出的頻率合成器,能夠產(chǎn)生頻率為400 MHz的正弦波形。用戶可以訪問用于控制DDS的信號控制參數(shù):頻率、相位和幅度。這款DDS使用32位累加器,可提供快速跳頻和頻率調(diào)節(jié)分辨率。其采樣率為1 GS/s,調(diào)節(jié)分辨率為0.23 Hz[4]。

1 系統(tǒng)方案設(shè)計

    整個系統(tǒng)由STM32F103RCT6模塊、AD9910模塊、12864顯示模塊、按鍵模塊等構(gòu)成,如圖1所示。

tx2-t1.gif

    下面分別對各個模塊功能進行說明:STM32F103RCT6模塊,該模塊主要接收按鍵模塊輸入,控制AD9910產(chǎn)生所需頻率和12864實時顯示頻率;AD9910模塊,產(chǎn)生準(zhǔn)確穩(wěn)定的正弦波;按鍵模塊,通過按鍵輸入實現(xiàn)頻率調(diào)整;12864模塊,實時顯示AD9910產(chǎn)生的頻率,方便用戶查看。

2 硬件設(shè)計

    該系統(tǒng)電路原理圖和PCB圖都通過Altium Designer14軟件繪制,下面分別對各個模塊的硬件設(shè)計進行說明。

2.1 STM32F103RCT6模塊

    STM32F103RCT6是意法半導(dǎo)體公司基于ARM CM3內(nèi)核的STM32系列中的一個產(chǎn)品,目前性價比很高。基于STM32F103RCT6芯片的控制模塊包括最小系統(tǒng)(電源電路、時鐘電路、復(fù)位電路、啟動電路和JTAG下載電路)、與其他模塊的接口電路和調(diào)試顯示電路等,這里主要給出該模塊與其他模塊的接口部分,如圖2所示。

tx2-t2.gif

2.2 AD9910模塊

    AD9910支持4種工作模式:單頻調(diào)制模式、RAM調(diào)制模式、數(shù)字斜坡調(diào)制模式、并行數(shù)據(jù)端口調(diào)制模式。對于本系統(tǒng),采用單頻調(diào)制模式即可達到要求。依據(jù)單頻調(diào)制模式,AD9910芯片的主要外圍電路為:電源分組、參考時鐘、單頻控制接口、外部環(huán)路濾波器、輸出低通濾波器。除電源分組以及其他一些無連接引腳和電源引腳外,相關(guān)電路如圖3所示[5-6]。

tx2-t3.gif

    需要說明一點的是,圖3去掉了tx2-t2-x1.gif后續(xù)電路,tx2-t2-x1.gif與IOUT為互補輸出,若想要其輸出,其后續(xù)電路與IOUT后續(xù)電路完全一樣。

    下面分別對各部分進行說明:

    (1)電源分組:對于典型應(yīng)用,具體可分為4類:3.3 V數(shù)字、3.3 V模擬、1.8 V數(shù)字和1.8 V模擬。本文選擇了常用的AMS117系列兩個1.8 V芯片和一個3.3 V芯片,都通過5 V進行轉(zhuǎn)化得到所需電壓。其中兩個1.8 V芯片分別為1.8 V數(shù)字和1.8 V模擬,3.3 V芯片為3.3 V模擬,通過10 μH電感得到3.3 V數(shù)字。且數(shù)字地與電源地相連,模擬地通過10 μH電感與電源地相連。對于有較高性能要求的應(yīng)用可能需要增加電源隔離元件。

    (2)參考時鐘:由DDS的原理可知,整個DDS系統(tǒng)在一個統(tǒng)一的時鐘信號即采樣時鐘下工作,該時鐘的質(zhì)量決定了最終輸出波形頻率的精度、穩(wěn)定度以及輸出信號的相噪[7]。由于有源晶振比無源晶振信號質(zhì)量好,更加穩(wěn)定,故選擇40 MHz的有源晶振。值得注意的是,有源晶振輸出端要根據(jù)需要串聯(lián)一個阻值合適的電阻,一是為了減少諧波,二是為了阻抗匹配。如在調(diào)試過程中發(fā)現(xiàn)無必要串聯(lián)電阻,可用0 ?贅電阻代替。使用有源晶振輸入對于AD9910來說屬于單端信號源輸入,由AD9910官方資料進一步得知,REF_CLK/tx2-t2-x2.gif兩個輸入引腳前端都要接一個0.1 μF電容,且tx2-t2-x2.gif還要接地。

    (3)單頻控制接口:實現(xiàn)單頻控制需要的引腳很少,相關(guān)引腳如下所述:

    ①MASTER_RESET引腳:該引腳為主機復(fù)位引腳,高電平有效。即在編程時對AD9910初始化時要進行一段時間的復(fù)位。

    ②串行I/O引腳:其中SCLK為串行時鐘,CS為片選信號,SDIO為串行數(shù)據(jù)輸入/輸出。主要實現(xiàn)配置AD9910寄存器的作用。

    ③I/O_UPDATE引腳:該引腳為輸入/輸出更新引腳。主要用于將I/O端口緩沖器中寫入的數(shù)據(jù)傳輸?shù)接行Ъ拇嫫鳌?/p>

    ④PROFILE[2:0]引腳:Profile是一個包含DDS信號控制參數(shù)的獨立寄存器,AD9910共有8個Profile寄存器,每個Profile都能單獨訪問。即利用3個外部引腳(PROFILE[2:0])可選擇想要的profile。

    (4)外部環(huán)路濾波器:該部分主要是確定圖3的R10、C32和C33這3個參數(shù),在AD9910官方資料中提供了相關(guān)計算公式,但計算公式是建立在已知反饋分配系數(shù)(N)、鑒相器增益(KD)以及VCO增益(KV)的基礎(chǔ)上,再由目標(biāo)開環(huán)帶寬(fOL)和相位余量tx2-t2-x3.gif來得出濾波器元件值。這樣會帶來一個問題就是求得的元件值可能不是常用值,無法購得??梢岳肁DI提供的PLL環(huán)路濾波器工具[8]來進行選擇。

    在該工具中,R37、C13和C15分別對應(yīng)圖3的R10、C32和C33。由于本文選擇的是40 MHz的晶振,想要達到1 GHz的系統(tǒng)時鐘,故倍頻因子為25。相位余量與ICP編程值(該值等于鑒相器增益KD)根據(jù)需要進行下拉選取。在DESIGN中選擇相關(guān)參數(shù)后,CUSTOM中對應(yīng)位置自動顯示DESIGN參數(shù)或由其參數(shù)計算出的其他參數(shù)。然后選擇R37、C13和C15參數(shù),該工具中內(nèi)置了一些參數(shù)可以下拉選擇。本文選擇R37為1 kΩ,C13為680 pF,C15為22 pF。這些數(shù)值在圖3中都有所體現(xiàn)。

    (5)輸出低通濾波器:為了過濾高頻干擾信號,需要在AD9910輸出端接一個低通濾波器,可以利用濾波器設(shè)計軟件Filter Solution設(shè)計出400 MHz的低通濾波器,在實際調(diào)試中發(fā)現(xiàn)使用低通濾波器后,輸出波形更加平滑穩(wěn)定。

2.3 12864模塊與按鍵模塊

    12864模塊為晶聯(lián)訊液晶模塊,本文在PCB設(shè)計中將12864模塊和按鍵模塊與STM32F103RCT6模塊集成在一起,AD9910模塊單獨為一塊PCB,并且為了節(jié)省空間,將STM32F103RCT6芯片放在12864模塊下面。12864模塊與按鍵模塊原理圖分別如圖4、圖5所示。

tx2-t4+t5.gif

3 軟件設(shè)計

    軟件設(shè)計總體思路是先對各個模塊初始化,輸出顯示初始頻率,然后讀取鍵值,由鍵值確定下一步輸出頻率,再控制12864實時顯示。軟件流程圖如圖6所示。

tx2-t6.gif

3.1 AD9910串行編程

    由于本設(shè)計采用的是單頻模式,本文僅對本系統(tǒng)涉及的AD9910寄存器進行說明,如下所述:

    控制功能寄存器1(CFR1)-地址0x00:將反Sinc濾波器使能位置1。

    控制功能寄存器3(CFR3)-地址0x02:根據(jù)需求配制7位REFCLK PLL反饋分步器的分頻模數(shù),即N[7:1];PLL使能位置1;3位選取REFCLK PLL的電荷泵電流值(詳見表1),即ICP[21:19];3位選取REFCLK PLL VCO的頻段,即VCO SEL[26:24]。

tx2-b1.gif

    單頻寄存器Profile 0-地址0x0E:該寄存器涉及AD9910輸出正弦波振幅、相位偏移以及頻率參數(shù)的配置。

    AD9910的一個串行通信周期可分為兩個階段。第一個階段是指令階段,將指令字節(jié)寫入AD9910。指令字節(jié)包含要訪問的寄存器地址以及定義即將進行的數(shù)據(jù)傳輸是讀操作還是寫操作,對本系統(tǒng)來說,全部為寫操作。第二個階段寫入周期指從串行端口控制器向串行端口緩沖器傳輸數(shù)據(jù)。傳輸?shù)淖止?jié)數(shù)取決于訪問的寄存器。具體一個串行通信周期程序如下程序所示:

     tx2-cx1.gif

    片選信號CS要在通信周期開始前拉低,結(jié)束后拉高。但要注意的是,寫入周期結(jié)束后,編程數(shù)據(jù)駐留在串行端口緩沖器中,處于無效狀態(tài),需要輸入/輸出更新引腳I/O_UPDATE產(chǎn)生一個上升沿將端口緩沖器中寫入的數(shù)據(jù)傳輸?shù)接行Ъ拇嫫?,且脈沖寬度必須大于1個SYNC_CLK周期,其中SYNC_CLK由四分頻電路對系統(tǒng)時鐘分頻后獲得。從IO_UPDATE=0到IO_UPDATE=1,即實現(xiàn)上升沿效果。由于STM32F103RCT6最大時鐘頻率為72 MHz,故可以直接將I/O_UPDATE拉低。AD9910串行端口支持最高有效位(MSB)優(yōu)先和最低有效位(LSB優(yōu)先)兩種數(shù)據(jù)格式,此功能由控制寄存器1(0x00)中的位0控制,默認(rèn)格式是MSB優(yōu)先,一般不做修改。由串行I/O時序得出其寫入數(shù)據(jù)程序,如下程序所示:

     tx2-cx2.gif

其中SID代表SDIO。

    基于發(fā)送函數(shù)和一個完整串行通信周期,便可對AD9910的寄存器進行配置,本文將控制寄存器1中的反Sinc濾波器使能位置1,以避免頻譜失真。控制寄存器2中全部取缺省值。將控制寄存器3中的PLL使能位置1,啟動AD9910內(nèi)部鎖相環(huán)??刂萍拇嫫?中的VCO SEL[26:24]等于PLL環(huán)路濾波器工具中的VCO Band Seclection值,ICP[21:19]等于PLL環(huán)路濾波器工具的Icp值在表1中的對應(yīng)值,N[7:1]等于PLL環(huán)路濾波器工具中的Frequency Multiplication Factor值。其中VCO SEL[26:24]使用PLL_Loop_Filter_Tool.xls工具會自動幫助選取合適頻段,按給定值配置即可。在配置寄存器和查看寄存器內(nèi)部值時可以使用ADI公司的AD9910 Evaluation Software軟件來輔助設(shè)計。

    在配置了控制寄存器后,需要將初始振幅比例因子、相位偏移字、頻率調(diào)諧字寫入Profile0,進行初始輸出波形振幅、相位以及頻率的設(shè)置。其中振幅比例因子越大,輸出振幅越大。本系統(tǒng)中相位偏移字設(shè)置為0,即無相位偏移。頻率調(diào)諧字由以下公式計算得到:

tx2-gs1-2.gif

    得到頻率調(diào)諧字后轉(zhuǎn)化為對應(yīng)字節(jié)數(shù)據(jù)發(fā)送到寄存器Profile0即可輸出所需要的頻率。需要說明的是,AD9910支持多種模式,由于其他模式未進行配置,在AD9910數(shù)據(jù)源優(yōu)先級的機制下自動選擇有效的Profile寄存器。

3.2 按鍵與12864軟件設(shè)計

    按鍵處理的特別之處在于采用一種新型按鍵掃描程序[9],無死循環(huán)延時等待機制。經(jīng)過對該算法的研究,發(fā)現(xiàn)該算法可以同時適用分散引腳以及上拉、下拉兩種方式的按鍵,且支持長按模式。下面僅列出其核心算法:

     tx2-cx3.gif

    12864LCD顯示的中英文字符點陣取自字庫芯片GT20L16S1Y,具體顯示時根據(jù)AD9910實時頻率以及編輯位置取相關(guān)字符點陣進行顯示。

4 實物系統(tǒng)驗證

    基于上述硬件設(shè)計與軟件設(shè)計,設(shè)計出該信號源系統(tǒng),為了驗證該信號源所產(chǎn)生的信號實際效果,通過示波器采集其輸出波形數(shù)據(jù),其中示波器最大采樣率為1 GSa/s,帶寬為100 MHz。如圖7的50 MHz波形和圖8的100 MHz波形,輸出波形準(zhǔn)確穩(wěn)定,達到預(yù)期效果。

tx2-t7.gif

tx2-t8.gif

5 結(jié)論

    本文通過對AD9910信號源實時顯示系統(tǒng)硬件設(shè)計與軟件設(shè)計的分析,設(shè)計出了準(zhǔn)確穩(wěn)定的信號源系統(tǒng),并且方便調(diào)節(jié)和擴展,讀者可根據(jù)需要配置相關(guān)寄存器即可實現(xiàn)調(diào)幅、調(diào)相以及其他模式的波形輸出。本文在調(diào)試過程中進行過雙頻頻移鍵控的擴展,得到的效果很好。該系統(tǒng)實現(xiàn)的可調(diào)高頻信號源可以滿足大部分的工程應(yīng)用,具有較高的實用價值。

參考文獻

[1] 曾興雯,劉乃安,陳建,等.高頻電子電路[M].北京:高等教育出版社,2009.

[2] 李俊,譚秋林,崔永俊,等.基于AD9910的高頻多模式信號發(fā)生器的設(shè)計[J].電視技術(shù),2012,36(9):51-54.

[3] 孫偉超,汪定國,吳忠德.基于AD9910的調(diào)頻信號發(fā)生器設(shè)計[J].國外電子測量技術(shù),2011,30(10):76-79.

[4] Analog Devices Inc.AD9910 datasheet[EB/OL].(2017-02-23)[2017-12-10].http://www.analog.com/media/en/tech-nical-do-cumentation/data-sheets/AD9910.pdf.

[5] 楊小勇,毛瑞娟,許林華.基于FPGA的AD9910控制設(shè)計[J].電子設(shè)計工程,2011,19(2):150-153.

[6] 黃智偉.鎖相環(huán)與頻率合成器電路設(shè)計[M].西安:西安電子科技大學(xué)出版社,2008.

[7] 時慧.基于AD9910的線性調(diào)頻信號發(fā)生技術(shù)[J].科技信息,2010(17):423-426.

[8] Analog Devices Inc.AD9910[EB/OL].[2017-12-10].http://www.analog.com/cn/products/rf-microwave/direct-digital-synthesis/ad9910.html#product-overview.

[9] LoriQian.新型的按鍵掃描程序[EB/OL].(2012-06-30)[2017-12-10].http://www.doc88.com/p-9992776518685.html.



作者信息:

張步高,馬希直

(南京航空航天大學(xué) 機電學(xué)院,江蘇 南京210016)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。