新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于GPS/3G技術的公交車遠程監控系統設計

        基于GPS/3G技術的公交車遠程監控系統設計

        作者: 時間:2012-06-18 來源:網絡 收藏


        2.3 GPS模塊的選型與連接

        本系統的GPS模塊采用的是HOLUX的GB-87模塊。該模塊支持NMEA0183協議,支持V3.3-V5.5電壓輸入,TTL接口電平,波特率可置。在本系統中,GR-87模塊通過6PIN排線與主板相連,1腳為電源輸入腳,接5 V電源,2、3腳為GPS模塊的數據接收和發送,5腳接地。工作時,GPS模塊串口2與主控制器S3C2440進行通信,通過設置模塊定時輸出GPS定位數據,由主控制器對GPS數據進行處理,提取出經緯度,時間等有用信息,為自動報站及正點考核提供可靠數據,保證報站及正點考核功能的實現。

        2.4 模塊的選型與連接

        根據無線接口技術的不同,現有技術可以分為聯通的WCDMA技術,電信的CDMA2000技術和移動的TD-SCDMA技術。考慮到傳輸帶寬、網絡穩定性、實用性等因素,本系統采用電信CDMA2000作為無線網絡傳輸,采用中興公司的MC8630模塊作為視頻數據傳輸模塊。MC8630模塊具有語音、短信、數據業務和GPS等功能,工作頻段為800MHz,通過雙天線接收分集技術和均衡技術,上行速率最高可達3.1 Mbit/s下行速率最高可達3.1 Mbit/s。可以通過USB接口將MC8630模塊連接到MIN2440(S3C2440為主芯片的開發板)處理器上,實現封裝后的視頻數據傳輸。

        3 系統軟件設計

        目前常見的嵌入式操作系統主要有WinCE、Linux、Vxworks等幾種。其中Linux操作系統的源碼完全開放。由于其自身具有高效穩定、網絡資源豐富、內核小、執行速度快,可移植性好等優點,被廣泛應用于嵌入式系統領域。所以,選擇操作系統作為本系統的軟件開發平臺。

        在軟件設計方面,首先需要在單片機和PC機之間建立交叉編譯環境,用來編譯引導程序和Linux內核。然后完成引導程序Bootloa der的移植;配置和編譯Linux內核;制作根文件系統以及底層驅動程序。最后,通過編寫上層應用程序完成圖像采集、GPS信息采集、傳輸等功能。下面幾節詳細的介紹了幾個主要程序的設計思想。

        3.1 圖像采集程序

        在視頻采集方面,本文采用的攝像頭是網眼V2000,它是一款是以ov511為主控芯片的攝像頭。選用它的原因是由于Linux內核自帶ov511驅動,所以不用再自己編寫攝像頭的驅動程序,只需在定制內核的時候選中即可。為開發節省了時間。

        當Linux系統正常啟動后,插上V2000攝像頭,如果成功加載驅動,將為攝像頭在/dev/v41/目錄下創建設備文件device0,上層應用程序即可通過此設備文件訪問攝像頭,實現拍攝圖像的功能。嵌入式系統平臺已搭建成功,要實現實時地獲取圖像,就需要利用V4L(Vidio For Linux)編程接口實現圖像采集程序了。考慮到攝像頭采集的640x480的RGB圖像數據量較大,這里用圖像壓縮函數put_image_jpeg將圖像轉化為JPEG格式,這樣存儲時就減少了占用的NandFlash空間,同時通過3G網絡回傳監控中心時,也減少了傳輸費用和確保傳送成功。

        3.2 GPS解析程序

        GPS接收機HOLUX的GR-87模塊輸出數據格式符合NMEA.183標準。NMEA.0183協議是由美國國家海洋電子協會制定的一種串行通信的數據協議,所有輸入輸出信息均為一行ASCII字符。它的一條消息稱為語句(Sentence),每條語句都以“$”開始,以回車換行符(CR>LF>)結束,中間是用逗號分隔的若干個域。

        由于此GPS模塊設置信息掉電丟失,在每次系統啟動時均要對該GPS模塊進行初始化。將模塊設置成每秒鐘輸出一次GPS信息。系統啟動后,模塊接收GPS信息,然后解析出GPS信息,根據解析出來的經緯度信息與數據區中存儲的站點信息比較,計算出實際距離。如果距離到達閥值時,啟動GPS報站中斷。該GPS模塊接收模塊遵循NMEA.0183協議,可以輸出多種格式的數據幀,均以“MYM”開頭。輸出數據采用的是ASCII碼字符,內容包含了緯度、經度、速度、日期、航向及衛星狀況等信息。該系統所使用的僅限于$GPRMC定位數據幀格式。系統啟動后,通過串口對GPS模塊進行設置,由于系統對實時性要求不高,將GPS設置為每秒鐘輸出一次RMC數據。提取GPRMC語句的思路是設置一個數據緩沖區,把接收到的GPS數據都放入這個緩沖區,當緩沖區滿了的時侯就在緩沖區中查找是否接受到GPRMC定位語句,如果沒有接收到則重新接GPS數據。如果找到GPRMC定位語句則還要判斷該語句在緩沖區中的位置離緩沖區的最大字節數是否大于62個字節(因為本程序中需要的GPRMC定位語句所包含的字節數為62),然后通過多程序提取相關經緯度、時間和速度等信息并通過數據處理線程進行相關處理。運行過程如圖3所示。


        3.3 3G模塊解析程序

        MC8630模塊驅動可以通過驅動源碼交叉編譯生成。MC8630模塊的加載和撥號連接的過MC8630模塊驅動可以通過驅動源碼交叉編譯生成。MC8630模塊的加載和撥號連接的過程如下:

        1)在編譯前首先要確認編譯驅動和編譯內核的編譯環境相同,也就是需要相同版本號的交叉編譯工具(本系統Linux版本號為2.6);
        2)修改驅動源碼Makefde文件,包括添加內核源碼目錄和編譯工具;
        3)Make編譯之后,生成ztemt.ko;
        4)insmod ztemt.ko,生成4個設備節點/dev/ttyUSB0-ttyUSB3;
        5)mknod/dev/ttyUSB0 c 188 0,創建設備節點;
        6)編寫Linux下撥號腳本、chat配置文件和賬號密碼配置文件;
        7)添加內核選項,編譯支持PPP協議的內核;
        8)pppd call evdo撥號連接,ifconfig查詢網絡是否連接;
        9)ppp-off中斷連接。

        4 結束語

        本系統設計的采用先進的3G/,通過對公交車輛運行時的信息的采集、傳輸和處理,實現了對公交運營車輛的實時監控和調度,迅速調整公交車輛的運行狀況,提高車輛工作的效率,使公交資源實現最佳利用和分配,達到公交的智能化。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 禄劝| 泗洪县| 安泽县| 贵溪市| 凤台县| 黄陵县| 宿州市| 靖西县| 疏勒县| 虹口区| 封丘县| 咸阳市| 宜宾县| 东乡| 紫阳县| 手游| 汽车| 景宁| 延边| 来宾市| 玉林市| 翁源县| 瑞昌市| 宁海县| 台东县| 易门县| 永城市| 海盐县| 秦安县| 淄博市| 精河县| 望谟县| 新乡市| 墨竹工卡县| 蓬莱市| 聊城市| 洱源县| 镇赉县| 嵊泗县| 玉林市| 广州市|