基于ADSP-TS201S的聲雷達(dá)信號采集系統(tǒng)
在聲雷達(dá)系統(tǒng)中,發(fā)射機(jī)定向發(fā)出不同頻率的聲信號,隨后接收不同距離上的回波信號,利用回波中頻率的偏離可以測定風(fēng)速、風(fēng)向隨高度的變化。系統(tǒng)的多通道采樣數(shù)據(jù)量接近500k32b/s,一幀時(shí)間(約2.7s)內(nèi)要求處理1100兆條指令,其大數(shù)據(jù)量和要求實(shí)時(shí)處理的特性對信號采集處理系統(tǒng)的設(shè)計(jì)提出了很高的要求,本文介紹的基于美國模擬器件公司的DSP ADSP-TS201S和ADC AD7864的信號采集系統(tǒng)能夠滿足這些要求。
系統(tǒng)的設(shè)計(jì)
1 系統(tǒng)功能模塊劃分
聲雷達(dá)信號采集系統(tǒng)主要由信號采集、信號處理、電源和時(shí)鐘四部分組成,如圖1所示。信號采集模塊由CPLD和4片ADC組成,負(fù)責(zé)完成A/D轉(zhuǎn)換;轉(zhuǎn)換后的數(shù)據(jù)送至信號處理模塊,DSP ADSP-TS201S負(fù)責(zé)數(shù)據(jù)的接收和處理,兩片512k32b的SRAM完成了多幀數(shù)據(jù)的存儲任務(wù);一片雙口RAM為ADSP-TS201S和其他處理器板交換信息提供了方便的接口,F(xiàn)lash用于存儲用戶的應(yīng)用程序。電源模塊為其他模塊提供正常工作所需的電壓。在時(shí)鐘模塊中,由晶振產(chǎn)生的27MHz時(shí)鐘通過倍頻芯片得到54MHz時(shí)鐘后進(jìn)入CPLD,它一方面作為ADSP-TS201S的系統(tǒng)時(shí)鐘SCLK,另一方面在CPLD內(nèi)12分頻之后作為AD7864的工作時(shí)鐘信號AD_CLK。
本系統(tǒng)之所以采用ADSP-TS201S芯片源于其強(qiáng)大的處理能力,可以對大量的回波數(shù)據(jù)作實(shí)時(shí)處理。它在600MHz的內(nèi)核時(shí)鐘下可以達(dá)到每秒48億次乘累加(MAC)運(yùn)算和每秒36億次浮點(diǎn)運(yùn)算(FLOP),具有比同類處理器高出50%~100%的處理能力。它內(nèi)部集成了24Mb的存儲器,這種片內(nèi)大存儲量與高達(dá)33.6Gb/s的內(nèi)部帶寬相結(jié)合,是提高性能的關(guān)鍵。其外部64位數(shù)據(jù)總線和32位地址總線時(shí)鐘最高可達(dá)125MHz。
圖1 信號采集系統(tǒng)電路圖
聲雷達(dá)系統(tǒng)中需要多通道同時(shí)采樣,AD7864芯片的高速多通道和同時(shí)采樣特性滿足了系統(tǒng)的要求,簡化了硬件設(shè)計(jì),它的轉(zhuǎn)換精度為12位,吞吐量最高可達(dá)520KSPS,單通道轉(zhuǎn)換時(shí)間最快可達(dá)1.65μs,采樣/保持時(shí)間為0.35μs。此外,其單電源和低功耗特性(最低可達(dá)20μW)也滿足了系統(tǒng)的要求。
系統(tǒng)工作時(shí),首先是由后端處理器板向ADSP-TS201S發(fā)出中斷信號,通知TS201從雙口RAM中讀取命令字。根據(jù)命令字,TS201通過CPLD控制前端的ADC進(jìn)行數(shù)據(jù)采集并利用DMA方式讀取數(shù)據(jù),處理好的數(shù)據(jù)存儲于雙口RAM中,TS201也通過中斷方式來通知后端處理器板來讀取數(shù)據(jù)并顯示。
2 硬件電路設(shè)計(jì)
在時(shí)鐘電路的設(shè)計(jì)中,晶振和倍頻芯片的電源與本板電源之間要用電感或磁珠來隔離,防止它們對系統(tǒng)電源產(chǎn)生耦合干擾。為了抑制由電壓波動引起的電流涌動和低頻干擾,兩者的電源引腳處要加上一個(gè)10μF的鉭電容,0.1μF的用于抑制高頻干擾的小電容也是必不可少的,而且要貼近管腳放置。此外,還應(yīng)注意不要在時(shí)鐘芯片底下走線,防止相互耦合干擾。倍頻芯片輸出端可以加一個(gè)33Ω的匹配電阻,以減少輸出電流,提高時(shí)鐘波形質(zhì)量。為了減少EMI輻射和時(shí)鐘抖動,要盡量減少過孔的使用。
(a)環(huán)形結(jié)構(gòu)
(b)星形結(jié)構(gòu)
高頻下總線的設(shè)計(jì)也是需要注意的,尤其是在系統(tǒng)中總線負(fù)載較重的情況下,不適當(dāng)?shù)脑O(shè)計(jì)會限制總線只能在低頻下工作,甚至無法讀取數(shù)據(jù)。由于環(huán)形結(jié)構(gòu)上任一負(fù)載的變化都會影響到其他負(fù)載的工作,本設(shè)計(jì)中采用了星形總線結(jié)構(gòu),如圖2所示。在布線過程中考慮到DSP總線的驅(qū)動能力,嚴(yán)格的將每根信號線的長度控制在6英寸左右。實(shí)踐證明,采取的以上措施是必要而且正確的。
ADSP-TS201S和AD7864對電源的要求都非常高,例如,S201要求500MHz核時(shí)鐘時(shí),它的4個(gè)電源VDD、VDD_A、VDD_IO和VDD_DRAM的精度為5%,因此,系統(tǒng)中采用了輸出電壓精度可達(dá)1%的TPS54350作為電源芯片。
ADSP-TS201S的功耗可通過如下計(jì)算得到。以500MHz為例,VDD域消耗的電流可達(dá)2.67A,由式(1)可得,加上VDD_A的電流,內(nèi)核最大功耗為 2.99W。
由式(2)可得,VDD_IO域上的最大功耗為580mW。
由式(3)可得,內(nèi)部RAM的最大功耗為600mW。
基于以上數(shù)據(jù),由式(4)可得,ADSP-TS201S在500MHz下的總功耗為4.17W。
(4)
ADSP-TS201S的功耗還是比較大的,因此在設(shè)計(jì)時(shí)要為散熱片或風(fēng)扇留出空間。電源部分的高頻噪聲會影響ADSP-TS201S的工作速度,尤其是電壓低于1.5V的部分,所以在TS201的電源輸入引腳附近要用低ESR的陶瓷貼片電容濾波,此外VREF和SCLK_VREF引腳也需要注意濾波。
由于系統(tǒng)是包括ADC的數(shù)?;旌想娐罚O(shè)計(jì)中應(yīng)注意以下問題。在AD7864和CPLD附近大面積的覆銅可以屏蔽外部對模擬信號的干擾,同時(shí)AD7864的電源引腳、參考電壓輸入引腳、VDRIVE引腳與模擬地之間要加0.1μF的貼片電容去耦;數(shù)字信號走線和模擬信號走線要分開布放;整板的數(shù)字地和模擬地要分開且保證單點(diǎn)相連,相連點(diǎn)選擇在了模數(shù)信號匯集的地方;為AD7864供電的5V電源需要遠(yuǎn)離AD7864。
在調(diào)試過程中發(fā)現(xiàn),如果不為ADSP-TS201S的JTAG口加驅(qū)動芯片,切入硬件仿真環(huán)境時(shí)Visual DSP會出錯(cuò),所以建議即使是單片ADSP-TS201系統(tǒng)也要加一片驅(qū)動芯片,如TI公司的74ACT11244。
為了提高系統(tǒng)的靈活性,建議為ADSP-TS201S的SCLKRAT0~2(用于選擇倍頻系數(shù))和DS0~2(用于選擇總線驅(qū)動能力)引腳分別提供上拉和下拉兩種選擇,根據(jù)調(diào)試中的實(shí)際情況靈活配置。
3 軟件實(shí)現(xiàn)
數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)部分包括CPLD的軟件設(shè)計(jì)和DSP內(nèi)部的程序代碼。
AD7864的一些輸入引腳需要進(jìn)行配置,完成這個(gè)任務(wù)的是Altera公司的CPLD產(chǎn)品MAX3256A。AD7864需要進(jìn)行配置的各引腳的具體狀態(tài)如表1所示。
AD7864數(shù)據(jù)輸出控制采取分時(shí)輸出的方式。4片AD7864分為兩組:1、2片一組,3、4片一組。采樣信號來自于TS201的定時(shí)/計(jì)數(shù)器,每次定時(shí)器計(jì)數(shù)滿時(shí)TMROE引腳上會產(chǎn)生4個(gè)總線時(shí)鐘(SCLK,54MHz)的高電平,在CPLD里面把這個(gè)信號反向之后作為AD7864的CONVST信號。通過延時(shí)3、4片的CONVST信號可以控制兩組AD7864分時(shí)工作,延時(shí)電路及仿真波形如圖3所示。通過調(diào)節(jié)兩個(gè)比較器的數(shù)值,可以產(chǎn)生符合系統(tǒng)需要的波形。
圖3 CONVST延時(shí)電路及仿真波形
在數(shù)據(jù)傳輸上,1、3片的數(shù)據(jù)占據(jù)低位數(shù)據(jù)線,2、4片的數(shù)據(jù)占據(jù)高位數(shù)據(jù)線,分時(shí)輸出防止了總線沖突的出現(xiàn)。由于AD7864-1是補(bǔ)碼輸出,因此DSP把數(shù)據(jù)讀回后還需作數(shù)據(jù)提取和符號擴(kuò)展處理。數(shù)據(jù)提取主要是把高低位的數(shù)據(jù)分開,符號擴(kuò)展是根據(jù)采集回來的數(shù)據(jù)的第12位來判斷數(shù)據(jù)的正負(fù)作不同的高位擴(kuò)展,具體程序如下。
j0 = datum_out0;;
xr0 = [j0+=0];;//讀取AD轉(zhuǎn)換的數(shù)據(jù)
xr1 = 0xfff;;
xr2 = r0 and r1;;//提取AD轉(zhuǎn)換的數(shù)據(jù)的第12位
xr3 = 0x800;;
xr4 = r2 and r3;;//判斷符號位是否為1
if AEQ, jump data(np);;//如果符號位不為1,跳轉(zhuǎn)
xr5 = 0xfffff000;;//如果符號位為1,高位擴(kuò)展
xr6 = r5 or r2;;
xr2 = xr6;;//xr2里是擴(kuò)展后的AD轉(zhuǎn)換數(shù)據(jù)
data:
......//數(shù)據(jù)進(jìn)一步處理
結(jié)語
經(jīng)過測試,系統(tǒng)總線在54MHz時(shí)鐘下正常工作,數(shù)據(jù)傳輸正確,在內(nèi)核時(shí)鐘432MHz下,圓滿完成了數(shù)據(jù)處理及顯示的任務(wù)(實(shí)際耗時(shí)1100M/432M約為2.55s,小于一幀時(shí)間)。目前本設(shè)計(jì)已成功應(yīng)用于某聲雷達(dá)信號采集系統(tǒng)。
評論