采用AD9833 DDS芯片實現水聲遙控信號的合成
引言
本文引用地址:http://www.104case.com/article/81661.htm水聲信號發射器是水聲通信技術中的重要部分,它的性能直接影響到水聲通信質量。而作為水聲信號發射器的信號產生單元,更是整個通信系統信源的核心部件。早期的信號產生單元都是使用數字電路和模擬電路等分立元件搭建而成,在體積、效率和信號質量都難以滿足便攜式設備的要求。由于水聲信號頻率不高,后來開始使用單片機控制DAC技術的水聲信號發生器,可以達到較好的效果。但是CPU在逐點控制DAC輸出時要占用大量機時,影響了設備的顯示和操作功能的進一步擴展。而伴隨著水聲通信領域的發展,對水聲信號的調制、發送的要求也越來越高,因此,單獨由單片機DAC作為信號源的方案越來越不能滿足現代水聲通信的需求,尤其是對比較復雜的相位調制,精度、分辨率和穩定度不高。
直接數字頻率合成(DDS) 是目前廣為應用的一項頻率合成技術,它具有頻率轉換時間短、頻率分辨率高、輸出相位連續和使用靈活等特點。AD9833是ADI 公司生產的一款低功耗DDS可編程波形發生器,該芯片無需外接元件,輸出信號的頻率和相位都可通過軟件編程控制。該芯片內部有28 位的頻率寄存器,主頻時鐘為25 MHz 時,精度為0.1 Hz,除了產生正弦波、三角波、方波之外還可產生各種調制信號,其最大功耗僅為20mW。這些性能非常適合用來作為水聲信號發射器的信號產生單元,可以滿足現代水聲通信對信號建立時間、輸出頻率的精確度、分辨率及穩定度的要求。
本文給出的是用于海纜水聲遙控浮標定位系統的信號產生電路,由于采用DDS技術,整個電路軟硬件結構十分簡單。
DDS芯片AD9833工作原理
AD9833中使用的DDS 技術是從連續信號的相位出發,將一個正弦信號取樣、量化、編碼,形成一個正弦函數表儲存在ROM 中。合成時改變相位增量,由于相位增量不同,一個周期內的取樣點數也不同,這樣產生的正弦信號頻率也就不同,從而達到頻率合成的效果。
DDS工作原理框圖如圖1所示。DDS 基本工作原理是:每產生一個時鐘脈沖,相位累加器就將累加器輸出的累積相位與預置的相位增量相加;然后以相加后的結果作為地址,對波形ROM 進行尋址,取出波形ROM 中與該相位對應單元中的幅度量化編碼值,經D/ A 轉換器將其轉換為模擬取樣值,再經低通濾波器平滑得到符合要求的模擬信號。
設參考時鐘頻率為fc,相位累加器的字長為N,則DDS 輸出頻率為:
式中:K 是由外部控制電路來預置的。 當時鐘頻率fc與相位累加器位數N一定時,輸出頻率f0僅僅取決于K 。K為頻率控制字:
當K=1時,DDS 所能產生的正弦信號的最低頻率即頻率分辨率為:
DDS 的最大輸出頻率由Nyquist 采樣定理決定,即為fc/2。AD9833的頻率控制字是28位,所以當采用25MHz作為參考時鐘時,理論上最大輸出頻率為12.5MHz (實際輸出大概是參考時鐘的40%),輸出頻率的頻率分辨率約為0.05Hz;當采用1MHz作為參考時鐘時,最大輸出頻率為0.5MHz,輸出的頻率分辨率約為0.004Hz。根據不同輸出范圍和精度要求,可選用不同的參考時鐘來實現。AD9833采用10個管腳的MSOP封裝結構,其管腳結構示意圖如圖2 所示。
MCLK(5腳)為外部參考頻率信號的輸入端,SDATA(6腳)、SCLK(7腳)、FSYNC(8腳)組成AD9833的標準三線串行接口,可以與SPI、QSPI、MICROWIRE或DSP芯片直接連接。16位串行數據字由6腳輸入,在7腳的下降沿被讀入AD9833,8腳為頻率更新控制信號,可以用作片選信號,當8腳保持低電平時新的控制字寫入AD9833中,在8腳的上升沿可以從Vout(10腳)輸出模擬或數字信號,且輸出端內部自帶200Ω的片上集成電阻。其中三線串行接口操作時序圖如圖3所示。
水聲遙控信號的結構
本研究中的水聲信號的結構比較簡單,很容易采用DDS芯片來實現。對于復雜的調制信號,通過ARM7處理器LPC2148編程控制AD9833,硬件上也無須變動。
水聲信號在水中的傳播速度為1200米/秒左右,在遙控的距離內信號的傳輸時間長達數秒鐘。為保證工作的可靠性,在滿足使用要求的前提下信號的傳輸碼率設計的很低。水聲發射器發射的遙控信號采用非相干調制中的MFSK方式,其時序波形如圖4所示。遙控信號的“0”和“1”代碼分別用頻率為f 1和f 2的有限長度正弦信號表示。本系統中f 1和f 2頻率分別為8.35KHz和8.45KHz,為防止多個用戶之間相互串擾,除了遙控地址的編碼不同外,工作頻率可在7KHz至11KHz范圍內選擇。信號的每個碼元發送時間為T1=1秒,碼元間隔為T2=2秒,每組編碼9位,前八位是數據位,第九位是校驗位,碼組間隔為4秒。
信號產生單元硬件電路
本文介紹的遙控信號發射器用于一種便攜式的海上施工遙控系統,功率和體積較小,結構框圖如圖5所示。它是由微控制器、信號產生單元、水聲功率放大器、電池充電電路和水聲換能器等組成。操作者可以通過手持機上的按鍵和液晶顯示器設置相應的發射編碼信號。
系統采用的微控制器是NXP(恩智浦)公司的ARM7處理器LPC2148,LPC2148是基于一個支持實時仿真和嵌入式跟蹤的32/16位ARM7TDMI-S內核的微控制器,帶有40kB的片內靜態RAM和512kB的片內Flash存儲器,128位寬的存儲器接口和獨特的加速結構可實現高達60MHz工作頻率,包括多個串行接口:1個USB、2個UART、2個高速I2C總線、SPI和SSP,小型的LQFP64封裝上包含多達45個可承受5V的通用I/O口。
本設計中利用LPC2148的SPI接口來控制AD9833,由于SPI操作由LPC2148的硬件接口來完成,大大減輕了主控制器的負擔,以便有更多時間處理其他的任務。由于CPU另有足夠的時間去完成其他操作和人機交互,使整個遙控發射器的功能十分完善。
LPC2148與AD9833的硬件連接如圖6所示。圖中外接有源晶體振蕩器給AD9833提供主時鐘,LPC2148的SPI0工作在主方式,其中引腳P0.6/MOSI0口與SDATA相連,用來給AD9833發送數據;P0.4/SCK0口與SCLK相連,提供數據傳送時鐘;P0.7/SSEL0與FSYNC相連,作為AD9833選通信號。
由于AD9833輸出的Vout信號的最大幅值只有0.6V左右,并且為了實現輸出功率可控,需要經過一級前置放大才能送入水聲功率放大器中,因此在實際應用中,信號產生單元電路還需要包括信號調節和放大部分,如圖7所示。
信號調節使用的是數字電位器X9511,AD9833的輸出Vout接到X9511的一端VH,通過LPC2148的P0.2和P0.3輸出脈沖可以軟件控制中間抽頭的位置,進而實現面板按鍵調節輸出的目的。信號經過X9511調節后送入低功耗放大器TLE2062中,經過一級放大和電壓跟隨后,可以明顯增強AD9833輸出信號驅動能力。
軟件程序
本項目的水聲發射器發射的遙控信號采用MFSK方式,利用AD9833產生頻率可調的正弦波作為水聲遙控信號,不同的頻率代表不同的編碼信息,AD9833的主要任務就是完成正弦波形的迅速建立和頻率的快速切換,可以通過軟件設置不同的頻率控制字來達到切換頻率的目的。對于頻率控制字,ADI公司提供了一個在線的交互式設計工具,即AD9833配置助手,在PC機瀏覽器上的顯示如圖8所示。
通過AD9833配置助手可以設置參考時鐘,期望得到的頻率或者相位,以及產生的波形種類,最后點擊Update,就可以得到對應于期望頻率的控制字,非常簡單方便。在軟件程序中,只要定時通過SPI向AD9833寫入不同的頻率控制字,就可以控制編碼遙控信號的輸出。在編程中需要注意的是,由于AD9833的頻率控制字是16位的,因此對于SPI的寫操作來說,需要分兩次完成,還要注意AD9833的數據位的寫入順序,因為其數據格式是高位在前,低位在后。
結語
在本設計中,AD9833的參考時鐘是3.579545MHz,能夠精確和穩定的輸出0Hz、8.35KHz、8.45KHz等信號,而且還可以實現快速的切換或調制,該信號發生器已經成功應用到了海纜水聲遙控浮標定位系統中。由于AD9833實現的信號產生電路除了產生的波形精確穩定、波形建立時間短外,還有功耗低、所用元件少、體積小、控制簡單等優點,非常適合應用于各種通信、測量和其他時域響應系統等領域。
參考文獻:
1. 王鐵流等, HL-100海纜水聲遙控浮標定位系統的研制, 首屆全國海底光纜通信技術研討會論文集, 2006.11
2. 周立功等,深入淺出ARM7——LPC213X/214X(上下冊) ,北京:北京航空航天大學出版社,2005年
3. AD9833_a datasheet,ADI,2003
評論