基于GPSOne的貴重物品跟蹤系統(tǒng)終端設計
整個定位系統(tǒng)的工作方式如下:將DTGS-800模塊、行程開關、天線和其他輔助電路封裝成一個獨立單元制成定位終端,固定在存放物品集裝箱的開箱口。運輸過程中,當集裝箱密封完好并正常運輸時,此定位終端可以定時向監(jiān)控平臺發(fā)送經(jīng)緯度、時間等信息;而當集裝箱被非正常開啟時會觸及行程開關,該定位終端可及時向監(jiān)控平臺發(fā)送報警信息和定位信息。物流公司通過監(jiān)控平臺接收這些信息并結合物流調度表,分析事發(fā)時的物流情況,即可判斷是否發(fā)生異常,并及時作出處理,從而實現(xiàn)物流過程跟蹤、防盜、查詢和管理等實時監(jiān)控功能。
2 系統(tǒng)硬件設計
定位終端硬件總體框圖如圖2所示。
2.1 系統(tǒng)組成
整個定位終端系統(tǒng)包括電源和電池供電模塊、MCU模塊及外圍電路、DTGS-800模塊及外圍電路。由一片單片機來控制具有定位功能的DTGS-800,它們之間的通信是通過串口來完成的。由于所選單片機和DTGS-800的工作電平都在各自的工作電平范圍之內(nèi),所以可以直接互連,無需額外的電平變換電路。DTGS-800采用機卡分離技術,提供與R-UIM卡的連接接口。
2.2 系統(tǒng)各模塊設計
2.2.1 電源和電池供電模塊
電源供電部分包括兩部分:專門的電池供電和汽車電源供電。整個終端系統(tǒng)使用的是專門的電池供電,在運輸行程較長而導致電池供電不足時,系統(tǒng)電壓檢測電路會發(fā)出報警,這時可以轉換成由汽車電源對其進行供電。下面從兩個方面介紹電源部分。
專門的電池供電。DTGS-800供電有兩種方法:電池供電(VBATT_INT引腳輸入)和外部供電(VEXT_DC引腳輸入)。當用電池供電時,要求供電電壓VBATT_INT范圍為+4.O V±10%。因此選用的是容量為10Ah、輸出電壓為3.7 V的鋰聚合物電池。由于選擇的單片機是3.3 V供電,故電池在向單片機供電時需加一片LDO(低壓差線性穩(wěn)壓器)芯片MIC5219,其最小壓差可以達到0.3 V,滿足設計要求。
汽車電源供電。目前汽車用的電池多為鉛酸蓄電池,小型汽車用電池一般為12 V,大中型汽車(柴油發(fā)動機)為24 V。DTGS-800啟動時首先要初始化系統(tǒng)和尋找網(wǎng)絡,功耗較高,約300~500 mA,穩(wěn)定下來后最高功耗(打電話或者上網(wǎng)、定位的情況下)大約在300 mA。設計時要留有余量,因此供電電源要求在外部供電(VEXT_DC)的情況下能有4.5~5 V、1 A的穩(wěn)定直流供電,最高不能超過5.5 V??紤]到壓差較大,且要求輸出電流大于1 A,選用的是輸出電壓為5 V、輸出電流最大為3 A的DC-DC(開關電源)芯片LM2576-5。與LDO壓差較大時功耗高且轉換效率低的缺點相比,DC-DC電源芯片具有較高的轉換效率,且在壓差較大時保證功耗不會太大。電源及電池供電模塊電路如圖3所示。
2.2.2 MCU模塊及外圍電路
MCU選用的是宏晶科技公司的STC12LE5410AD,其工作電壓為3.3 V,便于在所選定的系統(tǒng)電源下工作。這是一款帶A/D轉換的單片機芯片,具有超強抗干擾的特性,并且具有超低的功耗,正常工作時電流僅為4~7mA,空閑時電流1 mA。它的工作周期僅為一個時鐘周期,可以大大降低使用的晶振頻率,從而降低EMI(Elec-tromagnetic InteRFerence,電磁干擾)。STC12LE5410AD具有引腳少、體積小、價格低、使用方便等特點,可降低開發(fā)成本,縮短開發(fā)周期。
MCU外圍電路包括晶振電路、復位電路、開關檢測電路和電壓測量部分。開關檢測電路用來檢測行程開關的動作,電壓測量部分利用單片機的A/D轉換功能是來測量DTGS-800供電的電池電壓,當檢測到電池電壓不足時會發(fā)出報警,此時需將供電部分轉換到汽車電源上。MCU及外圍模塊電路如圖4所示。
2.2.3 DTGS-800模塊及外圍電路
CDMA模塊選用的是美國高通公司帶有GPSOne定位功能的集成MSM6050芯片組的DTGS-800。此模塊接口共有100個引腳,可提供電話、短信、音頻、傳真、定位、上網(wǎng)和數(shù)據(jù)傳輸?shù)裙δ?,還提供多種用戶接口,如串口、鍵盤及LCD等接口,用戶可方便地根據(jù)需要進行開發(fā)。
DTGS-800與單片機接口使用的是3線(TXD,RXD,GND)串口,利用AT指令可以實現(xiàn)打電話、發(fā)短信及定位等功能,但是在上網(wǎng)和數(shù)據(jù)傳輸時需要接串口的流控信號(如RTS、CTS及DTR等)。RTS為請求發(fā)送信號;CTS為清除發(fā)送信號,起流控作用;DTR為數(shù)據(jù)終端準備好信號,用來指示上網(wǎng)時數(shù)據(jù)連接的有效性,系統(tǒng)中使用單片機的一個I/O口來控制。當DTR=1時,表示允許數(shù)據(jù)連接。此時單片機向DTGS-800發(fā)送上網(wǎng)指令,DTGS -800就被允許連接到Internet,單片機即可通過串口控制DTGS-800向指定IP地址和端口號的服務器上傳輸數(shù)據(jù)。注意,當模塊處于數(shù)據(jù)連接有效狀態(tài)時,是不響應任何AT指令的。當數(shù)據(jù)傳輸完畢時,將DTR置0可斷開數(shù)據(jù)連接,此時DTGS-800就可以再次響應AT指令。
3 系統(tǒng)軟件設計
單片機與DTGS-800通信,分為單片機控制DTGS-800執(zhí)行相應的功能,以及控制 DTGS-800通過網(wǎng)絡向監(jiān)控服務器傳輸數(shù)據(jù)2部分。單片機控制DTGS-800執(zhí)行相應的功能,只需要通過串口給DTGS-800發(fā)送AT指令,不同的AT指令可以實現(xiàn)不同的功能。AT命令是以“AT”為首,字符結束的字符串。單片機每向模塊發(fā)送一個AT指令,模塊都會返回數(shù)據(jù)。返回的數(shù)據(jù)是以結束的字符串。單片機收到數(shù)據(jù)之后,要經(jīng)過一定的解析和處理,才能重新發(fā)送給監(jiān)控服務器。串口的設置如下:115 200 bps,8位數(shù)據(jù)位,1位停止位。單片機控制DTGS-800向監(jiān)控服務器發(fā)送數(shù)據(jù)時,定義了相應的數(shù)據(jù)格式:幀頭+數(shù)據(jù)內(nèi)容。幀頭包括以下內(nèi)容:16字節(jié)定長的R-UIM卡號碼、1字節(jié)的命令標識、1字節(jié)的數(shù)據(jù)內(nèi)容長度。當數(shù)據(jù)內(nèi)容長度不夠時,按左對齊,右側填0x00。數(shù)據(jù)內(nèi)容即發(fā)送的數(shù)據(jù)。命令標識定義命令的類型,命令類型說明如表1所列。
例如,當發(fā)送的數(shù)據(jù)是定位信息時,幀數(shù)據(jù)依次是:16字節(jié)的R-uIM卡號碼(通常為11字節(jié)),類似于手機號碼,不夠16字節(jié)時,后面補0x00;1字節(jié)的數(shù)據(jù)內(nèi)容長度,用來說明每幀幀頭后面發(fā)送的數(shù)據(jù)內(nèi)容的字節(jié)數(shù);1字節(jié)的命令標識,表明發(fā)送的數(shù)據(jù)幀的意義,如果是定位信息,則發(fā)送的是0x12;緊接著是數(shù)據(jù)內(nèi)容。在通信協(xié)議里還規(guī)定了不同信息內(nèi)容的數(shù)據(jù)格式。
評論