葉 欣 李婷蘭 徐晶晶 劉軍寧
(1.光電油氣測井與檢測教育部重點實驗室 西安石油大學 710065;2.大慶鉆探工程公司地質(zhì)錄井一公司 大慶 163411)
工業(yè)上普遍需要測量各類非電物理量,如溫度、壓力和振動等,將采集得到的數(shù)字信號進行現(xiàn)場處理。若需要將信號長距離傳輸至控制柜或者顯示設備,此時要把數(shù)字信號轉化為電流信號。電流信號由于其極強的抗干擾能力和低功耗,在工業(yè)測量和控制過程中得到了廣泛應用。本文結合電潛泵測試儀,提出基于TLV5637 的毫安級電流信號發(fā)生器設計方法。TLV5637 是TI 公司的一款雙通道10 位電壓輸出D/A 轉換器件,具有操作簡單,成本低等優(yōu)勢。本文設計的電流信號發(fā)生器結構簡單、成本低,適用領域廣,有很好的通用性。
基于TLV5637 的數(shù)字信號轉電流信號發(fā)生器,硬件結構簡單,易于調(diào)試。本系統(tǒng)硬件部分主要由微控制器、D/A轉換芯片,以及電流環(huán)電路組成。總體框圖如圖1 所示。系統(tǒng)分為2 個模塊部分,包括MCU 與TLV5637 接口電路和模擬電流環(huán)電路。D/A 轉換芯片將原始數(shù)字信號轉換為模擬電壓信號,電流環(huán)電路部分實現(xiàn)電壓信號轉電流信號功能。結合工程實際,本文采用AT89C51 控制I/O 口模擬SPI 總線通信控制TLV5637,系統(tǒng)軟件實行模塊化編寫,易于移植和調(diào)用。
圖1 系統(tǒng)整體框圖
圖2 為系統(tǒng)DA 轉換模塊的硬件接口連接示意圖。結合系統(tǒng)實際,為了隔離工頻干擾以及提高數(shù)字信號傳輸?shù)目煽啃裕到y(tǒng)采用TLP521 光電耦合器件將微控制器和D/A 轉換芯片進行有效的電氣隔離,增強系統(tǒng)的可靠性。
圖2 TLV5637 和AT89C51 接口連接圖
圖中DIN、SCLK 和CS 等3 個信號線通過TLP521 分別與單片機的P1.5、P1.6、P1.7 相連,OUTA、OUTB 為模擬電壓輸出端。電阻R5 分壓為芯片提供參考電壓,參考電壓的大小決定滿量程模擬輸出電壓的大小。輸出電壓的幅度由下式?jīng)Q定:
CODE 為所寫入的電壓數(shù)據(jù)值,REF 為所設定的參考電壓。此外,在寫入電壓數(shù)據(jù)時,12 位的數(shù)據(jù)只保持高10位有效,低2 位被忽略。
TLV5637 只支持16 位的數(shù)據(jù)格式,16 位的數(shù)據(jù)包含兩個部分:編程位和數(shù)據(jù)位。高4 位分別為R1、SPD、PWR 和R0 編程控制位。SPD 為速度控制位,1 表示快速,0 表示慢速;PWR 為工作模式控制位,1 表示掉電模式,0 表示工作模式;R1 和R0 為寄存器選擇位,其寫入選擇表如表1所示[1]。
表1 TLV5637 的寄存器寫入選擇
10 位數(shù)據(jù)位確定一個新的DAC 值。12 位數(shù)據(jù)位中,D1 和D0 組合位決定芯片參考電壓的來源,其中“00”或“11”均表示參考電壓取自外部REF 引腳,“01”表示采用內(nèi)部參考電壓1.024 V,“10”表示采用內(nèi)部參考電壓2.048 V。圖3 為TLV5637 編程時序圖,數(shù)據(jù)采樣均在SCLK時鐘的下降沿發(fā)生。
圖3 TLV5637 編程時序圖
在大多數(shù)應用場合,尤其是工業(yè)應用環(huán)境,電流信號通常是優(yōu)先考慮的信號傳輸方式。由于這種信號方式傳輸?shù)木嚯x長,且不需考慮噪聲、線長、壓降和線路阻抗等的影響,從而使電路傳輸性能大大提高。電流環(huán)電路原理圖如圖4所示。電路采用LM324 和LM358 級聯(lián)后接一個復合型PNP 管搭成。A1,A2 為LM324 的兩個運算放大器,A3 為LM358 運算放大器。LM324 是帶有差動輸入的通用放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式。差分輸入具有很強的抑制共模信號的能力,可以有效克服溫度漂移問題。LM358 內(nèi)部包含兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器。A1 運算放大器的輸出端反饋到反相輸入端,構成一個電壓跟隨器,實現(xiàn)阻抗變換。A2 的同相輸入端偏置為2.5 V,利用連個相等的電阻R3、R4 實現(xiàn)一個求差電路。電流環(huán)電路尾部由一個PNP 與NPN 型組成一個PNP 復合管,復合管的共射級電流放大倍數(shù)為兩個BJT 管子共射級電流放大倍數(shù)之積。復合管基極與運算放大器A3 的輸出端相連,可輸出和輸入電壓成線性比例關系的電流信號,并具有相當高的精確度。
圖4 電流環(huán)電路原理圖
本系統(tǒng)軟件主要是由C 語言編程實現(xiàn),采用GPIO 口模擬SPI 通信的方式,實現(xiàn)微控制器對TLV5637 的訪問。根據(jù)實際工程,主控器采用AT89C51 單片機,該芯片是一個帶有4 K 字節(jié)Flash 存儲器的低電壓、高性能的CMOS 微控制器。AT89C51 為很多微控制器提供了一種靈活而且廉價的方案。圖5 為單片機GPIO 口模擬SPI 通信向TLV5637 寫入一個16 位數(shù)據(jù)的程序流程圖。單片機首先拉低CS 引腳選定片選信號,置高SCLK 信號后向DIN 發(fā)送一位數(shù)據(jù)信號,再置低SCLK 信號,數(shù)據(jù)在SCLK 下降沿保持有效即可。按時間順序,依次由高到低串行輸入16 位數(shù)據(jù)。
圖5 寫入一個數(shù)據(jù)的程序流程圖
根據(jù)整形數(shù)據(jù)發(fā)送流程圖,發(fā)送數(shù)據(jù)的實現(xiàn)代碼如下:
DA 轉換子程序代碼如下:
上述的發(fā)送數(shù)據(jù)代碼,只需稍加修改,可有效移植到51 單片機對各種SPI 串行通信器件控制或者其他微控制器對TLV5637 控制程序中。但是修改過程中需要注意不同器件的延時要求,保證器件的信號建立和保持的時間滿足時序要求。
根據(jù)上述方法,本實驗選用外部1.25 V 參考電壓,運放LM324 和LM358,2SC2655 和2N5401 組成PNP 復合管來構成電流信號發(fā)生器。經(jīng)過實驗測試,可以產(chǎn)生高線性度,長期工作穩(wěn)定的毫安級電流信號,其精度在誤差范圍內(nèi),符合潛油電泵測試儀對輸出電流信號的要求。實驗的輸入數(shù)字信號和測得的輸出電流信號結果如表2 所示。
表2 基于TLV5637 的電流信號發(fā)生器實驗結果
本文提出了基于TLV5637 的電流信號發(fā)生器設計,利用AT89C51 的GPIO 口模擬SPI 通信,實現(xiàn)串行對D/A 轉換芯片TLV5637 的控制訪問。將數(shù)字信號轉換為模擬電壓信號后,電流環(huán)電路模塊將模擬電壓信號再轉換為電流信號。該方法具有一定的普遍意義,稍加改動即可應用于各類測試系統(tǒng)。其中微控制器模擬SPI 通信也有較高的通用性,可以移植到各類微控制器中。多次實驗證明,該設計可靠可行,并具有較高的精確度。
[1]Texas Instruments.TLV5637 Datasheet[R].Texas Instruments,2000.
[2]郭天祥.51 單片機C 語言教程[M].北京:電子工業(yè)出版社,2011.
[3]康華光,陳大欽,張林.電子技術基礎[M].北京:高等教育出版社,2006.
[4]趙磊,趙英明,趙曙光.ARM 與TLV5637 的模擬SPI接口設計[J].單片機與嵌入式系統(tǒng),2009(9):79-81.
[5]華成英,童詩白.模擬電子技術基礎[M].北京:高等教育出版社,2006.
[6]蒙麗娜.潛油電泵井下測試系統(tǒng)研究[D].西安:西安石油大學,2010:8-11.
[7]譚浩強.C 程序設計[M].北京:清華大學出版社,2005.
[8]張經(jīng)愛,許凱華,劉玉華.基于MSP430 的模擬SPI 串口通信的實現(xiàn)[J].計算機工程與設計,2008,29(5):1169-1171.