趙 運, 張 萌, 熊俊超
(湖北工業大學電氣與電子工程學院, 湖北 武漢 430068)
基于ARM的多路數據量采集終端研制
趙運, 張萌, 熊俊超
(湖北工業大學電氣與電子工程學院, 湖北 武漢 430068)
[摘要]設計了一套基于ARM系列STM32F107VX的多路數據采集系統,利用ARM數據處理速度快、功耗低等特點,對8路模擬量、48路開關量進行采集和轉換,并將采集數據通過CAN通訊傳遞給上位機。實驗運行情況表明該系統采集精度高、數據處理速度快,能夠對信號進行實時采集監測。
[關鍵詞]ARM ;模擬量采集 ;開關量采集;CAN通訊
現代化工業的發展正朝著大規模集成和控制終端一體化的方向發展,工業上的常用模擬量信號4~20 mA仍然在當前的控制領域發揮較大的作用。由于很多系統外部采集數據復雜化,采集的模擬量已變得越來越多。目前很多設計產品都是采用單路模擬量采集并通過工業總線傳輸的方式,將數據傳遞到上級控制單元,然后再由上級單元對下級單元的信號做統一處理,發出指令控制下級單元直接動作,由于采集通過總線,采集必然存在訪問周期,當下級采集數據過多時,就會造成采集數據的時間延時,在一些要求嚴格的工業控制環境下,容易造成危險。
本文所采用方法的是局部集中控制多路數據量采集,部分單元在預先設計的控制原則下進行控制的動作和任務處理,本地的控制單元也能夠和上級的控制單元進行數據交流,這樣既能滿足上級過多訪問和發放指令所造成的時間延遲問題,也能保證整個局部控制過程能夠被上級監控和管理[1]。
1全局框圖和設計思路
整個控制器采用分塊接口設計,便于局部分塊管理及后續擴展接口的擴展升級,每個單元口設計有2路模擬量輸入,或者是12路開閉量采集,能夠滿足絕大多數的控制需求[2]。具體外圍設計方案及設計接口見圖1。

圖 1 ARM采集設備全局設計方案圖
由圖1可見數據量直接通過開閉動作高低電平檢測,所有模擬量接口都采用外部電阻阻值變動的方式來進行檢測。在設備接口處設計一個簡單的恒流源,通過歐姆定律來簡單實現電壓外部檢測量。內部再通過電阻轉換的方式比例縮小得到的所需電壓,之后通過一個簡單的電壓跟隨器和LC濾波后便可以直接進入到ARM的內部AD中,這時便可以通過ARM的內部邏輯判斷做出反饋,最后再通過ARM的通訊設備端口直接將本地的數據傳遞到上一級的中控機設備上去。
這種設計思路的優點在于能夠通過下級的中控設備逐級匯總數據和參數。免于上級控制單元的用戶在初期的設計中就需要考慮設計太多的備用接口及所帶來的額外工程量。
本文設計采用的ARM芯片型號為STM32F107Vx型芯片,該芯片在通訊和數模量轉換、通用外圍接口GPIO上都有很大的優勢。具體參數見圖2。

STM32F107VxCommunicationinterfacesSPII2CUSARTUSBCAN315Yes2GPIO12-bitADC12-bitDAC80162Ethernet--Yes--
圖 2STM32F107Vx硬件接口
該芯片在硬件層面上完全能滿足目前的設計要求。由于其具備以太網和雙CAN等工業通訊接口能力,其在后續的升級和擴展中也能有較大空間。
2底層程序設計
由于芯片的GPIO口功能上很大一部分是復用的,所以在實際的芯片接口設計和使用中,可用接口數目并不能完全達到芯片在硬件功能說明書上的數目。尤其是芯片只提供了一路的PWM接口,在多路的串并聯結構中不能夠滿足驅動多個芯片要求。必須要自行設計能夠模擬PWM功能,并且能按照要求不間斷輸出高低電平的底層接口。
首先必須把GPIO接口的輸入方向、輸入頻率、輸入后的地址結構位定義清楚。實例程序以1路串行輸出改8路并行輸出的開閉量輸出控制接口設計的流程程序為實例,具體定義方法如下:
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP
//定義GPIO口的輸出方向
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_8MHz
//定義GPIO口的工作頻率
GPIO_Init(GPIOB,&GPIO_Initstructure);
//定義GPIO口的數據存放單元
其次需要在程序中,設計功能口的高低電平工作順序,以及對應取得數據和輸出數據的存放地址。對應的設計方式如下:
for(i=0;i<8;i++)
{
SRCLK1_Low();//輸出低電平,進行寫數據
temp1=vaule1&n1;//取數據值到第一個臨時位
if (temp==1)
SER1_High();//寫數據1
}
else
{
SER1_Low();//寫數據0
}
n1=n1<<1; //左移一位,準備下一個數據寫入
}
由于各串并行改換用的74H芯片都是8位的,所以程序的接收和控制循環也都是以8位來設計的,所以每次接收一個數據單元的數據后,便又重新開始再準備接受下一個數據位,8次循環作為一個實際輸出周期。
同理解釋一下對于8位串行讀數據的整個流程,首先芯片的時鐘輸出低電平進行讀數據,8路并行數據書寫進74HC,然后將ARM輸出驅動高低電平,串口的數據讀第一位到臨時單元中,對該臨時單元的數據進行判斷,如果該數據為高,就在內部寄存器中寫1,反之則寫0。之后便對內部數據組左移一位,再次輸出驅動用的高低電平,再次判斷記錄。如此循環8次,便可將一個8位的并行數據通過74HC單元改寫成一個8位的串口數據了。
3硬件電路設計
3.1模擬量接口電路設計
由于目前工業上常用的現場模擬控制一般都是以電阻無源設備為主,模擬電路采集過程中需要提供一個電流源設備來保證外圍的電阻能正常運行,采用了一個高阻態的后級差分放大器來完成這一電阻的電壓變換[3]。
其對應的電路如圖3所示,電路分成兩個單元模塊,第一個模塊為一個三端穩壓芯片和一個微型變阻器組成的可調電源。它的輸出電壓
其中V0為三端穩壓固定輸出腳電壓值,Rs為固定值下限電阻,Rc1和Rc2為變阻器的下接入電阻部分和上接入電阻部分。

圖 3 模擬量采集電路
由于第二級別的差分放大電路的輸入電阻為50 kΩ左右,而一般的工業用銅電阻的阻值在幾十到幾百歐附近,兩者數值等級不是一個級別,所以第二級的電路與第一級的電路可以近似等同于沒有電流關聯[4]。第二級的電路的輸出電壓可以直接通過比例差分電路的基本公式來推導對應的輸出值。推導公式如下所示:
其中V+和V-為設計單元上電阻接入后的兩端電壓,上端為正,下端為負,R1和R2為第二級差分放大電路的放大比例電阻,其中R2為運放負輸入端的對地電阻,R1為負輸入端的直接輸入電阻。這里的差分運算放大比例為十分之一。基本上可以滿足輸入上下限的理論要求。
末端在電壓模擬量輸入的環節設計了一個過壓保護用的二極管,整個電路的過壓保護動作環節在3.7 V左右,能夠起到內部AD的保護功能。
3.2I/O量采集接口設計
外圍的開閉量數據通過光耦做隔離控制,這里的光耦沒有特別的速度要求,但是需要做到盡量大的隔離電壓,故選擇常見的光耦P627。并行改串行的數據變換芯片采用74HC165,其典型工作電壓為5 V,在此典型工作電壓下,其對應的輸入電壓最大,也可以工作在5 V,工作功耗在幾百毫瓦級別,基本可以滿足設計的供電要求。其對應的設計電路圖如圖4所示。

圖 4 并口采集硬件電路圖
3.3開閉量輸出接口設計
設備的內部輸出接口需要滿足上電穩定性,故在內部的所有輸入接口上全部采用一個排阻來實現電位上拉的要求,考慮到ARM芯片GPIO接口的灌電流能力大約在0.3 mA左右,排阻的阻值設計一般選擇為10 K左右。在內部到外部的控制中,一般需為外部單獨提供繼電器工作電流,74HC595的驅動能力將無法實現這一要求,該芯片同樣是工作在5 V的典型工作電壓下,它能夠輸出5 V的電壓,但是輸出功率需要通過一級放大后才能驅動繼電器線圈。本電路使用的都是外圍24 V的供電系統設計,在放大驅動的第二級上使用了24 V的直流供電電源,能夠滿足絕大多數工況(圖5)。

圖 5 并口改串口的電路硬件圖
3.4通訊電路設計
電路采用雙CAN電路的通訊設計結構,兩組CAN的硬件結構實際上為同一類型,所以這里只對其中一個電路的設計做說明,其對應的電路見圖6(Modicon Inc. Modicon modbus protocol reference guide,1996)。通過高速光耦芯片來完成主電路設備和外圍接線電路的隔離,保證了電路的穩定性。CAN的硬件協議部分采用了TJA1050芯片,該芯片在自適應傳輸速率上具有很大優勢,而且驅動能力強。T和R的兩個端口采用單獨供電的6N137光耦芯片,該芯片的導通電流在10 mA左右,可以達到10 M的通訊速率,在性能上能完全滿足設備的通訊要求。

圖 6 CAN通訊硬件電路圖
4運行情況
電路設備在實際運行中能夠實現多路零點幾毫秒的數據上傳和采集功能要求,實現了實際運行中的工況需求,基本達到了設計目標。
設備并沒有完全挖掘出ARM芯片的能力,未來對于具有以太網接口功能的ARM芯片,可以通過在控制設備的本地設計一個觸摸控制屏,來進行本地的邏輯改換控制工作,也能夠借助其D/A功能實現上級到下級的模擬儀表控制顯示,總之,該設備具有較大的發展空間和應用價值。
[參考文獻]
[1]朱俊翔.可配置工程機械控制器的設計與實現[D].南京:南京理工大學,2013.
[2]趙劍鵬.基于單片機的多路模擬量采集模塊設計[J].電子質量,2013(7): 11-14.
[3]何維然.一種可配置的模擬量采集模塊設計[J].理論與方法,2014(10):42-45.
[4]張和生,王立文. 一種高精度數據采集系統的電路設計[J]. 計算機測量與控制, 2004(06) :575-577.
[責任編校: 張巖芳]
Developing Data Acquisition Terminal Based on ARM
ZHAO Yun, ZHANG Meng, XIONG Junchao
(SchoolofElectricalandElectronicEngin.,HubeiUniv.OfTech.,Wuhan430068,China)
Abstract:This paper designed a set of multi-channel data acquisition system based on ARM series STM32F107VX, using data processing fast, low power loss characteristics of ARM, acquisition and conversion of 8 analog, 48 I/O, and the collected data were transmitted to the host computer through CAN communication. The experiment demonstrates that the system has high gathering precision and fast data processing, with real-time acquisition and monitoring of the test signal.
Keywords:ARM, analog acquisition, switch acquisition, CAN communication
[收稿日期]2015-04-25
[作者簡介]趙運(1993-), 男, 湖北荊門人,湖北工業大學碩士研究生,研究方向為電力電子傳動
[文章編號]1003-4684(2016)02-0081-04
[中圖分類號]TM46
[文獻標識碼]:A