徐鈺琨,趙傳偉
(1.山東科技職業(yè)學院 電氣工程系,濰坊 261053;2.福田雷沃國際重工股份有限公司,濰坊 261206)
在當下的工程機械產(chǎn)品中,為了滿足按揭銷售與租賃業(yè)務的需求,主流遠程監(jiān)控系統(tǒng)主要集中在GPS定位及鎖車兩大功能上[1~3]。隨著市場需求的變化,遠程監(jiān)控系統(tǒng)除上述功能外,還要滿足運行工況數(shù)據(jù)化,故障檢測遠程化等要求。而柴油發(fā)動機作為工程機械產(chǎn)品的動力源,它的性能好壞直接關系到整機效率的高低。因此,遠程監(jiān)控發(fā)動機的各項參數(shù)(轉速、壓力、溫度、耗油量、電瓶電壓等)以及故障代碼具有極其重要的意義。本文根據(jù)產(chǎn)品開發(fā)的需要,結合目前遠程監(jiān)控終端系統(tǒng)的新要求,開發(fā)了一套基于ARM的發(fā)動機遠程監(jiān)控終端系統(tǒng)。此系統(tǒng)采用的主控制器是基于ARM Cortex-M3內(nèi)核的STM32系列微處理器。此處理器具備外圍接口豐富,支持串口和CAN,功耗低等特點。在系統(tǒng)設計完成后,通過實際的產(chǎn)品測試表明:該系統(tǒng)在線率穩(wěn)定,可靠性高,能夠滿足整機設備制造商對于產(chǎn)品遠程監(jiān)控的需求,并比同類產(chǎn)品具備價格優(yōu)勢。
系統(tǒng)主要由三部分組成:發(fā)動機模塊,GPRS模塊和GPS模塊。具體的系統(tǒng)模塊框圖如圖1所示。
圖1 系統(tǒng)模塊框圖
1)發(fā)動機模塊:STM32通過CAN總線與發(fā)動機自帶的控制器進行通訊,獲取各種參數(shù)或故障代碼,其通訊協(xié)議為SAE J1939協(xié)議。
2)GPRS模塊:STM32通過串口與其進行信息交換。一方面微處理器將采集到的發(fā)動機各項參數(shù)和GPS信息經(jīng)過處理后發(fā)送到GPRS模塊,此模塊將這些數(shù)據(jù)上傳到遠程的服務器;另一方面,GPRS模塊接收到服務器下傳的控制信息后,也可經(jīng)過串口與STM32進行通訊,控制發(fā)動機的部分參數(shù)。其通訊采用標準的AT指令。
3)GPS模塊:將定位信息通過串口傳送到STM32。其采用標準的GPS數(shù)據(jù)格式。
由于工程機械產(chǎn)品的工作環(huán)境比較惡劣,因此遠程監(jiān)控終端系統(tǒng)需要有較高的穩(wěn)定性和可靠性,另外當整機不工作時,遠程監(jiān)控終端系統(tǒng)的能耗要低,便于延長待機時間,保證數(shù)據(jù)的及時上傳。因此,本系統(tǒng)中選取STM32F103CBT6微處理器作為主控制芯片。它的電源管理系統(tǒng)比較可靠,可根據(jù)電源的變化選擇三種低功耗模式。此處理器的封裝形式為LQFP48,通訊接口比較豐富,具有3個串口,1個CAN接口,滿足系統(tǒng)對于各模塊的通訊要求。另外體積較小,便于集成[4]。
GPRS模塊的主芯片采用華為的GTM900-C,它具備EGSM900和GSM1800兩個頻段;接收靈敏度小于-106dBm;標準SIM卡接口(1.8或3V);GSC射頻天線連接器;短消息業(yè)務支持MO和MT點對點和小區(qū)廣播短消息模式,支持TEXT和PDU GPRS數(shù)據(jù)業(yè)務;GPRS CLASS 10編碼方式CS1,CS2,CS3,CS4,最高速率可達85.6Kbit/s,支持PBCCH內(nèi)嵌TCP/IP協(xié)議[5]。
GPS模塊的主芯片采用GARMINGPS25LP,其采用全密封方式,其位置精度小于15m,速度精度小于0.1m/s,性價比較高[6]。
發(fā)動機模塊電路的主體是CAN接口電路,如圖2所示。在此電路中采用型號為TJA1050的CAN總線收發(fā)器。此收發(fā)器通過它的兩個有差動接收和發(fā)送能力的總線終端可以連接到柴油發(fā)動機的CAN線回路中,從而使STM32F103CBT6微處理器和發(fā)動機自帶的控制器進行通訊。
圖2 CAN接口電路
TJA1050的3號端口為電源端,采用5V電壓;1號、4號端口分別連接STM32F103CBT6的CAN發(fā)送端口(33號引腳)和CAN接收端口(32號引腳);8號端口為工作模式選擇端口,其連接到地可進入高速模式(正常工作模式),總線輸出的信號有固定的斜率,可以盡快的速度節(jié)能型切換,滿足最大的位速率和最大的總線長度,而且其循環(huán)延遲最??;7號和6號端口對應CANH和CANL,為了滿足發(fā)動機CAN總線網(wǎng)路的要求,在兩個端口間采用120歐的終端匹配電阻。
GPRS模塊與STM32F103CBT6連接如圖3所示。GTM900-C是華為公司生產(chǎn)的GPRS模塊,它由電源管理單元、串口處理單元、SIM卡處理單元、射頻收發(fā)單元等組成。其15號端口(IGT)可實現(xiàn)開關機功能,與微處理器的PA4端口相連,由微處理器進行控制;17號~21號端口為串口,為TTL電平信號,可直接與微處理器的1號串口連接;25號~28號端口為SIM卡的接口,與標準的SIM卡模塊連接;29號端口為模塊接地端口,此端口必須和SIM卡模塊的SIMGND相連,保證兩者的電平一致。31號端口為復位端口,與微處理器的PA5端口相連接,此端口低電平有效,從而實現(xiàn)對整個模塊的復位。
圖3 GTM900C與STM32F103CBT6連接電路圖
GPS模塊主要采用GRMIN公司的GPS25LP,它只需要一個12針的引腳與系統(tǒng)相連,如圖4所示。其中,TXD1和RXD1為串口的通訊端口,為5V的邏輯電平,可直接與STM32F103CBT6的串口1(PA9和PA10端口)相連;端口10為電源端口,采用5V供電。為了保證其工作穩(wěn)定性,通常在端口10和端口8之間加一個10MF的保持電容。
圖4 GPS25LP接線圖
軟件設計的調(diào)試環(huán)境采用RealView MDK,它是ARM公司專門針對嵌入式處理開發(fā)的一套軟件,具有完善的設備調(diào)試和軟件仿真功能。STM32F103CBT6本身帶有的大量固件庫函數(shù),可以提高代碼質(zhì)量,縮短開發(fā)周期。在本系統(tǒng)中,重點使用flash、DCC、CAN、USART等固件庫。
軟件框架采用主函數(shù)和中斷函數(shù)的結構。其中,在主函數(shù)中對各種功能模塊進行初始化,并實現(xiàn)簡單的數(shù)據(jù)存儲和數(shù)據(jù)計算;中斷函數(shù)主要實現(xiàn)CAN、USART兩大模塊的數(shù)據(jù)接收和發(fā)送。中斷的優(yōu)先級依次為CAN、USART2、USART1。
為了提高數(shù)據(jù)傳輸?shù)膶崟r性,如上所述,CAN報文的接收采用中斷方式。因此,在主函數(shù)的CAN初始化過程中應該通過調(diào)用STM32固件庫函數(shù)voidCAN_IT-Config來開啟CAN1的中斷,在接收時通過判斷其標志位來確定是否產(chǎn)生的中斷,以此進入中斷函數(shù)對收到的報文進行處理。即:在接收一個報文時,其標識符首先與配置在標識符列表模式下的過濾器相比較,若匹配,報文就被存放到相關聯(lián)的FIFO中,并且所匹配的過濾器的序號被存入過濾器匹配序號中。若不匹配,報文標識符立即再與配置在屏蔽位模式下的過濾器進行比較,如果報文標識符與過濾器中的任何標識符都不匹配,那么硬件就丟棄該報文,且不會對軟件有任何打擾。數(shù)據(jù)接收模塊流程如圖5所示。
圖5 CAN數(shù)據(jù)接收流程
圖6 GPS數(shù)據(jù)接收流程
由于柴油發(fā)動機采用J1939協(xié)議規(guī)定的數(shù)據(jù)格式進行數(shù)據(jù)傳輸,因此STM32通過CAN中斷接收到報文后,必須對數(shù)據(jù)進行解析。J1939協(xié)議是美國汽車工程師協(xié)會(Society of Automotive Engineers,簡稱SAE)發(fā)布的以CAN 2.0B協(xié)議為基礎的車輛網(wǎng)絡串行通訊和控制協(xié)議。它是目前車輛應用最廣泛的協(xié)議之一,有9個子標準,其中J1939-71標準中對發(fā)動機各個參數(shù)的地址、名稱、數(shù)據(jù)格式以及發(fā)送優(yōu)先級等做了詳細的定義。它采用PDU(Protocol Data Unit協(xié)議數(shù)據(jù)單元)傳送信息,每個PDU相當于CAN協(xié)議中的一幀。由于每個CAN幀最多可傳輸8個字節(jié)數(shù)據(jù),因此PDU的傳輸具有很高的實時性。PDU是由29位標識符和8個字節(jié)數(shù)據(jù)組成的[7]?,F(xiàn)以J1939中對發(fā)動機溫度的定義(如表1所示)進行數(shù)據(jù)解析說明。
如果計算發(fā)動機冷卻液溫度,按照J1939協(xié)議中的要求,計算公式為:發(fā)動機冷卻液溫度=原始數(shù)×分辨率+偏移量。假如此時字節(jié)1的原始數(shù)為7Dh(說明:h為十六進制,b為二進制,d為十進制),則7Dh =125d。查對應分辨率表格為1oC/位,偏移量為-40oC。因此,發(fā)動機冷卻液溫度=125×1-40=85oC。按照此思路,便可以從J1939協(xié)議的應用層中解析出發(fā)動機的轉速、機油壓力、水溫、燃油量等各種參數(shù)[8]。
表1 發(fā)動機溫度參數(shù)定義格式
如前所述,GPS模塊主要采用GRMIN公司的GPS25LP。GPS模塊會每秒鐘發(fā)出數(shù)據(jù)包,數(shù)據(jù)包遵循NMEA-0183協(xié)議,協(xié)議中有準確的經(jīng)緯度信息。通過數(shù)據(jù)解析,數(shù)據(jù)傳輸通常有GPGGA和GPRMC兩種格式。為了減少GPS模塊的數(shù)據(jù)傳輸負擔,通常采用GPRMC格式。
GPS數(shù)據(jù)接收流程如圖6所示。STM32利用中斷模式接收GPS25LP傳來的數(shù)據(jù),然后判斷是否為GPRMC格式,如果格式正確,則開始接收數(shù)據(jù)并存在緩存中。當數(shù)據(jù)全部接收完畢,退出中斷程序。部分程序如下:
GTM900C與STM32之間通過USART2進行數(shù)據(jù)傳輸,程序中采用常用的AT指令。但在數(shù)據(jù)發(fā)送之間,需要對GPRS模塊初始化。所謂的初始化就是GTM900C建立TCP鏈接的過程,通常由眾多的AT命令子程序組成。具體的流程圖如圖7所示。
首先是驗證GTM900C是否正常,通過AT指令進行測試來實現(xiàn)。如果測試成功,為了減少無用的返回字符串,要對其執(zhí)行“關回顯”的命令?;仫@的意思是給它發(fā)條指令它會原封不動的回發(fā)一條已發(fā)的指令,“關回顯”可以使串口專心監(jiān)測GTM900C實際返回的參數(shù)。
其次是判斷SIM卡是否插入,檢查信號強度以及網(wǎng)絡注冊狀態(tài)等。這是為GTM900C建立TCP鏈接做準備。因為只有在網(wǎng)絡已經(jīng)注冊完畢的狀態(tài)下,GTM900C才能建立TCP鏈接,而建立的快慢與信號強度有關。
最后是通過配置APN,進入TCP/IP功能和建立TCP鏈接。如果對具有固定IP地址服務器來說,GTM900C按照以上三個步驟即可。而對于非固定IP地址的服務器,還需要經(jīng)過域名解析獲得服務器的IP地址,然后才能建立TCP鏈接。
圖7 GPRS模塊初始化的程序流程圖
遠程監(jiān)控系統(tǒng)設計完成后,在福田雷沃重工的FR630D旋挖鉆機產(chǎn)品上進行測試。一是可靠性測試,讓裝有此終端(如圖8所示)的5臺整機分別連續(xù)工作200小時,監(jiān)控其運行情況,通過PC端的監(jiān)控軟件可以看到發(fā)動機的參數(shù)可實時顯示。二是功能性測試,測試GTM900C與服務器之間的連接,通過設置TCP的地址,讓GPRS的發(fā)送數(shù)據(jù)與服務器建立連接,然后通過服務器將所有數(shù)據(jù)用圖文表現(xiàn)出來,體現(xiàn)可讀性。如圖9所示。
圖8 遠程監(jiān)控終端
圖9 PC端監(jiān)控顯示界面
本論文通過對發(fā)動機遠程監(jiān)控的終端系統(tǒng)進行設計,滿足了當下整機產(chǎn)品對于此系統(tǒng)的要求。硬件方面,基于STM32的終端系統(tǒng),通過實驗可以看出,在功耗和可靠性方面有著高性價比。軟件部分,通過STM32豐富的固件庫函數(shù),可以提高軟件質(zhì)量,縮短開發(fā)周期。整個系統(tǒng)的設計與實現(xiàn)對整機廠提出的運行工況數(shù)據(jù)化,故障檢測遠程化有著積極地作用。在后續(xù)的研究中,要對GPRS信號的穩(wěn)定性進一步研究,提高系統(tǒng)在線率。
[1]王興剛,李來平.GPS遠程監(jiān)控系統(tǒng)在旋挖鉆機上的應用[J].探礦工程.2008,35(10),30-32.
[2]宋祥獻,王經(jīng)聰,史繼松.挖掘機的全球衛(wèi)星定位遠程監(jiān)控系統(tǒng)[J].工程機械與維修.2011,10,190-191.
[3]鄧小星,喻壽益.多功能工程機械遠數(shù)據(jù)采集與傳輸終端的設計[J].機電技術.2010,33(2),2-5.
[4]ST Microelectronics ,STM32F103XB Datasheet[M].ST Microelectronics,2012.
[5]華為技術有限公司.GTM900-C無線模塊產(chǎn)品概述[M].華為技術有限公司,2009.
[6]GARMIN.GPS25LP series GPS sensor boards technical specification[M].USA:GARMIN,2005.
[7]Society of Automotive Engineers.SAE J1939 standards collection,recommended practice for a serial control and communication vehicle network[S].2003.
[8]SAE,SAE J1939-71.Vehicle application layer–J1939-71(through1999)[S].USA:SAE J1939 Committee Draft,1994:5-98.