新聞中心

EEPW首頁 > 設計應用 > 基于ARM與DDS的高精度正弦信號發(fā)生器設計

基于ARM與DDS的高精度正弦信號發(fā)生器設計

作者: 時間:2016-10-10 來源:網絡 收藏

摘要:隨著電子技術的不斷發(fā)展與進步,現(xiàn)代的電子測量、通信系統(tǒng)越來越需要有高精度和靈活的進行測量和調試。為了滿足外場試驗對便攜式信號發(fā)生器的需要,利用直接數(shù)字合成技術,通過ARM芯片實現(xiàn)對芯片的控制,產生從0~25 kHz的正弦信號。結論表明,使用ARM和構成的的頻率具有精度高的特點,設計方法對于特定場合的應用具有借鑒意義。

本文引用地址:http://www.butianyuan.cn/article/201610/306089.htm

關鍵詞:;;;

正弦信號發(fā)生器是一種廣泛應用的信號源。隨著電子技術的不斷發(fā)展與進步,現(xiàn)代的電子測量、通信系統(tǒng)越來越需要有高精度和靈活的正弦信號發(fā)生器進行測量和調試。而ARM芯片在當今由于其高性能、低成本、低功耗,可擴展性強,正被廣泛應用于便捷式儀器的設計。因此,為了滿足對儀器便捷、靈活及待機時間長等的要求,文中利用技術通過ARM控制,設計了一種便攜式的正弦信號發(fā)生器,該信號發(fā)生器的頻率范圍在0~25 kHz,頻率分辨率為1 Hz,輸出幅度為5 V。

1 系統(tǒng)總體設計方案

對系統(tǒng)總體設計方案充分理解的基礎上,按照模塊化的設計思想,合理劃分各個不同單元待實現(xiàn)的功能,從而形成了系統(tǒng)總體方案設計框圖,如圖1所示。

a.jpg

此方案的工作原理及各部分的功能如下:

1)電平轉換模塊主要是完成232電平和TTL電平的轉換,以便通過串口把檢測到的有效值發(fā)送到上位機界面進行同步顯示。

2)ARM處理器是整個方案的控制核心,采用的是芯片。其接收操作人員通過上位機軟件發(fā)出的各種操作指令以及從按鍵上輸入的指令,按照這些指令的要求,控制信號產生芯片產生所需的幅度、頻率信號。

3)按鍵模塊是控制系統(tǒng)中人機交互的一部分,采用的是4個獨立鍵盤。操作人員通過鍵盤輸入想要產生波形的參數(shù),送給處理器進行處理。

4)顯示模塊采用NOKIA5110液晶顯示屏顯示模塊。是將要產生的波形信息利用顯示屏進行顯示,可以使操作人員很直觀的知道波形的幅值和頻率。

5)DDS模塊是合成所需頻率的合成器,該模塊選用的ML2035芯片。模塊通過ARM處理器進行控制產生所需的頻率。

6)信號放大模塊完成對信號的幅度放大,滿足正弦信號幅值實際應用的需求。

2 系統(tǒng)硬件設計

2.1 處理器電路設計

處理器電路設計包括STM32F103RCT6芯片所用外圍管腳連接、晶振電路設計、去耦電路設計、復位電路設計、JTAG調試電路設計。

2.1.1 晶振電路

晶振是為處理器STM32提供頻率基準的元器件,屬于最小系統(tǒng)中不可或缺的一部分。晶振電路用于向處理器提供工作時鐘。本系統(tǒng)最小系統(tǒng)晶振電路即時鐘源包括兩部分:

1)在引腳OSC_IN和OSC_OUT跨接晶振Y1和電容C16、C17共同構成電容三點式振蕩電路;

2)在引腳PC14和PC15跨接晶振Y2和電容C17、C18共同構成電容三點式振蕩電路。

本系統(tǒng)使用無源晶振8MHz作為系統(tǒng)的主振蕩器,一個32.768kHz的晶振作為內置實時時鐘(RTC)振蕩器。晶體振蕩器的連接如圖2所示。

b.jpg

2.1.2 去耦電路

電路中存在模擬和數(shù)字電源,需要加入電感和電容組成去耦電路。STM32中有3組VDD/VSS管腳,有1組VDDA/VSSA管腳。盡管所有的VDD和所有VSS在內部相連,在芯片外部仍然需要連接所有的VDD和VSS。模擬電源與數(shù)字電源去耦電路如圖3所示。

2.1.3 復位電路

復位電路的基本功能是讓系統(tǒng)上電時提供復位信號,直至電源穩(wěn)定后,撤銷復位信號。本系統(tǒng)采用簡單的“RC+按鍵”復位形式,該復位電路可以實現(xiàn)上電自動復位和手動按鍵復位。如圖4為復位電路原理圖。

2.1.4 JTAG電路

標準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據輸入和數(shù)據輸出線。系統(tǒng)的JTAG除了上面的4 線外,還與處理器連接接了測試系統(tǒng)復位信號線TRST,并且還必須把測試時鐘返回信號RTCK拉低。系統(tǒng)20針JTAG電路連接如圖5所示。

2.2 DDS模塊電路設計

DDS芯片選擇ML2035,本發(fā)生器輸出的低頻信號主要由STM32通過SPI1接口來控制ML2035產生。ML2035原理圖如圖6所示。ML2035的外圍晶振選用6.5536 MHz可以滿足技術要求,使用的是STM32的SPI1接口。PA5為SPI1的時鐘端(SCK),PA6為主機輸入從機輸出端(MISO),PB4(NSS)為從機選擇端。

2.3 顯示電路設計

在NOKIA5110液晶顯示屏中可以顯示出信號源的頻率和幅值,本系統(tǒng)LCD和STM32之間采用的是SPI串行數(shù)據傳輸,采用直接背光的形式,液晶顯示電路的設計如圖7所示。

2.4 按鍵電路設計

采用4個獨立按鍵,每個按鍵占用一條I/O線,按鍵與處理器的PA0~PA3進行連接,按下為0,不按為1,如圖8按鍵電路所示。按鍵電路主要完成4個功能,對初始化的頻率值加、減和選擇+5 V、+10 V輸出。

2.5 信號放大電路設計

采用LM321設計信號放大電路。LM321是高增益,內部頻率補償運算放大器。信號放大電路圖如圖9所示。

2.6 平轉換電路的設計

RS-232C電平與單片機的TTL電平不匹配,通訊時必須對兩種電平進行轉換。系統(tǒng)利用的是處理器的串口1,所以處理器的PA9和PA10還要與MAX232進行連接。電平轉換電路原理圖設計如圖10所示。

3 系統(tǒng)軟件設計

3.1 ML2035驅動程序

ML2035驅動程序是通過處理器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位存儲掃描結果,如果對應位上的按鍵被按下,則該位置0,否則,置1;然后處理掃描結果,依次判斷u8變量的低4位,如果某個按鍵被按下,則做出相應的處理。按鍵程序流程圖如圖12所示。

按鍵掃描部分程序如下:

4 系統(tǒng)調試

由DDS的基本原理可以知道,輸出的正弦信號將有可能出現(xiàn)誤差。但是本系統(tǒng)對精度要求相當高,所以進行了信號的精度測試。對于不同的參考時鐘,將產生不同程度的頻率誤差,表1列舉了ML2035在0~25 kHz頻率范圍內,不同輸出信號產生的誤差。

從表1中可以看出,在小于100 Hz,相對誤差較小,基本滿足條件。在100~25 000 Hz,可能因為干擾信號加強,實驗儀器誤差、人為因素產生的誤差,導致誤差相對較大,但是沒超過5 Hz。

5 結論

系統(tǒng)以DDS模塊為研究對象,基于ARM處理器、DDS技術、顯示技術、EDA技術等完成高精度、便攜且操作簡單方便的正弦信號產生模塊的設計。實驗結果表明,利用DDS技術,有低成本、低功耗、頻率切換時間短,頻率分辨率高等特點;ARM處理器STM32芯片應用于信號源設計,具有控制功能強,電路簡單等特點;ML2035芯片所產生的正弦信號能達到很高的精度,且易于調試,因此它被廣泛用于正弦信號發(fā)生模塊的相關領域,為設計便攜信號源提供了良好的芯片選擇。

  • STM32單片機中文官網
  • STM32單片機官方開發(fā)工具
  • STM32單片機參考設計


評論


相關推薦

技術專區(qū)

關閉