基于CAN總線的礦用傳感器遠程在線升級功能設(shè)計
發(fā)布時間:2021-10-21 22:45
針對目前煤礦井下礦用傳感器現(xiàn)場程序升級困難問題,設(shè)計了一種基于CAN總線和IAP功能的程序遠程更新方法,擺脫了嵌入式軟件升級對編程器的依賴。通過對STM32F103微處理器的Flash編程方法和程序啟動引導方式進行設(shè)計,實現(xiàn)了煤礦井下礦用傳感器的在線升級。介紹了整體實現(xiàn)框架、升級程序結(jié)構(gòu)以及流程,詳細闡述了IAP程序更新原理。通過現(xiàn)場應(yīng)用驗證可實現(xiàn)礦用總線傳感器程序在線更新。
【文章來源】:煤礦安全. 2020,51(08)北大核心
【文章頁數(shù)】:4 頁
【部分圖文】:
系統(tǒng)組成結(jié)構(gòu)圖
礦用傳感器主要由STM32F103Rx[7]處理器、穩(wěn)壓電源電路、晶振電路、復位電路、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。3 在線升級技術(shù)
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程序或工程的鏈接腳本可以修改程序存儲的起始地址。礦用傳感器在出廠時是將Bootloader配置程序燒寫到Flash的第1部分,并對該區(qū)域進行讀寫保護,防止升級過程中的誤操作把Bootloader程序擦除。第1區(qū)域引導程序只能通過下載器編程;第2區(qū)域的固件應(yīng)用程序通過在線方式編程或下載器編程;第3區(qū)域升級更新程序通過IAP在線方式編程。當?shù)V用傳感器需要進行固件升級時,用戶固件程序跳轉(zhuǎn)到Bootloader程序,Bootloader程序不需要對舊版本的用戶固件程序進行擦除,直接將新版本的用戶固件程序通過CAN總線接口下載到第3區(qū)域的Flash中,通過將中斷向量表從新映射,使Bootloader程序跳轉(zhuǎn)到第3區(qū)域進行運行,從而完成固件程序的更新。
【參考文獻】:
期刊論文
[1]基于STM32的高可靠IAP在線燒寫設(shè)計[J]. 李光學,郭燕紅,李超,岳宗帥,宋茜. 電子測量技術(shù). 2018(17)
[2]基于STM32系列電子產(chǎn)品的IAP研究[J]. 康燕萍,程小輝,黃鵬. 現(xiàn)代電子技術(shù). 2017(22)
[3]基于CAN總線節(jié)點的遠程在線升級系統(tǒng)設(shè)計[J]. 王建斌,江冰. 單片機與嵌入式系統(tǒng)應(yīng)用. 2015(07)
[4]基于Cortex-M3的引導程序分析與設(shè)計[J]. 朱傳宏,沈嚴,顏云松,徐軍. 計算機與數(shù)字工程. 2012(10)
[5]STM32用戶基于IAP的程序更新技術(shù)[J]. 李興鶴,蔡亮,宋吉波,王鵬,金辛海,時迎亮. 單片機與嵌入式系統(tǒng)應(yīng)用. 2012(01)
[6]CAN總線應(yīng)用層協(xié)議的研究與實現(xiàn)[J]. 王邦繼,劉慶想,李相強,張健穹. 計算機工程與應(yīng)用. 2011(20)
[7]基于STM32單片機的RS485總線分布式數(shù)據(jù)采集系統(tǒng)設(shè)計[J]. 彭剛,徐慶江,張崇金,王中南. 伺服控制. 2011(02)
[8]基于CAN總線的煤礦安全監(jiān)測監(jiān)控系統(tǒng)的設(shè)計[J]. 張濤,薛鵬騫,蔣靜坪. 煤炭科學技術(shù). 2007(06)
本文編號:3449862
【文章來源】:煤礦安全. 2020,51(08)北大核心
【文章頁數(shù)】:4 頁
【部分圖文】:
系統(tǒng)組成結(jié)構(gòu)圖
礦用傳感器主要由STM32F103Rx[7]處理器、穩(wěn)壓電源電路、晶振電路、復位電路、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。3 在線升級技術(shù)
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程序或工程的鏈接腳本可以修改程序存儲的起始地址。礦用傳感器在出廠時是將Bootloader配置程序燒寫到Flash的第1部分,并對該區(qū)域進行讀寫保護,防止升級過程中的誤操作把Bootloader程序擦除。第1區(qū)域引導程序只能通過下載器編程;第2區(qū)域的固件應(yīng)用程序通過在線方式編程或下載器編程;第3區(qū)域升級更新程序通過IAP在線方式編程。當?shù)V用傳感器需要進行固件升級時,用戶固件程序跳轉(zhuǎn)到Bootloader程序,Bootloader程序不需要對舊版本的用戶固件程序進行擦除,直接將新版本的用戶固件程序通過CAN總線接口下載到第3區(qū)域的Flash中,通過將中斷向量表從新映射,使Bootloader程序跳轉(zhuǎn)到第3區(qū)域進行運行,從而完成固件程序的更新。
【參考文獻】:
期刊論文
[1]基于STM32的高可靠IAP在線燒寫設(shè)計[J]. 李光學,郭燕紅,李超,岳宗帥,宋茜. 電子測量技術(shù). 2018(17)
[2]基于STM32系列電子產(chǎn)品的IAP研究[J]. 康燕萍,程小輝,黃鵬. 現(xiàn)代電子技術(shù). 2017(22)
[3]基于CAN總線節(jié)點的遠程在線升級系統(tǒng)設(shè)計[J]. 王建斌,江冰. 單片機與嵌入式系統(tǒng)應(yīng)用. 2015(07)
[4]基于Cortex-M3的引導程序分析與設(shè)計[J]. 朱傳宏,沈嚴,顏云松,徐軍. 計算機與數(shù)字工程. 2012(10)
[5]STM32用戶基于IAP的程序更新技術(shù)[J]. 李興鶴,蔡亮,宋吉波,王鵬,金辛海,時迎亮. 單片機與嵌入式系統(tǒng)應(yīng)用. 2012(01)
[6]CAN總線應(yīng)用層協(xié)議的研究與實現(xiàn)[J]. 王邦繼,劉慶想,李相強,張健穹. 計算機工程與應(yīng)用. 2011(20)
[7]基于STM32單片機的RS485總線分布式數(shù)據(jù)采集系統(tǒng)設(shè)計[J]. 彭剛,徐慶江,張崇金,王中南. 伺服控制. 2011(02)
[8]基于CAN總線的煤礦安全監(jiān)測監(jiān)控系統(tǒng)的設(shè)計[J]. 張濤,薛鵬騫,蔣靜坪. 煤炭科學技術(shù). 2007(06)
本文編號:3449862
本文鏈接:http://sikaile.net/kejilunwen/anquangongcheng/3449862.html
最近更新
教材專著