基于DSP與AD9852的任意信號發(fā)生器
直接數字式頻率合成(dds)技術(shù)是繼直接頻率合成和間接頻率合成之后,隨著(zhù)數字集成電路和微電子技術(shù)的發(fā)展而迅速發(fā)展起來(lái)的第三代頻率合成技術(shù)。dds技術(shù)具有相對帶寬寬、頻率轉換時(shí)間短、頻率分辨率高等優(yōu)點(diǎn),輸出相位連續,頻率、相位和幅度均可實(shí)現程控,常用于高精度頻率合成和任意信號發(fā)生。本文在發(fā)動(dòng)機電控單元(ecu)硬件在環(huán)仿真系統的設計中,使用tms320 lf2407a控制2片ad9852產(chǎn)生2路同步的任意信號,仿真發(fā)動(dòng)機工作時(shí)的真實(shí)信號。
1 ad9852和tms320lf2407a簡(jiǎn)介
本文引用地址:http://dyxdggzs.com/article/21108.htmad9852是美國analog devices公司生產(chǎn)的新型直接數字頻率合成器,具有頻率轉化速度快、頻譜純度高、工作溫度范圍寬、集成度高等特點(diǎn)。工作電壓為3.3 v,片內有4~20倍可編程時(shí)鐘乘法電路,系統最高時(shí)鐘可達300 mhz,輸出頻率可達120 mhz,頻率轉化速度小于1μs。內部有12位d/a轉化器、48位可編程頻率寄存器和14位可編程相位寄存器,具有12位振幅調諧功能,能產(chǎn)生頻率、相位、幅度可編程控制的高穩定模擬信號。
tms320lf2407a是ti公司推出的一款定點(diǎn)dsp控制器,他采用高性能靜態(tài)cmos技術(shù),使供電電壓降為3.3 v,減小了控制器的功耗;指令最短為25 ns,具有較強的實(shí)時(shí)控制能力;片內有32 kb可加密的flash程序存儲器、2.5 kb的ram,500 ns轉換時(shí)間的a/d轉換器,片上事件管理器提供了可以滿(mǎn)足各種電機控制要求的pwm接口和i/o功能,此外片內還集成了spi,sci和can控制器。
2 tms320lf2407a與ad9852的硬件接口電路
在本系統中,tms320lf2407a的功能是計算所要產(chǎn)生信號的波形參數,并發(fā)送控制字到ad9852內部的控制寄存器,以實(shí)現可編程的任意信號發(fā)生。數據的傳輸有串行、并行2種方式,串行傳輸速率最大為10 mhz,并行傳輸速率最大為100 mhz。為了節約dsp資源,在滿(mǎn)足系統要求的前提下,采取串口連接方式,利用tmslf2407a片內的串行外設接口(spi)控制ad9852。接口電路的原理框圖如圖1所示。

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

ad9852的串行通信周期分為2個(gè)階段,sclk的前8個(gè)上升沿對應于指令周期,在指令周期中,用戶(hù)向ad9852的串口控制器發(fā)送命令字來(lái)控制隨后進(jìn)行的串行數據傳輸。數據傳輸周期從sclk的第9個(gè)上升沿開(kāi)始,輸入數據在時(shí)鐘上升沿寫(xiě)入,輸出的數據則在時(shí)鐘的下降沿讀出。由串口傳送的數據首先被寫(xiě)入i/o緩存寄存器中,當系統接收到有效的更新信號時(shí),才將這些數據寫(xiě)入內部控制寄存器組,完成相應的功能。當完成了通信周期后,ad9852的串口控制器認為接下來(lái)的8個(gè)系統時(shí)鐘的上升沿對應的是下一個(gè)通信周期的指令字。
當i/o seset引腳出現一個(gè)高電平輸入時(shí),將會(huì )立即終止當前的通信周期,當i/o reset引腳狀態(tài)回到低電平時(shí),ad9852串口控制器認為接下來(lái)的8個(gè)系統時(shí)鐘的上升沿對應的是下一個(gè)通信周期的指令字,這一點(diǎn)對保持通信的同步十分有益。
4 2片ad9852同步工作
實(shí)現2片ad9852輸出信號波形相位同步的關(guān)鍵是使他們工作在相同的系統時(shí)鐘下,每個(gè)ad9852的系統時(shí)鐘之間的相位誤差最大不能超過(guò)1個(gè)周期。ad9852的系統時(shí)鐘可由參考時(shí)鐘直接提供,或將參考時(shí)鐘通過(guò)內部的時(shí)鐘倍頻器放大而成。異步的更新時(shí)鐘經(jīng)過(guò)ad9852內部的邊沿檢測電路后與系統時(shí)鐘同步,形成上升沿,觸發(fā)內部控制寄存器更新內容。因此,要實(shí)現2片ad9852的同步,必須使其參考時(shí)鐘與更新信號的上升沿同步。下面是確保2片ad9852同步工作需要注意的一些要點(diǎn)。
4.1 參考時(shí)鐘信號
ad9852的參考時(shí)鐘有差分輸入和單端輸入2種形式,由于差分時(shí)鐘在脈沖邊沿具有更短的上升和下降時(shí)間以及最小的抖動(dòng)率,可以有效地降低2片ad9852參考時(shí)鐘間的相位誤差,因此本系統采用了參考信號差分輸入的方式。對于差分輸入方式,輸入端信號可以是方波或正弦波,推薦使用maxim公司的max9371,他可以將普通時(shí)鐘信號轉化成系統所需的差分時(shí)鐘信號。為了實(shí)現參考時(shí)鐘同步,令2片ad9852合用一個(gè)晶振,晶振輸出的信號先分別傳給兩個(gè)差分時(shí)鐘生成器,經(jīng)過(guò)轉化后輸入2片ad9852。為了使每片ad9852參考時(shí)鐘信號在傳輸過(guò)程中的延遲時(shí)間一致,pcb布線(xiàn)時(shí)必須確保時(shí)鐘信號走線(xiàn)距離相同。
4.2 更新時(shí)鐘信號
在對ad9852進(jìn)行編程時(shí),串行輸入的數據被緩存在內部的i/o緩沖寄存器中,不會(huì )影響到ad9852的工作狀態(tài);在更新時(shí)鐘信號的上升沿到來(lái)后,觸發(fā)i/o緩沖寄存器把數據傳送給內部控制寄存器,這時(shí)才能完成相應功能,實(shí)現對輸出信號的控制。更新時(shí)鐘信號的產(chǎn)生有2種方式,一種是由ad9852芯片內部自動(dòng)產(chǎn)生,用戶(hù)可以對更新時(shí)鐘的頻率進(jìn)行編程來(lái)產(chǎn)生固定周期的內部更新時(shí)鐘;另一種是由用戶(hù)提供外部更新時(shí)鐘,此時(shí)ad9852i/oud引腳為輸入引腳,由外部控制器提供信號。要實(shí)現2片ad9852同步,必須確保他們的更新時(shí)鐘信號的上升沿同時(shí)來(lái)臨,因此系統采取外部時(shí)鐘更新的方式。使用dsp的一個(gè)i/o端口與ad9852的i/o ud相連接,可以通過(guò)軟件的方式實(shí)現對更新時(shí)鐘信號上升沿的精確控制。對外部更新時(shí)鐘信號的布線(xiàn)要求同參考時(shí)鐘一樣。
4.3 參考時(shí)鐘倍頻器
ad9852的工作時(shí)鐘高達300 mhz,為了降低時(shí)鐘信號的干擾,系統應采用低頻時(shí)鐘信號源,然后通過(guò)ad9852片內的參考時(shí)鐘倍頻器,對外部參考時(shí)鐘實(shí)現4~20倍頻。參考時(shí)鐘倍頻器的鎖相環(huán)電路有2個(gè)工作狀態(tài):鎖定狀態(tài)和獲得鎖定狀態(tài)。在鎖定狀態(tài),系統時(shí)鐘信號和參考時(shí)鐘信號可以保持同步。但當給ad9852發(fā)送控制指令時(shí),在其參考時(shí)鐘倍頻器工作后的短暫時(shí)間內,鎖相環(huán)不能立刻鎖定,仍然工作在獲得鎖定狀態(tài)。而此時(shí)傳送到ad9852相位累加器的系統時(shí)鐘周期的個(gè)數是不可控的,這可能導致2片ad9852的輸出信號之間相位不同步,因此系統初始化以后,一定要先確保鎖相環(huán)進(jìn)入鎖定狀態(tài),然后才能更新ad9852內部的各種控制字。ad9852片內鎖相環(huán)鎖定的典型時(shí)間約為400μs,建議至少留出1 ms時(shí)間使鎖相環(huán)進(jìn)入鎖定狀態(tài)。
5 ad9852的控制流程
(1)給系統上電,由dsp向ad9852發(fā)出復位信號,此信號需要至少保持10個(gè)參考時(shí)鐘周期的高電平。
(2)將s/p select置0,選擇串行數據輸入方式。
(3)依次給每個(gè)ad9852發(fā)送控制字,使每個(gè)ad9852工作狀態(tài)由缺省的內部更新時(shí)鐘模式改變成外部時(shí)鐘更新模式。
(4)將ad9852時(shí)鐘倍頻器工作的控制字依次寫(xiě)入每個(gè)ad9852的i/o緩沖寄存器中,然后由dsp發(fā)出外部更新時(shí)鐘,更新每個(gè)ad9852內部控制寄存器。
(5) dsp發(fā)出外部更新信號,至少等待1.0 ms時(shí)間使ad9852內部鎖相環(huán)鎖定。然后由dsp發(fā)送有關(guān)信號波形參數給ad9852,對他們的內部控制寄存器內容進(jìn)行同步更新,使2片ad9852輸出同步的模擬信號。
6 結語(yǔ)
使用dsp控制ad9852產(chǎn)生的爆震信號和凸輪軸信號,在精確度和實(shí)時(shí)性?xún)蓚€(gè)方面都能夠滿(mǎn)足發(fā)動(dòng)機電控單元硬件在環(huán)仿真系統的要求。在此系統的基礎上,可以進(jìn)一步擴展為多片dds同步使用,適用于更多硬件在環(huán)仿真系統。
評論