張振宇,段曉宇,段廣居
(1.湖南工業大學 電氣與信息工程學院,湖南 株洲 412007;2.河南大學 計算機學院,河南 開封 475004;3.中電科信息產業有限公司 河南 鄭州 450047)
在自動控制、測量及儀器儀表系統中,A/D數據轉換是必不可少的關鍵環節。系統的動態測量范圍、測量精度及穩定性是影響系統整體性能的重要因素。對于批量生產產品,數據采集及測量環節的一致性問題對產品質量、生產調試速度的影響更是不可低估。在電子產品市場競爭日趨激烈的今天,產品的成本是市場競爭的決定性因素之一。因此,低成本、大動態測量范圍、高精度、高穩定性、一致性好的數據采集系統是值得研究的課題。
STC系列單片機是近年來發展比較快的低成本高性能單片機之一,在國內的市場占有率在很快地提高,STC系列新產品主要性能指標如下:
1)大容量2048字節片內RAM數據存儲器。
2)高速:1時鐘/機器周期,增強型8051內核,速度比普通 8051快 7~12倍。
3)寬電壓:5.5~3.8 V,2.4~3.6 V。
4)低功耗設計。
5)內部高精度 R/C 時鐘,±1%溫飄(-40~+85 ℃),常溫下溫飄5‰,內部時鐘從5~35 MHz可選。
6)內部高可靠復位,省掉外部復位電路。
7)工作頻率:5~35 MHz,相當于普通 8051:60~420 MHz。
8)高速ADC,8通道10位,速度可達30萬次/秒。
9)3路PWM可當3路D/A使用。
10)硬件看門狗(WDT)。
11)SPI高速同步串行通信接口。
12)雙串口/UART,兩個完全獨立的高速異步串行通信端口,分時切換可當5組串口使用。
STC系列單片機的關鍵之處在于其低廉的價格和豐富的片內資源。利用其豐富的片內資源可以實現一完整的數據采集系統并且具有理想的性價比和市場競爭力。
在自動控制、測量及儀器儀表系統中,動態測量范圍是關鍵技術指標之一。動態測量范圍和系統測量分辨率,測量精度相互制約,動態范圍大了,測量控制分辨率,測量精度就很難保證。測量控制分辨率,測量精度高了,動態范圍就很難保證。常用的提高動態測量范圍的幾種方法如下:
1)采用高分辨率高精度A/D轉換器,降低前級信號處理電路的放大倍數,增大動態范圍。在保證前級信號處理電路在整個測量范圍內不飽和的前提下,用高分辨率高精度A/D轉換器提高系統的分辨率及測量精度。這種方法的優點是簡單可靠。但高分辨率、高精度、高線性度的A/D轉換器價格很高。對于成本敏感的低價批量產品不適用。能滿足要求的A/D轉換器如Maxim公司的MAX1290等,性能指標很好,但價格很高。
2)在前級信號處理電路中使用高精度可編程增益放大器,對輸入信號進行變倍數放大。在弱信號時使用高放大倍數,在強信號高時使用低放大倍數。從而保證弱信號時的測量精度,強信號時的測量范圍。能實現此功能的集成電路有BURR BROWN公司的可編程增益放大器PGA204、PGA205等 。 PGA204 有 1、10、100、1000 四 級 不 同 的 放 大 倍 數 ;PGA205有1、2、4、8四級不同的放大倍數。多級級聯可實現更多級數的放大倍數。此方法的優點是電路簡單,但價格優勢仍不明顯,且不同放大倍數下的線性度不是十分理想,大信號時分辨率降低。
3)用普通運放和模擬開關構成的大動態范圍前級信號處理電路。電路原理方框圖如下圖1。電路中放大電路1-4分別設計成不同增益的放大電路,當弱輸入信號時由模擬開關控制選用高增益放大電路工作,當強輸入信號時由模擬開關控制選用低增益放大電路工作。該電路的優點是成本低;其缺點是由于不同放大電路所選用元器件參數的離散性導致系統在整個測量范圍內的線性度變差。測量精度降低。
圖1 用普通運放構成的可變增益放大電路Fig.1 Ordinary operational amplifier with variable gain amplifier circuit which
1)信號噪聲:信號噪聲是影響數據采集精度的重要因素,降低信號處理電路的噪聲干擾,提高信噪比是提高數據采集精度的有效途徑。
2)溫度變化對元件參數的影響。
3)電源電壓波動。
4)信號處理電路所用運算放大器失調電壓的影響。
5)信號處理電路所用運算放大器非線性影響。
6)A/D轉換器本身非線性影響。
綜合上述分析,本方案利用STC單片機的嵌入式 A/D、PWM構成一個二級動態跟蹤放大器,實現大動態范圍的數據采集。主要電路原理圖如下圖2、圖3所示。
圖2 參考電壓及單片機電路Fig.2 Voltage reference circuit and single chip microcomputer
在圖2中,U1、U2:A構成的電路產生0.35 V及2.5 V參考電壓,為圖3中的二級動態跟蹤放大電路提供參考點電壓。圖2中R15、RT16和單片機的A/D轉換通道4構成溫度采集電路,為系統提供溫度補償。
圖3為二級動態跟蹤信號處理放大電路。U2:D、R8、R10、R11、R13構成第一級放大電路,其輸入信號可以是經過前置放大處理過的模擬信號,也可以直接接入各種模擬傳感器。將R10和GND斷開可以構成差分輸入方式。R13所接的0.35 V參考電壓是為了在輸入信號為0時,使第一級放大器的輸出大于0 V。其主要目的是減小U2:D的失調電壓對測量數據的影響。U2:D的輸出接單片機A/D通道1。U2:B和R4-R6、C1-C3、及單片機的PWM通道1構成高精度16位D/A電路。U2:C 及 R7、R9、R12、R14構成第二級跟蹤放大電路。
經前置放大處理過的模擬信號輸入到第一級放大電路進行第一次放大。其輸出信號送單片機的A/D通道1進行A/D轉換,獲得數據ADC1。設計第一級放大電路時要保證在最大測量量程時模擬信號不飽和并保留一定的余量。獲得數據ADC1后,根據ADC1值計算D/A電路的PWM值ADC2。由于STC單片機的A/D只有10位,與實際模擬信號之間有誤差。該10位數據經16位D/A送到第二級放大器的反向輸入端,然后由第二級跟蹤放大電路對誤差信號放大。第二級跟蹤放大電路的輸出送單片機的A/D通道3,得到誤差數據ADC3。最終的AD數值ADC為:
圖3 二級動態跟蹤放大信號處理電路Fig.3 Two level dynamic tracking amplifying signal processing circuit
ADC=ADC2 X A+ADC3。
其中A為第二級放大電路的放大倍數。根據A的不同大小,最終的AD數值ADC可達到14-16位精度。
1)精確調整兩級放大電路的零點減小失調電壓引起的誤差
將輸入信號設置為0,采集此時ADC1的值ADC1z,根據ADC1z精確調整PWM輸出,使第二級放大器的輸出為2.5V參考電壓值。此時ADC2的值ADC2z即為第一級放大器的零點值。此時ADC3的值ADC3z即為第二級放大器的零點值。這樣基本可將兩級放大器的失調電壓誤差消除。
2)將第一級放大器的參考電壓提高到0.3V以上并將測量量程保留一定的余量,使PWM構成的D/A轉換器工作在最佳線性區。
3)使用STC單片機的A/D通道9實時測量電源電壓,然后修正由于電源電壓引起的測量誤差。
4)使用STC單片機的A/D通道4實時測量環境溫度,然后用查表法修正由于溫度變化引起的測量誤差。
系統軟件分調試軟件和正式運行軟件兩大部分,由外部開關控制程序流程。系統開機后先初始化IO口、定時器、串行口、A/D及PWM。然后檢測外部開關確定進入調試程序或者是進入正式工作程序。部分程序代碼如下:
通過在直流大電流數據采集系統中的試驗應用,證實該系統具有數據采集精度高、動態范圍大、穩定性好、成本低等優點。避免了切換模擬通道帶來的線性度變化問題。實現了低成本,大動態范圍的精確數據采集。使用10位A/D[7-8]完成了14位的高精度數據采集。將數據采集精度提高了32倍。
參考資料:
[1]康華光.電子技術基礎:模擬部分[M].北京:高等教育出版社,1999.
[2]胡偉.單片機C程序設計及應用實例[M].北京:人民郵電出版社,2003.
[3]朱定華.單片機原理及接口技術實驗[M].北京:北方交通大學出版社,2002.
[4]高晉占.微弱信號檢測[M].北京:清華大學出版社,2002.
[5]宋浩.單片機原理及應用[M].北京:清華大學出版社,2005.
[6]C.D.莫特欽巴切爾,F.C.菲特欽.低噪聲電子設計[M].北京:國防工業出版社,1977.
[7]蔣云志,周漢義,占小奇.一種單片機雙極模擬信號A/D轉換的電路設計[J].電子科技,2014(5):121-123.JIANG Yun-zhi,ZHOU Han-yi,ZHAN Xiao-qi.Design of a bipolar analog signal MCU A/D conversion circuit[J].Electronic Science and Technology,2014(5):121-123.
[8]陳振宇,王立志,楊勇.一種可重構流水線ADC的設計[J].現代電子技術,2012(12):146-148.CHEN Zhen-yu,WANG Li-zhi,YANG Yong.Design of reconfigurable pipeline A/D converter[J].Modern Electronic Technique,2012(12):146-148.