劉麗萱 崔進龍 雙 凱
摘 要:針對井地電位測量系統發送機研制過程中的需求,提出一種以AT89S51單片機為核心的高穩定度超低頻矩形波發生器。在硬件上采用溫度補償晶振,保證輸出信號頻率在較寬的溫度范圍內的穩定性;在軟件上采用C語言和匯編語言混合編程的方法,保證低頻信號輸出的精確性。
關鍵詞:單片機;高穩定度;超低頻;矩形波
中圖分類號:TP937 文獻標識碼:A
文章編號:1004-373X(2009)21-115-03
Ultra-low Frequency Rectangle Wave Signal Generator with High Stability Based on TCXO
LIU Lixuan,CUI Jinlong,SHUANG Kai
(Department of Mechanical and Electronic Engineering,China University of Petroleum,Beijing,102249,China)
Abstract:A rectangle wave generator circuit based on single chip AT89S51 is introduced according to the necessity of borehole to surface electrical survey system transmitter.It can output high stability and ultralow frequency rectangle wave.It uses Temperature Compensated Crystal Oscillator (TCXO) in hardware,to ensure stability of the output′s frequency from low temperature to high.And it adopts mixed-programming by mixing compilation of C and assemble language,to ensure the accuracy of low frequency output.
Keywords:single chip computer;high stability;ultra-low frequency;rectangle wave
0 引 言
井地電位測量方法是通過開發井的套管向井下供入大功率的電流,在地表測量由套管流入地層的“漏電流”在非均勻電性變化的地下介質中形成地表的電位分布,來研究地下介質的電阻率分布,進而解釋推斷目的層段有關參數[1,2]。一般來說,提供電流的發送機,要能夠輸出非常穩定的方波電流(頻率域)和1∶1∶1正負間斷雙極性脈沖電流(時間域),輸出信號的頻率較低,且頻率穩定度要高。為此,發送機的功率電流輸出部分采用4個IGBT構成H橋形式[3],通過對IGBT驅動信號的控制,實現相應的電流輸出。筆者研制的發送機,要求輸出的電流波形如下:頻率域方波,涵蓋0.1 Hz,0.3 Hz,0.5 Hz,1 Hz,3 Hz,10 Hz六個頻點;時間域信號脈寬有1,2,4,8,16,32 s六檔。對H橋上相應的IGBT開關管的驅動控制信號有以下要求:
(1) 驅動控制信號為矩形波,其電平為TTL電平;
(2) 矩形波模式可選(頻率域模式,輸出占空比為50%的方波信號,見圖1;時間域模式,輸出占空比25%的矩形波信號,見圖2),且頻率可調;
(3) 在-20~+50 ℃溫度范圍內,矩形波的頻率偏差要控制在0.01%內;
(4) 為安全起見,輸出的矩形波信號與后級功率器件驅動電路之間應有電氣隔離功能。
針對上述需求,本文提出了一種以AT89S51單片機為核心的高穩定度超低頻矩形波發生電路。
1 方 案
1.1 硬件方案
傳統的矩形波發生器,絕大部分都是由模擬電路構成的,在高頻的范圍內其頻率穩定性與可調性好。但是,用于低頻信號輸出時,其需要RC值很大,參數準確度難以保證,而且體積大,損耗大[4],不適合本工程應用的要求,因而采取以單片機為核心的數字產生方式,總體方案見圖3。高精度溫補晶振作為系統的時鐘基準源,相關波形參數通過4×4的鍵盤按鍵輸入,并顯示在LCD顯示器上,低頻矩形波由單片機I/O口輸出,經光耦隔離后作為發送機功率驅動電路的控制信號。
(1) 單片機
選用AT89S51作為整個電路的控制核心,因為此芯片有4 kB的程序存儲器和256 B的數據存儲器[5],不用外擴存儲器,以降低硬件電路的復雜度。此外,該芯片的價錢也比較低。
(2) 溫補晶振
由于發送機的工作環境是在油田現場,溫度變化較大,為了達到信號的高精度穩頻的要求,采用溫度性能為1 ppm的12 MHz的溫度補償晶振為單片機提供系統時鐘。系統的晶體振蕩器結合單片機內部的電路,產生單片機所必須的時鐘頻率,單片機的一切指令都建立在這個基礎上。單片機工作時,
是一條一條地從ROM中取指令,
然后一步一步地執行。單片機訪問一次存儲器的時間,稱之為一個機器周期,這是一個時間基準。一個機器周期包括12個時鐘周期。機器周期不僅對于指令執行有著重要意義,而且機器周期也是單片機定時器和計數器的時間基準。由于輸出矩形波的頻率是靠單片機定時來實現的,為了得到輸出頻率穩定度較高的矩形波,就需要較高的定時精度,也就是說需要高精度的晶振。普通晶振在一般條件下的頻率穩定度可達50 ppm,穩定度偏低,另外也不能滿足溫度要求。溫度補償晶體振蕩器(TCXO)是在晶振內部采取措施對晶體頻率溫度特性進行補償,以達到在寬溫度范圍滿足穩定度要求的晶體振蕩器[6]。
根據現場的需要,選取北京晶宇興科技有限公司生產的TC18A-NBGIA-12 MHz溫補晶振。其主要參數為[7]:工作溫度范圍為-40~+85 ℃;頻率穩定度為±1 ppm;輸出頻率為12 MHz;供電電源為+5 V DC±10%。
(3) 鍵盤
采用4×4矩陣鍵盤,包括數字鍵(0~9)、小數點鍵和控制鍵(設置、光標移位、確認和退出)。其中“設置”鍵用于中止信號輸出,同時為信號參數的調整做準備;“退出”鍵用于改變信號輸出模式;數字鍵、小數點鍵和光標移位鍵配合使用,來設定頻率域信號的頻率或時間域信號的脈寬。該鍵盤接在單片機的P1口上。
(4) 液晶顯示
JHD529M1模塊(12864)是一種帶中文字庫的圖形點陣液晶顯示器,它既可以顯示圖形,也可以顯示8×4(16×16點陣)行漢字或16×8(16×8點陣)行字符。這里用于顯示波形的相關參數。用單片機的P0口與LCD傳送數據,用P2口來控制LCD顯示。
(5) 光耦隔離
從單片機I/O口直接輸出的TTL電平矩形波信號是不能直接作為開關器件的驅動信號的。這是因為輸出H橋上的開關管是高壓器件,如果在兩者之間不進行隔離,H橋工作時產生的高壓很可能通過導線耦合到單片機上而使單片機燒毀。本設計采用光耦進行隔離。單片機輸出信號經光耦器件再送到IGBT開關管的驅動電路,以實現控制電路與功率電路的電氣隔離。光耦型號為TLP521,其隔離電壓可達2 500 Vrms(Min)[8]。
1.2 軟件方案
系統軟件以C語言代碼為主體,主要有以下模塊:
(1) 初始化部分,包括開機置所有的I/O口,設定定時器工作方式,液晶初始化,確定初始輸出等;
(2) 按鍵掃描部分,用于掃描按鍵及作出相應的處理,如輸出模式更改,輸出頻率增加或減少等;
(3) 液晶顯示部分,用于將輸出模式及信號頻率信息送入顯示模塊;
(4) 定時函數,用來產生輸出信號。
用MCS-51單片機輸出矩形波一般有兩種方式[9]:第一種方式利用定時器/計數器0控制矩形波頻率輸出,結合定時器/計數器1控制占空比;第二種方式僅使用一個定時器,工作于16位定時器/計數器方式,同時控制輸出頻率和占空比。這兩種方法有個共同的特點,就是在定時中斷中將信號輸出口翻轉。這種方法存在缺陷:定時器定時時間有限,造成輸出信號頻率不能太低;由于中斷函數中存在中斷次數判斷等語句,會影響輸出信號頻率的準確度。
比如,對于MCS-51系列單片機AT89S51來說,用16位定時器定時時間為:t=(65 536-計數初值)×12/晶振頻率[10],頻率域模式時矩形波的周期為定時時間的2倍,即T=2t;時間域模式時矩形波的周期為定時時間的4倍,即T=4t。若用12 MHz晶振,對于頻率域模式,T的最大值約為0.131 s,對應的頻率為7.63 Hz,即用16位定時器產生矩形波,頻率最低為8 Hz左右,顯然不能滿足實際的需要;而對于時間域模式,若脈寬為32 s,則矩形波的周期T=32×4=128 s,對應的頻率約為0.008 Hz,同樣也不能滿足需要。
若要產生更低頻率,就需另在軟件中想辦法。文獻[4]和文獻[9]中提出的方法都不能很好地解決超低頻問題。這里定義一個定時函數(50 ms定時),利用定時器T1來形成一個比較精確的定時,然后將該函數當做“原子時間單元”。根據輸出信號的模式和頻率,來調用此時間單元,以形成合適的延時,最終獲取預定的輸出信號。為使該定時盡量準確,定時代碼用匯編語言編寫,即在C語言中嵌入匯編代碼,而且其中不含定時器設置以外的代碼。在程序中根據鍵盤的輸入,計算出調用定時單元的次數,然后進入延時過程就可以了。下面是部分核心代碼:(1) 50 ms定時函數
void time()
{
#pragma asm
MOV TMOD,#10H
SETB TR1
MOV TH1,#3CH
MOV TL1,#AFH
LOOP:JNB TF1,LOOP
CLR TF1
#pragma endasm
}
(2) 信號輸出代碼
若輸出脈寬為1 s的時間域矩形波,則在一個周期內,高電平持續的時間為1 s(50 ms的20倍),低電平持續的時間是3 s(50 ms的60倍),相應的代碼可寫成:
while(flagp==1)
{
tempnum1=20;
tempnum2=3*20;
pout=1;
while(tempnum1--)
time();
pout=0;
while(tempnum2--)
time();
}
其中,flagp為控制信號是否輸出的標志;pout是信號輸出端口。其他脈寬信號以及頻域信號可以依此寫出。
2 實驗波形
根據設計方案設計并制作了以AT89S51單片機為核心的高穩定度超低頻矩形波發生器。利用數字示波器對該發生器的輸出信號進行測試,圖5和圖6分別是室溫下頻率域模式0.1 Hz和時間域模式脈寬4 s的實際測量波形,結果表明基本達到了預期的效果。以此矩形波發生器作為功率開關管的驅動控制信號發生電路,應用在井地電位測量系統發送機中,并在油田現場進行了測試實驗。實驗結果表明,發送機的輸出電流頻率穩定度達到系統要求。
3 結 語
本設計以AT89S51單片機為核心,采用高精度、高穩定的溫補晶振以及相應的軟件編程保證了輸出矩形波頻率的高精度及高穩定度。光耦TLP521將系統的輸出與發送機的功率電路部分進行電氣隔離,提高了系統的安全可靠性。通過鍵盤控制波形的選擇和頻率的調節,并將波形的相關參數在LCD上顯示出來。該矩形波發生器具有性價比高,操作方便的優點,已經成功地應用于井地電位測量系統發送機中。
參考文獻
[1]張金成.電位法井間監測技術[J].地震地質,2001(6):292-300.
[2]譚河清,沈金松,周超,等.井-地電位成像技術及其在孤東八區剩余油分布研究中的應用[J].石油大學學報:自然科學版,2004,28(2):31-38.
[3]陳儒軍.偽隨機多頻電磁法觀測系統研究[D].長沙:中南大學,2003.
[4]俞眉孫.高精度高穩定度電流及方波發生器的研制[J].實驗科學與技術,2005(10):184-186.
[5]Atmel AT89S51數據手冊[Z].2009.
[6]吳剛.高清晰管道漏磁通檢測系統地面標記技術研究[D].天津:天津大學,2005.
[7]TC18A數據手冊[Z].http://www.jfvny.com.
[8]TOshiba.TLP521數據手冊.
[9]劉鯤,孫春亮.單片機C語言入門[M].北京:人民郵電出版社,1993.
[10]李華.MCS-51系列單片機實用接口技術[M].北京:北京航空航天大學出版社,1993.
作者簡介
劉麗萱 女,1965年出生,講師。研究方向為電力電子及電力傳動。
崔進龍 男,1983年出生,碩士在讀。研究方向為信號的檢測與處理。
雙 凱 男,1956年出生,教授。研究方向為智能控制系統、DSP及微處理器的應用技術研究。