• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于CAN 總線的礦用傳感器遠程在線升級功能設(shè)計

      2020-08-21 08:02:12宋益東
      煤礦安全 2020年8期
      關(guān)鍵詞:標(biāo)識符固件分站

      宋益東

      (1.煤科集團沈陽研究院有限公司,遼寧 撫順113122;2.煤礦安全技術(shù)國家重點實驗室,遼寧 撫順113122)

      礦用傳感器是煤礦安全監(jiān)控系統(tǒng)中最末端的感知設(shè)備,是監(jiān)控系統(tǒng)中所有的數(shù)據(jù)來源。目前煤礦在用模擬量傳感器均為數(shù)字化智能傳感器[1-2],隨著煤礦開采自動化程度的提高,不可避免的涉及到傳感器固件程序升級問題。傳統(tǒng)的方式是傳感器部分或全部從井下拿到地面,固件升級后再返到井下進行安裝。礦用傳感器使用量非常大,并且在井下分布比較分散且大部分在采掘工作面,距離地面中心站較遠,采用傳統(tǒng)的方式效率比較低,并且更換甲烷等傳感器需要切斷工作面的動力電,給煤礦的安全生產(chǎn)帶來影響,所以在線升級[3]固件程序是一個很好的解決方案,在煤礦機電設(shè)備檢修的間隙,通過井下工業(yè)環(huán)網(wǎng)將需要升級的固件程序下發(fā)到監(jiān)控分站,由監(jiān)控分站通過總線[4-6]發(fā)送到傳感器,從而實現(xiàn)煤礦井下傳感器的在線升級。

      1 礦用傳感器在線遠程升級組成結(jié)構(gòu)

      1.1 系統(tǒng)組成

      系統(tǒng)主要由地面中心站服務(wù)器、環(huán)網(wǎng)交換機、礦用監(jiān)控分站、礦用傳感器及執(zhí)行器等組成。中心站服務(wù)器與礦用分站通過以太網(wǎng)光纖網(wǎng)絡(luò)連接,礦用分站和礦用傳感器之間通過CAN 總線連接,升級固件程序通過中心站通過以太網(wǎng)下載到礦用分站中,礦用分站通過CAN 總線傳輸給礦用傳感器,系統(tǒng)組成結(jié)構(gòu)圖如圖1。

      圖1 系統(tǒng)組成結(jié)構(gòu)圖Fig.1 System composition structure

      1.2 礦用傳感器

      礦用傳感器主要由STM32F103Rx[7]處理器、穩(wěn)壓電源電路、晶振電路、復(fù)位電路、CAN 總線通信電路、ADC 轉(zhuǎn)換外圍電路、紅外遙控電路及LEC 顯示電路組成。礦用傳感器結(jié)構(gòu)如圖2,STM32F103 為Cortex-M3[8]內(nèi)核,具有成本低、功耗低、高性能、實時性好等特點。片上資源比較豐富,包括1 路CAN 通信接口,5 個USART 接口、JTAG 調(diào)試口,4 個16 位定時器、3 路ADC 通道等;片內(nèi)具有256KB 的Flash和48KB 的SRAM。

      圖2 傳感器組成結(jié)構(gòu)圖Fig.2 Sensor structure diagram

      3 在線升級技術(shù)

      在線升級是指MCU 中運行的固件程序在運行過程中對實現(xiàn)對片內(nèi)代碼存儲Flash 的擦除、編程,新的固件程序通過CAN 總線通訊接口下載到MCU的Flash 中,IAP[9-10]技術(shù)可以對存儲固件程序的Flash 區(qū)域進行重新燒寫然后利用IAP 功能實現(xiàn)在線更新礦用傳感器固件。因此,利用IAP 技術(shù)可以方便地通過CAN 總線通信口對礦用傳感器中的固件程序進行遠程更新升級。和傳統(tǒng)方式相比,基于IAP 技術(shù)的固件升級不需要到井下替換傳感器,不需要打開外殼,不需要使用下載器等。

      3.1 Flash 存儲器分區(qū)及在線升級過程

      STM32F103RCT6 的片內(nèi)Flash 寫保護以扇區(qū)為單位,每扇區(qū)4 KB,根據(jù)Flash 容量不同,頁大小分為1 KB 和2 KB,本文用處理器頁大小為2 KB 。也就是對FLASH 的編程寫入以2 KB 為單位,本設(shè)計傳輸協(xié)議制定也以此為單位進行數(shù)據(jù)傳輸。處理器片內(nèi)256 K 的Flash 劃分為3 個區(qū)域:第1 區(qū)域用來存儲Bootloader 程序,包括Flash 操作相關(guān)程序、中斷向量,硬件驅(qū)動、通信協(xié)議驅(qū)動等;第2 區(qū)域用來存儲正常運行的固件程序;第3 區(qū)域存儲固件升級程序,片上FLASH 存儲器分區(qū)如圖3。根據(jù)礦用傳感器固件大小進行容量劃分,礦用傳感器固件為28 KB,相對于256 K 的Flash 有很大的預(yù)留空間,每一區(qū)域中間可以預(yù)留一定的空白區(qū)域,防止區(qū)域程序重疊。通過修改STM32F103 的Bootloader 程序或工程的鏈接腳本可以修改程序存儲的起始地址。

      圖3 片上Flash 存儲器分區(qū)Fig.3 Flash memory partition on a chip

      礦用傳感器在出廠時是將Bootloader 配置程序燒寫到Flash 的第1 部分,并對該區(qū)域進行讀寫保護,防止升級過程中的誤操作把Bootloader 程序擦除。第1 區(qū)域引導(dǎo)程序只能通過下載器編程;第2 區(qū)域的固件應(yīng)用程序通過在線方式編程或下載器編程;第3 區(qū)域升級更新程序通過IAP 在線方式編程。當(dāng)?shù)V用傳感器需要進行固件升級時,用戶固件程序跳轉(zhuǎn)到Bootloader 程序,Bootloader 程序不需要對舊版本的用戶固件程序進行擦除,直接將新版本的用戶固件程序通過CAN 總線接口下載到第3 區(qū)域的Flash 中,通過將中斷向量表從新映射,使Bootloader程序跳轉(zhuǎn)到第3 區(qū)域進行運行,從而完成固件程序的更新。

      3.2 CAN 總線傳輸協(xié)議及效驗機制

      CAN 總線協(xié)議[5]分為遠程幀和數(shù)據(jù)幀,遠程幀多用于命令傳遞,數(shù)據(jù)幀用于數(shù)據(jù)傳輸,數(shù)據(jù)幀格式分為標(biāo)準(zhǔn)幀格式和擴展幀格式,標(biāo)準(zhǔn)幀為11 位標(biāo)識符,擴展幀為29 位標(biāo)識符,設(shè)計礦用傳感器CAN總線通信協(xié)議以CAN2.0A 標(biāo)準(zhǔn)幀為主,對CAN2.0A幀結(jié)構(gòu)進行了從新劃分,對仲裁段的標(biāo)識符和數(shù)據(jù)段中的數(shù)據(jù)場進行了從新劃分。CAN2.0A 鏈路層標(biāo)準(zhǔn)幀數(shù)據(jù)結(jié)構(gòu)包括幀起始、仲裁段、控制端、數(shù)據(jù)段、CRC 校驗段、ACK 應(yīng)答段和幀結(jié)束。

      CAN 總線在線升級的關(guān)鍵是要設(shè)計CAN 總線應(yīng)用層協(xié)議,通信協(xié)議設(shè)計的重點是CAN 標(biāo)識符的分配與設(shè)計,所設(shè)計的應(yīng)用層協(xié)議將CAN 協(xié)議中的11bit 標(biāo)識符區(qū)域劃分為3 個部分, 標(biāo)識符區(qū)域劃分表見表1。

      表1 標(biāo)識符區(qū)域劃分表Table 1 Identifier area division table

      在礦用傳感器升級協(xié)議中,ID10-ID6 這8 位填充接收數(shù)據(jù)傳感器地址;ID3-ID1 這3 位為命令類型碼;ID0 為幀類型占用1 位,單幀數(shù)據(jù)用0 表示,多幀數(shù)據(jù)用1 表示。單幀數(shù)據(jù)主要應(yīng)用于升級命令類,包括:數(shù)據(jù)包、升級申請,信息應(yīng)答,錯誤應(yīng)答等;多幀數(shù)據(jù)每幀數(shù)據(jù)的第1 個字節(jié)為幀序,第2 個字節(jié)以后為升級固件數(shù)據(jù),構(gòu)固件程序升級數(shù)據(jù)格式見表2。每個數(shù)據(jù)包為固定的1 024 字節(jié)數(shù)據(jù),當(dāng)接收完2 包數(shù)據(jù)后進行FLASH 寫入操作,這是因為利用IAP 技術(shù)進行擦除或者寫入時,每次對片上FLASH 編程的字節(jié)數(shù)為固定的2 048 字節(jié)。

      4 在線升級程序流程

      礦用傳感器在線升級流程如圖4。

      在正常執(zhí)行應(yīng)用程序的過程中,當(dāng)接收到礦用分站固件升級指令后,程序跳轉(zhuǎn)到Bootloader 執(zhí)行IAP 程序,當(dāng)?shù)V用分站接收到返回指令后,逐幀發(fā)送有效數(shù)據(jù)到礦用傳感器,傳感器每接收1 幀升級數(shù)據(jù)都會檢驗其目標(biāo)地址合法性、數(shù)據(jù)完整性等信息,對于有效的升級固件數(shù)據(jù),系統(tǒng)將按照目標(biāo)地址寫入SRAM 的待寫入?yún)^(qū)。當(dāng)接收2 包固件數(shù)據(jù)為2 048 字節(jié)后,為了節(jié)省SRAM 資源占用,將1 頁2 KB 數(shù)據(jù)寫入FLASH,待寫入成功后,返回寫入成功信息給礦用分站,分站繼續(xù)發(fā)送固件數(shù)據(jù),一直到所以固件程序發(fā)送完成。待更新代碼全部寫入備份區(qū)后,通過更新中斷向量表從新映射,實現(xiàn)程序指針跳轉(zhuǎn)到新的固件main 函數(shù)執(zhí)行,實現(xiàn)程序的平穩(wěn)過度。在接收數(shù)據(jù)的過程中如果有錯誤指令信息,分站則重新發(fā)送出現(xiàn)錯誤的數(shù)據(jù)幀。

      表2 固件程序升級數(shù)據(jù)格式Table 2 Firmware program upgrade data format

      圖4 在線升級流程圖Fig.4 Online upgrade flow chart

      如果在升級過程中傳感器掉電、通信中斷或者通信超時等造成在線升級失敗時,礦用傳感器會繼續(xù)執(zhí)行第2 區(qū)域固件程序,仍然能按照原有用戶程序繼續(xù)正常運行。

      5 結(jié) 語

      結(jié)合全數(shù)字化監(jiān)控系統(tǒng)現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu),工業(yè)以太網(wǎng)+總線的方式,設(shè)計了基于CAN 總線的礦用傳感器遠程在線升級功能,制定了CAN 總線應(yīng)用層通信協(xié)議。利用以太網(wǎng)網(wǎng)絡(luò)節(jié)點上的礦用分站,使得礦用傳感器的固件更新更加高效方便,降低設(shè)備維護成本,提高了系統(tǒng)的穩(wěn)定性。通過將處理器片上FLASH 合理分區(qū)及固件程序數(shù)據(jù)分塊傳輸?shù)确绞?,實現(xiàn)了即使升級出現(xiàn)錯誤時也能保證傳感器的穩(wěn)定運行。實驗測試證明,該技術(shù)方案具有較好的可行性、穩(wěn)定性和可靠性,可以廣泛地應(yīng)用于CAN 總線式嵌入式固件程序升級。

      猜你喜歡
      標(biāo)識符固件分站
      淺析5G V2X 通信應(yīng)用現(xiàn)狀及其側(cè)鏈路標(biāo)識符更新技術(shù)
      基于底層虛擬機的標(biāo)識符混淆方法
      佩雷茲獲賽季個人首個分站冠軍——2022 F1摩納哥大獎賽
      世界汽車(2022年6期)2022-07-13 04:25:40
      基于區(qū)塊鏈的持久標(biāo)識符系統(tǒng)①
      數(shù)字美術(shù)館“數(shù)字對象唯一標(biāo)識符系統(tǒng)”建設(shè)需求淺議
      基于固件的遠程身份認證
      圓月前的戰(zhàn)役 2015長城潤滑油CTCC 中國房車錦標(biāo)賽第六分站
      車迷(2015年11期)2015-08-23 11:48:28
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      出診量指標(biāo)對院前急救業(yè)務(wù)的指導(dǎo)作用
      一種通過USB接口的可靠固件升級技術(shù)
      黔东| 西乡县| 时尚| 新竹市| 东兴市| 农安县| 中卫市| 阿拉善盟| 新宁县| 廉江市| 和平县| 清苑县| 综艺| 六盘水市| 喀什市| 余江县| 西和县| 屯门区| 辽源市| 获嘉县| 烟台市| 上蔡县| 象山县| 大渡口区| 镇安县| 紫云| 永泰县| 华容县| 石泉县| 鄂伦春自治旗| 紫金县| 溧阳市| 正镶白旗| 新乐市| 东海县| 河东区| 云梦县| 宁夏| 东方市| 永新县| 樟树市|