一種嵌入式ARM-Linux GPS智能終端設計

 GPS智能終端是智能交通系統(ITS系統)的重要組成部分,它將衛星定位技術(GPS)、地理信息系統(GIS)以及無線通信技術融於一身。目前,衛星定位終端通常由8位/16位單片機、GSMGPRS通信模塊、GPS模塊、LCD液晶顯示器等組成,並且採用液晶部分與主控芯片組分離在兩個外殼裏的分體式結構。這裏介紹一種基於ARM920處理器和嵌入式Linux操作系統,將GPS技術與CDMA網絡相結合的嵌入式智能終端並設計。該終端具有將GPS終端的動態位置、時間、狀態等信息實時地通過CDMA無線網絡鏈接到控制中心,在具有地理信息處理和查詢功能的電子地圖上進行顯示,並對終端的準確位置、速度、運動方向、終端狀態等基本信息進行監控和查詢;報警(包括主動報警和自動報警);顯示調度信息;外接設備數據採集、本地溫度採集及遠程監控等功能。

  1 GPS智能監控系統總體設計方案

  GPS智能終端與監控中心的通信方式是影響整個ITS系統功能的重要因素。爲了解決目前終端採用GSMGPRS網絡進行數據傳輸不足的問題,設計中採用CDMA 1X網絡,其理論傳輸速率可達300 Kbs,數據傳輸速率高,永遠在線,基於IP協議可以訪問整個Internet;按流量收費,價格合理;具有良好的可擴展性,覆蓋室內絕大部分地區及距海岸線120 km內的海域,基本不存在盲區。通信速度遠高於GPRS網絡,更加適合於大數據量、實時傳輸監控,而且易於平滑過渡到3G移動通信系統。GPS智能監控系統由GPS智能終端、CDMA網絡、Internet網、監控中心組成,如圖1所示。

  2 GPS智能終端的硬件設計

  2平臺介紹

  採用ARM處理器和嵌入式技術設計的移動終端,相對於以8位/16位單片機作爲中央處理器的終端而言,無論是功能上,還是人機界面都有顯着提高,是微處理器技術的重要發展。這裏選用Atmel公司的AT91RM9200處理器爲主控制器。該內核屬於專門用於工業控制ARM芯片,有較寬的工作溫度以及其他較好的工業參數,同時集成了豐富的系統應用外設及標準接口;在180 MHz主頻下高達200 MIPS處理速度;外部總線接口EBI。;兩個USB 20主機口和一個USB 2O設備口;一個10100 Mbs Ethernet通信接口;4個同步/異步串口;多種串行數據通路;支持I2CI2S等。其豐富的外部設備和數據傳輸特性是選擇它作爲主控制器的主要原因。

  2硬件設計

  GPS智能終端的硬件系統構成如圖2所示。

  221 ARM主控模塊

  AT91RM9200的串口UART2UART3分別與CDMA模塊、GPS模塊通信,在實際通信時兩路連接都加有LVTTL電平到RS 232電平的轉換電路。AT91RM9200接收GPS模塊從串口3發出的位置信息,解析出其中有用數據進行封裝,然後以規定格式通過串口2交給CDMA模塊,通過CDMA網絡接入Internet網最終送至ITS監控中心;接收並解析ITS控制中心發來的短消息命令,按命令進行上傳定位等操作;把系統運行狀態及ITS控制中心發來的信息在液晶屏上顯示出來。

  222 CDMA通信模塊

  CDMA模塊是整個系統的通信基礎,設計中採用Fidelix公司的CDMA通信模塊FD810。該模塊內嵌的高通Qualcomm MSM6025芯片,除支持基本的通話和SMS短消息外,還支持CDMA20001x無線數據傳輸。高速上下行速率與大緩存,數據傳輸速率高達1536 Kbs,可通過AT命令遠程控制內置TCPIP協議堆棧。DTGS-800AT91RM9200通過串口UART2實現數據的收發和AT指令的操作。

  223 GPS模塊

  GPS接收模塊選用芬蘭Fastrax公司的iTrax100。該模塊支持NMEA0183Sony ASCⅡ協議的數據格式。GPS模塊通過串口3將數據以固定的幀格式發送至AT91RM9200GPS模塊需要配備專門的GPS天線接收GPS衛星信號。一般在比較開闊的地區,需接收到3顆以上的GPS衛星信號才能進行準確定位。

  22存儲器系統

  存儲器系統採用4 MB NOR FLASH64 MBNAND FLASH32 MB SDRAMNOR FLASH通過16位數據總線與CPU交換數據,用來存儲UbootLinux內核、文件系統;NAND FLASH存儲應用程序,作爲系統的數據存儲器,如加載電子海圖等。爲充分發揮32ARM處理器的數據處理能力,選用216位的HY57V281620HG並聯,以構建32SDRAMARM交換數據。SDRAM在系統中主要用作程序的運行空間、數據及堆棧區。

  首先,通過JTAG口將UbootLinux內核、文件系統燒寫到NOR FLASH,將應用程序燒寫到NANDFLASH。在系統啓動時,CPU首先從復位地址0x0處讀取啓動代碼,並將存有引導程序UbootNORFLASH存儲器配置到:Bank0,即AT91RM9200NCS0引腳接至NOR FLASH芯片AT49BV322ADCE端,這樣就可以從NOR FLASH啓動嵌入式Linux操作系統。
 3 GPS智能終端的軟件設計

  嵌入式Linux系統只需引導程序、Linux微內核、初始化進程3個基本元素,移植嵌入式Linux,就是使實時內核能在其他處理器(CPU)或微控制器(MCU)上運行。將嵌入式Linux移植AT91RM9200平臺上,一般需要4個步驟:下載源碼和建立交叉編譯環境,配置編譯內核,製作文件系統,下載和調試內核。

  3應用程序設計

  應用程序包括Uboot啓動代碼、串口設備驅動程序、CDMA網絡數據傳輸程序、GPS串口通信程序等。

  (1)系統加電後復位;

  (2)Uboot初始化CPUSDRMA,分配地址空間等;

  (3)UbootLinux內核的壓縮文件解壓到SDRAM中,同時Uboot把控制權移交到Linux

  Linux的內核有在FLASH存儲器上直接運行和加載到內存中運行2種工作方式。這裏採用的FLASH存儲器運行方式相對較複雜,但運行速度更快;

  (4)開始執行SDRMA中的代碼,Linux內核初始化,完成堆棧和中斷的分配等;

  (5)加載串口驅動模塊,完成串口的初始化;

  (6)運行CDMA網絡數據傳輸程序,通過CDMA網絡與Internet進行連接;

  (7)運行GPS串口通信程序,通過串口將GPS數據送至AT91RM9200

  至此,已建立了從GPS數據採集到數據傳輸的完整的嵌入式監控系統。

  3無線接入網絡程序

  終端由CDMA網絡接入Internet後,通過互聯網進行數據傳輸。系統上電和載入Linux後,首先初始化CDMA模塊,進行端口設置和波特率設置(115 200 bs);然後進入撥號等待狀態。由於該終端在功能上映射爲無線Modem,所以登陸網絡需進行PPP撥號連接,接入號爲#777,用戶名和密碼均爲CARD。啓動程序後,確認是否撥號成功,若成功撥號,則調用GPS串口通信程序和網絡數據傳輸程序;最後使用Internet結束後,關閉無線連接。

  33 CDMA網絡數據傳輸程序

  在Linux操作系統下,監控終端通過CDMA網絡與Internet連接,將數據上傳到監控中心。套接字Socket是許多操作系統網絡編程的通用API,是介於網絡應用層和傳輸層之間的編程接口。套接字提供了訪問下層通信協議的大量系統調用和相應數據結構,進程在Linux上的網絡通信過程就是使用套接字傳輸數據的過程。,文中介紹的Socket通信採用面向連接的TCP協議。

  客戶端和服務器端的TCP應用程序流程如圖3所示。客戶機部分先由Socket()創建本地套接口,給服務器端套接口地址結構賦值;用Connect()函數使本地套接口向服務器端套接口發出建立連接請求,經3次握手建立TCP連接;若連接建立成功,則用Send()Recv()函數與服務器通信;通信結束,用Close()關閉套接口。

  服務器部分由Socket()創建套接口,並給套接口地址結構賦值;調Bind()函數綁定套接口、用Listen()函數在該套接口上監聽請求;當Accept()函數接受請求,產生新的套接口及描述字,並與客戶端連接;在用Fork()函數派生新的子進程與客戶端通信,主進程繼續處理其他請求。

  34 GPS串口通信程序

  GPS串口通信程序是對採集到的GPS數據和車輛狀態數據進行解析;對時間、經度、緯度、速度及超速報警等數據解析,並以固定格式通過串口3傳送到AT91RM9200GPS模塊的工作流程如圖4所示。

 

  GPS接收數據採用NMEA0183格式,串行通信參數爲8位數據位,無奇偶校驗;1位停止位,無數據流控制。波特率設爲115 200 bs。判斷幀起始是否爲$G-PGGA,如果是,按位讀取GPS數據,  在Linux下,所有的硬件設備都被看成是普通文件,可以通過與普通文件相同的標準系統調用完成打開、關閉、讀取和寫入設備等操作。系統中每一個設備都用一種特殊的設備相關文件表示,存放在/dev目錄下。在Linux中,對每一個設備的描述是通過主設備號和次設備號來惟一確定的。由同一個設備驅動控制的所有設備具有相同的主設備號,主設備號描述控制這個設備的驅動程序,即驅動程序與主設備號是一一對應的(O255);次設備號用來區分同一個驅動程序控制的不同設備。

  實驗與結果

  運行嵌入式目標板的客戶端程序採集GPS數據併發送,在上位機上運行服務器端就能接收到GPS數據。如圖5所示爲GPS數據採集、接收的調試界面的數據,比較監控中心服務器接收到的GPS數據與終端採集到GPS數據相一致,實現了終端與監控中心無線、實時數據傳輸。本終端運行穩定、系統響應時間小於等於3 s,網絡良好情況下數據傳輸速率達115 200 bs

  結 語

  利用嵌入式Linux操作系統開發平臺提供的系統功能,可以簡化多任務程序設計,降低開發難度,輕鬆地完成前後臺編程方法難以完成的任務。由於CDMA數據傳輸有着永遠在線、費用低廉,並且能夠切換到SMS方式,保證數傳萬無一失的諸多優點,而且隨着移動通信網絡的發展,該GPS智能終端更易平滑過渡到3G移動通信系統。因此將會有更廣闊的應用前景。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章