欧美成人黄色网_欧美精品久久_国产在线一区二区三区_免费视频久久久_亚洲二区视频_欧美大片免费高清观看

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 半導(dǎo)體產(chǎn)品 > 存儲(chǔ)器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
存儲(chǔ)器

利用 SPI XiP 閃存擴(kuò)展微控制器程序存儲(chǔ)器的原因和方法

發(fā)布日期:2022-10-09 點(diǎn)擊率:49

隨著微控制器應(yīng)用日益復(fù)雜化,開發(fā)人員需要使用更多閃存程序存儲(chǔ)器來存儲(chǔ)應(yīng)用固件。尤其對(duì)于開始執(zhí)行相對(duì)復(fù)雜的邊緣計(jì)算的物聯(lián)網(wǎng) (IoT) 端點(diǎn),就更是如此。然而,有時(shí)候應(yīng)用可能擴(kuò)展到需要外部程序存儲(chǔ)器的程度,此時(shí)開發(fā)人員則需要在并行或串行閃存之間進(jìn)行選擇。

添加外部并行閃存芯片會(huì)占用 I/O 線,增加復(fù)雜性,并占用額外的電路板空間。本文將介紹如何通過添加 Adesto Technologies 支持 SPI 芯片內(nèi)執(zhí)行 (XiP) 接口的外部串行閃存芯片,來擴(kuò)展微控制器的閃存程序存儲(chǔ)器。本文還將闡述 XiP 閃存如何映射到 Microchip Technology 微控制器的存儲(chǔ)空間中,以使代碼執(zhí)行對(duì)固件幾乎是透明的。

擴(kuò)展外部存儲(chǔ)器的原因

在應(yīng)用開發(fā)之初,開發(fā)人員應(yīng)盡量選擇有計(jì)劃推出具有更大存儲(chǔ)空間的引腳兼容器件的微控制器。如果在開發(fā)期間,應(yīng)用固件擴(kuò)展到超過目標(biāo)器件閃存的程度,那么就可以輕松換用具有更大閃存的引腳兼容器件。這樣既能擴(kuò)展應(yīng)用存儲(chǔ)器,又無需為不同的微控制器重新設(shè)計(jì)印刷電路板。

但是,應(yīng)用需要的程序存儲(chǔ)器可能會(huì)超過兼容微控制器系列片上所能提供的存儲(chǔ)器極限,這就需要使用片外閃存。這種現(xiàn)象日益普遍,其原因是多方面的,包括:

  • 在開發(fā)階段,系統(tǒng)范圍可能擴(kuò)大,以致超出初始設(shè)計(jì)。這可能是由于應(yīng)用的臨時(shí)變更、特征蔓延或未準(zhǔn)確預(yù)測(cè)應(yīng)用的存儲(chǔ)器需求而造成的。解決辦法是用閃存程序存儲(chǔ)器更大的引腳兼容微控制器進(jìn)行升級(jí),或增加外部閃存程序存儲(chǔ)器。如果開發(fā)已經(jīng)接近結(jié)束,后者可能會(huì)導(dǎo)致項(xiàng)目延遲。

  • 將來在現(xiàn)場(chǎng)進(jìn)行固件升級(jí)所需的閃存程序存儲(chǔ)器,可能比系統(tǒng)板上已有的微控制器所能提供的存儲(chǔ)器要大。在這種情況下,解決辦法很有限:要么在現(xiàn)場(chǎng)換用帶更大閃存程序存儲(chǔ)器的系統(tǒng),要么取消升級(jí)。

  • 系統(tǒng)級(jí)產(chǎn)品系列開發(fā)可能需要一種新產(chǎn)品,該產(chǎn)品需要的閃存程序存儲(chǔ)器比引腳兼容微控制器系列所能提供的存儲(chǔ)器要大。解決辦法是使用新的微控制器系列重新設(shè)計(jì)系統(tǒng),或添加外部閃存程序存儲(chǔ)器。

顯然,對(duì)于開發(fā)人員來說,需要預(yù)判當(dāng)前和未來系統(tǒng)對(duì)存儲(chǔ)器擴(kuò)展的需求并為此進(jìn)行規(guī)劃,這一點(diǎn)相當(dāng)重要。如果項(xiàng)目有可能需要外部閃存程序存儲(chǔ)器,開發(fā)人員應(yīng)為將來擴(kuò)展印刷電路板預(yù)留空間。雖然閃存芯片不需要安裝在電路板上,但為保險(xiǎn)起見,最好還是預(yù)留空間。

擴(kuò)展閃存程序存儲(chǔ)器的傳統(tǒng)辦法是使用具有地址和數(shù)據(jù)線的并行閃存接口。然而,在不犧牲速度的情況下,即使最有效的使用并行閃存的方式,也只能使用 16 位地址、16 位數(shù)據(jù)和四個(gè)或更多控制信號(hào)。而這需要 36 個(gè)或更多微控制器引腳。

這不光使微控制器資源使用效率低下,還會(huì)將微控制器選擇局限于帶有外部總線的器件,因?yàn)檫@能增加微控制器的引腳數(shù)。可外部并行總線會(huì)占用相當(dāng)大的印刷電路板空間,高速地址和數(shù)據(jù)總線也會(huì)增加電磁干擾 (EMI) 的可能性。

SPI XiP 代碼執(zhí)行

更有效的解決辦法是使用支持 SPI XiP 接口的外部閃存程序存儲(chǔ)器件。SPI XiP 接口只需使用六個(gè)引腳就可連接主機(jī)微控制器。與傳統(tǒng) SPI 接口不同,外部閃存器件上的存儲(chǔ)器不是通過 SPI 固件驅(qū)動(dòng)程序直接訪問,而是在微控制器的程序存儲(chǔ)器進(jìn)行映射。

設(shè)計(jì)使用 SPI XiP 接口的串行閃存器件的典型范例是來自 Adesto Technologies 的 AT25SL321-UUE-T(圖 1)。這是一款 32 兆位 (Mbit) 閃存,支持單通道、雙通道和四通道 SPI 模式。它支持 104 兆赫 (MHz) 的 SPI 時(shí)鐘,在雙通道 SPI 模式下提供 266 MHz 的等效時(shí)鐘速率,而在四通道 SPI 模式下提供 532 MHz 的等效時(shí)鐘速率。

Adesto 的 AT25SL321 閃存圖片

圖 1:Adesto 的 AT25SL321 是一款 32 Mbit 閃存,支持單通道、雙通道和四通道 SPI 模式。它提供 32 Mbit 閃存,采用 8 引腳 SOIC、DFN8 或 TSSOP8 封裝。(圖片來源:Adesto Technologies)

除 32 Mbit 閃存外,該器件還具有狀態(tài)寄存器用來配置器件。通過讀取狀態(tài)寄存器,固件可得知器件是否正在進(jìn)行寫入或擦除操作。寫入狀態(tài)寄存器可以對(duì)閃存塊進(jìn)行寫保護(hù)。

Adesto 的 AT25SL321 還有 4 千位 (Kbit) 一次性可編程 (OTP) 存儲(chǔ)器,可用于存儲(chǔ)唯一序列號(hào)等安全信息。它采用 8 引腳 SOIC、DFN8 或 TSSOP8 封裝。

與所有支持 SPI XiP 的串行存儲(chǔ)器件一樣,Adesto 的 AT25SL321 使用 Adesto 器件專用指令集進(jìn)行配置。指令集由 38 個(gè)命令組成,主機(jī)微控制器通過這些命令控制串行閃存。主機(jī)微控制器上的 SPI XiP 外設(shè)將包含一個(gè)可編程狀態(tài)機(jī),這個(gè)狀態(tài)機(jī)在微控制器上電時(shí)使用目標(biāo)串行閃存的指令集進(jìn)行初始化。初始化后,SPI 外設(shè)的操作對(duì)于存儲(chǔ)器映射的 SPI XiP 區(qū)域中的固件執(zhí)行代碼便是透明的。

例如,如果主機(jī)微控制器固件從存儲(chǔ)器映射區(qū)域讀取數(shù)據(jù),則利用 Adesto 指令集配置的 SPI XiP 會(huì)向 Adesto 串行存儲(chǔ)器發(fā)送“讀取數(shù)據(jù)”指令代碼,后跟一個(gè) 24 位字節(jié)地址。隨后,Adesto 串行存儲(chǔ)器一次一個(gè)字節(jié)地將存儲(chǔ)器內(nèi)容發(fā)送到主機(jī)微控制器。對(duì)于固件,這顯示為從存儲(chǔ)器正常讀取。

除了 SPI 時(shí)鐘、數(shù)據(jù)和片選引腳外,Adesto 的 AT25SL321 還有兩個(gè)額外引腳,用于增強(qiáng)在系統(tǒng)功能。WP 是低電平有效寫保護(hù)引腳,用于防止寫入狀態(tài)寄存器,從而對(duì)代碼塊予以寫保護(hù)。微控制器可以使用此引腳防止低優(yōu)先級(jí)任務(wù)進(jìn)行非授權(quán)更改。HOLD 用于暫停正在進(jìn)行的數(shù)據(jù)傳輸。如果微控制器正在向存儲(chǔ)器傳輸數(shù)據(jù)時(shí),接收到高優(yōu)先級(jí)中斷信號(hào),需要暫停直至中斷處理完成,那么此功能就非常有用。

Adesto 的 AT25SL321 32 Mbit 閃存器件支持四種工作模式:

  • 標(biāo)準(zhǔn) SPI 操作:閃存的訪問方式類似于標(biāo)準(zhǔn) SPI 存儲(chǔ)器件,即 SPI 時(shí)鐘 (SCLK)、低電平有效片選 (CS)、串行輸入 (SI) 數(shù)據(jù)和串行輸出 (SO) 數(shù)據(jù)。支持標(biāo)準(zhǔn) SPI 總線模式 0 和 3。

  • 雙通道 SPI 操作:數(shù)據(jù)速率是標(biāo)準(zhǔn) SPI 操作的兩倍,以 SI 和 SO 作為雙向數(shù)據(jù)引腳,分別記作 IO0 和 IO1。

  • 四通道 SPI 操作:數(shù)據(jù)速率是標(biāo)準(zhǔn) SPI 操作的四倍。除 IO0 和 IO1 外,WP 和 HOLD 也用作雙向數(shù)據(jù)引腳,分別記作 IO2 和 IO3。在四通道 SPI 操作中,WP 和 HOLD 功能不可用。

  • QPI 操作:僅用于 SPI XiP 操作。標(biāo)準(zhǔn)、雙通道和四通道 SPI 模式都支持僅使用 IO0 引腳向 SPI 存儲(chǔ)器發(fā)送命令,而 QPI 操作支持使用四個(gè) IO[0:3] 引腳發(fā)送命令,從而顯著提高了 SPI XiP 性能。

如果 Adesto AT25SL321 的 32 Mbit 還不夠,Adesto 還提供 64 Mbit 的 AT25QL641-UUE-T。這兩款器件的引腳兼容,因此 AT25QL641 可以直接替代前者。除了存儲(chǔ)器更大之外,這兩款器件的唯一區(qū)別是 AT25QL641 上電后的默認(rèn)設(shè)置為 QPI 操作模式。這可以縮短高性能系統(tǒng)中該器件的設(shè)置時(shí)間。在存儲(chǔ)器讀取周期中,兩款器件的功耗均只有 5 毫安 (mA)。這兩款 Adesto 存儲(chǔ)器件均采用 1.7 至 2.0 伏單電源軌供電,可與任何具有 SPI XiP 接口的電壓兼容微控制器連接。

對(duì)于主機(jī)微控制器,Microchip Technology 的 ATSAMD51 系列具有 SPI XiP 接口,其中包括基于 120 MHz Arm? Cortex?-M4F 的 ATSAMD51J20A-UUT 微控制器。該器件具有 1 MB 的閃存和 256 KB 的 RAM。它提供全套外設(shè),包括模數(shù)轉(zhuǎn)換器 (ADC)、數(shù)模轉(zhuǎn)換器 (DAC)、USB 端口和 I2S。它還具有用于安全功能的公鑰加密外設(shè)和真隨機(jī)數(shù)發(fā)生器 (TRNG)。

Microchip ATSAMD51J20A 具有全套外設(shè)示意圖(點(diǎn)擊放大)

圖 2:Microchip 的 ATSAMD51J20A 具有全套外設(shè),包括 SPI XiP 串行接口、ADC、DAC,并支持?jǐn)?shù)據(jù)加密。(圖片來源:Microchip technology)

為連接外部閃存,開發(fā)人員可以使用 ATSAMD51J20A 支持 SPI XiP 的 QSPI 外設(shè)。這樣,代碼可以直接從 Adesto 閃存執(zhí)行。ATSAMD51J20A 將 Adesto 閃存映射到 Arm 的高級(jí)高性能總線 (AHB) 程序存儲(chǔ)空間。為了保護(hù)串行閃存中的數(shù)據(jù),ATSAMD51J20A SIP XiP 支持對(duì)寫入外部 SPI 存儲(chǔ)器的數(shù)據(jù)進(jìn)行透明加擾,以及對(duì)從外部 SPI 存儲(chǔ)器讀取的數(shù)據(jù)進(jìn)行解擾。這有助于防止未經(jīng)授權(quán)復(fù)制固件和盜用系統(tǒng)。

Microchip 的 ATSAMD51J20A 32 位微控制器示意圖

圖 3:Microchip 的 ATSAMD51J20A 32 位微控制器具有支持 SPI XiP 串口的 QSPI 外設(shè)。它只需六個(gè)引腳即可輕松連接 Adesto 的 AT25SL321 串行閃存。(圖片來源:Digi-Key Electronics)

將 Microchip ATSAMD51J20A 與 Adesto 串行閃存器件一起使用

Microchip ATSAMD51J20A SPI XiP 外設(shè)具有三個(gè)寄存器,用于向外部串行 XiP 閃存發(fā)送命令。不同供應(yīng)商的串行閃存 XiP 存儲(chǔ)器器件使用不同的指令代碼,因此針對(duì)所用的特定供應(yīng)商存儲(chǔ)器,開發(fā)人員須按如下方式配置這些寄存器:

  1. 指令代碼寄存器包含用于訪問串行閃存的指令。對(duì)于以四通道 SPI 模式工作的 Adesto 閃存器件,如果固件從存儲(chǔ)器映射的 XiP 區(qū)域執(zhí)行代碼,則該寄存器包含“快速讀取四通道輸出”指令 0x6B。如果正在執(zhí)行寫入、擦除或狀態(tài)寄存器操作,則必須將該寄存器更改為相應(yīng)的指令代碼。

  2. 指令地址寄存器包含外部串行閃存中可訪問的閃存地址。當(dāng) Microchip 的 ATSAMD51J20A SPI XiP 配置為串行存儲(chǔ)器模式時(shí),SPI XiP 外設(shè)會(huì)自動(dòng)將該地址設(shè)置為存儲(chǔ)器映射的 AHB 存儲(chǔ)空間范圍 0x0400 0000 至 0x0500 0000 中由固件執(zhí)行的地址。

  3. 指令幀寄存器將 SPI XiP 配置為所用外部存儲(chǔ)器件的特定指令幀格式。這包括選擇 24 或 32 位的地址長(zhǎng)度,啟用雙倍數(shù)據(jù)速率 (DDR),是否支持連續(xù)讀取模式,以及操作碼長(zhǎng)度。

至于 Microchip SPI XiP 接口的其余部分,使用 Microchip SPI 驅(qū)動(dòng)程序即可輕松配置。

只要微控制器上的應(yīng)用固件在從 SPI XiP 存儲(chǔ)器映射區(qū)域執(zhí)行代碼,就不需要重新配置微控制器上的 SPI XiP 外設(shè)。Adesto 閃存還支持僅使用單個(gè) SI 引腳的讀取模式,相關(guān)指令代碼為 0x03。如果僅使用雙通道 SPI 模式,則指令代碼為 0x3B。這些代碼由應(yīng)用固件寫入指令代碼寄存器。

當(dāng)指令代碼寄存器改變后,刷新與存儲(chǔ)器映射地址空間相關(guān)的所有緩存不失為一種好習(xí)慣。讀取或?qū)懭氪虚W存狀態(tài)寄存器時(shí),應(yīng)先刷新緩存,然后禁用緩存。寫入閃存的存儲(chǔ)器映射區(qū)域時(shí),也應(yīng)這樣做。恢復(fù)存儲(chǔ)器讀取操作后,應(yīng)重新啟用緩存。

由于涉及高速數(shù)據(jù)傳輸,串行閃存應(yīng)放置在印刷電路板上盡可能靠近微控制器 SPI XiP 端口的地方。如果不可能,那么印制線長(zhǎng)度不應(yīng)超過 120 毫米 (mm)。時(shí)鐘信號(hào)應(yīng)至少是印刷電路板印制線寬度的三倍,并且遠(yuǎn)離其他信號(hào)以避免干擾。IO[0:3] 雙向數(shù)據(jù)信號(hào)間距應(yīng)保持在 10 mm 以內(nèi),以避免偏移。

總結(jié)

外部串行閃存器件可以實(shí)現(xiàn)快速固件代碼執(zhí)行,而不會(huì)像并行閃存芯片那樣,增加復(fù)雜性和占用過多的電路板空間。通過它可以輕松應(yīng)對(duì)程序代碼因隨時(shí)間推移而發(fā)生的擴(kuò)展,并支持現(xiàn)場(chǎng)更新且無需重新設(shè)計(jì)系統(tǒng)板。

下一篇: PLC、DCS、FCS三大控

上一篇: 運(yùn)用現(xiàn)成的 IEEE 802.

推薦產(chǎn)品

更多
主站蜘蛛池模板: 妖精视频黄| 美女偷拍精品视频在线观看 | 欧美激情a∨在线视频播放 欧美激情第二页 | 久久亚洲精品ab无码播放 | 青青草91| 亚洲情欲网 | 欧美一级做一级做片性十三 | 欧美毛片精品一区 | 91精品国产高清久久久久久 | 国产欧美日韩视频怡春院 | 爱久久精品国产 | 激情按摩系列片aaaa | 免费乱理伦片在线观看 | 成在线人免费视频一区二区三区 | 国产精品久久久久久久免费 | 天堂精品视频 | 狠狠色噜噜狠狠狠狠97俺也去 | 国内一级特黄女人精品片 | 在线免费观看亚洲视频 | 欧美精品成人a多人在线观看 | 99re5久久在热线播放 | 大香伊人中文字幕精品 | 亚洲男人第一无码av网站 | 天天爱天天做天天爽 | 免费看国产做爰大片 | 亚洲 欧美 日韩在线综合福利 | 永久毛片| 欧美日韩精品国产一区在线 | 男女真人一级毛片做暖爱 | 国产在播放一区 | 国产在线综合一区二区三区 | 日日躁夜夜躁狠狠躁 | 日韩免费视频播播 | 护士的小嫩嫩好紧好爽 | 黄色一级在线 | 亚洲乱码中文字幕在线 | 国产精品三级在线观看无码 | 在线观看一级毛片免费 | 99在线国产视频 | 久久se精品一区二区影院 | 无码少妇一区二区三区 |
请您留言

环球电气之家24小时服务热线:18001810020

提交