亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        船載監(jiān)管終端遠(yuǎn)程升級功能的設(shè)計(jì)與實(shí)現(xiàn)

        2018-04-26 08:34:34陳建林連雪海姚克波
        無線互聯(lián)科技 2018年7期
        關(guān)鍵詞:校驗(yàn)數(shù)據(jù)包應(yīng)用程序

        陳建林,連雪海,姚克波

        (中電科(寧波)海洋電子研究院有限公司,浙江 嘉興 314000)

        船舶位置信息的獲取對于船員和管理部門都至關(guān)重要,船載監(jiān)管終端采用GPS/BD定位系統(tǒng)獲取自身的位置信息,與采集的設(shè)備狀態(tài)、環(huán)境溫度、航速航向等相關(guān)數(shù)據(jù)打包之后,通過GPRS網(wǎng)絡(luò)或北斗一代網(wǎng)絡(luò)上傳至監(jiān)管平臺[1]。該監(jiān)管終端采用太陽能+鋰電池的供電方式,不依賴船電供電,可廣泛應(yīng)用于漁船、游船、貨船等各類型船舶,能有效提高航海的安全性和監(jiān)管的有效性。

        本文所述的遠(yuǎn)程升級功能主要用于對船載監(jiān)管終端的嵌入式軟件進(jìn)行遠(yuǎn)程維護(hù),避免不必要的現(xiàn)場拆裝和人員投入。遠(yuǎn)程升級操作完成之后,船載監(jiān)管終端自動執(zhí)行新的應(yīng)用程序,實(shí)現(xiàn)新的軟件功能。

        1 硬件電路設(shè)計(jì)

        本文設(shè)計(jì)的船載監(jiān)管終端選用PIC16系列單片機(jī)作為處理器,外圍包括供電電路、大容量SD卡、GPS/BD定位單元、GPRS模塊和北斗一代模塊等,如圖1所示[2]。該終端采用太陽能+鋰電池的供電方式,光照不足時(shí),通過鋰電池供電來維持監(jiān)管終端的正常工作,光照充足時(shí),由太陽能電池板為鋰電池充電。為保證經(jīng)歷長期的陰雨天氣,監(jiān)管終端仍能正常工作,配備了3 W的太陽能電池板和8 000 mAh的鋰電池。大容量SD卡主要用于存儲終端的狀態(tài)信息,便于事后追述和情景再現(xiàn),同時(shí)暫存遠(yuǎn)程升級時(shí)平臺下發(fā)的十六進(jìn)制文件(Hexadecimal,HEX)。GPS/BD定位單元用于獲取船舶自身的位置信息和當(dāng)前時(shí)間信息。

        圖1 硬件電路原理

        該終端采用GPRS和北斗一代的雙模通信方式,在GPRS網(wǎng)絡(luò)翻蓋區(qū)域之內(nèi),終端和平臺之間采用GPRS網(wǎng)絡(luò)進(jìn)行通信,在GPRS網(wǎng)絡(luò)翻蓋區(qū)域之外,終端和平臺之間采用北斗一代網(wǎng)絡(luò)進(jìn)行通信。這種雙模通信方式可以彌補(bǔ)各自的弱點(diǎn),實(shí)現(xiàn)船載終端的全天候、全海域覆蓋。但是,本文所述的遠(yuǎn)程升級功能由于數(shù)據(jù)量過大,不便于采用北斗一代進(jìn)行數(shù)據(jù)傳輸,只能通過GPRS網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程升級功能。

        2 遠(yuǎn)程升級功能的實(shí)現(xiàn)

        2.1 HEX文件解析

        HEX文件解析是實(shí)現(xiàn)遠(yuǎn)程升級功能的基礎(chǔ),HEX文件解析完成之后,單片機(jī)便可通過串口接收來自平臺下發(fā)的應(yīng)用程序,再按照特定的規(guī)則寫入FLASH中,實(shí)現(xiàn)船載監(jiān)管終端的遠(yuǎn)程升級功能。

        Intel HEX 文件是遵循 Intel HEX 文件格式的 ASCII 文本文件。在 Intel HEX 文件的每一行都包含了一個(gè) HEX 記錄。這些記錄是由一些代表機(jī)器語言代碼和常量的十六進(jìn)制數(shù)據(jù)組成的。Intel HEX 文件常用來傳輸要存儲在 EEPROM/FLASH 中的程序和數(shù)據(jù)。大部分的 EEPROM/FLASH 編程器能使用 Intel HEX 文件。Intel HEX文件由任意數(shù)量的十六進(jìn)制記錄組成,每個(gè)記錄包含5個(gè)域,具體格式如下:

        <0×3A> [數(shù)據(jù)長度1Byte] [數(shù)據(jù)地址2Byte] [數(shù)據(jù)類型1Byte] [數(shù)據(jù)nByte] [校驗(yàn)1Byte] <0×0D> <0×0A>

        例::10 0000 00 000080308A0046282000 8A0185019130 56

        <0×3A> 每個(gè) Intel HEX 記錄都由冒號開頭;

        數(shù)據(jù)長度 數(shù)據(jù)長度域,它代表記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量;

        數(shù)據(jù)地址 地址域,它代表記錄當(dāng)中數(shù)據(jù)的起始地址;數(shù)據(jù)類型 代表HEX記錄類型的域,它可能是以下數(shù)據(jù)當(dāng)中的一個(gè):

        00-數(shù)據(jù)記錄

        01-文件結(jié)束記錄

        02-擴(kuò)展段地址記錄

        03-開始段地址記錄

        04-擴(kuò)展線性地址記錄

        05-開始線性地址記錄

        數(shù)據(jù)記錄 數(shù)據(jù)域,一個(gè)記錄可以有許多數(shù)據(jù)字節(jié),記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量必須和數(shù)據(jù)長度域中指定的數(shù)字相符;

        校驗(yàn)和 校驗(yàn)和域,它表示這個(gè)記錄的校驗(yàn)和,校驗(yàn)和的計(jì)算是通過將記錄當(dāng)中所有十六進(jìn)制編碼數(shù)字對的值相加,以256為模進(jìn)行以下補(bǔ)足。

        HEX文件以行為單位,每行以字符“ : ”(0×3A)開頭,以回車換行符0×0D,0×0A為結(jié)束。每行開始和結(jié)束之間的所有內(nèi)容,都是以字符形式表現(xiàn)的。上面的例子中,“ : ”后面的“10”表示該行的數(shù)據(jù)長度為16個(gè)字節(jié),“0000”表示該行的有效數(shù)據(jù)在FLASH中的起始地址為0×0000,“00”表示該條記錄類型為數(shù)據(jù)記錄,“000080308A00462820008A0185019130”為該條記錄的有效數(shù)據(jù),“56”為該條記錄的校驗(yàn)和,任意多條上述記錄組成一個(gè)完整的Intel HEX文件。

        并非每條記錄都有有效數(shù)據(jù),若記錄中的第二個(gè)字節(jié)為0,則這條記錄就沒有數(shù)據(jù)。由于每條記錄標(biāo)識數(shù)據(jù)地址的只有2 Byte,所以最大只能到64 K。為了可以保存更多的有效數(shù)據(jù),就有了“擴(kuò)展線性地址記錄”。如果這行的數(shù)據(jù)類型是0×04,那么,這行的數(shù)據(jù)就是隨后數(shù)據(jù)的基地址。

        第一行是擴(kuò)展線性地址記錄,里面的基地址是0×0004,第二行是數(shù)據(jù)記錄,里面的地址值是0×0000。那么數(shù)據(jù)000080308A00462820008A0185019130要寫入地址為(0×0004 << 16) | 0×0000的FLASH中,也就是寫入FLASH的0×40000這個(gè)地址。同樣,第三行的數(shù)據(jù)的寫入地址為0×40010。當(dāng)一個(gè)HEX文件的數(shù)據(jù)超過64 K的時(shí)候,文件中就會出現(xiàn)多個(gè)擴(kuò)展線性地址記錄。 一般情況下,每個(gè)HEX文件的最后一行都為:00000001FF,這樣的一行數(shù)據(jù)內(nèi)容是固定的,數(shù)據(jù)長度和地址均為0。

        平臺軟件對實(shí)際HEX文件的解析,需要綜合考慮單片機(jī)緩沖區(qū)的規(guī)模和遠(yuǎn)程升級的效率。若解析生成的數(shù)據(jù)包過大,則會占用較多的單片機(jī)緩沖區(qū),影響應(yīng)用程序的執(zhí)行速度;若數(shù)據(jù)包過小,勢必會增加數(shù)據(jù)交互的次數(shù),降低遠(yuǎn)程升級的效率。本文最終選定的數(shù)據(jù)包上限為80字節(jié),即最多一次性發(fā)送5條數(shù)據(jù)記錄。

        2.2 數(shù)據(jù)校驗(yàn)

        遠(yuǎn)程升級過程中,每包數(shù)據(jù)都要經(jīng)過串口通信、GPRS網(wǎng)絡(luò)和SD卡讀寫等多個(gè)環(huán)節(jié),為保證遠(yuǎn)程升級的可靠性,每個(gè)環(huán)節(jié)都要進(jìn)行嚴(yán)格的數(shù)據(jù)校驗(yàn),特別是GPRS網(wǎng)絡(luò)環(huán)節(jié),易因環(huán)境干擾等因素產(chǎn)生錯(cuò)誤數(shù)據(jù),進(jìn)而導(dǎo)致升級失敗。

        本文采用簡單實(shí)用的求和校驗(yàn)算法對數(shù)據(jù)進(jìn)行校驗(yàn),即平臺將解析生成的數(shù)據(jù)包中的地址和有效數(shù)據(jù)進(jìn)行求和,生成一個(gè)16位的校驗(yàn)和,將該校驗(yàn)和附在數(shù)據(jù)包的末尾,同時(shí)在數(shù)據(jù)包的最前面增加一個(gè)數(shù)據(jù)頭“$”,構(gòu)成一個(gè)新的數(shù)據(jù)包,然后發(fā)送出去。在接收端,根據(jù)數(shù)據(jù)包和校驗(yàn)和之間所遵循的規(guī)則進(jìn)行檢驗(yàn),以確定傳送中是否出錯(cuò)。若校驗(yàn)錯(cuò)誤,則要求平臺重傳該包數(shù)據(jù);若校驗(yàn)正確,則開始傳輸下一包數(shù)據(jù),直到整個(gè)HEX文件全部傳輸完成。

        2.3 實(shí)現(xiàn)流程

        本文選用PIC16系列單片機(jī)作為處理器,該系列單片機(jī)自帶的增強(qiáng)型FLASH支持固件對自身進(jìn)行編程,這是由被稱為“BootLoader”的固件內(nèi)核實(shí)現(xiàn)的。該固件內(nèi)核駐留在單片機(jī)內(nèi),通常使用FLASH中應(yīng)用程序不常用的一小塊空間。當(dāng)固件內(nèi)核被激活時(shí),外部設(shè)備可以使用串口協(xié)議進(jìn)行讀寫,以及驗(yàn)證對單片機(jī)應(yīng)用程序進(jìn)行的更新。應(yīng)用程序燒寫完成之后,“BootLoader”會放棄控制權(quán),讓器件正常執(zhí)行應(yīng)用程序,直到再次調(diào)用“BootLoader”為止。

        執(zhí)行遠(yuǎn)程升級時(shí),平臺軟件將解析完成的應(yīng)用程序HEX文件通過GPRS網(wǎng)絡(luò)下發(fā)至待升級設(shè)備的SD卡中,HEX文件下發(fā)完成且校驗(yàn)通過之后,再將SD卡中的應(yīng)用程序通過固件內(nèi)核下載到單片機(jī)的FLASH中,下載完成且校驗(yàn)通過之后,固件內(nèi)核主動放棄控制權(quán),設(shè)備開始正常工作,如圖2所示[3-4]。一般情況下,平臺軟件也可直接將HEX文件通過GPRS網(wǎng)絡(luò)發(fā)送至固件內(nèi)核,而不經(jīng)過SD卡中轉(zhuǎn),但通過這種方式進(jìn)行遠(yuǎn)程升級存在一定的風(fēng)險(xiǎn)。若升級過程中出現(xiàn)GPRS網(wǎng)絡(luò)中斷或信號太差,則容易導(dǎo)致設(shè)備無法恢復(fù)正常工作。

        圖2 遠(yuǎn)程升級實(shí)現(xiàn)流程

        3 實(shí)驗(yàn)驗(yàn)證

        圖3為船載監(jiān)管終端平臺軟件示意圖,圖4為安裝示意圖。執(zhí)行遠(yuǎn)程升級時(shí),在平臺軟件上選中需要升級的單臺或多臺設(shè)備,平臺軟件按照既定的HEX文件解析方式將數(shù)據(jù)包逐一發(fā)送至監(jiān)管終端,發(fā)送完成且校驗(yàn)通過之后,設(shè)備復(fù)位并開始正常工作[5]。

        本文設(shè)計(jì)的船載監(jiān)管終端已在漁船、游船等各型船舶上獲得廣泛應(yīng)用,為船員和監(jiān)管部門提供了很大的便利。終端自帶的遠(yuǎn)程升級功能可以很好地輔助設(shè)備的現(xiàn)場維護(hù),提高作業(yè)效率,降低人員開銷。

        圖3 遠(yuǎn)程升級平臺界面

        4 結(jié)語

        船載監(jiān)管終端以其靈活、實(shí)用、免維護(hù)等特性,逐步在船舶領(lǐng)域推廣應(yīng)用。本文以船載監(jiān)管終端的遠(yuǎn)程升級功能為研究對象,主要完成以下4項(xiàng)工作:(1)應(yīng)用程序HEX文件解析。(2)文件傳輸中的數(shù)據(jù)校驗(yàn)。(3)遠(yuǎn)程升級流程的設(shè)計(jì)和實(shí)現(xiàn)。(4)對所設(shè)計(jì)的遠(yuǎn)程升級功能進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)效果表明,本文設(shè)計(jì)的遠(yuǎn)程升級功能達(dá)到了預(yù)期的設(shè)計(jì)目的,實(shí)現(xiàn)了應(yīng)用程序的遠(yuǎn)程更新和維護(hù)。

        圖4 船載監(jiān)管終端安裝示意

        [參考文獻(xiàn)]

        [1]黃東軍.物聯(lián)網(wǎng)技術(shù)導(dǎo)論[M].2版.北京:電子工業(yè)出版社,2017.

        [2]丁靈譯.圖解物聯(lián)網(wǎng)[M].北京:人民郵電出版社,2017.

        [3]劉雪蓮,黃濤. GPRS通信方式下直放站遠(yuǎn)程升級設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2015(1):41-43.

        [4]劉兆慶,陳長春,彭宇. LXI儀器固件遠(yuǎn)程升級設(shè)計(jì)與實(shí)現(xiàn)[J]. 測控技術(shù),2012(7):85-87.

        [5]Microchip Technology Inc. AN1310. PIC16和PIC18器件的高速串行自舉程序[M].New York:Microchip Technology Inc., 2010.

        猜你喜歡
        校驗(yàn)數(shù)據(jù)包應(yīng)用程序
        刪除Win10中自帶的應(yīng)用程序
        SmartSniff
        爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
        大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗(yàn)研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗(yàn)方法
        鍋爐安全閥在線校驗(yàn)不確定度評定
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        移動IPV6在改進(jìn)數(shù)據(jù)包發(fā)送路徑模型下性能分析
        含羞草亚洲AV无码久久精品| 色se在线中文字幕视频| 人妻中文久久人妻蜜桃| 国产麻豆精品精东影业av网站| 久久精品国产亚洲7777| 女人下面毛多水多视频| 久久精品国产亚洲av电影| 国产强伦姧在线观看| 日本一二三区在线视频观看 | 黄网站a毛片免费观看久久| 人妻少妇偷人精品一区二区| 国产人妻熟女高跟丝袜| 麻豆精品国产精华精华液好用吗| 日韩精品国产自在久久现线拍| 精品国产1区2区3区AV| 熟妇人妻丰满少妇一区 | 亚洲av乱码中文一区二区三区| 无码成人AV在线一区二区| 亚洲无人区乱码中文字幕能看| 男女肉粗暴进来动态图| 亚洲日本一区二区一本一道| 亚洲红怡院| 免费高清视频在线观看视频| 99伊人久久精品亚洲午夜| 亚洲国产成人极品综合| 屁屁影院ccyy备用地址| 少妇的肉体k8经典| 亚洲精品国产福利在线观看| 青青草成人在线播放视频| 亚洲av成人无码一区二区三区在线观看 | 手机在线国产福利av| 在线视频国产91自拍| 熟女人妇交换俱乐部| 狠狠亚洲婷婷综合色香五月| 青青草绿色华人播放在线视频| 日韩极品视频免费观看| 51看片免费视频在观看| 中文字幕第七页| 久草视频在线播放免费| 久久红精品一区二区三区| 毛片大全真人在线|