黃明俊,秦碩,王緯國(guó)
(1.國(guó)營(yíng)蕪湖機(jī)械廠,安徽蕪湖,241007;2.空軍航空維修技術(shù)學(xué)院,湖南長(zhǎng)沙,410200)
為降低成本和提高信號(hào)發(fā)生器的通用性,通過(guò)采用頻率合成技術(shù),生成基本的正弦波、方波和三角波,再通過(guò)乘法器對(duì)各種波形進(jìn)行相乘運(yùn)算,實(shí)現(xiàn)將需要傳遞的信息調(diào)制到正弦波上進(jìn)行傳遞,既降低了程序設(shè)計(jì)的難度,又提高了可靠性。

圖1 信號(hào)生成框圖
本文利用STM32芯片和自帶的模擬輸出,通過(guò)編程直接進(jìn)行頻率合成生成標(biāo)準(zhǔn)的正弦波和三角波直接輸出至信號(hào)輸出端口,正弦波和三角的參數(shù)可根據(jù)測(cè)試需求進(jìn)行設(shè)定。
頻率合成技術(shù)的理論起源于二十世紀(jì)30年代左右,早期的頻綜是由一組晶振組成,能輸出多少個(gè)輸出頻點(diǎn),由晶體的數(shù)目所決定。需要由人工來(lái)實(shí)現(xiàn)頻率切換,主要由晶體來(lái)決定頻率的準(zhǔn)確度和穩(wěn)定度,很少與電路有關(guān)。
隨著數(shù)字技術(shù)的飛速發(fā)展,特別是集成電路集成度的快速上升,使得直接數(shù)字頻率合成(Direct Digital Frequency Synthesize)技術(shù)的實(shí)現(xiàn)成為可能。直接數(shù)字頻率合成技術(shù)是一種基于全數(shù)字技術(shù),從相位概念出發(fā)直接合成所需波形的一種頻率合成技術(shù)。通過(guò)采用非常高速的D/A轉(zhuǎn)換和數(shù)字電路,在帶寬、分辨率、連續(xù)性和轉(zhuǎn)換時(shí)間等指標(biāo)方面極大的超過(guò)了一般的數(shù)字合成技術(shù)。
直接數(shù)字頻率合成器中除了數(shù)模轉(zhuǎn)換器和濾波器之外,幾乎所有的部件都屬于數(shù)字器件,因此便于集成,且調(diào)整方便靈活,電路功耗低、體積小和可靠性高。
對(duì)于較為復(fù)雜的波形通過(guò)乘法器進(jìn)行處理,接下來(lái)重點(diǎn)闡述將正弦波與三角波相乘,得到航空測(cè)試用周期性幅值變化中頻信號(hào)的設(shè)計(jì)過(guò)程。為了將傳輸信息通過(guò)正弦波進(jìn)行傳遞,設(shè)計(jì)一個(gè)中頻(400Hz)正弦波與一個(gè)低頻(0.5Hz)的三角波相乘獲得一個(gè)幅值可變的正弦波信號(hào),也就是將三角波表示的信息調(diào)制到正弦波上進(jìn)行傳遞。正弦波和三角波采用STM32單片機(jī)通過(guò)DDS頻率合成技術(shù)實(shí)現(xiàn),乘法運(yùn)算采用AD633芯片實(shí)現(xiàn),并進(jìn)行功率輸出。
STM32系列單片機(jī)是由意法半導(dǎo)體公司設(shè)計(jì)的32位微控制器,采用了ARM公司的Cortex-M3核心架構(gòu),適用于高性能、低成本、低功耗的嵌入式應(yīng)用場(chǎng)合,具有以下特點(diǎn):(1)基本型時(shí)鐘頻率為36MHz;互聯(lián)型、增強(qiáng)型系列時(shí)鐘頻率為72MHz。(2)32k 到 128k 的閃存。(3)功耗低。(4)豐富的內(nèi)置資源(寄存器和外設(shè)功能)。(5)GPIO輸入模式包括浮空輸入、下拉輸入、上拉輸入、模擬輸入等;輸出模式包括開(kāi)漏復(fù)用輸出、推挽輸出、推挽復(fù)用輸出、開(kāi)漏輸出等。(6)外圍接口豐富。(7)輸出功率可以通過(guò)軟件編程來(lái)進(jìn)行控制。(8)數(shù)據(jù)處理快,效率高:中央處理單元采用了零等待處理器,在運(yùn)行過(guò)程中能實(shí)現(xiàn)無(wú)響應(yīng)時(shí)間的數(shù)據(jù)處理。(9)實(shí)用價(jià)值高:在數(shù)據(jù)接口的設(shè)計(jì)方面,采用了引腳和接口等設(shè)計(jì),通過(guò)這樣的設(shè)計(jì)使其可以完全滿足單片機(jī)實(shí)際應(yīng)用的需求。(10)數(shù)據(jù)采集功能強(qiáng):在內(nèi)部接口方面,其實(shí)現(xiàn)了溫度傳感器的集成,并設(shè)置了模數(shù)轉(zhuǎn)換器。(11)用高級(jí)定時(shí)器代替了現(xiàn)有的傳統(tǒng)通用性定時(shí)器。(12)數(shù)據(jù)傳輸效率高,內(nèi)部結(jié)構(gòu)設(shè)置了存取寄存器,能夠在不影響中央處理單元的運(yùn)行效率的情況下實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。

圖2 選型說(shuō)明
根據(jù)本文的實(shí)際需求,具體型號(hào)上選用了STM32F103 RCT6,即基礎(chǔ)型、64&66引腳、256Kb閃存容量、QFP(方型扁平式)封裝、-40℃~+85℃溫度范圍。
AD633乘法器是由亞德諾半導(dǎo)體公司(ADI)設(shè)計(jì)的一款功能完整的四象限模擬乘法器,包括高阻抗差分X和Y輸入以及高阻抗求和輸入(Z)。低阻抗輸出電壓為10V標(biāo)稱滿量程,由一個(gè)嵌入式齊納二極管提供。AD633經(jīng)過(guò)激光校準(zhǔn),保證總精度為滿量程的2%。在10Hz至10kHz帶寬內(nèi),Y輸入的非線性典型值小于0.1%,折合到輸出端的噪聲典型值低于100μV均方根。AD633具有1MHz帶寬和20V/μs壓擺率,并且能驅(qū)動(dòng)容性負(fù)載,使用方便靈活,成本較低。另外,AD633的簡(jiǎn)單易用并不影響其多功能性。可以通過(guò)Z輸入訪問(wèn)輸出緩沖放大器,從而可以將兩個(gè)或更多乘法器的輸出相加,提高乘法器增益,將輸出電壓轉(zhuǎn)換為電流,以適合各種配置應(yīng)用。
AD633的應(yīng)用場(chǎng)合包括乘法、除法、平方運(yùn)算,調(diào)制/解調(diào)、相位檢測(cè),電壓控制放大/衰減/濾波等。

圖3 AD633乘法器的原理框圖與引腳定義
本文首先利用STM32自帶的DAC轉(zhuǎn)器模塊實(shí)現(xiàn)正弦波形和三角波形輸出。該DAC模塊12位電壓輸出數(shù)模轉(zhuǎn)換器。DAC可以按8位或12位模式進(jìn)行配置,本方法按12位配置,并且與DMA控制器配合使用。在12位模式下,數(shù)據(jù)可以采用左對(duì)齊或右對(duì)齊。DAC有兩個(gè)輸出通道,每個(gè)通道各有一個(gè)轉(zhuǎn)換器。在DAC雙通道模式下,每個(gè)通道可以單獨(dú)進(jìn)行轉(zhuǎn)換;當(dāng)兩個(gè)通道組合在一起同步執(zhí)行更新操作時(shí),也可以同時(shí)進(jìn)行轉(zhuǎn)換。可通過(guò)一個(gè)輸入?yún)⒖茧妷阂_VREF+來(lái)提高分辨率。
以三角波為例闡述波形生成方法。進(jìn)行DAC輸出編程時(shí),首先需要將GPIO時(shí)鐘、DAC時(shí)鐘使能,配置GPIO引腳功能,初始化DAC配置。將DAC_CR寄存器中的相ENx位置1,即可接通對(duì)應(yīng)DAC通道。采用12位左對(duì)齊的方式,利用軟件將數(shù)據(jù)加載到DAC_DHR12Lx[15:4]位,存儲(chǔ)到加載寄存器DHRx,通過(guò)該寄存器傳輸?shù)紻AC通道x。經(jīng)過(guò)一個(gè)APB1時(shí)鐘周期后,DAC_DHRx寄存器中存儲(chǔ)的數(shù)據(jù)將自動(dòng)轉(zhuǎn)移到DAC_DORx寄存器,當(dāng)DAC_DORx加載了DAC_DHRx內(nèi)容時(shí),模擬輸出電壓將在一段時(shí)間tSETTLING后產(chǎn)生,具體時(shí)間取決于電源電壓和模擬輸出負(fù)載。模擬輸出電壓的大小介于0和VREF之間,由DAC_DORx寄存器內(nèi)的數(shù)字決定,計(jì)算公式如下。

式(1)中,VREF表示參考電壓,DORX表示寄存器內(nèi)的數(shù)值。V輸出表示模擬輸出電壓。當(dāng)根據(jù)定時(shí)器的要求,將三角波的波形建立一個(gè)數(shù)據(jù)庫(kù),每間隔一定的時(shí)間,就將數(shù)據(jù)庫(kù)里的數(shù)值輸入DORX,那么輸出就會(huì)產(chǎn)生對(duì)應(yīng)的輸出電壓,形成三角波輸出。
當(dāng)建立正弦波的參數(shù)表,或者根據(jù)正弦波的計(jì)算公式,在定時(shí)器的控制下,每間隔一定時(shí)間,就將正弦波的波形數(shù)據(jù)輸入到DORX寄存器,那么波形輸出端就會(huì)產(chǎn)生正弦波信號(hào)。
STM32輸出的正弦波信號(hào)X接AD633的1號(hào)引腳,三角波信號(hào)Y接AD633的3號(hào)引腳,AD633的6號(hào)引腳接地,輸出信號(hào)表示為:

AD633接線關(guān)系如下圖4所示。

圖4 AD633乘法應(yīng)用電路
具體電路如下圖5所示。

圖5 信號(hào)生成電路原理圖
為驗(yàn)證電路設(shè)計(jì)的正確性,本文使用Protues 8.0仿真器進(jìn)行實(shí)驗(yàn)仿真。Proteus是英國(guó)Labcenter Electronics公司開(kāi)發(fā)的一款電路仿真軟件,包括電路仿真、PCB設(shè)計(jì)和虛擬模型仿真,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086、MSP430、Cortex和DSP等系列處理器。
Proteus可提供30多種元件庫(kù),超過(guò)8000種模擬、數(shù)字元器件。可按照設(shè)計(jì)的要求選擇不同生產(chǎn)廠家的元器件。此外,對(duì)于元器件庫(kù)中沒(méi)有的元件,設(shè)計(jì)者也可以通過(guò)軟件自己創(chuàng)建。
Proteus還提供各種虛擬儀器,如常用的電流表,電壓表,示波器,計(jì)數(shù)/定時(shí)/頻率計(jì),SPI調(diào)試器等虛擬終端。支持圖形化的分析功能等。
Proteus特別適合對(duì)嵌入式系統(tǒng)進(jìn)行軟硬件協(xié)同設(shè)計(jì)與仿真,其包含強(qiáng)大的調(diào)試工具,具有對(duì)寄存器和存儲(chǔ)器、斷點(diǎn)和單步模式IAR C-SPY,Keil、MPLAB等開(kāi)發(fā)工具的源程序進(jìn)行調(diào)試的功能;能夠觀察代碼在仿真硬件上的實(shí)時(shí)運(yùn)行效果;對(duì)顯示,按鈕,鍵盤(pán)等外設(shè)的交互可視化進(jìn)行仿真。
仿真電路如下圖6所示。

圖6 AD633乘法器仿真電路
上圖中,兩個(gè)信號(hào)發(fā)生器組件分別產(chǎn)生正弦波和三角波輸入信號(hào),U1表示AD633,兩個(gè)信號(hào)發(fā)生器分別產(chǎn)生正弦波和三角波,示波器顯示輸入信號(hào)和輸出信號(hào)。通過(guò)乘法器將正弦波調(diào)制到三角波上面,實(shí)現(xiàn)正弦波信號(hào)的幅值周期性變化,最終實(shí)現(xiàn)信號(hào)的傳遞。
設(shè)計(jì)正弦波的頻率為400Hz,三角波為0.5Hz,將頻率高的正弦波調(diào)制到低頻的三角波,實(shí)現(xiàn)信號(hào)的傳遞。

圖7 輸入波形

圖8 輸出波形
上圖中黃色部分為正弦波,紅色為三角波,通過(guò)乘法器后得到橘紅色的有效值變化的波形。通過(guò)調(diào)節(jié)三角波信號(hào)的頻率可以使產(chǎn)生信號(hào)的幅值變換速度改變。當(dāng)三角波的頻率增加時(shí),幅值改變的頻率也增加,當(dāng)三角波的頻率減少時(shí),幅值改變的頻率也減少,該信號(hào)已經(jīng)成功應(yīng)用在某型飛機(jī)測(cè)試設(shè)備中,取得了很好的測(cè)試效果。