新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP與AD9852的任意信號(hào)發(fā)生器

基于DSP與AD9852的任意信號(hào)發(fā)生器

——
作者:周 剛,王 磊 時(shí)間:2007-01-26 來源:《現(xiàn)代電子技術(shù)》 收藏

直接數(shù)字式頻率合成(dds)技術(shù)是繼直接頻率合成和間接頻率合成之后,隨著數(shù)字集成電路和微電子技術(shù)的發(fā)展而迅速發(fā)展起來的第三代頻率合成技術(shù)。dds技術(shù)具有相對(duì)帶寬寬、頻率轉(zhuǎn)換時(shí)間短、頻率分辨率高等優(yōu)點(diǎn),輸出相位連續(xù),頻率、相位和幅度均可實(shí)現(xiàn)程控,常用于高精度頻率合成和任意信號(hào)發(fā)生。本文在發(fā)動(dòng)機(jī)電控單元(ecu)硬件在環(huán)仿真系統(tǒng)的設(shè)計(jì)中,使用tms320 lf2407a控制2片ad9852產(chǎn)生2路同步的任意信號(hào),仿真發(fā)動(dòng)機(jī)工作時(shí)的真實(shí)信號(hào)。

1 ad9852和tms320lf2407a簡(jiǎn)介

本文引用地址:http://2s4d.com/article/21108.htm

ad9852是美國(guó)analog devices公司生產(chǎn)的新型直接數(shù)字頻率合成器,具有頻率轉(zhuǎn)化速度快、頻譜純度高、工作溫度范圍寬、集成度高等特點(diǎn)。工作電壓為3.3 v,片內(nèi)有4~20倍可編程時(shí)鐘乘法電路,系統(tǒng)最高時(shí)鐘可達(dá)300 mhz,輸出頻率可達(dá)120 mhz,頻率轉(zhuǎn)化速度小于1μs。內(nèi)部有12位d/a轉(zhuǎn)化器、48位可編程頻率寄存器和14位可編程相位寄存器,具有12位振幅調(diào)諧功能,能產(chǎn)生頻率、相位、幅度可編程控制的高穩(wěn)定模擬信號(hào)。

tms320lf2407a是ti公司推出的一款定點(diǎn)dsp控制器,他采用高性能靜態(tài)cmos技術(shù),使供電電壓降為3.3 v,減小了控制器的功耗;指令最短為25 ns,具有較強(qiáng)的實(shí)時(shí)控制能力;片內(nèi)有32 kb可加密的flash程序存儲(chǔ)器、2.5 kb的ram,500 ns轉(zhuǎn)換時(shí)間的a/d轉(zhuǎn)換器,片上事件管理器提供了可以滿足各種電機(jī)控制要求的pwm接口和i/o功能,此外片內(nèi)還集成了spi,sci和can控制器。

2 tms320lf2407a與ad9852的硬件接口電路

在本系統(tǒng)中,tms320lf2407a的功能是計(jì)算所要產(chǎn)生信號(hào)的波形參數(shù),并發(fā)送控制字到ad9852內(nèi)部的控制寄存器,以實(shí)現(xiàn)可編程的任意信號(hào)發(fā)生。數(shù)據(jù)的傳輸有串行、并行2種方式,串行傳輸速率最大為10 mhz,并行傳輸速率最大為100 mhz。為了節(jié)約dsp資源,在滿足系統(tǒng)要求的前提下,采取串口連接方式,利用tmslf2407a片內(nèi)的串行外設(shè)接口(spi)控制ad9852。接口電路的原理框圖如圖1所示。

3 ad9852的串行通信工作過程

ad9852的串行接口與tms320lf2407a的spi接口兼容,通過5個(gè)端口即可實(shí)現(xiàn)串行數(shù)據(jù)的傳輸控制。prd/csb是復(fù)用信號(hào),在串行工作狀態(tài)下csb作為ad9852串行總線的片選信號(hào),i/o reset是串口總線復(fù)位信號(hào),sclk是串口時(shí)鐘信號(hào),系統(tǒng)采用的是2線串口通信模式,使用sdio端口進(jìn)行雙向輸入輸出操作,i/o ud是更新時(shí)鐘信號(hào)。串行通信工作的時(shí)序如圖2所示。

ad9852的串行通信周期分為2個(gè)階段,sclk的前8個(gè)上升沿對(duì)應(yīng)于指令周期,在指令周期中,用戶向ad9852的串口控制器發(fā)送命令字來控制隨后進(jìn)行的串行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸周期從sclk的第9個(gè)上升沿開始,輸入數(shù)據(jù)在時(shí)鐘上升沿寫入,輸出的數(shù)據(jù)則在時(shí)鐘的下降沿讀出。由串口傳送的數(shù)據(jù)首先被寫入i/o緩存寄存器中,當(dāng)系統(tǒng)接收到有效的更新信號(hào)時(shí),才將這些數(shù)據(jù)寫入內(nèi)部控制寄存器組,完成相應(yīng)的功能。當(dāng)完成了通信周期后,ad9852的串口控制器認(rèn)為接下來的8個(gè)系統(tǒng)時(shí)鐘的上升沿對(duì)應(yīng)的是下一個(gè)通信周期的指令字。

當(dāng)i/o seset引腳出現(xiàn)一個(gè)高電平輸入時(shí),將會(huì)立即終止當(dāng)前的通信周期,當(dāng)i/o reset引腳狀態(tài)回到低電平時(shí),ad9852串口控制器認(rèn)為接下來的8個(gè)系統(tǒng)時(shí)鐘的上升沿對(duì)應(yīng)的是下一個(gè)通信周期的指令字,這一點(diǎn)對(duì)保持通信的同步十分有益。

4 2片ad9852同步工作

實(shí)現(xiàn)2片ad9852輸出信號(hào)波形相位同步的關(guān)鍵是使他們工作在相同的系統(tǒng)時(shí)鐘下,每個(gè)ad9852的系統(tǒng)時(shí)鐘之間的相位誤差最大不能超過1個(gè)周期。ad9852的系統(tǒng)時(shí)鐘可由參考時(shí)鐘直接提供,或?qū)⒖紩r(shí)鐘通過內(nèi)部的時(shí)鐘倍頻器放大而成。異步的更新時(shí)鐘經(jīng)過ad9852內(nèi)部的邊沿檢測(cè)電路后與系統(tǒng)時(shí)鐘同步,形成上升沿,觸發(fā)內(nèi)部控制寄存器更新內(nèi)容。因此,要實(shí)現(xiàn)2片ad9852的同步,必須使其參考時(shí)鐘與更新信號(hào)的上升沿同步。下面是確保2片ad9852同步工作需要注意的一些要點(diǎn)。

4.1 參考時(shí)鐘信號(hào)

ad9852的參考時(shí)鐘有差分輸入和單端輸入2種形式,由于差分時(shí)鐘在脈沖邊沿具有更短的上升和下降時(shí)間以及最小的抖動(dòng)率,可以有效地降低2片ad9852參考時(shí)鐘間的相位誤差,因此本系統(tǒng)采用了參考信號(hào)差分輸入的方式。對(duì)于差分輸入方式,輸入端信號(hào)可以是方波或正弦波,推薦使用maxim公司的max9371,他可以將普通時(shí)鐘信號(hào)轉(zhuǎn)化成系統(tǒng)所需的差分時(shí)鐘信號(hào)。為了實(shí)現(xiàn)參考時(shí)鐘同步,令2片ad9852合用一個(gè)晶振,晶振輸出的信號(hào)先分別傳給兩個(gè)差分時(shí)鐘生成器,經(jīng)過轉(zhuǎn)化后輸入2片ad9852。為了使每片ad9852參考時(shí)鐘信號(hào)在傳輸過程中的延遲時(shí)間一致,pcb布線時(shí)必須確保時(shí)鐘信號(hào)走線距離相同。

4.2 更新時(shí)鐘信號(hào)

在對(duì)ad9852進(jìn)行編程時(shí),串行輸入的數(shù)據(jù)被緩存在內(nèi)部的i/o緩沖寄存器中,不會(huì)影響到ad9852的工作狀態(tài);在更新時(shí)鐘信號(hào)的上升沿到來后,觸發(fā)i/o緩沖寄存器把數(shù)據(jù)傳送給內(nèi)部控制寄存器,這時(shí)才能完成相應(yīng)功能,實(shí)現(xiàn)對(duì)輸出信號(hào)的控制。更新時(shí)鐘信號(hào)的產(chǎn)生有2種方式,一種是由ad9852芯片內(nèi)部自動(dòng)產(chǎn)生,用戶可以對(duì)更新時(shí)鐘的頻率進(jìn)行編程來產(chǎn)生固定周期的內(nèi)部更新時(shí)鐘;另一種是由用戶提供外部更新時(shí)鐘,此時(shí)ad9852i/oud引腳為輸入引腳,由外部控制器提供信號(hào)。要實(shí)現(xiàn)2片ad9852同步,必須確保他們的更新時(shí)鐘信號(hào)的上升沿同時(shí)來臨,因此系統(tǒng)采取外部時(shí)鐘更新的方式。使用dsp的一個(gè)i/o端口與ad9852的i/o ud相連接,可以通過軟件的方式實(shí)現(xiàn)對(duì)更新時(shí)鐘信號(hào)上升沿的精確控制。對(duì)外部更新時(shí)鐘信號(hào)的布線要求同參考時(shí)鐘一樣。

4.3 參考時(shí)鐘倍頻器

ad9852的工作時(shí)鐘高達(dá)300 mhz,為了降低時(shí)鐘信號(hào)的干擾,系統(tǒng)應(yīng)采用低頻時(shí)鐘信號(hào)源,然后通過ad9852片內(nèi)的參考時(shí)鐘倍頻器,對(duì)外部參考時(shí)鐘實(shí)現(xiàn)4~20倍頻。參考時(shí)鐘倍頻器的鎖相環(huán)電路有2個(gè)工作狀態(tài):鎖定狀態(tài)和獲得鎖定狀態(tài)。在鎖定狀態(tài),系統(tǒng)時(shí)鐘信號(hào)和參考時(shí)鐘信號(hào)可以保持同步。但當(dāng)給ad9852發(fā)送控制指令時(shí),在其參考時(shí)鐘倍頻器工作后的短暫時(shí)間內(nèi),鎖相環(huán)不能立刻鎖定,仍然工作在獲得鎖定狀態(tài)。而此時(shí)傳送到ad9852相位累加器的系統(tǒng)時(shí)鐘周期的個(gè)數(shù)是不可控的,這可能導(dǎo)致2片ad9852的輸出信號(hào)之間相位不同步,因此系統(tǒng)初始化以后,一定要先確保鎖相環(huán)進(jìn)入鎖定狀態(tài),然后才能更新ad9852內(nèi)部的各種控制字。ad9852片內(nèi)鎖相環(huán)鎖定的典型時(shí)間約為400μs,建議至少留出1 ms時(shí)間使鎖相環(huán)進(jìn)入鎖定狀態(tài)。

5 ad9852的控制流程

(1)給系統(tǒng)上電,由dsp向ad9852發(fā)出復(fù)位信號(hào),此信號(hào)需要至少保持10個(gè)參考時(shí)鐘周期的高電平。

(2)將s/p select置0,選擇串行數(shù)據(jù)輸入方式。

(3)依次給每個(gè)ad9852發(fā)送控制字,使每個(gè)ad9852工作狀態(tài)由缺省的內(nèi)部更新時(shí)鐘模式改變成外部時(shí)鐘更新模式。

(4)將ad9852時(shí)鐘倍頻器工作的控制字依次寫入每個(gè)ad9852的i/o緩沖寄存器中,然后由dsp發(fā)出外部更新時(shí)鐘,更新每個(gè)ad9852內(nèi)部控制寄存器。

(5) dsp發(fā)出外部更新信號(hào),至少等待1.0 ms時(shí)間使ad9852內(nèi)部鎖相環(huán)鎖定。然后由dsp發(fā)送有關(guān)信號(hào)波形參數(shù)給ad9852,對(duì)他們的內(nèi)部控制寄存器內(nèi)容進(jìn)行同步更新,使2片ad9852輸出同步的模擬信號(hào)。

6 結(jié)語(yǔ)

使用dsp控制ad9852產(chǎn)生的爆震信號(hào)和凸輪軸信號(hào),在精確度和實(shí)時(shí)性兩個(gè)方面都能夠滿足發(fā)動(dòng)機(jī)電控單元硬件在環(huán)仿真系統(tǒng)的要求。在此系統(tǒng)的基礎(chǔ)上,可以進(jìn)一步擴(kuò)展為多片dds同步使用,適用于更多硬件在環(huán)仿真系統(tǒng)。



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉