文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.175047
中文引用格式: 張步高,,馬希直. 基于AD9910的信號(hào)源實(shí)時(shí)顯示系統(tǒng)設(shè)計(jì)[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ā)展,,要求信號(hào)的頻率越來(lái)越高且準(zhǔn)確穩(wěn)定,。MAX038芯片僅可以滿足一些低頻率的需求,晶體振蕩器雖然具有高準(zhǔn)確度和高穩(wěn)定度,,但其頻率變化范圍很小且頻率值不高,,這些都很難滿足在通信、測(cè)控等電子系統(tǒng)的需求[1-3],。而AD9910是一款采用ADI公司的DDS(Direct Digital Synthesizer)專利技術(shù)的直接數(shù)字頻率合成器芯片,,它集成了14位數(shù)/模轉(zhuǎn)換(DAC),可以形成數(shù)字可編程,、高頻模擬輸出的頻率合成器,,能夠產(chǎn)生頻率為400 MHz的正弦波形。用戶可以訪問(wèn)用于控制DDS的信號(hào)控制參數(shù):頻率,、相位和幅度。這款DDS使用32位累加器,,可提供快速跳頻和頻率調(diào)節(jié)分辨率,。其采樣率為1 GS/s,調(diào)節(jié)分辨率為0.23 Hz[4],。
1 系統(tǒng)方案設(shè)計(jì)
整個(gè)系統(tǒng)由STM32F103RCT6模塊,、AD9910模塊、12864顯示模塊,、按鍵模塊等構(gòu)成,,如圖1所示。
下面分別對(duì)各個(gè)模塊功能進(jìn)行說(shuō)明:STM32F103RCT6模塊,,該模塊主要接收按鍵模塊輸入,,控制AD9910產(chǎn)生所需頻率和12864實(shí)時(shí)顯示頻率;AD9910模塊,,產(chǎn)生準(zhǔn)確穩(wěn)定的正弦波,;按鍵模塊,通過(guò)按鍵輸入實(shí)現(xiàn)頻率調(diào)整,;12864模塊,,實(shí)時(shí)顯示AD9910產(chǎn)生的頻率,,方便用戶查看。
2 硬件設(shè)計(jì)
該系統(tǒng)電路原理圖和PCB圖都通過(guò)Altium Designer14軟件繪制,,下面分別對(duì)各個(gè)模塊的硬件設(shè)計(jì)進(jìn)行說(shuō)明,。
2.1 STM32F103RCT6模塊
STM32F103RCT6是意法半導(dǎo)體公司基于ARM CM3內(nèi)核的STM32系列中的一個(gè)產(chǎn)品,目前性價(jià)比很高,?;赟TM32F103RCT6芯片的控制模塊包括最小系統(tǒng)(電源電路、時(shí)鐘電路,、復(fù)位電路,、啟動(dòng)電路和JTAG下載電路)、與其他模塊的接口電路和調(diào)試顯示電路等,,這里主要給出該模塊與其他模塊的接口部分,,如圖2所示。
2.2 AD9910模塊
AD9910支持4種工作模式:?jiǎn)晤l調(diào)制模式,、RAM調(diào)制模式,、數(shù)字斜坡調(diào)制模式、并行數(shù)據(jù)端口調(diào)制模式,。對(duì)于本系統(tǒng),,采用單頻調(diào)制模式即可達(dá)到要求。依據(jù)單頻調(diào)制模式,,AD9910芯片的主要外圍電路為:電源分組,、參考時(shí)鐘、單頻控制接口,、外部環(huán)路濾波器,、輸出低通濾波器。除電源分組以及其他一些無(wú)連接引腳和電源引腳外,,相關(guān)電路如圖3所示[5-6],。
需要說(shuō)明一點(diǎn)的是,圖3去掉了后續(xù)電路,,
與IOUT為互補(bǔ)輸出,,若想要其輸出,其后續(xù)電路與IOUT后續(xù)電路完全一樣,。
下面分別對(duì)各部分進(jìn)行說(shuō)明:
(1)電源分組:對(duì)于典型應(yīng)用,,具體可分為4類:3.3 V數(shù)字、3.3 V模擬,、1.8 V數(shù)字和1.8 V模擬,。本文選擇了常用的AMS117系列兩個(gè)1.8 V芯片和一個(gè)3.3 V芯片,都通過(guò)5 V進(jìn)行轉(zhuǎn)化得到所需電壓。其中兩個(gè)1.8 V芯片分別為1.8 V數(shù)字和1.8 V模擬,,3.3 V芯片為3.3 V模擬,,通過(guò)10 μH電感得到3.3 V數(shù)字。且數(shù)字地與電源地相連,,模擬地通過(guò)10 μH電感與電源地相連,。對(duì)于有較高性能要求的應(yīng)用可能需要增加電源隔離元件。
(2)參考時(shí)鐘:由DDS的原理可知,,整個(gè)DDS系統(tǒng)在一個(gè)統(tǒng)一的時(shí)鐘信號(hào)即采樣時(shí)鐘下工作,,該時(shí)鐘的質(zhì)量決定了最終輸出波形頻率的精度、穩(wěn)定度以及輸出信號(hào)的相噪[7],。由于有源晶振比無(wú)源晶振信號(hào)質(zhì)量好,,更加穩(wěn)定,故選擇40 MHz的有源晶振,。值得注意的是,,有源晶振輸出端要根據(jù)需要串聯(lián)一個(gè)阻值合適的電阻,一是為了減少諧波,,二是為了阻抗匹配,。如在調(diào)試過(guò)程中發(fā)現(xiàn)無(wú)必要串聯(lián)電阻,可用0 ?贅電阻代替,。使用有源晶振輸入對(duì)于AD9910來(lái)說(shuō)屬于單端信號(hào)源輸入,,由AD9910官方資料進(jìn)一步得知,REF_CLK/兩個(gè)輸入引腳前端都要接一個(gè)0.1 μF電容,,且
還要接地,。
(3)單頻控制接口:實(shí)現(xiàn)單頻控制需要的引腳很少,相關(guān)引腳如下所述:
①M(fèi)ASTER_RESET引腳:該引腳為主機(jī)復(fù)位引腳,,高電平有效,。即在編程時(shí)對(duì)AD9910初始化時(shí)要進(jìn)行一段時(shí)間的復(fù)位。
②串行I/O引腳:其中SCLK為串行時(shí)鐘,,CS為片選信號(hào),,SDIO為串行數(shù)據(jù)輸入/輸出,。主要實(shí)現(xiàn)配置AD9910寄存器的作用,。
③I/O_UPDATE引腳:該引腳為輸入/輸出更新引腳。主要用于將I/O端口緩沖器中寫(xiě)入的數(shù)據(jù)傳輸?shù)接行Ъ拇嫫鳌?/p>
④PROFILE[2:0]引腳:Profile是一個(gè)包含DDS信號(hào)控制參數(shù)的獨(dú)立寄存器,,AD9910共有8個(gè)Profile寄存器,,每個(gè)Profile都能單獨(dú)訪問(wèn)。即利用3個(gè)外部引腳(PROFILE[2:0])可選擇想要的profile,。
(4)外部環(huán)路濾波器:該部分主要是確定圖3的R10,、C32和C33這3個(gè)參數(shù),在AD9910官方資料中提供了相關(guān)計(jì)算公式,但計(jì)算公式是建立在已知反饋分配系數(shù)(N),、鑒相器增益(KD)以及VCO增益(KV)的基礎(chǔ)上,,再由目標(biāo)開(kāi)環(huán)帶寬(fOL)和相位余量來(lái)得出濾波器元件值。這樣會(huì)帶來(lái)一個(gè)問(wèn)題就是求得的元件值可能不是常用值,,無(wú)法購(gòu)得,。可以利用ADI提供的PLL環(huán)路濾波器工具[8]來(lái)進(jìn)行選擇,。
在該工具中,,R37、C13和C15分別對(duì)應(yīng)圖3的R10,、C32和C33,。由于本文選擇的是40 MHz的晶振,想要達(dá)到1 GHz的系統(tǒng)時(shí)鐘,,故倍頻因子為25,。相位余量與ICP編程值(該值等于鑒相器增益KD)根據(jù)需要進(jìn)行下拉選取。在DESIGN中選擇相關(guān)參數(shù)后,,CUSTOM中對(duì)應(yīng)位置自動(dòng)顯示DESIGN參數(shù)或由其參數(shù)計(jì)算出的其他參數(shù),。然后選擇R37、C13和C15參數(shù),,該工具中內(nèi)置了一些參數(shù)可以下拉選擇,。本文選擇R37為1 kΩ,C13為680 pF,,C15為22 pF,。這些數(shù)值在圖3中都有所體現(xiàn)。
(5)輸出低通濾波器:為了過(guò)濾高頻干擾信號(hào),,需要在AD9910輸出端接一個(gè)低通濾波器,,可以利用濾波器設(shè)計(jì)軟件Filter Solution設(shè)計(jì)出400 MHz的低通濾波器,在實(shí)際調(diào)試中發(fā)現(xiàn)使用低通濾波器后,,輸出波形更加平滑穩(wěn)定,。
2.3 12864模塊與按鍵模塊
12864模塊為晶聯(lián)訊液晶模塊,本文在PCB設(shè)計(jì)中將12864模塊和按鍵模塊與STM32F103RCT6模塊集成在一起,,AD9910模塊單獨(dú)為一塊PCB,,并且為了節(jié)省空間,將STM32F103RCT6芯片放在12864模塊下面,。12864模塊與按鍵模塊原理圖分別如圖4,、圖5所示。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)總體思路是先對(duì)各個(gè)模塊初始化,,輸出顯示初始頻率,,然后讀取鍵值,,由鍵值確定下一步輸出頻率,再控制12864實(shí)時(shí)顯示,。軟件流程圖如圖6所示,。
3.1 AD9910串行編程
由于本設(shè)計(jì)采用的是單頻模式,本文僅對(duì)本系統(tǒng)涉及的AD9910寄存器進(jìn)行說(shuō)明,,如下所述:
控制功能寄存器1(CFR1)-地址0x00:將反Sinc濾波器使能位置1,。
控制功能寄存器3(CFR3)-地址0x02:根據(jù)需求配制7位REFCLK PLL反饋分步器的分頻模數(shù),即N[7:1],;PLL使能位置1,;3位選取REFCLK PLL的電荷泵電流值(詳見(jiàn)表1),即ICP[21:19],;3位選取REFCLK PLL VCO的頻段,,即VCO SEL[26:24]。
單頻寄存器Profile 0-地址0x0E:該寄存器涉及AD9910輸出正弦波振幅,、相位偏移以及頻率參數(shù)的配置,。
AD9910的一個(gè)串行通信周期可分為兩個(gè)階段。第一個(gè)階段是指令階段,,將指令字節(jié)寫(xiě)入AD9910,。指令字節(jié)包含要訪問(wèn)的寄存器地址以及定義即將進(jìn)行的數(shù)據(jù)傳輸是讀操作還是寫(xiě)操作,對(duì)本系統(tǒng)來(lái)說(shuō),,全部為寫(xiě)操作,。第二個(gè)階段寫(xiě)入周期指從串行端口控制器向串行端口緩沖器傳輸數(shù)據(jù)。傳輸?shù)淖止?jié)數(shù)取決于訪問(wèn)的寄存器,。具體一個(gè)串行通信周期程序如下程序所示:
片選信號(hào)CS要在通信周期開(kāi)始前拉低,,結(jié)束后拉高。但要注意的是,,寫(xiě)入周期結(jié)束后,,編程數(shù)據(jù)駐留在串行端口緩沖器中,處于無(wú)效狀態(tài),,需要輸入/輸出更新引腳I/O_UPDATE產(chǎn)生一個(gè)上升沿將端口緩沖器中寫(xiě)入的數(shù)據(jù)傳輸?shù)接行Ъ拇嫫?,且脈沖寬度必須大于1個(gè)SYNC_CLK周期,其中SYNC_CLK由四分頻電路對(duì)系統(tǒng)時(shí)鐘分頻后獲得,。從IO_UPDATE=0到IO_UPDATE=1,,即實(shí)現(xiàn)上升沿效果。由于STM32F103RCT6最大時(shí)鐘頻率為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í)序得出其寫(xiě)入數(shù)據(jù)程序,,如下程序所示:
其中SID代表SDIO,。
基于發(fā)送函數(shù)和一個(gè)完整串行通信周期,便可對(duì)AD9910的寄存器進(jìn)行配置,,本文將控制寄存器1中的反Sinc濾波器使能位置1,,以避免頻譜失真??刂萍拇嫫?中全部取缺省值,。將控制寄存器3中的PLL使能位置1,啟動(dòng)AD9910內(nèi)部鎖相環(huán),??刂萍拇嫫?中的VCO SEL[26:24]等于PLL環(huán)路濾波器工具中的VCO Band Seclection值,ICP[21:19]等于PLL環(huán)路濾波器工具的Icp值在表1中的對(duì)應(yīng)值,,N[7:1]等于PLL環(huán)路濾波器工具中的Frequency Multiplication Factor值,。其中VCO SEL[26:24]使用PLL_Loop_Filter_Tool.xls工具會(huì)自動(dòng)幫助選取合適頻段,按給定值配置即可,。在配置寄存器和查看寄存器內(nèi)部值時(shí)可以使用ADI公司的AD9910 Evaluation Software軟件來(lái)輔助設(shè)計(jì),。
在配置了控制寄存器后,需要將初始振幅比例因子,、相位偏移字,、頻率調(diào)諧字寫(xiě)入Profile0,進(jìn)行初始輸出波形振幅,、相位以及頻率的設(shè)置,。其中振幅比例因子越大,輸出振幅越大,。本系統(tǒng)中相位偏移字設(shè)置為0,,即無(wú)相位偏移。頻率調(diào)諧字由以下公式計(jì)算得到:
得到頻率調(diào)諧字后轉(zhuǎn)化為對(duì)應(yīng)字節(jié)數(shù)據(jù)發(fā)送到寄存器Profile0即可輸出所需要的頻率,。需要說(shuō)明的是,,AD9910支持多種模式,由于其他模式未進(jìn)行配置,,在AD9910數(shù)據(jù)源優(yōu)先級(jí)的機(jī)制下自動(dòng)選擇有效的Profile寄存器,。
3.2 按鍵與12864軟件設(shè)計(jì)
按鍵處理的特別之處在于采用一種新型按鍵掃描程序[9],無(wú)死循環(huán)延時(shí)等待機(jī)制,。經(jīng)過(guò)對(duì)該算法的研究,,發(fā)現(xiàn)該算法可以同時(shí)適用分散引腳以及上拉、下拉兩種方式的按鍵,,且支持長(zhǎng)按模式,。下面僅列出其核心算法:
12864LCD顯示的中英文字符點(diǎn)陣取自字庫(kù)芯片GT20L16S1Y,,具體顯示時(shí)根據(jù)AD9910實(shí)時(shí)頻率以及編輯位置取相關(guān)字符點(diǎn)陣進(jìn)行顯示。
4 實(shí)物系統(tǒng)驗(yàn)證
基于上述硬件設(shè)計(jì)與軟件設(shè)計(jì),,設(shè)計(jì)出該信號(hào)源系統(tǒng),,為了驗(yàn)證該信號(hào)源所產(chǎn)生的信號(hào)實(shí)際效果,通過(guò)示波器采集其輸出波形數(shù)據(jù),,其中示波器最大采樣率為1 GSa/s,,帶寬為100 MHz。如圖7的50 MHz波形和圖8的100 MHz波形,,輸出波形準(zhǔn)確穩(wěn)定,,達(dá)到預(yù)期效果。
5 結(jié)論
本文通過(guò)對(duì)AD9910信號(hào)源實(shí)時(shí)顯示系統(tǒng)硬件設(shè)計(jì)與軟件設(shè)計(jì)的分析,,設(shè)計(jì)出了準(zhǔn)確穩(wěn)定的信號(hào)源系統(tǒng),,并且方便調(diào)節(jié)和擴(kuò)展,讀者可根據(jù)需要配置相關(guān)寄存器即可實(shí)現(xiàn)調(diào)幅,、調(diào)相以及其他模式的波形輸出,。本文在調(diào)試過(guò)程中進(jìn)行過(guò)雙頻頻移鍵控的擴(kuò)展,得到的效果很好,。該系統(tǒng)實(shí)現(xiàn)的可調(diào)高頻信號(hào)源可以滿足大部分的工程應(yīng)用,,具有較高的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 曾興雯,,劉乃安,,陳建,等.高頻電子電路[M].北京:高等教育出版社,,2009.
[2] 李俊,,譚秋林,崔永俊,,等.基于AD9910的高頻多模式信號(hào)發(fā)生器的設(shè)計(jì)[J].電視技術(shù),,2012,36(9):51-54.
[3] 孫偉超,,汪定國(guó),,吳忠德.基于AD9910的調(diào)頻信號(hào)發(fā)生器設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(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ì)[J].電子設(shè)計(jì)工程,,2011,,19(2):150-153.
[6] 黃智偉.鎖相環(huán)與頻率合成器電路設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2008.
[7] 時(shí)慧.基于AD9910的線性調(diào)頻信號(hà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é) 機(jī)電學(xué)院,,江蘇 南京210016)