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