新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 車載GPS定位監控系統中信號的分析和處理設計

        車載GPS定位監控系統中信號的分析和處理設計

        作者: 時間:2016-12-20 來源:網絡 收藏

          引言

          隨著汽車在日常生產和生活中起的作用越來越突出,如何實現各類車輛的有效指揮、協調控制和管理已經成為交通運輸和安全管理部門面臨的一個重要問題。為了滿足提高運輸效率和安全保障的需要,對車輛定位監控系統的研究也日趨迫切。

          車載GPS定位監控系統是GSM全球數字蜂窩移動通信技術和GIS地理信息技術、GPS全球衛星定位技術以及計算機網絡技術相融合研制開發出來的軟件技術。它是通過安裝在車輛上的GPS接收機(即車載機)接收衛星信號,監控中心的通信控制器從GPS接收機輸出的信號中提取所需要的位置、速度和時間信息,結合車輛身份等信息形成數據報,然后通過無線信道發往控制中心;控制中心的主站接收子站發送的數據,處理接收信息通過短消息的方式逐次直接發送給每一臺車載機。最后,將車輛的具體數據和狀態在監控中心的電子地圖上顯示出來。

          本文討論的就是從接收機輸出的信號中提取所需要的位置、速度和時間信息的方法,以及中心處理信息后發送命令集的實現過程。

          GPS車載機的通信協議

          車載機與監控中心之間的通信方式均以中心發送命令,車載機應答的方式進行,所以我們對車載機GPS信號的分析與處理必須完全依據車載GPS接收機與監控中心的通信協議來進行,下而是GPS車載機通信協議的部分內容。

          車載機返回信息

        一般信息:

        *XX,YYYYYYYYYY,V1,HHMMSS,S,latitude,D,longitu de,G,speed,direction,DDMMYY,vehicle_status#

        確認信息:

        *XX,YYYYYYYYYY,V4,CMD,hhmmss,HHMMSS,S,latitu de,D,longitude,G,speed,direction,DDM MYY,vehicle_status#

        區分一般信息和確認信息的方法是看車載機傳回來的信息中是否包含“V4”,判斷返回信息是否有效的方法是看回傳信息中是否包含“HQ(制造商名稱)”。

        其中:‘*’表示命令頭;‘XX’表示制造商名稱;‘,’表示分隔符;‘YYYYYYYYYY’表示車載機序列號;‘CMD’表示被確認的中心命令;‘hhmmss’表示被確認命令中的時間值;‘HHMMSS’表示車載機時間;‘s’表示數據有效位;‘latitude’表示緯度;‘D’表示緯度標志;‘longitude’表示經度;‘G’表示經度標志;‘speed’表示速度;‘direction’表示方位角;‘D D M M Y Y’表示日/月/年;‘vehicle_status’表示車輛狀態。

        車載機返回GPS信息模式有兩種,一是返回最近的有效的GPS信息;二是返回最新的GPS信息。

        中心發送命令結構和命令集

        中心發送命令結構是:*XX,YYYYYYYYYY,CMD,HHMMSS,PARA1,PARA2,…#

        在編寫中心發送指令時必需按照這個格式來寫,下面列出其中的七個中心發送命令。

        定位監控命令D1:該指令要求車載機以interval為時間間隔,回傳count次定位信息。

        自動監控設置命令S17:該指令完成對自動監控參數的設置。

        參數設置指令S12:該指令僅用于對S17命令的開關控制。

        設置監控中心短信號碼S2:車載機收到指令后將立即向新的監控中心發送確認信息。

        通話設置指令S13:phone_flag的bit0=0時允許打出,bit1=0時允許接聽。

        清楚報警指令R7:車載機收到命令后將清除掉所有報警信息。

        冷啟動指令R1:車載機收到命令后將執行冷啟動復位,所有狀態參數全部清零。

        通信軟件的設計與實現

        GPS信號與監控中心之間的通信大致分成兩個步驟:一是GPS接收機(即車載機)接收衛星信號,監控中心的通信控制器從GPS接收機輸出的信號中提取所需要的位置、速度和時間等數據信息;二是監控中心將分析出的數據信息通過短消息的方式發送命令給每一臺車載機。具體步驟如下:

        function IsValidMsg(Str:String):Boolean;{判斷消息是否有效}

        function IsConfgMsg(str:String):Boolean;{區分一般信息和確認信息}

        procedure ResoleGprsV(RecvGprs:String);{處理接受信息}

        procedure ResoleGprsV1(RecvGprs:String);{處理一般信息(V1)}

        procedure ResoleGprsV4(RecvGprs:String);{處理確認信息(V4)}

        function Direc(sr:String):String;{車輛行駛方向}

        function HexCng(Rhex:String):String;{十六進制數轉換為二進制數}

        function HandleCarStatus(ArrBin:array of String):String;{處理車輛狀態}

        function ChangeTel(sTel:String):String;{}function StrToHex(sStr:String):String;

        procedure SendSms(Tel,Other:String;iCmdID,iSendType:Integer;

        CarID:String=”){中心發送命令集}

        從車載機接收的GPS信號中判斷返回的信息是否有效,如果無效則直接丟棄,如果有效,則確認是一般信息還是確定信息,再接收處理一般信息或確定信息。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 高淳县| 武川县| 交口县| 株洲市| 鹤岗市| 岐山县| 克山县| 新密市| 台北市| 离岛区| 宁城县| 游戏| 包头市| 塘沽区| 乌什县| 宣威市| 望城县| 东阿县| 乐清市| 云林县| 偃师市| 河曲县| 攀枝花市| 奉新县| 墨玉县| 湖南省| 枣强县| 普安县| 康平县| 屯昌县| 石景山区| 利川市| 黔西县| 裕民县| 敖汉旗| 东宁县| 巨野县| 广州市| 定南县| 新余市| 西乌珠穆沁旗|