靳羚 龍建軍 張根明 陸艷
摘要:目前對(duì)海底冷泉滲漏氣體流量聲波測(cè)量運(yùn)用較多且方便有效的一種方法是投射聲波波形-幅度法,并且激發(fā)換能器的聲波個(gè)數(shù)需要控制在一定范圍。該文提出一種以DDS技術(shù)為基礎(chǔ)的信號(hào)發(fā)生器。采用單片機(jī)STC12C5A60S2控制DDS芯片AD5930產(chǎn)生正弦高頻信號(hào),同時(shí)通過可編程計(jì)數(shù)器芯片82C54來實(shí)現(xiàn)對(duì)波的個(gè)數(shù)的控制。該信號(hào)源電路結(jié)構(gòu)簡(jiǎn)單、易于控制、且頻率可調(diào),具有非常廣闊的市場(chǎng)應(yīng)用前景。
關(guān)鍵詞:信號(hào)發(fā)生器;AD5930;掃頻;82C54
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)13-0218-02
Design of Signal Source Based on Acoustic Wave Measurement of Leakage Gas Flow in Seafloor Cold Spring
JIN Ling,LONG Jian-Jun, ZHANG Gen-ming,LU Yan
(School of Information Engineering, GDUT, Guangzhou 510006, China)
Abstract:At present, one of the most effective and convenient methods for the acoustic measurement of leaking gas flow in subsea cold springs is the sound wave waveform-amplitude projection method, and the number of sound waves that excite the transducer needs to be controlled within a certain range. This article proposes a signal generator based on DDS technology. The use of single-chip STC12C5A60S2 control DDS chip AD5930 produces sinusoidal high-frequency signal, and at the same time through the programmable counter chip 82C54 to achieve the control of the number of waves. The signal source circuit has a simple structure, is easy to control, and has adjustable frequency, and has a very broad market application prospect.
Key words: Signal generator;AD5930;frequency sweep ;DDS
因聲波在海水中具有能有效遠(yuǎn)距離的傳播、傳播過程中衰減小、傳播方向性好等優(yōu)點(diǎn),所以目前聲波測(cè)量法已經(jīng)成為測(cè)量海底冷泉滲漏的重要方法之一。在聲波的測(cè)量過程中波的個(gè)數(shù)不能太少,不能準(zhǔn)確測(cè)量,波的個(gè)數(shù)也不能太多,因?yàn)闇y(cè)量通道的內(nèi)壁對(duì)聲波的反射,當(dāng)聲波個(gè)數(shù)過多時(shí),反射的聲波會(huì)與測(cè)量聲波互相疊加出現(xiàn)聲波幅度不穩(wěn)定的現(xiàn)象。本文提出的設(shè)計(jì)思路是以單片機(jī)作為主控系統(tǒng),控制AD5930信號(hào)發(fā)生器產(chǎn)生方便易于調(diào)節(jié)頻率的高頻信號(hào),然后再通過82C54計(jì)數(shù)器來實(shí)現(xiàn)對(duì)信號(hào)板輸出波形個(gè)數(shù)控制的功能。
1信號(hào)發(fā)生器電路設(shè)計(jì)
直接數(shù)字式頻率綜合器DDS,實(shí)際上是一種分頻器:通過編程頻率控制字來分頻系統(tǒng)時(shí)鐘以產(chǎn)生所需要的頻率。DDS 有兩個(gè)突出的特點(diǎn),一方面,DDS工作在數(shù)字域,一旦更新頻率控制字,輸出的頻率就相應(yīng)改變,其跳頻速率高:另一方面,由于頻率控制字的寬度寬(48bit 或者更高),頻率分辨率高。
AD5930是一款支持可編程頻率掃描和輸出突發(fā)功能的波形發(fā)生器。AD5930支持三種工作模式。在連續(xù)輸出模式下,該器件在定義時(shí)長(zhǎng)內(nèi)輸出所需頻率,然后步入下一頻率。針對(duì)該器件輸出特定頻率的時(shí)長(zhǎng),可進(jìn)行預(yù)先編程并讓器件自動(dòng)遞增該頻率,或者通過CTRL引腳進(jìn)行外部遞增。在突發(fā)模式下,該器件在一定時(shí)長(zhǎng)內(nèi)輸出其頻率,接著在另一預(yù)定義時(shí)長(zhǎng)內(nèi)返回到中間電平,然后步入下一頻率。在MSB模式下,該器件產(chǎn)生數(shù)字輸出。對(duì)器件進(jìn)行編程時(shí),用戶需要輸入起始頻率、頻率步進(jìn)、增量數(shù)量,以及器件在各頻率點(diǎn)停留的時(shí)間間隔。頻率配置文件可通過切換CTRL引腳來啟動(dòng)。
AD5930關(guān)鍵引腳的功能介紹:FSADJUST:這個(gè)引腳必須在與模擬地之間連接一個(gè)電阻,通常這個(gè)電阻的取值是6.8kΩ。REF:內(nèi)部參考電壓引腳,應(yīng)用時(shí)需要在其與模擬地之間連接一個(gè)10nf的去耦電容。COMP:這個(gè)引腳加一個(gè)去耦電容用于對(duì)AVDD的電壓值穩(wěn)壓的目的。MCLK:電路主時(shí)鐘。SYNCOUT:掃頻信息狀態(tài)輸出引腳,如果要啟用這個(gè)功能需要將控制寄存器位SYNCOPEN設(shè)置為1。INTERRUPT:這個(gè)引腳扮演在掃頻的過程當(dāng)中中斷的作用,其上升沿被內(nèi)部主時(shí)鐘采樣之后,讓內(nèi)部狀態(tài)復(fù)位,并且其數(shù)模轉(zhuǎn)換的結(jié)果輸出中間電平。CTRL:當(dāng)這個(gè)引腳有一個(gè)上升沿之后,則啟動(dòng)內(nèi)部的初始化狀態(tài),然后執(zhí)行已經(jīng)預(yù)編程的程序;當(dāng)處于自動(dòng)遞增狀態(tài)時(shí),一個(gè)單一的脈沖就會(huì)啟動(dòng)執(zhí)行掃頻信號(hào);當(dāng)處于外部遞增模式時(shí)輸出頻率的增加是隨著外部的上升沿的變化從而改變。SDATA:串行數(shù)據(jù)輸入數(shù)據(jù)位寬是16bit。SCLK:串行時(shí)鐘輸入,每一個(gè)SCLK的下降沿將數(shù)據(jù)送入到AD5930。FSYNC:處于工作狀態(tài)的時(shí)候低電平有效。STANDBY:掉電休眠功能,當(dāng)處于高電平的時(shí)候,AD5930的內(nèi)部MCLK處于無效狀態(tài)。IOUT/IOUTB:是一對(duì)差分信號(hào),電流輸出,使用的時(shí)候必須在引腳外分別加上一個(gè)200歐姆的電阻與模擬地相連接。
當(dāng)在編程的時(shí)候需要定義:起始頻率,頻率間隔,步進(jìn)頻率的數(shù)量,和兩個(gè)頻率之間的時(shí)間間隔,當(dāng)運(yùn)行的時(shí)候有兩種頻率增加模式分別是自動(dòng)增加模式和外部硬件引腳增加模式。當(dāng)處于自動(dòng)增加模式的時(shí)候,在CTRL引腳輸入一個(gè)脈沖波就開始啟動(dòng)產(chǎn)生輸出信號(hào);當(dāng)設(shè)置為外部增加模式的時(shí)候,在CTRL引腳輸入脈沖波來開啟掃頻工作,但是其掃頻的時(shí)間間隔則是根據(jù)其引腳輸入的脈沖波的頻率變化而變化,這與前面的自動(dòng)增加模式是靠?jī)?nèi)部設(shè)置的時(shí)間不一樣。頻率掃描的方式有鋸齒波和三角波兩種,輸出的波形也有連續(xù)輸出和突發(fā)輸出模式兩種差別。
在編程的時(shí)候需要設(shè)置起始頻率,寄存器中定義起始頻率大小的位寬是24bit,如果不需要這么大的數(shù)值也可以通過設(shè)置控制寄存器的B24bit來設(shè)置是否將其拆分為兩個(gè)各12位的起始頻率寄存器。步進(jìn)頻率增量表示每一次頻率的最小增加量,是一個(gè)23位的寄存器,其高位寄存器的D11位設(shè)置為1表示從頻率遞增,設(shè)置為0表示頻率。最終的頻率等于起始頻率加上步進(jìn)頻率乘以步進(jìn)數(shù)值。AD5930的數(shù)據(jù)輸入接口是串行外設(shè)接口SPI,和單片機(jī)ST12C5A60S2相連接。其電路原理設(shè)計(jì)如圖1所示:
2計(jì)數(shù)器電路設(shè)計(jì)
82C54是一種在微處理器系統(tǒng)中實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能的外圍接口芯片,其內(nèi)擁有三個(gè)獨(dú)立的16位的計(jì)數(shù)器。有六種可編程方式,與最常見的TTL電平可以完全兼容,以二進(jìn)制計(jì)數(shù),還擁有狀態(tài)讀返回功能。82C54的體系結(jié)構(gòu)包括一個(gè)8位的雙向數(shù)據(jù)總線D0--D7。寄存器地址輸入信號(hào)A0和A1用來選擇要訪問內(nèi)部四個(gè)寄存器的具體哪一個(gè)。讀控制信號(hào)(RD)和寫控制信號(hào)(WR)用來指明要對(duì)哪些寄存器地址進(jìn)行讀出或者寫入操作。另外還提供片選(CS)輸入信號(hào),以開啟82C54的微處理器接口。82C54的數(shù)據(jù)總線緩沖器是與系統(tǒng)控制總線相連接傳輸數(shù)據(jù)的接口,它是一種3態(tài)、雙向8位的緩沖器,因?yàn)槭侨龖B(tài)所以決定了其編程方式既可以用I/O的方式也可以利用總線的方式(總線只允許同時(shí)只有一個(gè)器件工作)對(duì)其進(jìn)行數(shù)據(jù)傳輸。
3信號(hào)發(fā)生器程序設(shè)計(jì)
AD5930一開始上電的時(shí)候內(nèi)部的狀態(tài)是沒有確切定義的狀態(tài),所以先讓AD5930擁有一個(gè)確定的狀態(tài)。由其數(shù)據(jù)手冊(cè)可知,CTRL引腳的上升沿用于初始化和啟動(dòng)內(nèi)部狀態(tài),因此在初始化的設(shè)置中這個(gè)引腳先設(shè)定為低電平0。STANDBY引腳為0 的時(shí)候是關(guān)閉元器件掉電休眠模式,所以初始化時(shí)設(shè)為0。SCLK引腳的下降沿會(huì)將數(shù)據(jù)鎖存到內(nèi)部寄存器,所以初始化時(shí)設(shè)為1。FSYNC引腳為低電平的時(shí)候表示新的數(shù)據(jù)即將加載到元器件內(nèi)部,所以初始化時(shí)設(shè)置為1。INTERRUPT引腳在被內(nèi)部主時(shí)鐘檢測(cè)到上升沿時(shí),會(huì)復(fù)位內(nèi)部狀態(tài),所以在初始化的時(shí)候應(yīng)設(shè)置為0。當(dāng)初始化程序加載之后,其余寄存器的加載順序分別是:先加載控制寄存器,再加載起始頻率寄存器,然后加載頻率增量,最后加載步進(jìn)點(diǎn)數(shù)和時(shí)間間隔。AD5930如果需要產(chǎn)生單頻信號(hào),則可以把步進(jìn)頻率,步進(jìn)點(diǎn)數(shù)和每個(gè)頻點(diǎn)上停留的時(shí)間三個(gè)參數(shù)都設(shè)置為0即可。AD5930與上位機(jī)的數(shù)據(jù)是通過SPI串行外設(shè)接口進(jìn)行傳輸?shù)?,其工作時(shí)序圖如圖2所示:
4計(jì)數(shù)器程序設(shè)計(jì)
82C54的內(nèi)部結(jié)構(gòu)分為:數(shù)據(jù)總線緩沖器、讀/寫邏輯部件和控制字寄存器。數(shù)據(jù)總線緩沖器,它是82C54與系統(tǒng)總線的接口,它是一種3態(tài)、雙向8位的緩沖器。讀/寫邏輯部件是接受來自系統(tǒng)總線的輸入信息,并且還會(huì)產(chǎn)生控制控制82C54其他功能的模塊信號(hào),用A1和A0從三個(gè)計(jì)數(shù)器中選擇其中的一個(gè)計(jì)數(shù)器或者是控制字寄存器來進(jìn)行讀/寫操作。當(dāng)A0A1=11時(shí),由讀/寫控制部件來選擇控制字寄存器。若CPU此時(shí)正在對(duì)82C54進(jìn)行一次寫操作,則把數(shù)據(jù)存放在控制字寄存器內(nèi),且被當(dāng)成控制字去規(guī)定各計(jì)數(shù)器的操作。它實(shí)際上由三個(gè)8位的寄存器構(gòu)成,用他們來設(shè)置計(jì)數(shù)器0、1和2的操作。
82C54的控制字是8位,第8位和第7位00代表計(jì)數(shù)器0,01代表計(jì)數(shù)器1,10代表計(jì)數(shù)器2,11代表讀回命令。第6位和第5位00代表將計(jì)數(shù)器中的數(shù)據(jù)鎖存到緩沖器,01代表只讀寫低8位,10代表只讀寫高8位,11代表先低8位后高8位。第4位、第3位和第2位000代表方式0,001代表方式1,010代表方式2,011代表方式3,100代表方式4,101代表方式5,111代表方式6,最低位為0代表數(shù)值是二進(jìn)制的形式。
82C54既可以與單片機(jī)STC12C5A60S2的數(shù)據(jù)傳輸采用I/O口模式,也可以采用總線的方式,因?yàn)榭偩€的方式編程比較簡(jiǎn)單,方便故本文采用總線式來進(jìn)行程序編程。 采用總線方式編程的時(shí)候需要對(duì)其初始化,此時(shí)讓其門控信號(hào)均為0,然后寫入控制字(確定工作的計(jì)數(shù)器和其對(duì)應(yīng)的工作方式),再寫入初值,然后計(jì)數(shù)執(zhí)行單元開始對(duì)輸入的時(shí)鐘脈沖CLK進(jìn)行減1計(jì)數(shù),在減到0時(shí),從OUT端輸出一個(gè)信號(hào)。
5 結(jié)論
本文介紹了一種基于DDS技術(shù)的信號(hào)發(fā)生器和可編程數(shù)字芯片從而使用上位機(jī)可方便實(shí)現(xiàn)控制發(fā)射聲波個(gè)數(shù)的高頻聲波。該電路板設(shè)計(jì)簡(jiǎn)單,上位機(jī)可以很方便控制其波形和頻率,同時(shí)具有低功耗、高可靠性以及成本低廉等特點(diǎn),具有實(shí)用價(jià)值。
參考文獻(xiàn):
[1] 魏俊益, 新型聲波信號(hào)系統(tǒng)的研究開發(fā)[D]. 廣州: 廣東工業(yè)大學(xué), 2010.
[2] 童詩白,華成英, 模擬電子技術(shù)基礎(chǔ)[M]. 北京: 高等教育出版社,2006.
[3] 魏俊益, 新型聲波信號(hào)系統(tǒng)的研究開發(fā)[D]. 廣州: 廣東工業(yè)大學(xué), 2010.
[4] 許肖梅. 聲學(xué)基礎(chǔ)[M].北京: 科學(xué)出版社,2003.
[5] 龍建軍,黃為.海底冷泉滲漏流量聲學(xué)測(cè)量方法及初步實(shí)驗(yàn)研究[J].熱帶海洋學(xué)報(bào),2012(5):100-105.