夏云生, 徐橋松
(中石化管道儲運公司襄陽輸油處, 湖北襄陽 441002)
PROTEUS嵌入式系統仿真與開發平臺是由英國Labcenter公司開發的,是嵌入式系統設計與仿真平臺[1]。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。PROTEUS從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。此外,由于PROTEUS 的仿真模型均根據相應器件的技術參數建立,因而其仿真結果極其接近實際,使其已經超越了一般意義的“虛擬仿真”,成為具有現實意義的教學、研發平臺[2-3]。本文采用PROTEUS仿真軟件,利用單片機技術進行了數控恒流源的開發。
通常實現數控電流源的首要任務就是實現電壓的受控,一般使用單片機結合D/A轉換器來實現。并行D/A轉換器的引腳多,體積大占用單片機的硬件資源較多,而串行D/A轉換器的體積小,占用單片機的資源少,決定采用美國德州儀器公司推出的串行10位DAC芯片TLC5615,最大功耗為1.75 mW,更新率為1.21 MHz。通過 3 根串行總線就可以完成10 位數據的串行輸入,易于和工業標準的微處理器或微控制器接口,適用于數字失調與增益調整以及工業控制場合。利用PROTEUS v7.5平臺繪制了電路原理圖。本設計中AT89C52與TLC5615的接口電路原理圖如圖1所示。

圖1 AT89C52與TLC5615的接口電路原理圖
其中,U1為單片機AT89C52,U2為TLC5615轉換器,U3~U5為光耦隔離器。光耦隔離器的作用是將電信號進行隔離,同時也易于實現功能電路的模塊化。D1為LM358-1V2高精度電壓基準源。本設計中TLC5615轉換器電壓增益為2,最大輸出電壓為2倍的基準電壓,即2.4 V[4]。
對應Keil環境下的C驅動程序如下:
void TLC5615_Write_12Bits() //定義寫入函數
{ int i;
SCL = 0;
CS = 0;
for(i=0;i<2;i++) //循2次,發送高兩位;
{ if(gBitMsb) //高位先發;
{ SDA = 1;
SCL = 1;
SCL = 0; }
else
{ SDA = 0;
SCL = 1;
SCL = 0; }
gBitMsb <<= 1;
}
for(i=0;i<8;i++) //循環八次,發送低八位;
{ if(gBitLsb)
{ SDA = 1;
SCL = 1;
SCL = 0; }
else
{ SDA = 0;
SCL = 1;
SCL = 0; }
gBitLsb <<= 1;
}
for(i=0;i<2;i++) //循環2次,發送兩個虛擬位;
{ SDA = 0;
SCL = 1;
SCL = 0; }
CS = 1;
SCL = 0;
}
void TLC5615_Start(int16u dacDat)//定義啟動DAC函數
{ dacDat %= 1024;
gBitMsb = dacDat/256;
gBitLsb = dacDat%256;
gBitMsb <<= 6;
TLC5615_Write_12Bits();
}
圖2是V/I轉換電路原理圖。該電路的主要作用是將D/A轉換器輸出的電壓信號轉化為電流信號。為了能夠輸出恒定的電流信號,運算放大器U1∶A按電流負反饋連接,輸出端驅動NPN三極管具有較高的帶載能力。運算放大器U1∶B按負反饋形式連接,輸出端驅動PNP三極管產生恒流提供給負載[7-8]。
根據運算放大器的電壓虛短和三極管的集電極、發射極電流飽和時近似相等的兩個特性,可以得出以下關系式:

R1、R2和 RS的阻值分別選擇 650 Ω、2 250 Ω和33 Ω。由公式(3)可知,負載電流IL的大小與VU1:A+成正比,其中R1、R2和RS的精度直接影響到輸出電流線性度的好壞,一般實際應用中使用精度較高的金屬膜電阻。

圖2 V/I轉換電路原理圖
在PROTEUS軟件中使用ANALOGUE模擬瞬態分析儀觀察VU1:A+和IL兩個變量。從圖3中的V/I轉換電路輸入輸出波形可以看到, 電壓VU1:A+在0~2.46 V之間線性變化時,負載電流IL在4.44~21.30 mA范圍內呈現出良好的線性關系。根據公式(3),當VU1:A+為2.46 V最大時,計算得出負載最大電流ILMAX為21.56 mA,結合實際觀察和理論分析,可以知道,設計是可行的,可以滿足4~20 mA標準電流信號的輸出。

圖3 V/I轉換電路輸入輸出波形
基于PROTEUS仿真軟件進行了數控恒流源的設計和仿真,利用軟件中提供的虛擬分析儀觀察輸入輸出波形,驗證了設計的可行性。據此制作的4~20 mA硬件電路在通用二次儀表開發中得以廣泛應用。
[1] 曹建樹,夏云生,曾林春.51單片機實用教程[M].北京:中國石化出版社,2008:85.
[2] 吳小花.基于PROTEUS的電子電路設計與實現[J].現代電子技術,2011,34(15):174-176.
[3] 周靈彬,張靖武.PROTEUS的單片機教學與應用仿真[J].單片機與嵌入式系統應用,2008(1):76-79.
[4] 陳雷,陳爽.基于PROTEUS的數控恒流源仿真研究[J].國外電子測量技術,2011,30(2):24-27.
[5] 朱更軍,彭永供.串行10 位D /A 轉換器TLC5615 原理及與DSP 的接口[J].電子質量,2003(10):12-13.
[6] 李建波,高立新.串行數模轉換器TLC5615的原理及其Proteus仿真設計[J].福建電腦,2008(10):21.
[7] 趙東波,郭榮幸,趙丙斌.基于單片機的數控直流電流源設計與實現[J].儀表技術,2008(6): 58-60.
[8] 馬場清太郎,何希才.運算放大器應用電路設計[M].北京:科學出版社,2009:165-189.