基于CPLD控制的聲信號發(fā)射系統(tǒng)設(shè)計
在水下通信系統(tǒng)中,低功耗的聲信號發(fā)射電路設(shè)計對系統(tǒng)的作用距離遠(yuǎn)近及其精確度起著關(guān)鍵性的作用。介紹了一種利用CPLD控制的波形存儲方法,可以實現(xiàn)頻分和碼分兩種復(fù)用方式下的聲信號發(fā)射。經(jīng)過多次實驗驗證,該系統(tǒng)具有可行性。此外,在設(shè)計CPLD邏輯電路時,選用了Xilinx公司提供的Xilinx ISE6.2開發(fā)系統(tǒng)軟件,運用Model Tech公司的Modelsim對設(shè)計進(jìn)行功能仿真。
2 器件介紹
2.1 XC2C128簡介
Xilinx公司推出的CoolRunner-II系列中的XC2C128-7V0100。該器件采用第二代快速零功率(FZP)技術(shù),以便在盡可能低的功耗情況下提供最佳的性能,如:采用1.8 V的內(nèi)核電壓,可提供300 MHz的性能,且耗功小于100μA。另外,該器件還具有體積小,價格低和穩(wěn)定度高等優(yōu)點,符合信號發(fā)射系統(tǒng)要求。XC2C128包含了16個內(nèi)部互聯(lián)功能塊(AIM),每個AIM能為功能塊提供40個輸入,每個功能塊包含16個宏單元,這些宏單元同時包含大量的配置寄存器。另外,這些寄存器能被全局預(yù)置和復(fù)位,也可被提前設(shè)置成D或T觸發(fā)器,有多種時鐘信號,分別為全局或部由路服務(wù)。例如在同步時??赏瑫r應(yīng)用3個不同的時鐘信號。
XC2C128的主要特性如下:
采用1.5 V、1.8 V、2.5 V、3 V、3.3 V等電源供電,內(nèi)部有兩個BANK,因而允許采用不同電壓供電而無需電壓轉(zhuǎn)換器;
1.8 V供電時,靜態(tài)電流可低至25μA;
采用RealDigital CPLD技術(shù)和先進(jìn)的低功耗高速可編程邏輯技術(shù),靜態(tài)功耗可低至33μW;
帶有輸入滯回和可編程地(GND),提高了高速I/O信號完整性;
帶有多種LVCMOS、HSTL和SSTLI/O,其靈活的I/O可支持多種器件接口;
采用通用的JTAG接口;
片延時僅5 ns;
帶有雙邊緣觸發(fā)器,因而速度更快;
具有4級設(shè)計保密功能。
設(shè)計CPLD邏輯電路時,選用Xilinx公司提供的XilinxISE6.2開發(fā)系統(tǒng)軟件。ISE是集成綜合環(huán)境的簡稱,是XilinxFPGA/CPLD的綜合性集成設(shè)計平臺,該平臺集成了從設(shè)計輸入、方針、邏輯綜合、布局布線與實現(xiàn)、時序分析、器件下載與配置、功率分析等幾乎所有設(shè)計流程所需的工具,加快了CPLD設(shè)計開發(fā)進(jìn)程。CPLD邏輯電路采用VHDL輸入方式設(shè)計,具有很強(qiáng)的可讀性和可移植性,便于后續(xù)修改。完成電路設(shè)計后,運用Model Tech公司的ModlelSim對設(shè)計進(jìn)行功能仿真,驗證電路功能是否符合設(shè)計要求。圖1給出CPLD電路連接原理。
2.2 波形存儲器
波形存儲器主要用來存放預(yù)先生成的抽樣波形數(shù)據(jù)。這里選用SGS-THOMSON公司生產(chǎn)的M27C64A。因為該器件是一種低電壓、低功耗的8x8K EEPROM;編程電壓為12.5 V,具有高速編程的特點,特別適應(yīng)于電池供電系統(tǒng)。圖2給出其電路連接原理。
3 系統(tǒng)設(shè)置
3.1 硬件電路設(shè)計
圖3給出一個信號發(fā)射電路的總體框圖。在CPLD設(shè)計中,分頻電路的輸出頻率作為地址發(fā)生器的時鐘。但是,考慮到地址發(fā)生器的時鐘要和預(yù)存的波形數(shù)據(jù)采樣頻率相一致,而波形存儲器的存儲容量有限,當(dāng)采樣頻率為500kHz時,采樣的波形數(shù)據(jù)量較合適,因此需要設(shè)計16分頻電路,該分頻電路對頻率為8 MHz的晶體振蕩器分頻。同時,根據(jù)波形存儲器地址端引腳個數(shù),設(shè)計了13位的地址發(fā)生器。由此,依據(jù)CPLD的設(shè)計流程,在ISE6.2中完成16分頻電路、13位地址發(fā)生器電路的設(shè)計,并產(chǎn)生同步脈沖信號和信號發(fā)射電路中各個器件的控制信號。
因為發(fā)射的信號是模擬信號,而波形存儲電路輸出的波形數(shù)據(jù)是數(shù)字信號,這樣就不可避免地要進(jìn)行數(shù)字信號到模擬信號的轉(zhuǎn)換,D/A轉(zhuǎn)換電路就是完成該功能的電路。信號發(fā)射電路D/A轉(zhuǎn)換器選擇的是由ADI公司生產(chǎn)的AD5330。該器件是一款帶有微處理器、小體積、可與SPI直接連接的8 bit電壓輸出型低功耗D/A轉(zhuǎn)換器,采用雙緩沖結(jié)構(gòu),輸出鎖存,適合于電池供電系統(tǒng);當(dāng)電源電壓為3 V時,工作電流為115μA,關(guān)斷電流為80 nA;當(dāng)電源電壓為5 V時,工作電流為140μA,關(guān)斷電流為200 nA。
同時,為了滿足發(fā)射系統(tǒng)對作用距離的要求,就需要采用功率放大電路來確保發(fā)射換能器能夠得到足夠的發(fā)射功率;而匹配電路則可以使信號發(fā)射電路輸出具有更好的頻率特性,提高發(fā)射效率。因此,功放及匹配電路是信號發(fā)射電路中必不可少的一部分。
3.2 軟件設(shè)計
波形存儲器中的波形數(shù)據(jù)由于MATLAB仿真。MTLAB可以方便、快捷地生成波形數(shù)據(jù),而且可根據(jù)需要方便地調(diào)整信號頻率、周期、脈寬等參數(shù);同時,生成的聲發(fā)射信號具有失真度小,一致性好的優(yōu)點。此外,MATLAB作為一種科學(xué)與工程計算的高級語言,還具有編程方便,語法簡單等諸多優(yōu)點。因此,聲信號可以通過MATLAB軟件的仿真產(chǎn)生。但是,由于產(chǎn)生的波形數(shù)據(jù)較多,直接用手工錄入數(shù)據(jù)存儲器中不僅費時且易出錯。為此通過C語言編程將產(chǎn)生的波形數(shù)據(jù)形成*.hex文件格式。然后將波形數(shù)據(jù)整體下載到數(shù)據(jù)存儲器M27C64A中。
采用上述方法,波形數(shù)據(jù)生成簡單,快捷,數(shù)據(jù)的修改方便,無需改動硬件電路即可實現(xiàn)信號發(fā)射電路的功能擴(kuò)展。MATLAB中產(chǎn)生信號波形數(shù)據(jù)的xinhao.m文件如下:
根據(jù)數(shù)據(jù)采集卡的傳輸速率及發(fā)射信號的頻率,采樣頻率選fs為50 kHz,依據(jù)波形存儲器容量設(shè)其為500 kHz,生成的波形數(shù)據(jù)存放在xinhao.hex中。上段程序表示每隔17 ms產(chǎn)生一組正弦波,每組由20個7 kHz的正弦波組成,每20個波持續(xù)時間為2.86 ms,圖4所示為該程序產(chǎn)生的一組頻率為7 kHz的發(fā)射信號。
4 實驗結(jié)果
發(fā)射電路經(jīng)變壓器匹配后,連接水聲換能器,置于淡水中,由示波器觀察在接收端收到的信號。圖5所示為采用聲信號發(fā)射電路后,換能器在水中發(fā)射的信號(7 kHz):其中橫坐標(biāo)為時間,單位為ms;縱坐標(biāo)為幅值,單位為mv,圖5(b)是圖5(a)橫軸擴(kuò)展后的波形,從示波器可看出信號每幅17ms出現(xiàn)20個7 kHz的正弦波。
對比圖4和圖5可知,電路產(chǎn)生的信號與發(fā)射信號一致,均為脈沖發(fā)射,每一組脈沖為20個7 kHz的正弦波,信號脈寬為2.86 ms,由于聲信號在水中的衰減,信號的幅度為800 mV。另外,該信號為單頻信號,也可以通過MATLAB編程產(chǎn)生其他頻率的聲信號,完成頻分復(fù)用模式下的信號發(fā)射,同時也可以通過編碼實現(xiàn)ASK等方式下的聲信號發(fā)射。
5 結(jié)語
提出了一種基于CPLD控制的低功耗信號發(fā)射電路,具有可擴(kuò)展性和靈活性。該系統(tǒng)可以應(yīng)用于水中信號的發(fā)射(需要匹配換能器)和空氣中信號的發(fā)射。采用提出的波形存儲方法優(yōu)化了信號發(fā)射電路,通過改變波形存儲器型號或容量大小,還可以對信號進(jìn)行不同的復(fù)用方式,以滿足不同情況下的需要。