武立華,黃 玉,王 姣,趙恩銘,劉志海
(哈爾濱工程大學(xué) a.理學(xué)院 理學(xué)之光科技創(chuàng)新中心; b.信息與通信工程學(xué)院, 黑龍江 哈爾濱 150001)
在驅(qū)動磁通門傳感器時,經(jīng)常需要將方波信號轉(zhuǎn)換成正弦信號,而一般的由波形發(fā)生芯片組建的信號發(fā)生電路只能產(chǎn)生一些常規(guī)的信號(如正弦波、方波、脈沖波、三角波等),信號的幅值、頻率等參量調(diào)節(jié)不便,需要修改電路設(shè)計[1-3]. 但相關(guān)檢測法等許多應(yīng)用領(lǐng)域,同時需要正弦波、方波等多種信號[4-5]. 磁通門傳感器的激勵信號峰峰值一般要求大于5 V,簡單的波形發(fā)生芯片不能滿足這一特定要求[6].
目前,國內(nèi)生產(chǎn)的波形變換裝置大部分是分立元件組成的,轉(zhuǎn)換量程靠手動實現(xiàn),不僅體積大,而且可靠性和準確度很難進一步提高. 其另一個局限性是只能就單一波形進行變換. 由于CPLD內(nèi)部結(jié)構(gòu)是并行結(jié)構(gòu),與單片機存在本質(zhì)差別,處理速度是單片機無法比擬的[7]. 利用CPLD進行的正弦波和方波的信號轉(zhuǎn)換不僅可以實現(xiàn)信號間的轉(zhuǎn)換而且還可以實現(xiàn)對正弦波和方波的整形、放大,具有很高的頻率穩(wěn)定度和精確度,可作為磁通門傳感器中的激勵源和解調(diào)中的載波信號.
采用晶振產(chǎn)生特定頻率與幅值的方波信號,并應(yīng)用可編程邏輯器件CPLD進行數(shù)字量轉(zhuǎn)換,使用射隨放大器TLC272與CPLD進行波形整形與放大. 射隨放大器件消除信號間的干擾,保證了信號的精確度,增加了裝置的帶載能力. 模塊化的軟硬件設(shè)計也非常有利于系統(tǒng)的檢測和故障分析.
對于輸入為方波時(如由晶振產(chǎn)生峰峰值為3.3 V,頻率為8 MHz的方波信號),先將該信號輸入到CPLD,通過程序設(shè)計控制方波信號的占空比. 再將方波信號通過諧振電路進行波形轉(zhuǎn)換,使其變成同頻率同幅值的正弦波信號,然后接入放大電路,對其幅值進行放大.
當接入信號為小幅值、頻率特定的正弦波信號時,先將正弦波信號接入轉(zhuǎn)換電路變?yōu)榉宸逯禐?.3 V、頻率為8 MHz的方波,再將該信號輸入到CPLD,通過程序設(shè)計控制方波信號的占空比,將調(diào)節(jié)完占空比的方波信號接入放大電路,得到峰峰值大于9 V的方波信號,使其成為磁通門傳感器的激勵信號. 基于CPLD的方波/正弦波之間的互換電路原理圖,如圖1所示.
圖1 方波/正弦波的互換電路原理
圖2 TLC272放大電路圖
在由正弦波向方波轉(zhuǎn)換過程中,需要把正弦信號進行放大,直到使放大器工作在飽和與截止狀態(tài),就變成了方波信號. 故本電路采用兩級三極管放大電路,第一級前有1對二極管對放大電路進行電壓保護,使輸入電壓穩(wěn)定在0.7 V以內(nèi). 再由2個BFR96三極管組成的放大電路進行二級放大. 第一級和第二級放大電路如圖3所示,在第一級放大電路中根據(jù)接入電阻控制放大倍數(shù),放大倍數(shù)為
(a)第一級
(b)第二級圖3 兩級三極管放大電路圖
其中rbe為三極管BFR96的電阻. 在第二級放大電路中,放大倍數(shù)為
當二級連續(xù)放大,理論上放大倍數(shù)可達到數(shù)萬倍,但是由于給定的三極管飽和電壓為3.3 V,利用飽和截止效應(yīng)將正弦波限定為3.3 V,因此輸出信號為3.3 V的8 MHz的方波信號.
CPLD內(nèi)部采用固定長度的金屬線進行各邏輯塊的互連,所設(shè)計的邏輯電路具有時間可預(yù)測性,避免了分段式互連結(jié)構(gòu)的時序不完全預(yù)測的缺點. CPLD主芯片采用Altera公司的MAX II器件系列的EPM240T100C5,該芯片有240個邏輯單元,等效宏單元是192個,最大引腳數(shù)為80個,可用的門電路達到2 500個,能夠支持高達300 MHz的內(nèi)部時鐘,最大距離引腳之間的延遲時間最快達4.5 ns,最小距離管腳的延時時間達3.6 ns,內(nèi)有8 kb Flash的存儲空間,直流穩(wěn)壓電源用來給系統(tǒng)供電,工作電壓為3.3 V.
CPLD程序采用混合編程方法,先用VHDL硬件描述語言編寫各個模塊,編譯仿真正確后在電路圖中進行連接. CPLD程序共有2個模塊,一個是8位計數(shù)器模塊,另一個是8位比較器模塊,軟件設(shè)計的電路圖如圖4所示. 輸入的信號先由8位計數(shù)器對8 MHz的時鐘信號進行計數(shù),計數(shù)器每256個時鐘周期循環(huán)1次,即分頻后的信號頻率為31.25 kHz. 計數(shù)器輸出的值與比較器內(nèi)部的8位寄存器的值比較大小,并把比較的結(jié)果輸出. 通過改變寄存器內(nèi)的值就可以改變輸出信號的占空比.
圖4 VHDL電路圖
1)計數(shù)器的VHDL程序
8位計數(shù)器的實體一共有3個端口,分別是時鐘信號輸入端clk、計數(shù)值輸出端data_out和256分頻輸出端div_out. 8位計數(shù)器,內(nèi)部設(shè)置了8位寄存器div1,對于clk的每個上升沿,div1加1,然后把div1的值賦值給輸出端口data_out.
設(shè)計的部分程序如下:
architecture behavioral of divider8 is
signal div1:std_logic_vector(7 downto 0);
begin
p1:process(clk,div1)
begin
if rising_edge(clk) then
div1<=div1+‘1’;
end if;
data_out<=div1;
div_out<=div1(7);
end process;
end behavioral;
b)比較器的VHDL程序
比較器端口輸入分別為8位data_in,用于輸入計數(shù)器的值;key_dre用于確定給內(nèi)部寄存器進行加操作還是減操作;key_plus用于給內(nèi)部寄存器進行加1或減1操作;cmp_out為占控比可調(diào)的輸出端口. 8位比較器內(nèi)部設(shè)置了1個8位寄存器data,1位的標志位flag,和1個8位的比較寄存器,用于與輸入信號作比較.
比較器結(jié)構(gòu)體中一共有4個進程. 由于VHDL程序中不可以用端口信號進行運算,所以第一個進程是把外部的數(shù)據(jù)賦值給內(nèi)部的寄存器data中,用data進行后面的運算;第二、三個進程是完成按鍵的操作,用來對內(nèi)部比較寄存器data_cmp進行加1減1操作. 第四個進程是把data寄存器與data_cmp寄存器的值進行比較,如果data內(nèi)的值比data_cpm內(nèi)的值大,則輸出高電平,否則就輸出低電平.
設(shè)計的部分程序如下:
architecture behavioral of compater8 is
signal data:std_logic_vector(7 downto 0);
signal flag:std_logic_vector(0 downto 0);
signal data_cmp:std_logic_vector(7 downto 0):="10000000";
begin
p1:process(data_in) --data
begin
data<=data_in;
end process;
p2:process(key_dre)
begin
if rising_edge(key_dre) then
flag<=flag+‘1’;
end if;
end process;
p3:process(key_plus,flag)
begin
if rising_edge(key_plus) then
if ((flag="1")and(data_cmp/="11111111")) then
data_cmp<=data_cmp+"1";
elsif (flag="0")and(data_cmp/="00000000") then
data_cmp<=data_cmp-"1";
end if;
end if;
end process;
p4:process(data,data_cmp)
begin
if(data>data_cmp) then
cam_out<=‘1’;
else
cam_out<='0';
end if;
end process;
end behavioral;
通過對CPLD編程使信號從CPLD輸出頻率為31.25 kHz、峰峰值為3.3 V的方波信號,通過調(diào)節(jié)由TLC272組成放大器的放大倍數(shù),來實現(xiàn)信號輸出幅度的可控. 通過諧振電路選擇31.25 kHz的正弦波信號,濾掉其余頻率信號. 實驗結(jié)果如圖5所示,正弦波的峰峰值接近9 V. 通過數(shù)字示波器的FFT功能,對轉(zhuǎn)換為正弦的信號進行分析,用31.25 kHz的二次諧波與三次諧波的功率與總的功率相比,其失真度為1.32%,實現(xiàn)了不錯的方波與正弦波的轉(zhuǎn)換.
圖5 方波轉(zhuǎn)換為正弦波的實驗結(jié)果
應(yīng)用二級三極管放大電路,對正弦波輸入信號進行大幅度放大,當正弦波放大到一定倍數(shù)時,截去正弦波波峰,正弦波波形會近似成方波. 再經(jīng)過CPLD得到占空比可調(diào)的方波信號. 由峰峰值僅為118 mV的正弦波轉(zhuǎn)換得到的方波信號及由TLC272放大電路放大后的方波信號分別如圖6和圖7所示,峰峰值達到了13 V,峰峰值大于9 V的方波信號可用作磁通門傳感器的激勵信號,如圖8所示,從圖中可看到,磁通門輸出了方波整數(shù)倍頻率的信號,表明磁通門傳感頭正常工作.
圖7 經(jīng)TLC272放大后的方波
圖8 磁通門傳感頭測試結(jié)果
從實驗結(jié)果看,采用CPLD實現(xiàn)的正弦波與方波互換電路可以滿足應(yīng)用需求,與采用分立元件或集成芯片組成的信號發(fā)生器相比,其產(chǎn)生的波形單一,幅值、頻率等參量不易調(diào)節(jié),信號峰峰值也受制于器件,多數(shù)信號發(fā)生芯片產(chǎn)生的波形峰峰值不超過5 V而不能滿足特定的要求. 磁通門的激勵信號峰峰值要求比5 V大很多,因此一般的信號源不能適應(yīng)這種應(yīng)用需求. 采用數(shù)字芯片CPLD為核心元件構(gòu)建正弦波和方波互為轉(zhuǎn)換電路,用于產(chǎn)生幅值、頻率等參量可調(diào)的正弦波或方波信號. 設(shè)計了轉(zhuǎn)換電路與CPLD的程序,進行了相關(guān)功能模塊的仿真實驗,轉(zhuǎn)換電路的實驗測試驗證了電路設(shè)計的正確性和有效性.
參考文獻:
[1] 夏光瑜. 互補正弦波電源在磁通門中應(yīng)用[J]. 儀器儀表學(xué)報,2003,14(2):120-122.
[2] 王紅利. 自給電正弦波方波轉(zhuǎn)換器[J]. 傳感技術(shù)學(xué)報,2006,18(6):1035-1038.
[3] 徐素利,趙紅英. 基于OrCAD/Pspice的信號發(fā)生電路設(shè)計[J]. 現(xiàn)代電子技術(shù),2008,280(17):154-156
[4] 祝榮榮,殳國華. 基于相關(guān)檢測的電容傳感器的研究[J]. 儀表技術(shù)與傳感器,2004,(8):3-4,8.
[5] Huang Song-ming,et al. A high frequency stray-immune capacitance transducer based on the charge transfer principle [J]. IEEE Trans. Instrum. Meas.,1988,37(3):368-371.
[6] Baschiroto A, Borghettl F, Dallago E, et al. Fluxgate magnetic sensor and front-end circuitry in an integrated microsystem [J]. Sensors and Actuators A, 2006, 132: 90-97.
[7] 黎洪生. 基于CPLD的超聲波水位測量系統(tǒng)的研究[D]. 武漢:武漢理工大學(xué),2010.