夏云生, 徐橋松
(中石化管道儲(chǔ)運(yùn)公司襄陽(yáng)輸油處, 湖北襄陽(yáng) 441002)
PROTEUS嵌入式系統(tǒng)仿真與開(kāi)發(fā)平臺(tái)是由英國(guó)Labcenter公司開(kāi)發(fā)的,是嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺(tái)[1]。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。PROTEUS從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。此外,由于PROTEUS 的仿真模型均根據(jù)相應(yīng)器件的技術(shù)參數(shù)建立,因而其仿真結(jié)果極其接近實(shí)際,使其已經(jīng)超越了一般意義的“虛擬仿真”,成為具有現(xiàn)實(shí)意義的教學(xué)、研發(fā)平臺(tái)[2-3]。本文采用PROTEUS仿真軟件,利用單片機(jī)技術(shù)進(jìn)行了數(shù)控恒流源的開(kāi)發(fā)。
通常實(shí)現(xiàn)數(shù)控電流源的首要任務(wù)就是實(shí)現(xiàn)電壓的受控,一般使用單片機(jī)結(jié)合D/A轉(zhuǎn)換器來(lái)實(shí)現(xiàn)。并行D/A轉(zhuǎn)換器的引腳多,體積大占用單片機(jī)的硬件資源較多,而串行D/A轉(zhuǎn)換器的體積小,占用單片機(jī)的資源少,決定采用美國(guó)德州儀器公司推出的串行10位DAC芯片TLC5615,最大功耗為1.75 mW,更新率為1.21 MHz。通過(guò) 3 根串行總線就可以完成10 位數(shù)據(jù)的串行輸入,易于和工業(yè)標(biāo)準(zhǔn)的微處理器或微控制器接口,適用于數(shù)字失調(diào)與增益調(diào)整以及工業(yè)控制場(chǎng)合。利用PROTEUS v7.5平臺(tái)繪制了電路原理圖。本設(shè)計(jì)中AT89C52與TLC5615的接口電路原理圖如圖1所示。
圖1 AT89C52與TLC5615的接口電路原理圖
其中,U1為單片機(jī)AT89C52,U2為TLC5615轉(zhuǎn)換器,U3~U5為光耦隔離器。光耦隔離器的作用是將電信號(hào)進(jìn)行隔離,同時(shí)也易于實(shí)現(xiàn)功能電路的模塊化。D1為L(zhǎng)M358-1V2高精度電壓基準(zhǔn)源。本設(shè)計(jì)中TLC5615轉(zhuǎn)換器電壓增益為2,最大輸出電壓為2倍的基準(zhǔn)電壓,即2.4 V[4]。
對(duì)應(yīng)Keil環(huán)境下的C驅(qū)動(dòng)程序如下:
void TLC5615_Write_12Bits() //定義寫入函數(shù)
{ int i;
SCL = 0;
CS = 0;
for(i=0;i<2;i++) //循2次,發(fā)送高兩位;
{ if(gBitMsb) //高位先發(fā);
{ SDA = 1;
SCL = 1;
SCL = 0; }
else
{ SDA = 0;
SCL = 1;
SCL = 0; }
gBitMsb <<= 1;
}
for(i=0;i<8;i++) //循環(huán)八次,發(fā)送低八位;
{ if(gBitLsb)
{ SDA = 1;
SCL = 1;
SCL = 0; }
else
{ SDA = 0;
SCL = 1;
SCL = 0; }
gBitLsb <<= 1;
}
for(i=0;i<2;i++) //循環(huán)2次,發(fā)送兩個(gè)虛擬位;
{ SDA = 0;
SCL = 1;
SCL = 0; }
CS = 1;
SCL = 0;
}
void TLC5615_Start(int16u dacDat)//定義啟動(dòng)DAC函數(shù)
{ dacDat %= 1024;
gBitMsb = dacDat/256;
gBitLsb = dacDat%256;
gBitMsb <<= 6;
TLC5615_Write_12Bits();
}
圖2是V/I轉(zhuǎn)換電路原理圖。該電路的主要作用是將D/A轉(zhuǎn)換器輸出的電壓信號(hào)轉(zhuǎn)化為電流信號(hào)。為了能夠輸出恒定的電流信號(hào),運(yùn)算放大器U1∶A按電流負(fù)反饋連接,輸出端驅(qū)動(dòng)NPN三極管具有較高的帶載能力。運(yùn)算放大器U1∶B按負(fù)反饋形式連接,輸出端驅(qū)動(dòng)PNP三極管產(chǎn)生恒流提供給負(fù)載[7-8]。
根據(jù)運(yùn)算放大器的電壓虛短和三極管的集電極、發(fā)射極電流飽和時(shí)近似相等的兩個(gè)特性,可以得出以下關(guān)系式:
R1、R2和 RS的阻值分別選擇 650 Ω、2 250 Ω和33 Ω。由公式(3)可知,負(fù)載電流IL的大小與VU1:A+成正比,其中R1、R2和RS的精度直接影響到輸出電流線性度的好壞,一般實(shí)際應(yīng)用中使用精度較高的金屬膜電阻。
圖2 V/I轉(zhuǎn)換電路原理圖
在PROTEUS軟件中使用ANALOGUE模擬瞬態(tài)分析儀觀察VU1:A+和IL兩個(gè)變量。從圖3中的V/I轉(zhuǎn)換電路輸入輸出波形可以看到, 電壓VU1:A+在0~2.46 V之間線性變化時(shí),負(fù)載電流IL在4.44~21.30 mA范圍內(nèi)呈現(xiàn)出良好的線性關(guān)系。根據(jù)公式(3),當(dāng)VU1:A+為2.46 V最大時(shí),計(jì)算得出負(fù)載最大電流ILMAX為21.56 mA,結(jié)合實(shí)際觀察和理論分析,可以知道,設(shè)計(jì)是可行的,可以滿足4~20 mA標(biāo)準(zhǔn)電流信號(hào)的輸出。
圖3 V/I轉(zhuǎn)換電路輸入輸出波形
基于PROTEUS仿真軟件進(jìn)行了數(shù)控恒流源的設(shè)計(jì)和仿真,利用軟件中提供的虛擬分析儀觀察輸入輸出波形,驗(yàn)證了設(shè)計(jì)的可行性。據(jù)此制作的4~20 mA硬件電路在通用二次儀表開(kāi)發(fā)中得以廣泛應(yīng)用。
[1] 曹建樹(shù),夏云生,曾林春.51單片機(jī)實(shí)用教程[M].北京:中國(guó)石化出版社,2008:85.
[2] 吳小花.基于PROTEUS的電子電路設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2011,34(15):174-176.
[3] 周靈彬,張靖武.PROTEUS的單片機(jī)教學(xué)與應(yīng)用仿真[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(1):76-79.
[4] 陳雷,陳爽.基于PROTEUS的數(shù)控恒流源仿真研究[J].國(guó)外電子測(cè)量技術(shù),2011,30(2):24-27.
[5] 朱更軍,彭永供.串行10 位D /A 轉(zhuǎn)換器TLC5615 原理及與DSP 的接口[J].電子質(zhì)量,2003(10):12-13.
[6] 李建波,高立新.串行數(shù)模轉(zhuǎn)換器TLC5615的原理及其Proteus仿真設(shè)計(jì)[J].福建電腦,2008(10):21.
[7] 趙東波,郭榮幸,趙丙斌.基于單片機(jī)的數(shù)控直流電流源設(shè)計(jì)與實(shí)現(xiàn)[J].儀表技術(shù),2008(6): 58-60.
[8] 馬場(chǎng)清太郎,何希才.運(yùn)算放大器應(yīng)用電路設(shè)計(jì)[M].北京:科學(xué)出版社,2009:165-189.