国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

靈活更新固件——IoT設(shè)備的關(guān)鍵

發(fā)布時(shí)間:2019-9-3 16:25    發(fā)布者:eechina
關(guān)鍵詞: 物聯(lián)網(wǎng) , IoT , 固件
作者:Microchip Technology Inc.存儲(chǔ)器產(chǎn)品部主任應(yīng)用工程師Hardik Patel

物聯(lián)網(wǎng)(IoT)設(shè)備正迅速引入各大市場(chǎng),從家用電器到醫(yī)療設(shè)備、再到汽車,應(yīng)用范圍十分廣泛;制造商必須通過(guò)不斷創(chuàng)新和靈活地采用或集成新技術(shù)來(lái)領(lǐng)先于競(jìng)爭(zhēng)對(duì)手。為了滿足新功能的需求和新法規(guī)的要求,設(shè)計(jì)人員必須將靈活性納入其產(chǎn)品中,以適應(yīng)不斷發(fā)展的IoT生態(tài)系統(tǒng)。固件更新不僅能夠在客戶現(xiàn)場(chǎng)的初始部署期間進(jìn)行定制,還可以在產(chǎn)品部署到現(xiàn)場(chǎng)后添加新功能/特性,并且支持在使用過(guò)程中修復(fù)任何固件問(wèn)題。NOR閃存等非易失性存儲(chǔ)器件具有可重復(fù)編程能力且可靠性極高,通常可用作固件代碼存儲(chǔ)介質(zhì)。通過(guò)重新編寫器件固件代碼(位于器件使用的非易失性存儲(chǔ)器中)的一部分,制造商可輕松更新器件功能。想要更新固件時(shí),有三件事情需要考慮:更新哪些/多少代碼、更新頻率以及執(zhí)行更新所需的時(shí)間(速度)。

更新哪些/多少固件代碼

在IoT設(shè)備的初始設(shè)計(jì)階段,必須考慮更新哪些/多少固件代碼。相對(duì)于不可更新部分,固件的可更新部分必須存儲(chǔ)在NOR閃存器件的獨(dú)立區(qū)域中。更新NOR閃存的任何片段都需要先擦除存儲(chǔ)器的這一部分,然后將新信息編程到該部分中。NOR閃存分為稱為扇區(qū)和塊的多個(gè)部分,它們的大小各有不同。NOR閃存器件(如采用SST SuperFlash®技術(shù)的器件(部件編號(hào)SST26VF064B(64 Mb)))分為多個(gè)均一的4 KB扇區(qū),各個(gè)扇區(qū)可單獨(dú)擦除和重新編程(4 KB = 4 * 1024 * 8位 = 32,762位)。它還可分為更大的8 KB、32 KB和64 KB塊,這些塊也可單獨(dú)擦除。因此,一個(gè)8 KB塊有2個(gè)扇區(qū),一個(gè)32 KB塊有8個(gè)扇區(qū),一個(gè)64 KB塊有16個(gè)扇區(qū)。圖1給出了采用8 KB/32 KB/64 KB塊的SST26VF064B的存儲(chǔ)器構(gòu)成。各個(gè)塊也可以單獨(dú)進(jìn)行保護(hù)。在對(duì)閃存的任何部分執(zhí)行任何更新前,必須取消保護(hù)該部分中的塊,以允許擦除和編程操作。完成更新后,謹(jǐn)慎地再次對(duì)這些塊進(jìn)行保護(hù),以避免意外寫入或擦除這些區(qū)域。固件的可更新部分必須以足夠靈活的方式劃分為扇區(qū)和塊,以便同時(shí)支持有限數(shù)量和最大數(shù)量的特性/功能更新。由于執(zhí)行更新的速度由需要擦除和重新編程的扇區(qū)和塊數(shù)決定,因此在組織固件的可更新部分時(shí),最好同時(shí)考慮速度和靈活性。圖2給出了將存儲(chǔ)器組織為可更新和不可更新部分的示例。引導(dǎo)代碼等不可更新部分存儲(chǔ)在受保護(hù)區(qū)域中。固件的可更新部分(如特性/功能)根據(jù)靈活性要求分為較小的塊或較大的塊。可更新的鏡像文件存儲(chǔ)在較大的塊中,可更新的變量/參數(shù)存儲(chǔ)在較小的塊中。


Flexibility to Update Firmware Memory Map        靈活更新固件存儲(chǔ)器映射
Top of Memory Block        存儲(chǔ)器塊頂部
2 Sectors for 8 KB Blocks 8 Sectors for 32 KB Blocks 16 Sectors for 64 KB Blocks        8 KB塊對(duì)應(yīng)2個(gè)扇區(qū),32 KB塊對(duì)應(yīng)8個(gè)扇區(qū),64 KB塊對(duì)應(yīng)16個(gè)扇區(qū)
Bottom of Memory Block        存儲(chǔ)器塊底部
圖1:SST26VF064B的存儲(chǔ)器構(gòu)成(映射)——由8個(gè)8 KB塊、2個(gè)32 KB塊和126個(gè)64 KB塊組成


Organizing the memory in non-updatable portions        將存儲(chǔ)器組織為多個(gè)不可更新部分
Non-updatable area e.g. boot code (keep it protected)        不可更新區(qū)域,例如引導(dǎo)代碼(進(jìn)行保護(hù))
Updatable area e.g. features/functions code        可更新區(qū)域,例如特性/功能代碼
Updatable area e.g. images files        可更新區(qū)域,例如鏡像文件
Updatable area e.g. parameter/variable data (Allocate enough blocks to increase endurance)        可更新區(qū)域,例如參數(shù)/變量數(shù)據(jù)(分配足夠的塊以提高耐擦寫次數(shù))
圖2:將存儲(chǔ)器組織為多個(gè)不可更新部分(例如:引導(dǎo)代碼)和可更新部分(例如:功能/特性代碼、鏡像文件代碼和參數(shù)變量代碼)

更新頻率
固件更新頻率的主要限制是應(yīng)用中所使用存儲(chǔ)器的耐擦寫次數(shù)限制。SuperFlash技術(shù)存儲(chǔ)器(如SST26VF064B)的耐擦寫次數(shù)可達(dá)100,000次,這意味著每個(gè)扇區(qū)可編程和擦除100,000次。固件可以更新100,000次聽起來(lái)很多;然而,許多IoT設(shè)備會(huì)在使用期間收集數(shù)據(jù)并將信息存儲(chǔ)在NOR閃存中,因此在計(jì)算最大耐擦寫次數(shù)限制時(shí)必須考慮這一點(diǎn)。考慮到耐擦寫次數(shù),必須在存儲(chǔ)器中分配足夠多的扇區(qū)。下面將舉例說(shuō)明:假設(shè)IoT設(shè)備正在收集和存儲(chǔ)16個(gè)字節(jié)的信息,并且信息預(yù)計(jì)在產(chǎn)品的使用壽命期間收集和存儲(chǔ)1億次。可以按如下方式計(jì)算應(yīng)當(dāng)分配的扇區(qū)數(shù):

1個(gè)扇區(qū) = 4 KB

假設(shè)扇區(qū)中的所有地址單元用于存儲(chǔ)信息(一次存儲(chǔ)16個(gè)字節(jié)的數(shù)據(jù)),然后寫入到一個(gè)新的地址單元,直至達(dá)到扇區(qū)末尾(例如,0x0000-0x000F、0x0010-0x001F、0x0020-0x002F等)

由于4 KB/16字節(jié) = 256,這即是達(dá)到扇區(qū)容量并擦除扇區(qū)中任何數(shù)據(jù)之前可以寫入存儲(chǔ)介質(zhì)的次數(shù)

1個(gè)扇區(qū)的耐擦寫限值 = 100,000次

因此,如果1個(gè)扇區(qū)可以寫入256次且耐擦寫次數(shù)為100,000次,則可以收集和存儲(chǔ)數(shù)據(jù)2560萬(wàn)次

如果一個(gè)應(yīng)用需要收集和存儲(chǔ)數(shù)據(jù)1億次,則要分配的扇區(qū)數(shù)量為100,000,000/25,600,000 = 3.9。因此,在本例中,需要分配4個(gè)扇區(qū)以在應(yīng)用的生命周期內(nèi)存儲(chǔ)16個(gè)字節(jié)的數(shù)據(jù)。

IoT設(shè)備工程師需要進(jìn)行類似的計(jì)算,以便為數(shù)據(jù)記錄參數(shù)分配足夠多的扇區(qū)和塊,以免超出其NOR閃存器件的耐擦寫限值。
  
更新速度

可根據(jù)需要擦除和重新編程的塊和扇區(qū)數(shù)來(lái)計(jì)算更新速度。假設(shè)需要重新編程SST26VF064B的幾個(gè)64 KB塊中存儲(chǔ)的1 Mb、2 Mb或4 Mb固件代碼/數(shù)據(jù)。代碼/數(shù)據(jù)可以由固件代碼、鏡像文件或需要更新的其他代碼組成。更新過(guò)程涉及對(duì)閃存執(zhí)行一系列命令指令。序列將從取消保護(hù)存儲(chǔ)器塊開始,然后擦除這些塊、用更新的數(shù)據(jù)/代碼進(jìn)行編程,最后重新進(jìn)行保護(hù)。對(duì)于SST26VF064B,更新1 Mb/2 Mb/4 Mb存儲(chǔ)器所需的指令序列如表1所示。從表1中可以看出,兩個(gè)最重要的時(shí)間是擦除時(shí)間和編程時(shí)間。SST26VF064B采用可提供出色擦除性能的SuperFlash技術(shù)。SuperFlash技術(shù)與傳統(tǒng)閃存的擦除和編程性能的比較如表2所示。與傳統(tǒng)閃存相比,SuperFlash技術(shù)提供的優(yōu)異擦除性能對(duì)于縮短更新時(shí)間非常有用。SST26VF064B支持的最大時(shí)鐘頻率為104 MHz,最大扇區(qū)擦除時(shí)間為25 ms,最大塊擦除時(shí)間為25 ms,最大頁(yè)編程時(shí)間為1.5 ms。此外,從發(fā)出每條命令指令到閃存以104 MHz時(shí)鐘頻率工作,中間還需要12 ns延時(shí)(CE高電平時(shí)間)。表1所示的命令序列與編程和擦除時(shí)間的知識(shí)結(jié)合使用時(shí),可計(jì)算更新1 Mb/2 Mb/4 Mb SuperFlash技術(shù)存儲(chǔ)器和傳統(tǒng)閃存所需的時(shí)間,具體方法分別如表3和表4所示。這些計(jì)算必須由IoT設(shè)備工程師完成以估算執(zhí)行更新的速度,目的是最大程度縮短更新期間的IoT設(shè)備停機(jī)時(shí)間。

表1:更新1 Mb/2 Mb/4 Mb存儲(chǔ)器的閃存命令指令序列
步驟命令指令序列時(shí)鐘數(shù)
1
SPI_WREN
8
2
SPI_Enable_Ouad_IO
8
3
SQI_WREN
2
4
SQI_寫塊保護(hù)寄存器(取消保護(hù)閃存的某個(gè)部分)
38
5
SQl_塊擦除64 KB塊
2
6
SQI_WREN
8
7
等待25 ms來(lái)完成SuperFlash技術(shù)存儲(chǔ)器的擦除(對(duì)于傳統(tǒng)閃存的擦除,需等待3000 ms) 
 重復(fù)執(zhí)行步驟5、6和7,直到所需大小的存儲(chǔ)空間擦除完畢 
 要擦除1 Mb的數(shù)據(jù),步驟5、6和7需要重復(fù)(1024*1024)/(64*1024*8) = 2次 
 要擦除2 Mb的數(shù)據(jù),步驟5、6和7需要重復(fù)(2*1024*1024)/(64*1024*8) = 4次 
 要擦除4 Mb的數(shù)據(jù),步驟5、6和7需要重復(fù)(4*1024*1024)/(64*1024*8) = 8次 
8
SQI_WREN
2
9
SQI_頁(yè)編程命令后將編程256字節(jié)的數(shù)據(jù)(260乘以2)
520
10
等待1.5 ms來(lái)完成SuperFlash技術(shù)存儲(chǔ)器的頁(yè)編程(對(duì)于傳統(tǒng)閃存的擦除,需等待5 ms) 
 重復(fù)步驟8、9和10,直到寫入所有數(shù)據(jù) 
 要編程1 Mb的數(shù)據(jù),步驟8、9和10需要重復(fù)1024*1024/8/256 = 512次   
 要編程2 Mb的數(shù)據(jù),步驟8、9和10需要重復(fù)2*1024*1024/8/256 = 1024次 
 要編程4 Mb的數(shù)據(jù),步驟8、9和10需要重復(fù)4*1024*1024/8/256 = 2048次 
11
SQI_WREN
2
12
SQI_寫塊保護(hù)寄存器(用于再次保護(hù)閃存的某一部分)
38

表2:SST26VF064B和傳統(tǒng)閃存的編程和擦除時(shí)間 
  
  
SST26VF064B
傳統(tǒng)閃存
扇區(qū)擦除
25 ms(最長(zhǎng))
150 ms至3000 ms
塊擦除
25 ms(最長(zhǎng))
750 ms至3s
芯片擦除
50 ms(最長(zhǎng))
15s至80s
頁(yè)編程
1.5 ms(最長(zhǎng))
1 ms至5 ms

表3:更新1 MB/2 Mb/4 Mb SuperFlash技術(shù)存儲(chǔ)器所需的時(shí)間
計(jì)算時(shí)間
最長(zhǎng)塊擦除時(shí)間25 ms
最長(zhǎng)頁(yè)編程時(shí)間1.5 ms
104 MHz頻率下的時(shí)鐘周期9.6 ns
104 MHz頻率下各指令間的CE高電平時(shí)間12 ns
時(shí)間A. 指令1至指令4的時(shí)間 = (56個(gè)時(shí)鐘  * 周期) + (3 * CE高電平時(shí)間)573.6 ns
時(shí)間B. 指令5至指令7的時(shí)間 = (10個(gè)時(shí)鐘  * 周期) + (2 * CE高電平時(shí)間) + (25 ms塊擦除等待時(shí)間)25000120 ns
時(shí)間C. 指令8至指令10的時(shí)間 =1505023.2 ns
(522個(gè)時(shí)鐘 * 周期) + (1 * CE高電平時(shí)間) + (1.5 ms頁(yè)編程等待時(shí)間)
時(shí)間D. 指令11至指令12的時(shí)間 = (40個(gè)時(shí)鐘  * 周期) + (1 * CE高電平時(shí)間)396 ns
總時(shí)間(即,塊擦除和編程1 Mb數(shù)據(jù)的全部指令的時(shí)間)= (時(shí)間A) +  (時(shí)間B * 2) + (時(shí)間C * 512) + (時(shí)間D)0.820573088 s
塊擦除和編程2 Mb數(shù)據(jù)的全部指令的總時(shí)間 = (時(shí)間A)  + (時(shí)間B * 4) + (時(shí)間C * 1024) + (時(shí)間D)1.641145206 s
塊擦除和編程4 Mb數(shù)據(jù)的全部指令的總時(shí)間 = (時(shí)間A)  + (時(shí)間B * 8) + (時(shí)間C * 2048) + (時(shí)間D)3.282289443 s

表4:更新1 MB/2 Mb/4 Mb傳統(tǒng)閃存所需的時(shí)間
計(jì)算時(shí)間
最長(zhǎng)塊擦除時(shí)間3000 ms
最長(zhǎng)頁(yè)編程時(shí)間5 ms
104 MHz頻率下的時(shí)鐘周期9.6 ns
104 MHz頻率下各指令間的CE高電平時(shí)間20 ns
時(shí)間A. 指令1至指令4的時(shí)間 = (56個(gè)時(shí)鐘  * 周期) + (3 * CE高電平時(shí)間)597.6 ns
時(shí)間B. 指令5至指令7的時(shí)間 = (10個(gè)時(shí)鐘  * 周期) + (2 * CE高電平時(shí)間) + (3000 ms塊擦除等待時(shí)間)3000000136 ns
時(shí)間C. 指令8至指令10的時(shí)間 = (522個(gè)時(shí)鐘  * 周期) + (1 * CE高電平時(shí)間) + (5 ms頁(yè)編程等待時(shí)間)5005031.2 ns
時(shí)間D. 指令11至指令12的時(shí)間 = (40個(gè)時(shí)鐘  * 周期) + (1 * CE高電平時(shí)間)404 ns
塊擦除和編程1 Mb數(shù)據(jù)的全部指令的總時(shí)間 = (時(shí)間A)  + (時(shí)間B * 2) + (時(shí)間C * 512) + (時(shí)間D)8.562577248 s
塊擦除和編程2 Mb數(shù)據(jù)的全部指令的總時(shí)間 = (時(shí)間A)  + (時(shí)間B * 4) + (時(shí)間C * 1024) + (時(shí)間D)17.12515349 s
塊擦除和編程4 Mb數(shù)據(jù)的全部指令的總時(shí)間 = (時(shí)間A)  + (時(shí)間B * 8) + (時(shí)間C * 2046) + (時(shí)間D)34.25030599 s

結(jié)論

IoT設(shè)備設(shè)計(jì)工程師需要在更新應(yīng)用程序代碼和數(shù)據(jù)時(shí)提供一定的靈活性。更新哪些/多少代碼、更新頻率和更新速度是設(shè)計(jì)IoT設(shè)備時(shí)需要解決的問(wèn)題。非易失性存儲(chǔ)器的選擇會(huì)影響這些問(wèn)題,并在計(jì)算代碼更新的時(shí)間和速度方面起到關(guān)鍵作用。
本文地址:http://m.qingdxww.cn/thread-568106-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲色图男人天堂| 67194con免费福和视频| 99精品视频免费观看| 99热最新在线| 久久国产精品永久网站| 涩涩在线视频| 永久adc视频| 日韩h片| 欧美亚洲国产精品久久高清| 日本高清视频色| 亚洲精品视频在线观看免费| 色综合网站国产麻豆| 亚洲综合一| 资源站在线| 精品亚洲午夜久久久久| 午夜天堂一区人妻| 欧美激情视频一区| 午夜国产精品影院在线观看| 亚洲免费高清视频| 日韩欧美视频在线| 伊人影院在线观看| 亚洲成aⅴ人片在线| 又粗又大又爽 真人一级毛片| 国产AV精品久久久毛片| 久久免费高清| 亚洲 制服 欧美 中文字幕| 色天天综合色天天天天看大| 亚州色片| 天天看片天天操| 五月天国产| 一个人免费视频| 国产精品色欲AV亚洲三区软件| 日本漂亮妈妈7观整有限中| 亚洲六区| 欧美一区亚洲| 亚洲福利视频一区二区| 天美传媒tm0087| 亚洲一本之道在线观看不卡| 51vv视频社区| 免费在线观看的毛片| 亚洲国产精品热久久|