基于網(wǎng)絡(luò)的城市交通信息系統(tǒng)分析與設(shè)計(jì)
CPS數(shù)據(jù)包采用PDU格式傳送,幀頭為@@GG,一條信息包括幀頭、保留位、幀序列號(hào)、用戶(hù)ID、協(xié)議號(hào)、信息內(nèi)容長(zhǎng)度、信息內(nèi)容、校驗(yàn)字、結(jié)束符。除了信息內(nèi)容可以為空以外,其它各部分均不能省略,且前后位置也不可改變。此系統(tǒng)中所有的傳輸,不論傳送數(shù)據(jù)還是命令,均通過(guò)GPS數(shù)據(jù)包來(lái)傳送。這是唯一合法的可識(shí)別的信息傳送格式。命令和數(shù)據(jù)以及是何種命令或數(shù)據(jù)通過(guò)協(xié)議號(hào)加以區(qū)別。
它們的前后位次和占用字節(jié)長(zhǎng)度如表1。本文引用地址:http://cafeforensic.com/article/160830.htm
●幀頭占用四個(gè)字節(jié),表明信息的開(kāi)始。以@@GG表示。只有正確接收到幀頭以后,才開(kāi)始接受后續(xù)數(shù)據(jù)。否則,不予理睬。
●保留位 占用2個(gè)字節(jié),留作系統(tǒng)以后升級(jí)使用,等于0時(shí)表示未定義。
●幀序列號(hào) 占用2個(gè)字節(jié),這是發(fā)送信息的序列號(hào),用于接收方檢測(cè)是否有信息的丟失。中心和車(chē)載臺(tái)各自按自己發(fā)送GPS包的個(gè)數(shù)計(jì)數(shù),互不影響。車(chē)載臺(tái)在上電后此數(shù)復(fù)位等于零。如果不斷電此數(shù)不復(fù)位為零。發(fā)送第一幀數(shù)據(jù)時(shí)便開(kāi)始計(jì)數(shù)。所有數(shù)據(jù)幀和命令幀統(tǒng)一計(jì)數(shù)。
●協(xié)議號(hào) 占用1個(gè)字節(jié)。用于區(qū)分命令和數(shù)據(jù)以及命令和數(shù)據(jù)的種類(lèi)協(xié)議號(hào)在0x00~0x0F區(qū)間內(nèi)保留。0x10~0x2F之間用于車(chē)載臺(tái)上發(fā)數(shù)據(jù)。0x30~0x7F區(qū)間用于中心下發(fā)命令。0x80~0xFF用于透明傳輸。協(xié)議號(hào)的具體定義如表2。未定義的數(shù)值為保留數(shù)值,為后續(xù)開(kāi)發(fā)留有擴(kuò)展空間。
●信息內(nèi)容長(zhǎng)度 占用1個(gè)字節(jié),定義為信息內(nèi)容的長(zhǎng)度。從信息內(nèi)容的第一個(gè)字節(jié)開(kāi)始,到信息內(nèi)容的最后一個(gè)字節(jié)結(jié)束。
●信息內(nèi)容占用0至120之間的任意長(zhǎng)度字節(jié)。不定長(zhǎng)。但傳送的信息內(nèi)容長(zhǎng)度可以等于零,即發(fā)送一個(gè)空幀,最長(zhǎng)不得超過(guò)120個(gè)字節(jié)。
●校驗(yàn)字占用2個(gè)字節(jié),采用和校驗(yàn)的方式,從幀頭開(kāi)始逐個(gè)字節(jié)相加,到校驗(yàn)字的前一個(gè)字節(jié)結(jié)束。
校驗(yàn)和計(jì)算方法:
(1)把校驗(yàn)和的值初始化為零;
(2)加GPS包的第一個(gè)字節(jié),加GPS包的第二個(gè)字節(jié)…加到校驗(yàn)字的前一個(gè)字節(jié);
(3)這個(gè)累加和就是所需要的校驗(yàn)字,將高位放到前一個(gè)字節(jié),低位放到后一個(gè)字節(jié);
(4)校驗(yàn)字本身和結(jié)束符不計(jì)入校驗(yàn)。
●結(jié)束符占用2個(gè)字節(jié),表示一幀信息的結(jié)束,定義為0x0D,0x0A。
評(píng)論