沈陽航空航天大學 杜 航 王 旭
伴隨著經(jīng)濟的快速發(fā)展,小康社會的建設和城鎮(zhèn)化的不斷推進,城市越來越朝著人口密集、資源與財富集中的趨勢發(fā)展。這導致城市所面臨的火災風險不斷加大,火災監(jiān)控與防治環(huán)境日趨復雜。在此背景下,智慧消防的建設逐步提上日程。智慧消防是以大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)等多種先進技術為一體的綜合性預警與決策平臺,其核心就是對海量數(shù)據(jù)的智能分析與決策。數(shù)據(jù)的完整性和規(guī)范性對于智慧消防系統(tǒng)數(shù)據(jù)分析和決策起到至關重要的作用。消防物聯(lián)網(wǎng)作為智慧消防體系的重要組成部分,是各類消防數(shù)據(jù)信息的重要來源之一。消防物聯(lián)網(wǎng)異構(gòu)網(wǎng)絡之間數(shù)據(jù)的整合對于智慧消防系統(tǒng)大數(shù)據(jù)分析決策有著重要意義。消防物聯(lián)網(wǎng)各類火災自動報警與滅火系統(tǒng)傳輸通信協(xié)議不一致,系統(tǒng)與系統(tǒng)之間數(shù)據(jù)信息交互與共享存在障礙,是消防物聯(lián)網(wǎng)異構(gòu)網(wǎng)絡之中最為突出的問題,也是大系統(tǒng)數(shù)據(jù)融合存在難點。本文將介紹一種基于嵌入式linux的消防系統(tǒng)協(xié)議采集與傳輸裝置,實現(xiàn)數(shù)據(jù)的采集和各類報警與滅火系統(tǒng)之間協(xié)議數(shù)據(jù)的轉(zhuǎn)換與傳輸,為各類報警與滅火系統(tǒng)之間傳輸數(shù)據(jù)的整合提供參考與幫助。
數(shù)據(jù)采集與傳輸以S3C2440為主控芯片,外部拓展有RAM和Flash存儲器。同時設計實現(xiàn)了RS232/CAN數(shù)據(jù)采集接口、調(diào)試接口和以太網(wǎng)輸出接口。其功能結(jié)構(gòu)圖如圖1所示。
為了滿足采集傳輸系統(tǒng)的高性能設計,節(jié)點設備的主控芯片采用工民兩用的高性能ARM-Cortex-M3內(nèi)核的處理器S3C2440芯片。內(nèi)部包含16/32位ARM920T RISC處理內(nèi)核,片內(nèi)帶有MMU 內(nèi)存管理單元,16KB的指令Cache和16KB的數(shù)據(jù)Cache,55個中斷源,3個異步串行口,其中一個可設置成紅外口,SPI串行口,可編程看門狗定時器等,支持包括Windows CE、嵌入式Linux和EPOC32在內(nèi)的多種嵌入式操作系統(tǒng)。

圖1 采集與傳輸裝置功能結(jié)構(gòu)框圖
為了將所有數(shù)據(jù)采集和解析的實時信息上傳至監(jiān)控中心,信息采集與傳輸裝置必須與監(jiān)控中心建立網(wǎng)絡連接。網(wǎng)絡傳輸主控芯片為DM9000A以太網(wǎng)控制芯片。內(nèi)嵌以太網(wǎng)控制器,采用10/100Mbps的快速、低功耗物理層芯片DM9000A作為以太網(wǎng)收發(fā)器,通過媒體獨立接口連接到媒體訪問控制層,可確保不同產(chǎn)品間的高兼容性。通過RJ45網(wǎng)絡接口可實現(xiàn)完整的以太網(wǎng)功能。同時與3G數(shù)據(jù)透傳模塊相連,實現(xiàn)了無線網(wǎng)絡的硬件構(gòu)成.
本文存儲模塊電路的設計,采取NAND Flash、SDRAM和 NOR Flash配合使用。為了適應系統(tǒng)高帶寬、高性能存儲要求,存儲芯片選取K4S561632N芯片作為SDRAM的存儲芯片。K4S561632N采用高性能CMOS工藝制造,54腳TSOP2封裝,是一款268,435,456bits高速SDRAM。其同步設計在配合系統(tǒng)時鐘I/O,使得每個時鐘周期里的精細周期控制成為可能。NAND Flash采用Samsung公司生產(chǎn)的512 Mb(64M×8位)NAND Flash存儲器。該存儲器的工作電壓為2.7~3.6V,內(nèi)部存儲結(jié)構(gòu)為528字節(jié)×32頁×4 096塊,頁大小為528字節(jié),塊大小為(16KB+512字節(jié));可實現(xiàn)程序自動擦寫、頁程序、塊擦除、智能的讀寫和擦除操作,一次可以讀寫或者擦除4頁或者塊的內(nèi)容。
其他接口如RS-232、RS-485、CAN接口的設計比較簡單,限于篇幅不再贅述。
協(xié)議轉(zhuǎn)換與傳輸裝置的軟件是基于嵌入式Linux操作系統(tǒng)開發(fā)設計的應用程序。按照軟件功能和多線程設計思想在初始化程序主界面后分別建立多個線程。各自完成各自的功能并相互通信。程序主要功能包括協(xié)議數(shù)據(jù)的采集、解析、存儲與傳輸。當設備啟動后,程序會不斷掃描數(shù)據(jù)輸入端并采集數(shù)據(jù),并按照一定的規(guī)約進行數(shù)據(jù)的解析。解析成功之后,程序會返回一個與之對應的標示符。程序會根據(jù)這個特定的標示符到指定的內(nèi)存地址找到相應的解包封包函數(shù),將其協(xié)議數(shù)據(jù)封包成標準協(xié)議(GB/T 26875.3-2011《城市消防遠程監(jiān)控系統(tǒng)第3部分:報警傳輸網(wǎng)絡通信協(xié)議》)類型進行存儲與發(fā)送。程序流程圖如圖2所示。

圖2 數(shù)據(jù)解析流程圖
協(xié)議數(shù)據(jù)的解析就是從數(shù)據(jù)中甄別出哪些數(shù)據(jù)段組合在一起是個完整的協(xié)議數(shù)據(jù)。在解析協(xié)議數(shù)據(jù)時,我們主要關注協(xié)議頭(起始幀)、協(xié)議長度、協(xié)議尾。在協(xié)議解析的過程中,主要是通過多次判斷驗證來甄別數(shù)據(jù)真?zhèn)巍?shù)據(jù)被采集上來后,程序會逐字節(jié)的連續(xù)多次比較,判斷協(xié)議的起始數(shù)據(jù)幀,然后用同樣的方法判斷協(xié)議尾。完成這兩步之后,程序初步識別協(xié)議類型和型號。最后在根據(jù)協(xié)議長度等信息來判斷校驗數(shù)據(jù)的真?zhèn)魏屯暾浴H绻磺许樌敲唇馕龊瘮?shù)會返回一個標識符(一個函數(shù)地址指針)并根據(jù)這個標示符到內(nèi)存地址找到對應的解包封包函數(shù),實現(xiàn)協(xié)議數(shù)據(jù)的轉(zhuǎn)換。
經(jīng)過處理好的數(shù)據(jù),程序會將它存放在內(nèi)存的指定位置,供給我們讀取和其他操作。經(jīng)過封包好的數(shù)據(jù),程序一方面進行存儲,另一方面會通過以太網(wǎng)發(fā)往上層應用中心進行數(shù)據(jù)的分析與決策。實現(xiàn)數(shù)據(jù)發(fā)送的過程主要包括:調(diào)用socket函數(shù)建立套接字、調(diào)用bind函數(shù)綁定指定IP地址,最后通過connect函數(shù)鏈接,用write函數(shù)將數(shù)據(jù)包寫到相應的IP地址。
模擬測試以沈陽消防研究所某型火災自動報警控制系統(tǒng)前置機通信的協(xié)議為例進行轉(zhuǎn)換測試,其協(xié)議結(jié)構(gòu)如下表1。經(jīng)處理轉(zhuǎn)換后,輸出數(shù)據(jù)將以GB/T 26875.3-2011《城市消防遠程監(jiān)控系統(tǒng) 第3部分:報警傳輸網(wǎng)絡通信協(xié)議》所規(guī)定的協(xié)議結(jié)構(gòu)進行傳輸。

表1 協(xié)議數(shù)據(jù)結(jié)構(gòu)
測試前置機的傳輸通信協(xié)議數(shù)據(jù)長度為30字節(jié),由上至下依次排列。起始標志占三個字節(jié),內(nèi)容為FF FF FF,報警類型包括火警、故障和故障恢復。火警標識碼為第4個字節(jié),內(nèi)容為0A。故障標識碼為第4個字節(jié),內(nèi)容為0B。故障恢復標識碼為第4個字節(jié)+第10個字節(jié),內(nèi)容為0B 01。控制器地址號數(shù)據(jù)位置為第11個字節(jié);回路號數(shù)據(jù)位置為第12個字節(jié);部件號數(shù)據(jù)位置為第13個字節(jié)。報警時間數(shù)據(jù)位置為第14~18個字節(jié)。第5~9字節(jié)和第19~30字節(jié)為預留空間。
當前置機接入系統(tǒng)協(xié)議數(shù)據(jù)采集與傳輸裝置后,前置機會主動向控制器發(fā)送正常巡檢命令數(shù)據(jù):FF FF FF 09 00 00 01 6E 01 0A 00 83,發(fā)送間隔1000ms。當前置機發(fā)送非正常信號時,傳輸終端會采集信號并處理。例如,當發(fā)送信號為FF FF FF(起始標識)0A(火警標識)01 01 6E 04 13 00 04(主機號) 01(回路號)03(部件號)14 08 0B 11 0A 0A(日期時間)A3 00 00 00 00 00 00 00 00 01 88 時,信號表示為:01回路003號部件位置發(fā)生火警,時間為2008/11/17 11:17。經(jīng)過傳輸終端的處理后,往監(jiān)控中心發(fā)送的信號為:02 01 01 01 19 01 01 6E 04 13 00 0400 01 00 03 00 73。
基于嵌入式linux的消防系統(tǒng)協(xié)議轉(zhuǎn)換與傳輸設備綜合運用多種信息技術,實現(xiàn)了對于火警、消防設備設施狀態(tài)數(shù)據(jù)信息的采集、協(xié)議轉(zhuǎn)換、傳輸。經(jīng)測試終端運行穩(wěn)定,傳輸數(shù)據(jù)可靠,達到了預期。
[1]徐斌.當前嵌入式LINUX分析與應用[J].電子制作,2015,13:73.
[2]葉棽,謝捷如.基于SoC和嵌入式Linux的數(shù)據(jù)采集系統(tǒng)設計[J].計算機技術與發(fā)展,2015,08:1-6.
[3]史小明.嵌入式系統(tǒng)關鍵技術分析與開發(fā)應用[J].電子技術與軟件工程,2015,11:224.
[4]丁康.淺析物聯(lián)網(wǎng)技術在消防裝備管理方面的應用[J].通訊世界,2015,09:42.
[5]王兆國,王輝,王坤.物聯(lián)網(wǎng)在消防領域的應用前景分析[J].中國公共安全(學術版),2015,02:35-38.
[6]權向科.淺談物聯(lián)網(wǎng)技術在建筑火災防控中的應用[J].四川建材,2015,01:256-257.
[7]馬飛.談城市消防遠程監(jiān)控系統(tǒng)應用[J].消防技術與產(chǎn)品信息,2010,07:66-68.