<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于TMS320C6701控制多片AD9852的接口電路的設(shè)計

          基于TMS320C6701控制多片AD9852的接口電路的設(shè)計

          作者: 時間:2008-09-19 來源:網(wǎng)絡(luò) 收藏
          直接數(shù)字頻率合成器(DDS)因具有頻率轉(zhuǎn)換時間短、頻率分辨率高、輸出相位連續(xù)、可編程控制和全數(shù)字化結(jié)構(gòu)、便于集成等優(yōu)越性能,在雷達(dá)、通信、電子對抗等電子系統(tǒng)中應(yīng)用越來越廣泛。目前,在相控陣?yán)走_(dá)和多路信號波形發(fā)生器等一些應(yīng)用場合,開始出現(xiàn)同時使用多片DDS芯片輸出多路同步信號波形的趨勢。筆者在三通道雷達(dá)中頻信號模擬器的設(shè)計中,使用數(shù)字信號處理芯片TMS320C6701對三片直接數(shù)字頻率合成器芯片AD9852同時進(jìn)行控制的接口電路,研究了對多片AD9852芯片輸出模擬信號實現(xiàn)相位同步的幾項關(guān)鍵技術(shù)。本文就這一接口電路作介紹。

          1 AD9852和TMS320C6701簡介

          該系統(tǒng)選用的直接頻率合成器是AD公司生產(chǎn)的AD9852,它能產(chǎn)生頻率、相位、幅度可編程控制的高穩(wěn)定的模擬信號。在最高系統(tǒng)時鐘300MHz時,輸出頻率的范圍可達(dá)DC-120MHz,精度可達(dá)1.066μHz,頻率轉(zhuǎn)換速度可達(dá)每秒1108個頻率點;具有14位數(shù)控調(diào)相和12位數(shù)控調(diào)幅功能;具有相移鍵控(PSK)、掃頻功能(CHIRP)和頻移鍵控(FSK)功能。

          該系統(tǒng)選用的數(shù)字信號處理芯片(DSP)是TI公司生產(chǎn)的高速浮點TMS320C6701,其內(nèi)部CPU集成了8個并行功能單元,配有32個32位通用寄存器,它在6ns周期時間里最多可同時執(zhí)行8條32位指令,其運(yùn)算能力可達(dá)1G FLOPS;存儲器尋址空間為32位,可尋址8/16/32位數(shù)據(jù);有4個自加載的DMA傳輸通道。

          2 TMS320C6701與AD9852接口電路

          TMS320C6701是本系統(tǒng)的控制中心,其主要功能是將控制信號和信號波形參數(shù)發(fā)送到AD9852內(nèi)部相應(yīng)的控制寄存器,二者的接口電路原理框圖如圖1所示。

          對AD9852內(nèi)部控制寄存器可以進(jìn)行并口或串口的讀寫操作。因為AD9852的串口傳輸速率最大僅為10MHz,而并口傳輸速率可高達(dá)100MHz,為了提高DSP對AD9852的控制速度,本系統(tǒng)采用了并行接口方式。三片AD9852的8位數(shù)據(jù)總線同時占用DSP數(shù)據(jù)總線的D0~D7位,它們的6位地址總線同時占用DSP地址總線的A2~A7位。由于AD9852器件沒有片選輸入信號,需要利用DSP的寫信號/AWR、片選信號/CE0和高位地址數(shù)據(jù)線的第A21~A20位,并由EPLD對其進(jìn)行譯碼形成WRB NO.1、WRB NO.2和WRB NO.3寫信號,分別控制三片AD9852器件的寫信號WRB,該寫信號負(fù)責(zé)把數(shù)據(jù)總線上的數(shù)據(jù)寫入到AD9852的I/O緩沖寄存器中進(jìn)行緩存,這樣就實現(xiàn)了片選不同AD9852芯片的目的。

          TMS320C6701還控制EPLD產(chǎn)生三片AD9852需要的復(fù)位信號RESET和外部更新時鐘EXT I/O UPDATE CLK。為了使三片AD9852和EPLD之間系統(tǒng)時鐘同步,它們的外部參考時鐘REFCLK由同一個50MHz的溫補(bǔ)晶振提供。

          3 三片AD9852同步工作的關(guān)鍵技術(shù)

          為了實現(xiàn)三片AD9852輸出信號波形相位同步,必須保證所有的AD9852芯片在同一個系統(tǒng)時鐘節(jié)拍下工作,每個AD9852的系統(tǒng)時鐘之間的相位誤差應(yīng)該最大不超過一個周期。AD9852內(nèi)部系統(tǒng)時鐘形成原理圖如圖2所示。AD9852有差分或單端兩種參考時鐘形式,它們既可以直接形成系統(tǒng)時鐘,又可以通過參考時鐘倍頻器倍頻后形成系統(tǒng)時鐘,選擇哪種參考時鐘和是否通過參考時鐘倍頻器倍頻可由用戶根據(jù)需要自行設(shè)置;異步的外部更新時鐘經(jīng)過邊沿檢測電路后與系統(tǒng)時鐘同步,形成上升沿,觸發(fā)內(nèi)部控制寄存器更新內(nèi)容。從上述分析中可以看出,只有三片AD9852芯片參考時鐘同步,才能避免它們系統(tǒng)時鐘彼此之間不同步。下面介紹影響三片AD9852芯片同步工作的幾個關(guān)鍵信號。

          3.1 參考時鐘信號

          實現(xiàn)多片AD9852芯片同步的首要要求是每個AD9852的輸入?yún)⒖紩r鐘之間必須有最小的相位差。本系統(tǒng)要求用一個時鐘信號源產(chǎn)生四路相干時鐘分別分配給EPLD和三片AD9852,這給保證時鐘信號的驅(qū)動能力和信號完整性帶來了難度。本系統(tǒng)的解決辦法是將溫補(bǔ)晶振產(chǎn)生的信號首先傳送到一個零延遲時鐘驅(qū)動芯片CY2305的輸入端,再由該芯片輸出四路同步時鐘信號,其中一路時鐘直接供給EPLD,其它三路時鐘分別輸入給三個MAX9371芯片,此芯片把輸入的單端LVTTL電平時鐘轉(zhuǎn)化成差分LVPECL電平時鐘后,再分別輸入給三片AD9852芯片。為了使輸入到每個AD9852的參考時鐘信號的延遲時間保持一致,需要采用蛇形差分對的走線方法精心布線,使參考時鐘PCB走線距離相同。本系統(tǒng)AD9852的參考時鐘之所以采用差分輸入模式,是因為它不僅可以抑制時鐘信號上的共模噪聲,而且它還具有最小的抖動率和更短的上升和下降時間(小于1ns)。

          3.2 更新時鐘信號

          在對AD9852進(jìn)行控制編程時,寫入AD9852的數(shù)據(jù)首先被緩存在內(nèi)部的I/O緩沖寄存器中,不會影響到AD9852的工作狀態(tài);只有當(dāng)AD9852的更新時鐘信號的上升沿到來時,觸發(fā)I/O緩沖寄存器把數(shù)據(jù)傳送給內(nèi)部控制寄存器以后才改變AD9852的工作狀態(tài)。更新時鐘信號的產(chǎn)生有兩種方式,一種是由AD9852芯片內(nèi)部自動地產(chǎn)生,用戶可以對更新時鐘的頻率進(jìn)行編程來產(chǎn)生固定周期的內(nèi)部更新時鐘;另一種是由用戶提供外部更新時鐘,此時AD9852 I/O UD引腳為輸入引腳,由外部控制器提供信號。

          在同時寫入三片AD9852內(nèi)部的頻率和相位控制寄存器的過程中,為了防止因數(shù)據(jù)建立和保持時間的原因而出現(xiàn)編程信息傳輸錯亂,使AD9852的輸出信號失去同步,本系統(tǒng)使用由EPLD提供的同一個外部更新時鐘信號。若使用AD9852內(nèi)部更新模式,盡管可以簡化系統(tǒng)設(shè)計,但因為AD9852內(nèi)部時鐘頻率較高,會受到AD9852接口速率的限制,使AD9852的控制時序不易控制。對外部更新時鐘信號的PCB布線同參考時鐘的要求一樣,必須使它的上升沿同時到達(dá)每片AD9852。

          3.3 復(fù)位信號

          該系統(tǒng)三片AD9852使用同一個復(fù)位信號,它在系統(tǒng)上電后和發(fā)送控制數(shù)據(jù)之前由EPLD產(chǎn)生,對AD9852的所有寄存器進(jìn)行初始化,使相位累加器的狀態(tài)被設(shè)置為初始零相位,使三片AD9852輸出信號相位同步有個參考起始點;它也可以控制AD9852內(nèi)部的14位相位調(diào)整控制寄存器,根據(jù)實際需要使它們輸出的模擬信號之間保持一定相位差,它調(diào)整相位的精度可達(dá)到0.022。

          3.4 參考時鐘信號倍頻

          輸出頻率較低的溫補(bǔ)晶振性價比較高,當(dāng)使用它產(chǎn)生參考時鐘信號時,需要使用AD9852片內(nèi)參考時鐘倍頻器的鎖相環(huán)電路,實現(xiàn)4~20倍頻后才成為系統(tǒng)時鐘信號,這使多片AD9852芯片同步工作的問題變得復(fù)雜了,這是因為AD9852內(nèi)部的鎖相環(huán)工作有兩個狀態(tài):鎖定狀態(tài)和獲得鎖定狀態(tài)。在鎖定狀態(tài),系統(tǒng)時鐘信號和輸入的參考時鐘信號可以保持同步。但當(dāng)給AD9852發(fā)送控制指令時,其參考時鐘倍頻器工作后的一小段時間內(nèi),鎖相環(huán)不能立刻鎖定,它工作在獲得鎖定狀態(tài),此時傳送到AD9852的相位累加器的系統(tǒng)時鐘周期個數(shù)是不可控的,直接導(dǎo)致三片AD9852輸出的信號之間相位不能同步,因此一定要等待鎖相環(huán)工作在鎖定狀態(tài)以后,再更新AD9852內(nèi)部的頻率或相位等控制字。AD9852片內(nèi)鎖相環(huán)鎖定的典型時間約為400μs,由于每個AD9852的鎖定時間不盡相同,建議至少留出1ms時間給鎖相環(huán)鎖定。

          3.5 數(shù)據(jù)總線和地址總線信號

          TMS320C6701的數(shù)據(jù)總線和地址總線需要同時與EPLD和三片AD9852相連接,為了提高總線的驅(qū)動能力,DSP輸出的總線需要通過TI公司的SN74LVTH162245芯片進(jìn)行驅(qū)動后才能與這些異步接口的器件相連接。但是,這樣直接加上驅(qū)動的數(shù)據(jù)總線和地址總線被三片AD9852分時復(fù)用會帶來另一個潛在的問題,即復(fù)用的總線給多片AD9852之間提供了一個互相耦合的電氣通道,使它們的模擬輸出信號之間的隔離度可能達(dá)不到60dB的系統(tǒng)指標(biāo)要求,故需要進(jìn)一步改進(jìn)。本系統(tǒng)采用的方法是使被復(fù)用的TMS320C6701總線上的每一路信號首先驅(qū)動SN74LVTH162245上的四個輸入端,這樣就可以從它的輸出端得到四個被相互隔離的四路相同信號,然后再各自加端接匹配電阻,對每路信號進(jìn)行匹配后再接到各自的終端。這樣不僅解決了信號隔離問題,還很好地解決了一路信號線因驅(qū)動多路終端所引起的傳輸阻抗不匹配的問題。

          4 AD9852的操作控制時序

          (1)給系統(tǒng)上電,DSP控制EPLD產(chǎn)生復(fù)位信號RESET,此信號需要至少保持10個參考時鐘周期的高電平;

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

          (3)將AD9852時鐘倍頻器工作的控制字依次寫入每個AD9852的I/O緩沖寄存器中,EPLD產(chǎn)生外部更新時鐘的同時更新每個AD9852內(nèi)部控制寄存器;

          (4)至少等待1.0ms時間使AD9852內(nèi)部鎖相環(huán)鎖定。內(nèi)部鎖相環(huán)鎖定后,DSP就可以發(fā)送有關(guān)信號波形參數(shù)給每片AD9852,對它們的內(nèi)部控制寄存器內(nèi)容進(jìn)行同步更新,使三片AD9852輸出同步的模擬信號。

          采用DSP控制DDS的方法完成的雷達(dá)信號模擬器已經(jīng)得到了應(yīng)用,結(jié)果證明該模擬器輸出的三路信號波形同步,具有很高的距離和速度分辨率。另外,DDS技術(shù)具有的靈活可編程特性使得上述結(jié)構(gòu)的模擬器還可以有其它應(yīng)用,只要改變DSP控制程序,就可以根據(jù)需要產(chǎn)生三路同步的各種信號波形。



          關(guān)鍵詞: DSP 開發(fā) AD9852 設(shè)計

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();