基于ARM與DDS的高精度正弦信號(hào)發(fā)生器設(shè)計(jì)
摘要:隨著電子技術(shù)的不斷發(fā)展與進(jìn)步,現(xiàn)代的電子測(cè)量、通信系統(tǒng)越來越需要有高精度和靈活的正弦信號(hào)源進(jìn)行測(cè)量和調(diào)試。為了滿足外場(chǎng)試驗(yàn)對(duì)便攜式信號(hào)發(fā)生器的需要,利用直接數(shù)字合成技術(shù),通過ARM芯片STM32實(shí)現(xiàn)對(duì)DDS芯片ML2035的控制,產(chǎn)生從0~25 kHz的正弦信號(hào)。結(jié)論表明,使用ARM和ML2035構(gòu)成的正弦信號(hào)源的頻率具有精度高的特點(diǎn),設(shè)計(jì)方法對(duì)于特定場(chǎng)合的應(yīng)用具有借鑒意義。
關(guān)鍵詞:正弦信號(hào)源;STM32;DDS;ML2035
正弦信號(hào)發(fā)生器是一種廣泛應(yīng)用的信號(hào)源。隨著電子技術(shù)的不斷發(fā)展與進(jìn)步,現(xiàn)代的電子測(cè)量、通信系統(tǒng)越來越需要有高精度和靈活的正弦信號(hào)發(fā)生器進(jìn)行測(cè)量和調(diào)試。而ARM芯片在當(dāng)今由于其高性能、低成本、低功耗,可擴(kuò)展性強(qiáng),正被廣泛應(yīng)用于便捷式儀器的設(shè)計(jì)。因此,為了滿足對(duì)儀器便捷、靈活及待機(jī)時(shí)間長(zhǎng)等的要求,文中利用DDS技術(shù)通過ARM控制,設(shè)計(jì)了一種便攜式的正弦信號(hào)發(fā)生器,該信號(hào)發(fā)生器的頻率范圍在0~25 kHz,頻率分辨率為1 Hz,輸出幅度為5 V。
1 系統(tǒng)總體設(shè)計(jì)方案
對(duì)系統(tǒng)總體設(shè)計(jì)方案充分理解的基礎(chǔ)上,按照模塊化的設(shè)計(jì)思想,合理劃分各個(gè)不同單元待實(shí)現(xiàn)的功能,從而形成了系統(tǒng)總體方案設(shè)計(jì)框圖,如圖1所示。
此方案的工作原理及各部分的功能如下:
1)電平轉(zhuǎn)換模塊主要是完成232電平和TTL電平的轉(zhuǎn)換,以便通過串口把檢測(cè)到的有效值發(fā)送到上位機(jī)界面進(jìn)行同步顯示。
2)ARM處理器是整個(gè)方案的控制核心,采用的是STM32芯片。其接收操作人員通過上位機(jī)軟件發(fā)出的各種操作指令以及從按鍵上輸入的指令,按照這些指令的要求,控制信號(hào)產(chǎn)生芯片產(chǎn)生所需的幅度、頻率信號(hào)。
3)按鍵模塊是控制系統(tǒng)中人機(jī)交互的一部分,采用的是4個(gè)獨(dú)立鍵盤。操作人員通過鍵盤輸入想要產(chǎn)生波形的參數(shù),送給處理器進(jìn)行處理。
4)顯示模塊采用NOKIA5110液晶顯示屏顯示模塊。是將要產(chǎn)生的波形信息利用顯示屏進(jìn)行顯示,可以使操作人員很直觀的知道波形的幅值和頻率。
5)DDS模塊是合成所需頻率的合成器,該模塊選用的ML2035芯片。模塊通過ARM處理器進(jìn)行控制產(chǎn)生所需的頻率。
6)信號(hào)放大模塊完成對(duì)信號(hào)的幅度放大,滿足正弦信號(hào)幅值實(shí)際應(yīng)用的需求。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 處理器電路設(shè)計(jì)
處理器電路設(shè)計(jì)包括STM32F103RCT6芯片所用外圍管腳連接、晶振電路設(shè)計(jì)、去耦電路設(shè)計(jì)、復(fù)位電路設(shè)計(jì)、JTAG調(diào)試電路設(shè)計(jì)。
2.1.1 晶振電路
晶振是為處理器STM32提供頻率基準(zhǔn)的元器件,屬于最小系統(tǒng)中不可或缺的一部分。晶振電路用于向處理器提供工作時(shí)鐘。本系統(tǒng)最小系統(tǒng)晶振電路即時(shí)鐘源包括兩部分:
1)在引腳OSC_IN和OSC_OUT跨接晶振Y1和電容C16、C17共同構(gòu)成電容三點(diǎn)式振蕩電路;
2)在引腳PC14和PC15跨接晶振Y2和電容C17、C18共同構(gòu)成電容三點(diǎn)式振蕩電路。
本系統(tǒng)使用無源晶振8MHz作為系統(tǒng)的主振蕩器,一個(gè)32.768kHz的晶振作為內(nèi)置實(shí)時(shí)時(shí)鐘(RTC)振蕩器。晶體振蕩器的連接如圖2所示。
2.1.2 去耦電路
電路中存在模擬和數(shù)字電源,需要加入電感和電容組成去耦電路。STM32中有3組VDD/VSS管腳,有1組VDDA/VSSA管腳。盡管所有的VDD和所有VSS在內(nèi)部相連,在芯片外部仍然需要連接所有的VDD和VSS。模擬電源與數(shù)字電源去耦電路如圖3所示。
2.1.3 復(fù)位電路
復(fù)位電路的基本功能是讓系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至電源穩(wěn)定后,撤銷復(fù)位信號(hào)。本系統(tǒng)采用簡(jiǎn)單的“RC+按鍵”復(fù)位形式,該復(fù)位電路可以實(shí)現(xiàn)上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位。如圖4為復(fù)位電路原理圖。
2.1.4 JTAG電路
標(biāo)準(zhǔn)的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。系統(tǒng)的JTAG除了上面的4 線外,還與處理器連接接了測(cè)試系統(tǒng)復(fù)位信號(hào)線TRST,并且還必須把測(cè)試時(shí)鐘返回信號(hào)RTCK拉低。系統(tǒng)20針JTAG電路連接如圖5所示。
2.2 DDS模塊電路設(shè)計(jì)
DDS芯片選擇ML2035,本發(fā)生器輸出的低頻信號(hào)主要由STM32通過SPI1接口來控制ML2035產(chǎn)生。ML2035原理圖如圖6所示。ML2035的外圍晶振選用6.5536 MHz可以滿足技術(shù)要求,使用的是STM32的SPI1接口。PA5為SPI1的時(shí)鐘端(SCK),PA6為主機(jī)輸入從機(jī)輸出端(MISO),PB4(NSS)為從機(jī)選擇端。
2.3 顯示電路設(shè)計(jì)
在NOKIA5110液晶顯示屏中可以顯示出信號(hào)源的頻率和幅值,本系統(tǒng)LCD和STM32之間采用的是SPI串行數(shù)據(jù)傳輸,采用直接背光的形式,液晶顯示電路的設(shè)計(jì)如圖7所示。
2.4 按鍵電路設(shè)計(jì)
采用4個(gè)獨(dú)立按鍵,每個(gè)按鍵占用一條I/O線,按鍵與處理器的PA0~PA3進(jìn)行連接,按下為0,不按為1,如圖8按鍵電路所示。按鍵電路主要完成4個(gè)功能,對(duì)初始化的頻率值加、減和選擇+5 V、+10 V輸出。
2.5 信號(hào)放大電路設(shè)計(jì)
采用LM321設(shè)計(jì)信號(hào)放大電路。LM321是高增益,內(nèi)部頻率補(bǔ)償運(yùn)算放大器。信號(hào)放大電路圖如圖9所示。
2.6 平轉(zhuǎn)換電路的設(shè)計(jì)
RS-232C電平與單片機(jī)的TTL電平不匹配,通訊時(shí)必須對(duì)兩種電平進(jìn)行轉(zhuǎn)換。系統(tǒng)利用的是處理器的串口1,所以處理器的PA9和PA10還要與MAX232進(jìn)行連接。電平轉(zhuǎn)換電路原理圖設(shè)計(jì)如圖10所示。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 ML2035驅(qū)動(dòng)程序
ML2035驅(qū)動(dòng)程序是通過處理器STM32的SPI1口發(fā)送控制字給ML2035,包括SPI1的初始化程序和SPI1讀寫程序,程序如下:
3.2 顯示與接口軟件程序
3.2.1 NOKIA5110液晶顯示程序
NOKIA5110液晶顯示程序的流程圖如圖11所示,本系統(tǒng)寫NOKIA5110顯示程序采用CPIO模擬SPI。
程序代碼編寫如下:
3.2.2 按鍵掃描程序
按鍵掃描程序依次掃描4個(gè)按鍵,使用一個(gè)u8變量的低4位存儲(chǔ)掃描結(jié)果,如果對(duì)應(yīng)位上的按鍵被按下,則該位置0,否則,置1;然后處理掃描結(jié)果,依次判斷u8變量的低4位,如果某個(gè)按鍵被按下,則做出相應(yīng)的處理。按鍵程序流程圖如圖12所示。
按鍵掃描部分程序如下:
4 系統(tǒng)調(diào)試
由DDS的基本原理可以知道,輸出的正弦信號(hào)將有可能出現(xiàn)誤差。但是本系統(tǒng)對(duì)精度要求相當(dāng)高,所以進(jìn)行了信號(hào)的精度測(cè)試。對(duì)于不同的參考時(shí)鐘,將產(chǎn)生不同程度的頻率誤差,表1列舉了ML2035在0~25 kHz頻率范圍內(nèi),不同輸出信號(hào)產(chǎn)生的誤差。
從表1中可以看出,在小于100 Hz,相對(duì)誤差較小,基本滿足條件。在100~25 000 Hz,可能因?yàn)楦蓴_信號(hào)加強(qiáng),實(shí)驗(yàn)儀器誤差、人為因素產(chǎn)生的誤差,導(dǎo)致誤差相對(duì)較大,但是沒超過5 Hz。
5 結(jié)論
系統(tǒng)以DDS模塊為研究對(duì)象,基于ARM處理器、DDS技術(shù)、顯示技術(shù)、EDA技術(shù)等完成高精度、便攜且操作簡(jiǎn)單方便的正弦信號(hào)產(chǎn)生模塊的設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,利用DDS技術(shù),有低成本、低功耗、頻率切換時(shí)間短,頻率分辨率高等特點(diǎn);ARM處理器STM32芯片應(yīng)用于信號(hào)源設(shè)計(jì),具有控制功能強(qiáng),電路簡(jiǎn)單等特點(diǎn);ML2035芯片所產(chǎn)生的正弦信號(hào)能達(dá)到很高的精度,且易于調(diào)試,因此它被廣泛用于正弦信號(hào)發(fā)生模塊的相關(guān)領(lǐng)域,為設(shè)計(jì)便攜信號(hào)源提供了良好的芯片選擇。