www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]1 軟件無線升級系統(tǒng)方案  基于無線通信的遠程監(jiān)控系統(tǒng)(如遠程電網(wǎng)質(zhì)量監(jiān)控系統(tǒng)、水情測報系統(tǒng)和城市路燈監(jiān)控系統(tǒng)等)應(yīng)用越來越廣泛,而在實際使用過程中,由于需求的變化,經(jīng)常要對其終端設(shè)備軟件進行修改或升級

1 軟件無線升級系統(tǒng)方案

  基于無線通信的遠程監(jiān)控系統(tǒng)(如遠程電網(wǎng)質(zhì)量監(jiān)控系統(tǒng)、水情測報系統(tǒng)和城市路燈監(jiān)控系統(tǒng)等)應(yīng)用越來越廣泛,而在實際使用過程中,由于需求的變化,經(jīng)常要對其終端設(shè)備軟件進行修改或升級。一般情況下,無線監(jiān)控系統(tǒng)與終端距離較遠,終端分散且工作環(huán)境較差。如果維護人員到現(xiàn)場進行軟件升級,不但維護費用很高,而且還可能使終端設(shè)備長時間不能正常工作。

  為解決這一難題,本文提出一種利用ST公司的STR710FZ2T6作為終端微控制器,融合IAP(In Application Programming,在應(yīng)用編程)技術(shù)和GPRS無線網(wǎng)絡(luò)通信技術(shù)的軟件升級系統(tǒng)方案。軟件無線升級系統(tǒng)整體框圖如圖1所示。

  圖1 軟件無線升級系統(tǒng)整體框圖

  2 系統(tǒng)硬件和軟件設(shè)計

  2.1 硬件設(shè)計

  本文選用的是ST公司的一款工業(yè)級微控制器STR710FZ2T6。它是基于ARM7TDMI的32位RISC CPU,擁有豐富的外設(shè)和增強的I/O功能,并提供高達33 MHz的直接存取速度以及50 MHz零等待狀態(tài)的序列閃存;具有(256 KB+16 KB) Flash 和64 KB SRAM,內(nèi)部Flash可重復(fù)擦寫10萬次,數(shù)據(jù)保持20年,支持自編程;外部存儲器接口(EMI)可支持4個SRAM、Flash、ROM等存儲類型;芯片有多種boot方式。另外,STR710FZ2T6能夠通過運行在Flash中的程序來對自身的Flash進行更新。這個功能使其能夠通過CAN、UART、USB、無線通信等接口將程序下載到自身的Flash中。

  系統(tǒng)結(jié)構(gòu)如圖2所示。根據(jù)微控制器STR710FZ2T6的特點以及無線監(jiān)控終端的功能要求,硬件設(shè)計包括由電源電路、復(fù)位電路、JTAG接口電路、晶振電路組成的芯片工作最小系統(tǒng),以及在最小系統(tǒng)上擴展的串行接口模塊、外存儲器模塊、數(shù)據(jù)顯示模塊、數(shù)據(jù)采集模塊和SIM300 GSM/GPRS通信模塊。其中,擴展的外存儲器包括SST公司的具有16位數(shù)據(jù)寬度的Flash存儲器SST39VF1601和ISSI公司的SRAM存儲器IS61LV25616AL。

  圖2 軟件無線升級系統(tǒng)結(jié)構(gòu)框圖

  2.2 終端軟件設(shè)計

  系統(tǒng)終端軟件的設(shè)計包括終端引導(dǎo)程序設(shè)計和終端應(yīng)用程序的設(shè)計。引導(dǎo)程序和應(yīng)用程序在STR710FZ2T6中所存放的位置不同。將啟動模式配置為從片內(nèi)Flash引導(dǎo)之后,系統(tǒng)終端微控制器將復(fù)位,啟動之后先執(zhí)行引導(dǎo)程序。引導(dǎo)程序在執(zhí)行過程中決定是否啟動IAP升級程序;應(yīng)用程序?qū)崿F(xiàn)終端的各種功能,如命令和數(shù)據(jù)的接收、發(fā)送,以及新版本應(yīng)用程序升級包的下載。

  2.2.1 終端引導(dǎo)程序設(shè)計

  系統(tǒng)設(shè)計時,終端引導(dǎo)程序通過JTAG接口燒寫到STR710FZ2T6的Flash扇區(qū)起始位置(0x40000000)處。整個引導(dǎo)程序占用Flash的前兩個扇區(qū),通過啟動模式的選擇,將這塊Flash映射到0x00000000,保證系統(tǒng)上電后自動運行引導(dǎo)程序。終端重新啟動時,STR710FZ2T6從0x40000000地址開始讀取指令并執(zhí)行。

  經(jīng)過實驗證明:將IAP升級程序存放在用戶引導(dǎo)部分是非常合理的,能夠避免由于應(yīng)用程序升級失敗而造成的系統(tǒng)崩潰。由于終端引導(dǎo)程序在產(chǎn)品出廠前固化,若Flash編程失敗,微控制器將重新啟動,IAP程序利用存儲器SST39VF1601中保存的最新版本的應(yīng)用程序,重新對Flash進行編程。由于引導(dǎo)程序有多次編程Flash扇區(qū)的能力,系統(tǒng)應(yīng)用程序代碼的完整性以及應(yīng)用程序升級的可靠性才得以保證。引導(dǎo)程序流程如圖3所示。

  圖3 終端引導(dǎo)程序流程

  終端引導(dǎo)程序的主要函數(shù)說明:

 ?、?main()主函數(shù)。用于初始化UART接口,PLL設(shè)定等,根據(jù)升級標志和新版本號判斷是否繼續(xù)執(zhí)行IAP。若升級標志置位,且新版本號大于當前的版本號,則啟動IAP升級程序,否則運行終端應(yīng)用程序。

  int __main(void)

 ?、?對片內(nèi)Flash進行初始化操作。

  void FLASH_Init(void)

 ?、?從第二扇區(qū)算起,計算代碼需要的扇區(qū)數(shù)。

  u32 FLASH_SectorMask(vu32 Size)

 ?、?將新代碼需要的扇區(qū)去掉寫保護,為扇區(qū)擦除做準備。

  void FLASH_WritePrConfig(u32 Xsectors,F(xiàn)unctionalState NewState)

  ⑤ 將新代碼需要的扇區(qū)進行擦除,為寫做準備。

  void FLASH_SectorErase(u32 Xsectors)

  ⑥ 將新代碼寫入Flash扇區(qū)中。

  void FLASH_WordWrite(u32 XtargetAdd,u32 Xdata)

  2.2.2 終端應(yīng)用程序設(shè)計

  終端應(yīng)用程序設(shè)定的起始地址是STR710Z2T6的0x40004000處,并可占用之后的整個Flash空間。終端應(yīng)用程序不但完成日常各項工作任務(wù),而且還負責接收監(jiān)控中心服務(wù)器發(fā)送的應(yīng)用程序升級命令。當收到升級命令后,終端回應(yīng)服務(wù)器此時若接收升級代碼,則應(yīng)用程序?qū)⑸壈凑諑姆绞酵ㄟ^GPRS模塊從服務(wù)器下載到終端,通過校驗后保存到終端外部Flash存儲器SST39VF1601中,下載成功后置位升級標志和記錄升級包版本號以備引導(dǎo)程序升級。由于升級包的下載過程可看成是數(shù)據(jù)傳輸過程,應(yīng)用程序可在下載升級包的同時進行其他任務(wù),且不影響終端的正常工作。當終端應(yīng)用程序下載完升級包之后,應(yīng)用程序?qū)Ρ匾默F(xiàn)場進行保存然后主動復(fù)位,微控制器啟動之后直接執(zhí)行引導(dǎo)程序,并進行Flash編程。由于很多系統(tǒng)終端日常任務(wù)繁多,可通過程序中相應(yīng)的設(shè)置,使新代碼下載和Flash編程盡量選擇在終端可能空閑的時間段,從而盡可能地減少升級應(yīng)用程序?qū)K端正常工作的影響。

  3 通信協(xié)議的設(shè)計

  參照通信規(guī)約和已存在的無線配電監(jiān)控系統(tǒng)的協(xié)議,本文定義了3種類型的協(xié)議幀:服務(wù)器請求升級幀、升級代碼數(shù)據(jù)幀和終端回應(yīng)幀。

  協(xié)議幀公共數(shù)據(jù)段:

  通信幀部分數(shù)據(jù)段說明:

 ?、?數(shù)據(jù)長度。表示數(shù)據(jù)域的字節(jié)數(shù)(由2字節(jié)構(gòu)成),為0時表示無數(shù)據(jù),其值為此數(shù)據(jù)段到校驗和之前的數(shù)據(jù)字節(jié)數(shù)之和。

 ?、?升級軟件版本號。無線監(jiān)控系統(tǒng)終端收到升級請求幀之后,將此數(shù)據(jù)段和其本身的軟件版本進行比較。如果版本號小于將要升級的軟件版本,終端將回應(yīng)服務(wù)器同意升級,否則放棄升級。

 ?、?升級文件長度。用來判斷存儲空間夠不夠存放將要升級的文件,以及升級代碼是否傳輸完畢[4]。

  4 終端編程注意事項

 ?。?) 編程代碼大小。IAP編程是用戶的IAP代碼對片內(nèi)Flash存儲器進行擦除/編程的過程。由于片內(nèi)Flash存儲空間的限制以及代碼存儲空間的限定,編程時不但需要控制IAP自身代碼量的大小,而且還要控制終端應(yīng)用程序代碼的大小,絕對不能夠超出所指定的存儲范圍。

 ?。?) 提高遠程升級速度的措施。為了提高系統(tǒng)遠程升級的速度,在代碼傳輸過程本文采取3種措施:

 ?、?數(shù)據(jù)壓縮。數(shù)據(jù)壓縮是解決由于數(shù)據(jù)大而導(dǎo)致整個下載過程時間長問題的最有效的辦法,本系統(tǒng)中服務(wù)器將升級代碼進行壓縮,終端設(shè)備接收到之后進行解壓、存儲。由于應(yīng)用程序的代碼滿足ARM指令集的特征,所以壓縮效率較高。

  ② 應(yīng)用程序分塊加載。在日常系統(tǒng)維護中,無論對系統(tǒng)進行升級或是修改程序中的“bug”,其實修改的只是程序中的一小部分,而大部分程序還保持原樣。因此,合理的方法是只把修改的代碼,而不是把整個二進制文件下載到遠程終端。具體的實現(xiàn)辦法是,建立分散文件,在其中按功能將應(yīng)用程序劃分為多個裝載區(qū),并為每個裝載區(qū)留有足夠大的空間,為以后的升級、修改做準備。這種做法大大減小了數(shù)據(jù)傳輸量,提高了軟件升級速度。

 ?、?小數(shù)據(jù)塊傳輸。由于系統(tǒng)采用錯誤重傳機制,根據(jù)實際應(yīng)用經(jīng)驗,數(shù)據(jù)塊越大出現(xiàn)錯誤的機率就越大;同時,由于數(shù)據(jù)塊大,傳輸一幀的速率較低,雖然接收到的數(shù)據(jù)幀較大,但由于錯誤的機率和傳輸?shù)乃俾剩炊斐尚实拖?。采用小?shù)據(jù)塊傳輸,雖然一幀數(shù)據(jù)塊小,但彌補了上述不足。

 ?。?) 遠程通信的誤碼處理。程序代碼傳輸過程中,終端校驗數(shù)據(jù)正確后存入SST39VF1601,檢驗錯誤時向服務(wù)器返回錯誤的編碼和幀序號并請求重發(fā),直到檢測到結(jié)束幀為止。服務(wù)器發(fā)送最后一幀時,如果該幀的數(shù)據(jù)長度不夠,用00填充直到滿足協(xié)議中規(guī)定的長度。對于數(shù)據(jù)傳輸過程中產(chǎn)生的誤碼,系統(tǒng)采用最有效的解決辦法是CRC循環(huán)冗余效驗和重傳機制。

 ?。?) 相同的存儲區(qū),不同的運行區(qū)域。由于需要對Flash進行編程,但是對Flash操作的代碼不能在Flash本身運行,因此這部分代碼必須在內(nèi)部RAM中運行??梢酝ㄟ^分散加載文件設(shè)置函數(shù)的運行空間。

 ?。?) 用戶中斷。在系統(tǒng)中IAP程序燒寫在從0x00000000開始的兩個Flash扇區(qū)內(nèi),而用戶程序則是存儲在從0x40004000開始的Flash空間中。如果用戶程序產(chǎn)生中斷,那么內(nèi)核會讀取到IAP的向量表,導(dǎo)致程序跑飛。解決辦法是,在跳轉(zhuǎn)到用戶程序之前,IAP程序把用戶程序的向量表拷貝到片內(nèi)RAM中,然后將RAM重映射到0x00000000地址,最后進行跳轉(zhuǎn),這樣就可以保證0x00000000地址有用戶程序的向量表。

  由于RAM的起始地址用來存放用戶程序的中斷向表,往其中寫入數(shù)據(jù)時,需保證這些向量表不被覆蓋,故IAP程序、用戶程序的RW base使用的是0x20000100[5]。

  結(jié)語

  本文利用ARM微控制器和GPRS模塊,提出了一種解決無線監(jiān)控系統(tǒng)終端軟件升級和維護困難問題的方案。相信在未來通信方式更加先進、微控制器性能更加優(yōu)越的基礎(chǔ)上,軟件無線升級技術(shù)的應(yīng)用會越來越廣泛。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉