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

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]針對(duì)大型分布式監(jiān)控系統(tǒng)遠(yuǎn)程終端的嵌入式系統(tǒng)軟件遠(yuǎn)程在線升級(jí)和維護(hù)問題,提出一種基于通用無線分組業(yè)務(wù)(General Packet Radio Service,GPRs)的嵌入式系統(tǒng)軟件的遠(yuǎn)程在線升級(jí)方案,該方案采用GPRS、應(yīng)答機(jī)制與斷點(diǎn)續(xù)傳技術(shù),保證數(shù)據(jù)遠(yuǎn)程無線傳輸?shù)臏?zhǔn)確性和可靠性,應(yīng)用RAM分區(qū)技術(shù)和IAP技術(shù)實(shí)現(xiàn)系統(tǒng)軟件的在線升級(jí)。實(shí)踐證明,該設(shè)計(jì)方案具有在線升級(jí)成功率高、速度快的特點(diǎn),已成功應(yīng)用于南京航道局的航標(biāo)自動(dòng)監(jiān)測(cè)系統(tǒng)中。

0 引 言
    隨著電子技術(shù)、計(jì)算機(jī)技術(shù)和通信技術(shù)的迅猛發(fā)展,嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用于工業(yè)、軍事、通信、信息家電等領(lǐng)域,但是面對(duì)新技術(shù)的不斷涌現(xiàn)和對(duì)系統(tǒng)功能、性能以及規(guī)模要求的不斷提高,開發(fā)者必須能夠針對(duì)客戶的需求及時(shí)對(duì)系統(tǒng)進(jìn)行升級(jí)或維護(hù),以延長(zhǎng)系統(tǒng)使用周期,改善系統(tǒng)性能,增強(qiáng)系統(tǒng)適應(yīng)性。
    傳統(tǒng)的嵌入式系統(tǒng)升級(jí)方式通常由維護(hù)人員到達(dá)設(shè)備現(xiàn)場(chǎng),開箱重寫或者更換FLASH存儲(chǔ)部件,當(dāng)設(shè)備數(shù)目龐大并且分布范圍廣泛時(shí),這種升級(jí)維護(hù)方式的工作量將非常大,而且耗費(fèi)的時(shí)間長(zhǎng)、成本高。近年來通過以太網(wǎng)和在FLASH上建立TFFS文件系統(tǒng)的方法,能很好地解決批量升級(jí)的問題。但對(duì)于野外偏遠(yuǎn)地區(qū)或海上等有線網(wǎng)絡(luò)無法到達(dá)的地方,此方法也難以實(shí)現(xiàn)。
    在此提出基于GPRS的嵌入式系統(tǒng)軟件遠(yuǎn)程在線升級(jí)方案,利用GPRS網(wǎng)絡(luò)無需現(xiàn)場(chǎng)布線和“實(shí)時(shí)在線”、“按量計(jì)費(fèi)”、“快捷登錄”、“高速傳輸”的特點(diǎn),只要遠(yuǎn)程終端在移動(dòng)公網(wǎng)覆蓋的范圍內(nèi),均可實(shí)現(xiàn)升級(jí)數(shù)據(jù)的遠(yuǎn)程傳輸;為了克服無線網(wǎng)絡(luò)相對(duì)有線網(wǎng)絡(luò)因地形或環(huán)境等因素造成誤碼或掉線的不足,采用應(yīng)答機(jī)制與斷點(diǎn)續(xù)傳技術(shù),確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和可靠性;通過對(duì)嵌入式芯片內(nèi)部FLASH存儲(chǔ)器的存儲(chǔ)空間進(jìn)行劃分和升級(jí)文件傳輸?shù)臄?shù)據(jù)格式進(jìn)行定義,再利用IAP技術(shù)實(shí)現(xiàn)系統(tǒng)軟件的在線升級(jí),較好地解決了數(shù)量龐大并且分布范圍較廣的設(shè)備在線升級(jí)或維護(hù)的問題。

1 系統(tǒng)結(jié)構(gòu)
    系統(tǒng)結(jié)構(gòu)如圖1所示,由服務(wù)器和遠(yuǎn)程終端組成,其中遠(yuǎn)程終端包括基于ARM內(nèi)核的嵌入式控制芯片(以下簡(jiǎn)稱ARM芯片)和GPRS Modem模塊,兩者之間通過RS 232總線連接;服務(wù)器與遠(yuǎn)程終端通過GPRS進(jìn)行通信。用戶需要升級(jí)遠(yuǎn)程終端時(shí),首先將服務(wù)器端的升級(jí)標(biāo)志位置1,通過GPRS將升級(jí)標(biāo)志位傳給遠(yuǎn)程終端,遠(yuǎn)程終端上電后將自動(dòng)檢測(cè)升級(jí)標(biāo)志位,若標(biāo)志位為1表示需要升級(jí),否則不升級(jí)。然后,服務(wù)器將升級(jí)文件通過GPRS透明的下載到遠(yuǎn)程終端,實(shí)現(xiàn)數(shù)據(jù)的傳輸及更新,從而達(dá)到遠(yuǎn)程終端的嵌入式系統(tǒng)軟件的在線升級(jí)的目的。

2 遠(yuǎn)程終端軟件升級(jí)的關(guān)鍵技術(shù)
2.1 FLASH存儲(chǔ)器編程

    遠(yuǎn)程終端的升級(jí)主要是對(duì)ARM芯片內(nèi)部FLASH存儲(chǔ)器的數(shù)據(jù)進(jìn)行擦除及下載,目前很多ARM芯片支持多種方式對(duì)FLASH進(jìn)行編程,ARM芯片內(nèi)部FLAsH存儲(chǔ)器的編程有JTAG,ISP和IAP三種方式:JTAG編程主要用于產(chǎn)品開發(fā)期的調(diào)試;ISP需要提供一定的硬件資源和中止應(yīng)用軟件的運(yùn)行,適用于便攜式設(shè)備的升級(jí);IAP與ISP非常相似.主要區(qū)別是IAP允許在應(yīng)用程序正常運(yùn)行的情況下,對(duì)FLASH存儲(chǔ)器中另外一段程序進(jìn)行讀/寫操作,甚至可以控制對(duì)某段、某頁的讀/寫操作,為數(shù)據(jù)存儲(chǔ)和固件的自動(dòng)升級(jí)帶來了極大的靈活性。該方案通過GPRS網(wǎng)絡(luò)傳輸升級(jí)文件的程序代碼,利用ARM內(nèi)部的FLASH存儲(chǔ)器及其IAP編程,實(shí)現(xiàn)終端的嵌入式系統(tǒng)軟件的遠(yuǎn)程無線在線升級(jí)。有關(guān)IAP的命令碼、狀態(tài)碼和命令詳解以及IAP功能的詳細(xì)應(yīng)用見參考文獻(xiàn)。
2.2 遠(yuǎn)程終端的程序設(shè)計(jì)
   
為了在線升級(jí),將ARM芯片內(nèi)部FLASH存儲(chǔ)器按圖2所示劃分為啟動(dòng)區(qū)、用戶代碼跳轉(zhuǎn)區(qū)、用戶代碼1區(qū)和用戶代碼2區(qū)。其中啟動(dòng)區(qū)用于存放系統(tǒng)初始化和啟動(dòng)代碼,用戶代碼跳轉(zhuǎn)區(qū)用于存放跳轉(zhuǎn)到相應(yīng)用戶代碼區(qū)的指令.用戶代碼1區(qū)和用戶代碼2區(qū)用于交替存放當(dāng)前終端正在執(zhí)行的用戶代碼和升級(jí)的用戶代碼。若當(dāng)前終端執(zhí)行的用戶程序存放在1區(qū),則將接收到的升級(jí)程序存放到2區(qū);待升級(jí)程序接收結(jié)束后,更改用戶代碼跳轉(zhuǎn)區(qū)的指令,使其指向升級(jí)程序,即用戶代碼2區(qū);此后用戶代碼2區(qū)的程序成為當(dāng)前終端指向的用戶程序,而用戶代碼1區(qū)則用于下次升級(jí)代碼的存放區(qū)。
    遠(yuǎn)程終端上電后首先進(jìn)入啟動(dòng)區(qū)進(jìn)行系統(tǒng)的初始化;接著終端從片外的E2PROM中讀取升級(jí)配置,包括升級(jí)標(biāo)志位、已接收到的最后一個(gè)數(shù)據(jù)包的ID等。若終端處于升級(jí)狀態(tài),則如圖3所示,向服務(wù)器發(fā)所要升級(jí)數(shù)據(jù)的指令,而且指令中將包含終端上次已接收到的最后一個(gè)數(shù)據(jù)包的ID,這樣可以避免已接收的數(shù)據(jù)包的重復(fù)發(fā)送,并實(shí)現(xiàn)續(xù)傳的功能。終端從GPRS網(wǎng)絡(luò)接收數(shù)據(jù)包后對(duì)數(shù)據(jù)包進(jìn)行解析和校驗(yàn)判斷,并與服務(wù)器形成一問一答的應(yīng)答機(jī)制。FLASH中進(jìn)行數(shù)據(jù)編程的最小單位是頁(512個(gè)字節(jié)),當(dāng)接收到的升級(jí)數(shù)據(jù)達(dá)到1頁后.通過IAP進(jìn)行編程。如果當(dāng)前運(yùn)行的用戶程序代碼在1區(qū),則把升級(jí)數(shù)據(jù)保存到2區(qū),否則保存到1區(qū)。編程成功后,將最后一條數(shù)據(jù)包的ID保存到E2PROM中。所有升級(jí)數(shù)據(jù)發(fā)送結(jié)束并編程成功后,通過IAP修改用戶代碼跳轉(zhuǎn)區(qū)的指令,使遠(yuǎn)程終端運(yùn)行新的升級(jí)代碼。

3 服務(wù)器端的軟件設(shè)計(jì)
3.1 升級(jí)文件傳輸?shù)臄?shù)據(jù)格式
   
為了達(dá)到快速準(zhǔn)確升級(jí)的目的,首先對(duì)原始的升級(jí)代碼(Intel Hex文件)進(jìn)行打包,然后加人相應(yīng)的數(shù)據(jù)包ID號(hào)和校驗(yàn)碼,并定義數(shù)據(jù)包長(zhǎng)度≤256個(gè)字節(jié),以適應(yīng)G:PRS通信方式對(duì)數(shù)據(jù)包長(zhǎng)度的要求,避免出現(xiàn)頻繁掉線和發(fā)送不出去的問題。具體的數(shù)據(jù)包格式如下:數(shù)據(jù)包格式:PacklD+起始地址+長(zhǎng)度+數(shù)據(jù)+校驗(yàn)碼;PackID:一個(gè)完整的數(shù)據(jù)包為一個(gè)記錄,下一個(gè)數(shù)據(jù)包的記錄號(hào)自動(dòng)加1;起始地址:燒寫數(shù)據(jù)的FLASH首地址。即數(shù)據(jù)部分中包含的第一條數(shù)據(jù)的記錄地址+線性擴(kuò)展地址;長(zhǎng)度:該包數(shù)據(jù)部分的字節(jié)數(shù);數(shù)據(jù):同一個(gè)擴(kuò)展線性地址記錄內(nèi)且地址連續(xù)的數(shù)據(jù)記錄的數(shù)據(jù)域。當(dāng)讀到一個(gè)擴(kuò)展線性地址記錄號(hào)后,將此擴(kuò)展線性地址記錄號(hào)內(nèi)的數(shù)據(jù)區(qū)域打包成256個(gè)字節(jié)之內(nèi)的數(shù)據(jù)包,超過256個(gè)字節(jié)或讀到下一個(gè)擴(kuò)展線性記錄號(hào)時(shí)則另起一個(gè)新的數(shù)據(jù)包;校驗(yàn)碼:CRC循環(huán)冗余校驗(yàn)碼。
3.2 服務(wù)器端主要程序流程
   
服務(wù)器端主要程序流程圖如圖4和圖5所示。服務(wù)器先把升級(jí)文件的路徑配置完畢,并將要升級(jí)的目標(biāo)程序代碼按照第3.1節(jié)所示的數(shù)據(jù)包格式進(jìn)行打包。并對(duì)每個(gè)數(shù)據(jù)包進(jìn)行編號(hào)。

    接著如圖4所示,服務(wù)器發(fā)送升級(jí)指令,并通過GPRS網(wǎng)絡(luò)透明傳輸?shù)竭h(yuǎn)程終端。如果當(dāng)前運(yùn)行的用戶程序代碼在1區(qū),則將2區(qū)升級(jí)數(shù)據(jù)發(fā)送給遠(yuǎn)程終端,否則將2區(qū)升級(jí)數(shù)據(jù)發(fā)送給遠(yuǎn)程終端。由于地形和環(huán)境因素的影響,GPRS網(wǎng)絡(luò)在遠(yuǎn)程通信過程中可能出現(xiàn)阻塞或斷開的情況。
    如果服務(wù)器在一定的時(shí)間內(nèi)沒有收到遠(yuǎn)程終端的應(yīng)答信號(hào),則重發(fā),如果三次重發(fā)失敗則保存成功接收到的數(shù)據(jù)塊ID號(hào)和數(shù)據(jù)校驗(yàn)碼,進(jìn)入斷點(diǎn)續(xù)傳。升級(jí)文件傳輸完畢則發(fā)送跳轉(zhuǎn)指令,使遠(yuǎn)程終端執(zhí)行新的程序代碼。
3.3 服務(wù)器端西己置表
   
服務(wù)器端升級(jí)配置表中重要字段的配置如下:
    這些字段將服務(wù)器和遠(yuǎn)程終端緊密地聯(lián)系起來,使得編程思路更加清晰,Update ID標(biāo)志了用戶程序目前所在存儲(chǔ)區(qū);Update User Zone為升級(jí)做好文件配置準(zhǔn)備工作,LastOrder為斷點(diǎn)續(xù)傳做好準(zhǔn)備,保證整個(gè)程序的緊密性以及可靠性。

4 結(jié) 語
    該方案采用應(yīng)答機(jī)制、斷點(diǎn)續(xù)傳、CRC校驗(yàn)等技術(shù),充分利用ARM芯片內(nèi)部FLASH存儲(chǔ)器資源,通過GPRS網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)ARM嵌入式終端的系統(tǒng)軟件進(jìn)行遠(yuǎn)程在線升級(jí),解決了大型分布式監(jiān)控系統(tǒng)遠(yuǎn)程嵌入式終端系統(tǒng)軟件的在線升級(jí)和維護(hù)問題。該方案已經(jīng)成功地應(yīng)用在南京航道局的航標(biāo)自動(dòng)監(jiān)測(cè)系統(tǒng)中,該系統(tǒng)有600多盞安裝有嵌入式終端的航標(biāo)燈,對(duì)該系統(tǒng)進(jìn)行在線升級(jí)僅耗時(shí)20 min,且一次性升級(jí)成功。實(shí)踐證明,該方案的實(shí)施可有效降低工程復(fù)雜度,縮短升級(jí)時(shí)間,節(jié)約升級(jí)、維護(hù)成本,同時(shí)具有升級(jí)成功率高和升級(jí)速度快的特點(diǎn)。

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

Lua RTOS 是一個(gè)實(shí)時(shí)操作系統(tǒng),設(shè)計(jì)在嵌入式系統(tǒng)上運(yùn)行,對(duì) FLASH 和 RAM 內(nèi)存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺(tái),并可以輕松移植到其他32位...

關(guān)鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)

通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UATR,是一種串行、異步、全雙工的收發(fā)器。全雙工的UART支持同時(shí)雙向通信,是嵌入式系統(tǒng)必不可少的d...

關(guān)鍵字: 異步收發(fā) 傳輸器 嵌入式系統(tǒng)

Flash Memory 是一種非易失性的存儲(chǔ)器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。

關(guān)鍵字: Flash 存儲(chǔ)器 嵌入式系統(tǒng)

摘要:隨著農(nóng)業(yè)生產(chǎn)中對(duì)水資源利用率重視程度的不斷提升,農(nóng)業(yè)用水的灌溉效率與灌溉滲漏系數(shù)測(cè)定準(zhǔn)確化與規(guī)范化越來越重要。為實(shí)現(xiàn)渠道水位測(cè)量的精確化與自動(dòng)化,研制開發(fā)出一種基于GPRS的渠道水位監(jiān)測(cè)系統(tǒng)。對(duì)投入式壓力水位檢測(cè)方...

關(guān)鍵字: GPRS 水位監(jiān)測(cè) 上位機(jī)設(shè)計(jì)

近年來,隨著計(jì)算機(jī)技術(shù)及集成電路技術(shù)的發(fā)展,嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)無疑成為當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。?嵌入式系統(tǒng)一般由嵌入式微處理器、外...

關(guān)鍵字: 嵌入式 嵌入式系統(tǒng) 計(jì)算機(jī)

深圳2022年8月26日 /美通社/ -- 8月17日 – 深圳,AMD Xilinx舉辦為期一天的線下技術(shù)日活動(dòng),在AMD Xilinx主辦下宜鼎國際作為合作伙伴的身份被邀...

關(guān)鍵字: AMD Xilinx AGENT 嵌入式系統(tǒng)

單向散列算法,又稱hash哈希函數(shù),Hash函數(shù)(也稱雜湊算法)就是把任意長(zhǎng)的輸入消息串變化成固定長(zhǎng)的輸出串的一種函數(shù),該過程是不可逆的。Hash函數(shù)可用于數(shù)字簽名、消息的完整性檢測(cè)、消息起源的認(rèn)證檢測(cè)等。較為常用的方法...

關(guān)鍵字: 嵌入式算法 嵌入式系統(tǒng)

GPS和GPRS,字面上僅僅多了個(gè)G,按照中國人捂住一半,讀一半的猜字邏輯來看,這兩者區(qū)別應(yīng)該是不多的,GPS模塊能做的,GPRS模塊應(yīng)該也能干,這顯然是個(gè)美麗的誤會(huì)。

關(guān)鍵字: GPS GPRS 通信

作為消費(fèi)者,在我們考慮購買電池供電設(shè)備時(shí),通常首先要檢查的關(guān)鍵指標(biāo)之一是一次充電可以使用多長(zhǎng)時(shí)間。電池壽命已成為許多可穿戴設(shè)備的重要賣點(diǎn),但對(duì)于越來越多的工業(yè)物聯(lián)網(wǎng)傳感器和其他類似應(yīng)用來說,電池壽命同樣也是一個(gè)重要的考慮...

關(guān)鍵字: 貿(mào)澤電子 嵌入式系統(tǒng)

摘要:設(shè)計(jì)了一種新型的基于LeapMotion體感控制器的仿生機(jī)械臂交互控制系統(tǒng),利用LeapMotion體感控制器替代傳統(tǒng)的人機(jī)交互方式,采集手部數(shù)據(jù),將識(shí)別到的手勢(shì)動(dòng)作經(jīng)過計(jì)算機(jī)分析處理后,通過無線傳輸?shù)姆绞浇o開發(fā)板...

關(guān)鍵字: 人機(jī)交互 嵌入式系統(tǒng) 機(jī)械手臂

通信技術(shù)

120582 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉