基于ARM和μC/OS-II的車載定位終端的設計
為了達到節省能源、降低排放的目標,電子控制技術在貨車、工程車以及農用車的柴油機上得到快速發展和應用。隨著機車電控化技術發展,車載定位終端的數據采集交互速度以及運行的穩定性已成為衡量該設備的一個重要指標。為進一步提升車載定位終端的實時性和穩定性,文中設計了一種基于ARM處理器和μC/OS—II操作系統的車載定位終端。應用ARM處理器實現數據交互的高速性,應用μC/OS—II操作系統解決程序運行的穩定性問題。
本文引用地址:http://www.ex-cimer.com/article/201802/376081.htm1 、車載終端整體結構及功能介紹
車載定位終端主要由CPU(包括S3C44BOX芯片,2MbyteNorFlash和8MByteSDRAM),GPS衛星數據接收電路,GPRS無線數據上傳電路和CAN控制器及數據收發模塊組成。如圖1所示:來自車載電瓶的+12 V直流電經過車載定位終端上的電壓轉換電路,轉換成+5 V、+4.2 V和+3.3 V的直流電分別向車載定位終端的CAN數據收發模塊、S3C44BOX芯片、GPS衛星數據接收電路和GPRS無線數據傳輸電路供電;CAN數據收發模塊通過CAN總線接收ECU、EGR、TCU等車載控制器發來的反應電控車工況的數據,CAN總線末端的兩個120歐電阻為阻抗匹配電阻;GPS則實時接收衛星數據并將這些數據按照NMEA-0183協議輸出給CPU;CPU通過應答機制接收CAN數據收發模塊傳來的數據,通過中斷方式實時接收GPS發來的數據并通過相應算法對接收到的衛星數據進行處理,之后將所有數據按照固定的格式進行打包并發送給GPRS;GPSR接收到相應的數據包后,通過無線方式實時上傳給監控中心。
在車載定位終端的實際應用之中,影響數據交互速度的主要因素取決于CPU的處理速度,電控車工況信息讀取以及GPS衛星數據接收的實時性;影響穩定性的主要因素是硬件的抗電磁干擾性能及μC/OS—II操作系統對不同優先級任務的合理調度分配。下文將圍繞CPU電路、GPS衛星數據接收電路、GPRS無線數據上傳電路以及系統軟件等幾個主要影響因素進行闡述和分析。
2 、硬件電路的設計
1)S3C44BOX處理器
S3C44BOX處理器是Samsung公司推出的采用了ARM7TDMI內核的16/32位RISC處理器。該處理器擁有豐富的內置部件:8KBcache,LED控制器,SDRAM控制器,5通道PWM定制器,PLL倍頻器,IIC總線接口,IIS總線接口,2通道UART,4通道DMA和8通道10位AD轉換器。這些部件使得S3C44BOX處理器在保證高性能的同時(最高運行速度達66 MHz),最大限度的降低了設計開發的成本。相較于傳統的8位單片機,S3C44BOX處理器可較大程度的提升車載定位終端對數據處理速度的需求。
2)GPS抗電磁干擾電路
如圖2,GPS電路的核心器件為GS-89M-J模塊。該模塊采用了最新的MTK3329芯片作為主控芯片,定位精度小于10 m圓周誤差,定位時間在熱啟動模式下僅為1 s。MIC29302BU模塊是一款大電流高穩定性的電壓調節模塊,主要用于向GS-89M-J模塊提供4.2 V的工作電壓,模塊中的5腳位為可調輸出引腳,在可調模式下,該引腳輸出固定的1.25 V的直流電壓,為了保證該模塊能夠提供穩定的4.2 V電壓,設計中使用電阻值分別為43 K和100 K的精密電阻R521X和R525X組成了串聯電壓提升電路,以實現模塊的輸出引腳輸出4.2 V的直流電壓S3C44BOX通過向該模塊的1引腳(EN端-使能輸出端,高電平有效)輸出高電平或低電平來控制該模塊的工作與否;電容C564、極性電容C562、電阻R550和R551所組成的地分離電路,主要用于將GPS電路和車載終端上的其它電路進行隔離,以防止GPS電路與其它電路因為公共阻抗耦合引起交叉干擾;出于保證車載定位終端運行穩定性考慮,通過S3C44BOX芯片的一個通用I/O引腳和三極管Q501、電阻R502、R505、R507組成GS-89M-J復位控制電路,以確保GS-89M-J在程序跑飛時主控芯片能及時對其進行復位操作;本設計中選用的GPS天線的阻抗值為50歐姆,由于GPS信號為1575. 42 MHz的高頻載波信號,在傳輸過程中,容易因傳輸線的特征阻抗與終端阻抗不匹配造成信號反射,為防止該現象發生,本設計中用于連接GPS天線和GS-89M-J模塊RF_IN引腳的射頻線的特性阻抗值為50歐姆;GS-89M-J模塊實時接收來自衛星的信號同時對其進行解算,并將解算結果按照NMEA0183協議打包成GPGGA、GPGSA、GPGSV、GPRMC、GPVTG和GPGLL7幀數據輸出給S3C44BOX。S3C44BOX通過串口中斷方式實時接收GS-89M-J發來的數據幀。
3)GPRS抗電磁干擾電路
如圖3,GPRS電路的核心器件是SIM900模塊。SIM900采用省電技術設計,在睡眠模式下耗流僅為1.0 mA,同時該模塊嵌入了TCP/IP協議,提高了用戶應用該模塊進行數據無線傳輸的開發效率。
電路中的NC7WZ07為高速電平轉換芯片,通過該芯片可將SIM900輸出的4.2 V串行信號轉換為S3C44BOX可接收的3.3 V串行信號,實現SIM900和S3C44BOX的無障礙通信;電路中的MOLEX-91228為SIM卡座,為防止SIM卡受到靜電放電和高頻信號的干擾,此處選用SMF05C對SIM卡進行保護;為防止來自SIM900的特高頻信號在傳至SIM卡時形成信號反射,降低信號質量,這里選用22歐的電阻R614和R613對二者進行阻抗匹配;S3C44BOX通過向SIM900的1引腳(PWRKEY引腳-電開關引腳)發送脈寬為1 s的高電平,便可控制該模塊的關閉與打開;S3C44BOX通過向SIM900的14引腳(NRESET引腳-低電平復位引腳)發送一個高電平,便可對該模塊進行復位操作;與GPS電路一樣,GPRS電路中的用于連接GPRS天線與SIM900 RF_ANT引腳的射頻線的特性阻抗為50 Ω;SIM900通過串口接收來自S3C44B OX的數據包,并通過GPRS網絡將數據包上傳至監控中心。
3、 系統軟件設計
為實現車載定位終端數據處理的實時性和運行的穩定性,確保電控車工況信息讀取任務和GPS衛星數據接收任務能在第一時間內完成,本設計引入了μC/OS—II操作系統。μC/OS—II能夠根據任務的優先級動態地切換任務,保證系統對實時性的要求。
如圖4所示為系統主函數流程圖,系統上電,經過對S3C44BOX的時鐘電路以及相關寄存器配置完成對S3C44BOX的初始化操作,之后調用OSInit()函數完成對μC/OS—II的初始化操作,接著系統通過OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INT8U prio)函數創建車載定位終端的應用任務,最后通過OSStart()函數調用任務調度函數OSCtxSw()開始任務調度。各應用任務間的同步及數據交互通過信號量和消息郵箱來完成。
基于車載定位終端的主要功能,該車載定位終端應用程序主要包括3個任務和2個中斷。分別是電控車工況信息讀取任務(void VehInf Read_ Task(void*pada)),該任務主要用來接收來自ECU、EGR等車載控制器傳來的反應車輛工作狀況的信息,如:發動機冷卻液溫度、發動機潤滑油壓力、發動機曲軸轉速、發動機凸輪軸轉速、廢氣后處理閥門開度等等,由于車載定位終端要同時接收多個車載控制器的數據,為確保車載定位終端能夠精確識別各車載控制器上傳的數據,此處采用主叫-應答機制實現車載定位終端和各車載控制器間的數據通信;GPS衛星數據處理任務(void SatDatPro_Task(void*pada))則主要對GS-89M-J模塊傳來的數據幀進行篩選并從篩選出來的數據幀中提取車輛位置的信息;GPRS數據上傳任務(void DatSend_Task(void*pada))則主要將車輛工況信息和位置信息按照固定數據幀格式進行打包并通過SIM900以無線方式上傳給監控中心;CAN接收中斷函數(void_irq CANRev(void))是由CAN收發器觸發的,CAN收發器每接收到一幀來自各車載控制器的數據時,中斷即被觸發,該中斷函數主要將接收到數據幀通過消息郵箱傳送給電控車工況信息讀取任務;串口接收中斷函數(void_irq Seri Rev(void))則主要是在GS-89M-J完成衛星信號解算并向S3C44BOX的串口進行數據輸出時被觸發的。
影響車載定位終端實時性的主要因素是對GPS衛星數據的處理速度,因此車載定位終端中各任務的優先級分配如下表(優先級值越小則對應的優先級越高)。
4 、結束語
文中所設計的車載定位終端應用ARM處理器和μC/OS—II操作系統最大限度地保證了終端數據交換的實時性與運行的穩定性。經證實,該車載定位終端在貨車、工程車、農用車等領域擁有廣闊的應用前景。
評論