AD9779A的寄存器配置及PLL頻帶優(yōu)化
隨著科學(xué)技術(shù)的發(fā)展,通信、測量等各個領(lǐng)域?qū)π盘栐吹囊笤絹碓礁?,高速任意波形發(fā)生器成為市場的熱點(diǎn)。高速DAC作為任意波形發(fā)生器的關(guān)鍵部分,其性能對高速信號有著極大的影響。AD9779A是目前國內(nèi)能買到的性能較高的高速DAC芯片,內(nèi)部集成PLL倍頻電路、同步控制、增益控制等功能模塊,通過SPI接口和外部通信,可以設(shè)置優(yōu)化各種功能以達(dá)到最佳性能。
1 AD9779A簡介
AD9779A是Analog Devices公司生產(chǎn)的雙通道16位高速寬動態(tài)范圍數(shù)DAC,采樣率1Gsps,允許高至奈奎斯特頻率的多載波生成。0.18μm CMOS工藝制作,工作電壓1.8~3.3 V,采樣率1 Gsps時(shí)功耗1 W,具有高速、低功耗的特點(diǎn)。AD9779A還包含低噪聲高性能的PLL時(shí)鐘倍頻電路,可以減輕板級時(shí)鐘輸入的負(fù)擔(dān)。AD9779A可以應(yīng)用在無線基礎(chǔ)設(shè)施(WCDMA/CDMA2000/TD/GSM)、數(shù)字頻率合成、寬帶通信等領(lǐng)域。
2 AD9779A的SPI通信方式
2.1 AD9779A的SPI接口簡介
SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信,以交換信息。通過AD9779A的SPI接口可以配置內(nèi)部的寄存器,設(shè)置各種功能以達(dá)到設(shè)計(jì)要求。AD9779A的SPI接口支持單字節(jié)或多字節(jié)傳輸,包括高位優(yōu)先和低位優(yōu)先格式,由4根線組成,分別是:
①串行時(shí)鐘(SCLK),作為數(shù)據(jù)輸入輸出的同步時(shí)鐘,最大時(shí)鐘速率40 MHz。輸入數(shù)據(jù)在時(shí)鐘的上升沿鎖存,下降沿?cái)?shù)據(jù)輸出。
?、谄x信號(CSB),低電平開始通信周期并保持到通信周期結(jié)束,高電平時(shí)SDO和SDIO為高阻態(tài)。
?、鄞袛?shù)據(jù)輸入/輸出口(SDIO),該引腳既可作為單向數(shù)據(jù)輸入口,也可作為雙向數(shù)據(jù)輸入輸出口,通過寄存器(0x00,bit7)控制,默認(rèn)為單向數(shù)據(jù)輸入。
④串行數(shù)據(jù)輸出(SDO),作為數(shù)據(jù)輸出口,SDIO配置為雙向端口時(shí),SDO為高阻態(tài)。
內(nèi)部配置的任何改變會在最后一位寫入后立刻生效,因此,當(dāng)有多個字節(jié)寫入到寄存器中時(shí)可以在一個通信周期中改變配置。同時(shí),為了預(yù)防意外情況,改變寄存器配置時(shí)推薦使用單字節(jié)傳輸。
2.2 SPI接口操作
AD9779A的一個通信周期包括兩個階段。
第一階段是指令周期(向設(shè)備寫指令)與前8個SCLK的上升沿一致。指令字節(jié)規(guī)定串口控制器數(shù)據(jù)周期,也就是通信周期第二階段的數(shù)據(jù)傳輸是讀還是寫,數(shù)據(jù)傳輸?shù)淖止?jié)數(shù)和第一個寄存器的地址。每個通信周期的前8個SCLK上升沿用來向設(shè)備寫指令字節(jié)。
剩余的SCLK是通信周期的第二階段。第二階段是設(shè)備與MCU實(shí)際的數(shù)據(jù)傳輸階段。每次可以傳輸1~4個字節(jié),傳輸?shù)淖止?jié)數(shù)由指令周期決定。寄存器在每個字節(jié)的最后一位寫入后立刻改變。
SPI指令如表1所列。
表1 SPI指令
,決定是讀操作還是寫操作。邏輯1讀操作。邏輯0寫操作。
N1和N0決定數(shù)據(jù)傳輸周期中傳輸?shù)淖止?jié)數(shù)。N1、N0表示的字節(jié)數(shù)如表2所列。
表2 N1、N0表示的字節(jié)數(shù)
A4~A0確定在數(shù)據(jù)傳輸時(shí)哪個寄存器可以被訪問。在多字節(jié)傳輸時(shí),這個地址是起始字節(jié)地址,其余寄存器地址由器件自動產(chǎn)生。最高位優(yōu)先的寄存器配置時(shí)序如圖1所示。
圖1 最高位優(yōu)先的寄存器配置時(shí)序如圖
2.3 AD9779A的主要寄存器介紹
AD9779A內(nèi)部有32個寄存器,每個寄存器8位,每位都有自己特定的功能。AD9779A的主要寄存器如表3所列。
表3 AD9779A的主要寄存器
3 AD9779A的寄存器配置
3.1 硬件設(shè)計(jì)
本文采用三星公司S3C2440作為為整個系統(tǒng)的控制芯片。S3C2440是ARM微處理器,它包含LCD控制器、SDRAM控制器、3通道UART、音頻接口、USB控制器、2通道SPI等,其低成本、高性能的特點(diǎn)適用于各種嵌入式領(lǐng)域。S3C2440作為主設(shè)備對從設(shè)備AD9779A進(jìn)行配置的硬件連接如圖2所示。
圖2 S3C2440和AD9779A的接口
S3C2440A的SPI接口可以和外部設(shè)備同時(shí)發(fā)送/接收8位數(shù)據(jù),用一個時(shí)鐘線來同步。當(dāng)SPI是主機(jī)時(shí),傳輸頻率通過設(shè)定SPPREn寄存器的相應(yīng)位來控制,最高速率應(yīng)小于25 MHz。如果SPI是從屬,其他的主機(jī)提供時(shí)鐘。設(shè)置一個GPIO作為nSS,當(dāng)程序?qū)憯?shù)據(jù)到SPTDATn寄存器時(shí),如果ENSCK、SPCONn寄存器的MSTR被置位,SPI發(fā)送/接收操作會同時(shí)開始。在寫字節(jié)數(shù)據(jù)到SPTDATn之前,nSS應(yīng)該被激活。
SPI接口編程基本步驟如下:
?、僭O(shè)置時(shí)鐘波特率預(yù)分頻寄存器(SPPREn);
?、谠O(shè)置SPCONn配置SPI模塊;
③設(shè)置一個GPIO引腳,其作為nSS,低電平片選使能;
?、馨l(fā)送數(shù)據(jù)→檢查數(shù)據(jù)傳輸準(zhǔn)備標(biāo)志(REDY=1)的狀態(tài),然后寫數(shù)據(jù)到SPTDATn;
?、萁邮諗?shù)據(jù)→寫數(shù)據(jù)0xFF到SPTDATn→確認(rèn)REDY置1,然后讀取緩存數(shù)據(jù);
?、辬SS拉高,解除片選。
3.2 軟件設(shè)計(jì)
軟件設(shè)計(jì)主要實(shí)現(xiàn)S3C2440讀寫AD9779A寄存器的功能,為后面的PLL頻帶鎖定做準(zhǔn)備。在ARM Realview MDK環(huán)境下使用C語言編寫軟件。
4 PLL在環(huán)境溫度下的頻帶優(yōu)化鎖定
AD9779A的PLL VCO(壓控振蕩器)有效運(yùn)行范圍1.0~2.0GHz,在這個范圍內(nèi)有63個頻率重疊帶,如圖3所示。對于期望的VCO輸出頻率,有多個有效的PLL頻帶值供選擇。但各個頻帶的鎖定范圍隨溫度的變化而變化。各個頻帶的中心頻率隨溫度的升高而降低,隨溫度的降低而升高。每個器件在特定的溫度下都有一個最優(yōu)的PLL頻帶選擇值,而且各個器件之間也有30~40 MHz的誤差。因此,需要為每個器件選擇合適的PLL頻帶值。
圖3 25℃環(huán)境下的典型鎖定范圍
AD9779A具有PLL頻帶自動選擇功能,當(dāng)自動選擇功能啟用時(shí),能得到一個PLL的鎖定頻帶,通過SPI讀取相應(yīng)的寄存器得到該頻帶值,即當(dāng)前溫度下的優(yōu)化頻帶。為了在整個溫度范圍內(nèi)獲得最佳的PLL性能,PLL必須用表4所列的設(shè)置。
表4 PLL設(shè)置
4.1 使用溫度傳感器配置PLL頻帶
當(dāng)器件在一個極端溫度下啟動,PLL自動模式下得到的頻帶值在另一個溫度下可能無法保持鎖定。AD9779A在-40~+85℃環(huán)境下的PLL頻帶配置方法如下:
?、倥渲肗1(Register 0x09,Bits[6:5])和N2(Register 0x09,Bits[4:3])。
②設(shè)置PLL頻帶值為63(Register 0x08,Bits[7:2]),開啟PLL自動模式。
?、鄣鹊絇LL_LOCK引腳或PLL鎖定指示器(Register 0x00,Bit1)變成高電平。這個過程大概5 ms。
?、茏x回6位的PLL頻帶值(Register 0x08,Bits[7:2])。
?、莓?dāng)PLL自動選擇完成,根據(jù)溫度,通過向(Register0x08,Bits[7:2])寫入回讀值來設(shè)置PLL頻帶。
這個過程要求在啟動或復(fù)位時(shí)檢測溫度,以達(dá)到PLL頻帶值的最優(yōu)化。如果最優(yōu)頻帶在0~31范圍內(nèi)(低VCO頻率),參考表5。
表5 PLL頻帶優(yōu)化設(shè)置(頻帶值0~31)
如果最優(yōu)頻帶在32~62范圍內(nèi)(高VCO頻率),參考表6。
表6 PLL頻帶優(yōu)化設(shè)置(頻帶值32~62)
4.2 工廠校準(zhǔn)模式設(shè)定PLL頻帶
如果沒有溫度傳感器,可以在室溫(約25℃±10℃)下進(jìn)行工廠校準(zhǔn)法。步驟如下:
?、僭O(shè)置N1(Register 0x09,Bits[6:5])和N2(Register 0x09,Bits[4:3])。
?、谠O(shè)置PLL頻帶值為63(Register 0x08,Bits[7:2]),開啟PLL自動模式。
?、鄣鹊絇LL_LOCK引腳或PLL鎖定指示器(Register 0x00,Bitl)變成高電平。這個過程大概5 ms。
?、茏x回6位的PLL頻帶值(Register 0x08,Bits[7:2])。
?、菹蚍且资源鎯ζ鲗懭隤LL頻帶值。系統(tǒng)上電或重啟時(shí),通過SPI載入PLL頻帶值到Register 0x08,Bits[7:2]。
4.3 PLL頻帶優(yōu)化程序
結(jié)語
AD9779A在信號發(fā)生器中是數(shù)模轉(zhuǎn)換的關(guān)鍵部分,實(shí)際使用中根據(jù)工程需要來配置AD9779A內(nèi)部寄存器。經(jīng)檢驗(yàn)20℃當(dāng)輸入時(shí)鐘為150 MHz,N1=2,N2=4時(shí),PLL頻帶值穩(wěn)定在010010(18),fvco范圍為1 174~1 231MHz。輸入時(shí)鐘為100 MHz,N1=4,N2=4時(shí),PLL頻帶值穩(wěn)定在100111(39),fvco范圍為1 564~1 639 MHz。SPI通信程序也可用于信號發(fā)生器的直流偏置和輸出校準(zhǔn)部分,從而簡化系統(tǒng)的軟件設(shè)計(jì)。