探針臺(tái) |
2019-09-10 14:05 |
基于DSP芯片設(shè)計(jì)的一種波形發(fā)生器
eg/<[ A: hB9Ee@ 摘 要:介紹了一種利用DPS TMS320VC5402和DAC AD7846以及PGA205、PGA103產(chǎn)生任意高精度波形的設(shè)計(jì)。并提供了具體電路的硬件實(shí)現(xiàn)框圖以及所需的DSP波形產(chǎn)生程序。 ujFzJdp3k 關(guān)鍵詞:DSP ;AD7846;DSP源程序 >(r{7Qg 在通信、儀器儀表和控制等領(lǐng)域的信號(hào)處理系統(tǒng)中,經(jīng)常要使用到正弦波以及其他波形發(fā)生器。通常可以通過下述兩種方法來產(chǎn)生所需波形。一種方法為使用算法直接產(chǎn)生(如正弦波通過泰勒級(jí)數(shù)展開得到),這種方法能直接精確地計(jì)算出每個(gè)角度的波形值,所占的存儲(chǔ)空間較小。另一種為查表法,使用這種方法時(shí),如果要有高的精度則要使用很大的表來記錄,從而占有較多的存儲(chǔ)空間,但是實(shí)時(shí)性較第一種方法好。我們來主要討論第二種方法。 Os&n g13 rx%- 系統(tǒng)框架結(jié)構(gòu) Z(u5$<up 該系統(tǒng)主要包括以下幾個(gè)部分:DSP、DAC、DAC后端低通濾波電路以及兩個(gè)數(shù)字可編程運(yùn)放PGA205、PGA1039(圖1)。系統(tǒng)中DSP采用了TI公司的TMS320VC5402,它有一組程序總線和三組數(shù)據(jù)總線,高度并行性的算術(shù)邏輯單元ALU、專用硬件邏輯片內(nèi)存儲(chǔ)器、增強(qiáng)型HPI口和高達(dá)100MHz的CPU頻率,可以在一個(gè)周期里完成兩個(gè)讀和一個(gè)寫操作。D/A采用了ADI公司的一種16位、低功耗數(shù)模轉(zhuǎn)換器AD7846,實(shí)現(xiàn)了高速同步數(shù)模轉(zhuǎn)換?删幊淘鲆娣糯笃鞑捎玫氖敲绹鳥B公司的具有低增益誤差的PGA205和PGA103,它們可采用 4.5V至18V的電源工作,通過與CMOS與TTL兼容的輸入端來設(shè)定增益,并能提供快速的穩(wěn)定時(shí)間。 :O-iykXyI 硬件實(shí)現(xiàn) 7 <9yH:1 TMS320VC5402和DAC AD7846是通過VC5402的并行I/O接口來實(shí)現(xiàn)數(shù)據(jù)交換,通過地址線來對(duì)AD7846的四個(gè)數(shù)字邏輯進(jìn)行控制的。將cs和R/W均置為低電平時(shí),開始向該DAC寫數(shù),經(jīng)過一段延時(shí),將LDAC置為高電平,CLR置為低電平,DAC進(jìn)行數(shù)模轉(zhuǎn)換,最后,將R/W和CLR均置為低電平,即將該DAC鎖存器清零。當(dāng)然,也可以通過CPLD來對(duì)其進(jìn)行控制。具體時(shí)序圖如圖2所示。 0Yl4eB- 后端運(yùn)放電路由可編程增益運(yùn)放PGA205和PGA103串聯(lián)組成。該運(yùn)放電路可提供從G=1到G=800的可編程增益放大。增益輸入端具體輸入值詳見參考文獻(xiàn)[5]真值表。數(shù)字輸入端可直接與通用的CMOS和TTL邏輯元件直接接口。邏輯輸入端以接地端為基準(zhǔn)。如果數(shù)字輸入端不帶鎖存器,邏輯輸入的改變將立即選擇新的增益。邏輯輸入的開關(guān)時(shí)間大約是0.5微秒。增益改變的響應(yīng)時(shí)間等于開關(guān)時(shí)間加上放大器穩(wěn)定到與新選擇的增益相對(duì)應(yīng)的新輸入電壓所需要的時(shí)間,對(duì)于0.01%的精度,當(dāng)G=10時(shí),穩(wěn)定時(shí)間為2.5微秒,當(dāng)G=100時(shí),穩(wěn)定時(shí)間為8微秒。本系統(tǒng)中,使用外部邏輯鎖存器鎖存來自高速數(shù)據(jù)總線的增益控制信號(hào)。使用外部鎖存器可以把高速的數(shù)字總線與敏感的模擬電路分開。應(yīng)使鎖存電路盡可能遠(yuǎn)離模擬電路以避免將數(shù)字噪聲耦合到模擬電路中。 M;w?[yEZ 軟件設(shè)計(jì) :s={[KBP DSP源程序 31WC=ur5 .mmregs @{hd{>K* .global main ]:(W_qEA .sect "MAIN" D&G"BZx| main: 7ZxaPkIu&% stm #TAB,AR0 ;指向表頭 bWWXc[O2&( tm #167H,AR3 ;設(shè)定循環(huán)次數(shù) fu[K".
| |