郭玉霞,李志杰
(甘肅工業(yè)職業(yè)技術學院 電信學院,甘肅 天水 741025)
數(shù)據(jù)采集作為由模擬量向數(shù)字量轉(zhuǎn)換的手段,是實現(xiàn)基于計算機完成各種工作過程的基礎,被廣泛應用于自動控制、自動檢測和電子測量等自動化、智能化系統(tǒng)中。文獻[1]論述了ADS1256的工作原理和使用方法,文獻[2]論述了基于ADS1256設計數(shù)據(jù)采集裝置的技術要點,文獻[3]將基于ADS1256的多路高精度數(shù)據(jù)采集技術應用于加速度計的設計中。綜述目前數(shù)據(jù)采集裝置存在的主要問題是高端數(shù)據(jù)采集裝置以計算機板卡為主,結構復雜,價格偏高,缺乏與單片機通信的接口,而低端數(shù)據(jù)采集裝置精度較低,接口復雜,通用性較差。針對上述問題,本文以高性能多路模數(shù)轉(zhuǎn)換器件ADS1256為核心、TM32F103C8T6為主控制器,采用了多通道、高精度、高智能化的數(shù)據(jù)采集裝置。由于該數(shù)據(jù)采集裝置實用性強、成本低,因此具有較好的推廣前景。
數(shù)據(jù)采集裝置整體設計方案如圖1所示。主要由信號輸入接口、分壓電路、AD轉(zhuǎn)換電路、基準電壓電路、單片機、最小系統(tǒng)外圍電路和輸出接口電路7個模塊構成[4-5]。
圖1 數(shù)據(jù)采集裝置設計原理
信號輸入接口完成采集裝置與外部模擬信號的電氣連接,分壓電路對輸入電壓進行分壓,可以改變測量的量程,AD轉(zhuǎn)換電路通過ADS1256完成模數(shù)轉(zhuǎn)換,基準電壓電路提供AD轉(zhuǎn)換的基準電壓,單片機完成AD轉(zhuǎn)換的控制和轉(zhuǎn)換結果的處理,以及與上位機和其他系統(tǒng)的通信控制[6-8],輸出接口和單片機一起完成單片機和其他設備之間的通信。
電源模塊為裝置各個電路模塊供電,其電路原理圖如圖2所示。外部5 V電源通過插座PP接入,通過ASM1117-5輸出5 V電壓給電源電壓為5 V的器件供電。通過ASM1117-3.3給TM32F103C8T6內(nèi)核供電。電源電路的核心為2個ASM1117系列電源芯片。AMS1117是一個正向低壓降穩(wěn)壓器,在1 A電流下壓降為1.2 V,具有限流功能和過熱切斷功能,工作的溫度范圍為-40~125 °C[9]。在設計過程中,將模擬地和數(shù)字地分開,最后用磁珠R0連接。
圖2 電源模塊電路原理
輸入接口和分壓電路原理圖如圖3所示。工作在單端模式時,數(shù)據(jù)采集裝置測量輸入端與模擬地之間的電壓。RI1為輸入保護電阻,RF1為輸入分壓電阻??梢詳嚅_RF1,這時輸入信號IN0直接輸入ADS1256,這時測量的電壓范圍為0~5 V[10-12]。當分壓電阻不斷開時,測量電壓的范圍由分壓電阻RF1決定。測量電壓的最大值為:
式中,VIMAX為輸入電壓的最大值;RI1,RF1為其對應電阻的阻值。當工作在雙端模式時,先將相鄰兩通道的電壓做差,然后輸入到分壓電路。
圖3 輸入接口和分壓電路原理
參考電壓電路及AD轉(zhuǎn)換電路原理圖如圖4所示,基準電壓芯片選用ADR4525[13]。ADR4525為高精度、低功耗、低噪聲基準電壓源,最大初始誤差為±0.02%,并具有出色的溫度穩(wěn)定性和低輸出噪聲。
圖4 AD轉(zhuǎn)換電路原理
該基準電壓源使用創(chuàng)新的內(nèi)核拓撲結構來實現(xiàn)高精度,同時提供業(yè)界領先的溫度穩(wěn)定性和噪聲性能。器件的低熱致輸出電壓滯后和低長期輸出電壓漂移也提高了壽命和溫度范圍內(nèi)的系統(tǒng)精度,特別適用于16位以上的AD轉(zhuǎn)換系統(tǒng)[14-16]。
AD轉(zhuǎn)換芯片選用ADS1256。ADS1256是TI公司Burr-Brown產(chǎn)品線推出的微功耗、高精度、8通道、24位△-∑型高性能模數(shù)轉(zhuǎn)換器(ADC)[17]。該器件提供高達23 bit的無噪聲精度、數(shù)據(jù)速率高達30 ksps(次采樣/s)、0.001 0%非線性特性(最大值)以及眾多的板上外設(輸入模擬多路開關、輸入緩沖器、可編程增益放大器和可編程數(shù)字濾波器等),可為設計人員帶來完整而高分辨率的量測解決方案[18]。ADS1256和單片機之間通過SPI總線進行通信,圖4中,AD-SCLK,AD-DIN,AD-DOUT,AD-CS分別為SPI總線的時鐘信號線、數(shù)據(jù)輸入線、數(shù)據(jù)輸出線和片選信號線,AD-DRDY為轉(zhuǎn)換狀態(tài)信號線,AD-RST為復位信號線[19]。
單片機及通信電路如圖5所示。
圖5 單片機及通信電路
數(shù)據(jù)采集系統(tǒng)的單片機選用TM32F103C8T6,它是一款基于ARM Cortex-M 內(nèi)核STM32系列的32位的微控制器,程序存儲器容量是64 KB,需要電壓2~3.6 V,工作溫度為-40~85 °C,總線寬度為32位,系統(tǒng)時鐘可達72 M,具有37個IO口,160 K片上RAM。通過分析STM32F103C8T6的資源和開發(fā)成本,選用該單片機具有較高的性價比[20-21]。單片機通過SPI總線讀取AD轉(zhuǎn)換結果,并對讀取的AD轉(zhuǎn)換數(shù)據(jù)進行處理,得到準確的電壓值。單片機以串口形式和其他系統(tǒng)進行通信,串口芯片選用MAX232,與外部系統(tǒng)的硬件連接采用DB9[22]。
圖6 AD轉(zhuǎn)換流程
單片機對通過SPI總線讀取的AD轉(zhuǎn)換數(shù)據(jù)的處理流程如圖7所示。
圖7 數(shù)據(jù)處理流程
為了防止數(shù)據(jù)的抖動,連續(xù)讀取20次轉(zhuǎn)換數(shù)據(jù),并對這些數(shù)據(jù)進行中值濾波。將所得值轉(zhuǎn)換為實際電壓值。ADS1256的輸出是用24位比特表示的雙極性的輸出,低23位表示轉(zhuǎn)換數(shù)據(jù)的有效值,最高位為符號位,符號位為0表示輸入為正,其正的滿量程輸出為7FFFFFh,負的滿量程輸出為800000h。在量程范圍內(nèi),數(shù)據(jù)輸出為正時,測量的輸入電壓值和轉(zhuǎn)換的數(shù)據(jù)之間的關系為:
數(shù)據(jù)輸出為負時,測量的輸入電壓值和轉(zhuǎn)換的數(shù)據(jù)之間的關系為:
式中,VOUT為被測量的輸入電壓;VREF為參考電壓,這里為2.5 V;DAD為經(jīng)過中值濾波的AD轉(zhuǎn)換數(shù)據(jù);h表示16進制。最后將所采集電壓值保存或通過串口輸出。
為了測試所設計數(shù)據(jù)采集裝置的性能,將采集裝置的實際輸入電壓值與采集裝置輸出的數(shù)據(jù)進行對比分析,原始數(shù)據(jù)如表1所示,表中Vin1~Vin8為8個輸入通道電壓值,由6位半可編程電源提供,Vout1~Vout8為8個輸出通道的電壓值,采集裝置的輸出值是通過串口調(diào)試軟件得到。表2是對8個通道輸入值與輸出測量值之間的誤差分析,相對誤差值為輸出測量值與輸入值之差的絕對值,除以輸入值,表中給出了不同輸入的相對誤差和每個通道誤差的平均值。從表2可以看出,8個數(shù)據(jù)采集通道的平均相對誤差最大值為0.004 498,即0.449 8%,為第一通道平均相對誤差值。
表 1 測試原始數(shù)據(jù)
輸入輸出Vin1Vin2Vin3Vin4Vin5Vin6Vin7Vin8Vout1Vout2Vout3Vout4Vout5Vout6Vout7Vout80.5000.5000.5000.5000.5000.5000.5000.5000.5040.4980.4950.5040.4980.4990.4970.4950.3000.3000.3000.3000.3000.3000.3000.3000.3100.2490.3030.3010.2980.3000.3020.2991.0001.0001.0001.0001.0001.0001.0001.0001.0020.9480.9950.9971.0050.9980.9960.9971.5001.5001.5001.5001.5001.5001.5001.5001.5081.4541.4961.5021.4981.5031.5001.5032.0002.0002.0002.0002.0002.0002.0002.0002.0021.9531.9952.0002.0031.9982.0012.0012.3002.3002.3002.3002.3002.3002.3002.3002.3042.2502.3032.3022.3042.3002.3012.296
表 2 相對誤差分析
輸入通道123456780.50.008 106 0.003 741 0.009 110 0.008 730 0.003 355 0.001 590 0.006 559 0.009 482 0.30.031 743 0.169 417 0.009 151 0.003 890 0.005 242 0.000 821 0.006 697 0.004 185 1.00.002 053 0.052 073 0.004 804 0.003 099 0.004 649 0.001 555 0.004 064 0.003 300 1.50.005 092 0.030 388 0.002 470 0.001 176 0.001 332 0.002 220 0.000 263 0.002 148 1.80.004 091 0.028 894 0.002 763 0.000 670 0.000 834 0.001 242 0.000 424 0.002 715 2.00.001 233 0.023 466 0.002 339 0.000 129 0.001 530 0.000 917 0.000 318 0.000 346 2.30.001 611 0.021 751 0.001 352 0.000 750 0.001 557 0.000 152 0.000 432 0.001 551 均值0.004 498 0.031 017 0.002 790 0.001 831 0.001 600 0.000 948 0.001 769 0.002 120
本文設計的數(shù)據(jù)采集裝置充分考慮了性價比和使用的方便程度,將高精度AD轉(zhuǎn)換芯片ADS1256與當前市場占有率最高的嵌入式單片機STM32相結合,極大地降低了采集裝置的成本,同時具有較高的精度和穩(wěn)定性。該數(shù)據(jù)采集裝置的精度和采集速度可以滿足絕大部分工業(yè)控制數(shù)據(jù)采集、在線檢測、儀器儀表數(shù)據(jù)采集的需求,具有較好的推廣前景。