車載終端套用軟體及後台通信系統的開發,車載終端總體設計,功能需求分析,終端應用程式框架,前後台系統的電話終端的設計與實現,軟體設計方案,PA1688晶片的IP電話終端的軟體層次結構,軟體啟動過程,軟體主流程和軟體中斷處理,
車載終端套用軟體及後台通信系統的開發
隨著物流行業的高速發展,車載監控管理系統作為物流運輸系統中的重要組成部分,是推動整個物流行業信息化的關鍵。車載終端基於GPS定位技術、溫度感知技術和無線通信技術,依靠後台系統實時遠程監控行駛車輛的位置信息與狀態信息,實現對車輛在物流運輸過程中的有效管理,提高物流企業管理效率。
車載終端總體設計
車載終端負責實時獲取車輛信息並上傳至後台實現對車輛的實時監控的同時,還需通過VoIP和IM客戶端實現終端與後台間的通信。終端需通過同步衛星實現定位功能,通過溫度感測器採集剎車溫度信息保障行車安全,將採集的數據通過終端處理後經無線網路傳送到物流車輛監控管理系統實現對運行車輛的監控和管理功能。
根據系統的需求設計車載終端、IM通信系統客戶端、物流車輛監控管理系統。車載終端採用模組化思想,終端硬體的設計模組包括GPS模組、溫度感測器模組、3G模組、觸控螢幕模組和音頻模組等。GPS技術是運用最廣泛、技術最成熟的定位技術,依靠此技術可更快更精確地獲取車輛定位信息。終端需要實現與後台的通信,因此需設計3G模組實現聯網功能。紅外測溫因其具備非接觸測溫、靈敏度高、反應速度快的特點,滿足終端採集運輸車輛的剎車溫度的需求,因此選用紅外溫度感測器。車速過快或剎車溫度過高時發出語音報警,因此需要音頻模組實現語音播放功能。各個模組的功能如下所述:
1、GPS模組:GPS模組實時接收GPS衛星信號,模組輸出GPS數據,終端從輸出數據中獲取經緯度、衛星定位數量、車速等信息。
2、溫度感測網路:溫度感測網路由蜘蛛線連線各個溫度感測器,感測器固定到剎車位置上方用於對數據的採集,終端按協定傳送指令實現對感測器的控制。
3、3G模組:3G模組用於終端連線網路,不僅實現將終端採集的行車數據信息上傳到車輛監控管理系統,而且還可用於終端與後台之間的語音通信和廣播訊息。
4、觸控螢幕模組:觸控螢幕模組由電容觸控螢幕組成,用於在本地終端顯示採集的數據以及人機互動,駕駛員可通過觸控螢幕的數據實時了解車輛狀態信息,行車數據異常時可通過音頻模組實現實時報警。
5、音頻模組:音頻模組用於處理音頻數據的輸入和輸出,為實現網路電話、訊息廣播和實時告警功能提供硬體基礎。
功能需求分析
終端套用層的功能可概括為狀態欄、行車狀態、通信服務、系統設定和視頻監控五個功能模組。視頻監控則是下個階段的主要研究工作。
1. 狀態欄模組:狀態欄位於終端最上面顯示數據信息,內容主要包括Home鍵、衛星定位狀態、廣播訊息、當前時間以及3G信號強度。Home鍵用於在任何其他界面時返回系統主界面,便於實際操作;衛星定位狀態顯示當前GPS定位狀態的具體信息,可快速地判斷GPS模組接收信號的強度,有利於檢測GPS模組的工作現狀;廣播訊息接收顯示伺服器傳送過來的廣播訊息,駕駛員可直接查看後台的通知;當前時間可顯示系統當前實際時間;3G 信號強度用於顯示當前終端3G模組接收到的信號強度,終端根據信號強度實現控制發包速率。
2. 行車狀態模組:行車狀態作為系統中關鍵的模組,用於顯示車輛行車狀態信息。開機啟動後,主界面每隔固定時間後跳轉至行車狀態模組。底層串口採集GPS定位信息和感測器信息,行車狀態界面顯示解析後的經緯度、車速和溫度數據,其中溫度數據包括拖車溫度數據和掛車溫度數據,數據異常時終端音頻模組發出對應的實時語音報警並及時採取對應措施科學避險。行車狀態模組通過重寫採集信息,實現協定轉換,將信息經無線網路上傳到物流車輛監控管理系統。
3. 通信服務模組:通信服務模組由IM模組和VoIP組成。IM模組基於TCP協定實現傳送和接收語音檔案訊息和文字訊息,實現終端與後台之間的信息互動,同於基於UDP協定實現接收廣播訊息在狀態欄顯示廣播訊息。VoIP 基於SIP協定實現用於終端與後台之間實時語音通信。
4. 系統管理模組:系統管理提供終端系統通用設定、時間日期、感測器設定和其他信息等功能。通用設定用於設定系統音量、錄音音量、背光設定和行車狀態監控自動調轉。時間日期顯示日曆和系統運行時間。感測器設定用於設定感測器開啟、關閉和感測器探測間隔,便於實現對採集器的管理和控制。其他信息包括產品信息、軟體版本信息、軟體升級功能和數據包上傳統計信息,其中軟體升級功能可用於系統實時更新軟體,有利於後期系統維護。
終端應用程式框架
應用程式的基礎在於串口的套用層驅動,利用串口通信,實現對串口參數初始化、串口數據讀寫等操作。紅外溫度感測器數據讀寫、GPS數據解析這2個模組是整個應用程式的中間部分,GPS模組從串口讀取出來的數據通過正則表達式進行解析,紅外溫度感測器模組按照自定的協定通過串口傳送相應的指令對該模組進行控制,修改感測器相關配置,獲取對應的溫度數據。行車狀態模組將解析出的數據信息在本地終端界面顯示,同時將數據按通信協定封裝成UDP數據包通過無線網路上傳至後台車輛監控管理系統。終端應用程式在此基礎上基於PJSIP庫實現VoIP完成終端與後台之間的實時語音通信,並通過套接字編程實現IM通信模組接受後台通信系統發來的廣播訊息、文字訊息和語音檔案訊息。
前後台系統的電話終端的設計與實現
根據實際從事項目開發過程,提出了一種高性價比的VoIP電話終端設計方案,並從系統設計、硬體設計和軟體設計3個方面做了較深入的剖析。該系統採用雙處理器結構,與8051指令兼容的8位控制器以及與AD-SP2181指令兼容的語音運算DSP處理器,向外提供Ethernet、鍵盤、LCD等接口,該方案軟體上採用嵌入式常用的前/後台系統。
軟體設計方案
該IP電話終端是一個嵌入式實時系統,為了降低成本在硬體上採用C51 Core晶片作為系統控制器。由於該晶片的性能相對較低,因此在軟體上不能採用通用的嵌入式OS,而是採用嵌入式系統常用的另外一種方案前/後台(Foreground/ Background)系統。這種系統的應用程式是一個無限循環,在循環中調用各個模組完成各自功能。這部分即為後台(backround),也叫任務級。其前台為中斷級處理,由中斷服務程式組成 ,處理時間相關性很強的各種中斷,可允許中斷嵌套。
在系統中前台處理各種中斷,包括對音效卡中斷、網卡中斷、鍵盤中斷、DSP中斷、定時器中斷等中斷服務程式的處理。後台進行各種任務處理,包括網路協定處理、DSP語音數據處理、鍵盤輸入處理等。
PA1688晶片的IP電話終端的軟體層次結構
該系統採用分層軟體結構中包括:物理層、中間層、套用層。物理層包括PA1688晶片及其外圍接口晶片(AC97音效卡、NE2000兼容網卡、鍵盤、LCD等)。中間層包括一些庫和驅動程式,為套用層禁止硬體的實現和提供方便的接口。套用層包括CODEC處理、鍵盤輸入處理、網路協定處理、時間處理等模組。
CODEC模組中包括聲音的採集和播放、支持G.711、G.723.1以及G.729的語音編碼和語音解碼三大部分。鍵盤處理部分包括撥號處理、LCD選單處理(包括參數查詢/設定等)、快捷鍵功能處理等。網路協定處理部分包括TCP/IP協定族的處理、TELNET配置處理、WEB配置處理、遠程FTP升級處理等。時間處理包括逾時處理、定時處理以及用戶的其他應用程式的時間處理等。
軟體啟動過程
在PFlash中不僅存放有程式,還存放系統的初始設定數據、必要的語音數據、DSP運行所需要的CODEC代碼;並且也用於保存用戶設定的各種參數和語音。而PFlash在系統運行過程中是唯讀的且速度慢,所以將SDRAM作為數據和CODEC代碼的暫存區和交換區。在系統運行之間需將這些數據從PFlash下載到SDRAM中,運行時從SDRAM中讀入片內RAM,運行結束後將其寫入PFlash。
軟體主流程和軟體中斷處理
當軟體系統完成初始化設定、中斷設定、狀態設定和系統參數設定之後,就進入系統主流程。這部分相當於前/後台系統的後台部分。該部分程式被設計成一個while(1)循環,由語音數據處理模組、鍵盤輸入處理模組和網路協定處理模組組成。每個模組包含一些小的模組,當需要添加新任務時,可在主循環內或模組內添加。
系統是由中斷事件(音效卡中斷、DSP中斷、網路中斷、鍵盤中斷、Timer中斷)驅動的,整個系統被劃分為2 箇中斷處理,其中一個處理Timer中斷;另一個處理其他外部中斷事件,當有外部中斷事件發生時,控制器讀取中斷狀態控制暫存器並確定是哪個事件,然後執行相應的中斷服務程式(ISR),然後返回。
中斷服務程式(ISR)只進行簡單的控制處理和數據處理,然後置位相應的公共變數。將複雜處理交給應用程式處理以降低中斷執行時間,提高系統性能。
在後台運行的主循環對各個模組進行輪詢處理,即對各個模組的公共變數進行查詢。當發現有置位時就對這些模組進行處理,從暫存器或記憶體或SDRAM等當中讀出數據進行處理,然後輸出。系統通過前台(中斷)和後台(任務)的配合完成整個VoIP電話終端的所有功能。