文獻標(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.
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所示,。
下面分別對各個模塊功能進行說明: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)品,目前性價比很高,?;赟TM32F103RCT6芯片的控制模塊包括最小系統(tǒng)(電源電路、時鐘電路,、復(fù)位電路,、啟動電路和JTAG下載電路)、與其他模塊的接口電路和調(diào)試顯示電路等,,這里主要給出該模塊與其他模塊的接口部分,,如圖2所示。
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],。
需要說明一點的是,圖3去掉了后續(xù)電路,,與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/兩個輸入引腳前端都要接一個0.1 μF電容,,且還要接地,。
(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)和相位余量來得出濾波器元件值。這樣會帶來一個問題就是求得的元件值可能不是常用值,,無法購得,。可以利用ADI提供的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所示。
3 軟件設(shè)計
軟件設(shè)計總體思路是先對各個模塊初始化,,輸出顯示初始頻率,,然后讀取鍵值,由鍵值確定下一步輸出頻率,,再控制12864實時顯示,。軟件流程圖如圖6所示。
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],。
單頻寄存器Profile 0-地址0x0E:該寄存器涉及AD9910輸出正弦波振幅,、相位偏移以及頻率參數(shù)的配置。
AD9910的一個串行通信周期可分為兩個階段,。第一個階段是指令階段,,將指令字節(jié)寫入AD9910。指令字節(jié)包含要訪問的寄存器地址以及定義即將進行的數(shù)據(jù)傳輸是讀操作還是寫操作,,對本系統(tǒng)來說,,全部為寫操作,。第二個階段寫入周期指從串行端口控制器向串行端口緩沖器傳輸數(shù)據(jù)。傳輸?shù)淖止?jié)數(shù)取決于訪問的寄存器,。具體一個串行通信周期程序如下程序所示:
片選信號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ù)程序,,如下程序所示:
其中SID代表SDIO,。
基于發(fā)送函數(shù)和一個完整串行通信周期,便可對AD9910的寄存器進行配置,,本文將控制寄存器1中的反Sinc濾波器使能位置1,,以避免頻譜失真??刂萍拇嫫?中全部取缺省值,。將控制寄存器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)諧字由以下公式計算得到:
得到頻率調(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)該算法可以同時適用分散引腳以及上拉,、下拉兩種方式的按鍵,且支持長按模式,。下面僅列出其核心算法:
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ù)期效果,。
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)