當今的嵌入式系統,例如物聯網中的智能設備和端點,通常需要即時啟動功能,同時將高性能與低功耗相結合。所有電子系統還應具備從瞬態故障引起的條件中恢復的能力。此類故障通常與信號完整性密切相關,這在當今的高速設計中變得更具挑戰性。
從運行時故障中恢復通常需要能夠對系統的全部或部分進行受控復位。在極端情況下,如果沒有提供軟復位,這可能表明需要對設備進行電源循環。對于遠程位置的物聯網端點,這可能是有問題且昂貴的,因此僅提供了一個示例,說明復位功能在嵌入式設計中變得多么重要。
串行外設接口 (SPI)廣泛用于將外設和內存連接到嵌入式系統中的微控制器或處理器。復位串行閃存是初始化或恢復的重要部分。為了使主機處理器更容易復位 SPI 存儲器,行業標準機構 JEDEC 定義了一個串行復位協議,該協議避免了對專用復位引腳的需求。本文介紹了復位協議及其使用,特別是擴展 SPI (xSPI) 和從串行非易失性存儲器執行代碼。
SPI 閃存的作用
相對于并行總線,串行接口的主要優點是減少了所需的信號數量。在大多數情況下,更少的信號和 I/O 引腳可降低組件成本和功耗,因為驅動片外信號所需的功率可能是總功耗的重要因素。
最初的 SPI 規范有四個信號:用于同步數據傳輸的串行時鐘 (SCLK);一個或多個芯片選擇 (SS) 可實現對多個目標的尋址,兩個數據信號(MOSI 和 MISO)可在每個方向傳輸數據。該標準已以各種方式擴展以支持更高的性能,現在包括通過 SPI 接口執行軟復位的能力。
為了增加帶寬,SPI 接口得到了發展和發展,現在變體包括雙 SPI,它使用半雙工配置中的兩個數據引腳每個時鐘周期發送兩個位,以及四和八進制 SPI,它添加更多數據線到每個時鐘周期傳輸更多位。此外,它們都可以在雙倍數據速率 (DDR) 模式下使用,該模式在兩個時鐘沿傳輸數據。
四路和八路 SPI 接口由 JEDEC 擴展 SPI (xSPI) 標準 JESD251 定義,該標準提供了硬件指南以實現系統中高吞吐量 xSPI 設備的無故障集成。
最近,JEDEC 還定義并發布了一個標準,規定通過串行接口重置設備。該復位協議在 JEDEC 標準 JESD252 中定義,無需串行閃存中的專用復位引腳。
該標準定義了芯片選擇、時鐘和輸入數據信號需要遵循的特定序列,以使設備執行硬件復位。使用這種模式是為了避免由串行數據線上的噪聲引起的雜散轉換不會導致意外復位。在復位期間,時鐘信號保持低電平,進一步確保引腳轉換不會被解釋為數據傳輸,而片選引腳用于確保只有特定設備被復位。
SPI閃存廣泛用于嵌入式產品,尤其是代碼。這使得它對整體功能至關重要,因此保持可靠運行至關重要,包括在必要時發出重置的能力。
使用復位進行初始化和恢復
系統通常在上電時使用復位功能,以確保系統的所有部分都以已知狀態啟動。復位還可用于從運行期間可能由硬件問題引起的嚴重故障中恢復,其中包括信號完整性和時序問題、電磁干擾或由背景輻射引起的隨機存儲器損壞(另請參見“緩解亞穩態”)。軟件錯誤也可能導致程序崩潰和無響應。
這些偶爾出現的錯誤可能只對消費者造成不便,但對于物聯網來說可能是一個嚴重的問題,其中成千上萬的節點需要具有高水平的可用性。越來越多地,這些設備可能無法輕松訪問以進行手動重置或電源循環。嵌入式系統通常會使用看門狗定時器和其他自檢機制來檢測故障并采取糾正措施。這可能意味著執行“軟”重置,其中只有必要的子系統在處理器的控制下被重置。
SPI 接口是有狀態的。例如,在接收到命令后,閃存將期待一定數量的地址或數據傳輸。任何導致主機和內存之間失去同步的錯誤都將導致不可預知的行為。要從這種情況中恢復,主機需要能夠通過執行軟復位將串行存儲器復位到已知狀態。這種復位有助于保持系統穩定,并且在沒有任何外部故障指示的情況下進行。因此,它們現在可以被視為嵌入式系統操作的標準功能。
雖然一些串行閃存可能有一個專用的復位引腳,但其他的使用多路復用來減少引腳數,在這種情況下,復位引腳也將是一個 I/O 引腳,在某些情況下,制造商可能不會在全部。即使有可用的復位引腳,將微控制器的輸出專用于控制它也可能不切實際。JESD252 規范已經制定,因此串行閃存器件仍然可以支持復位功能,而無需專用或物理復位引腳。除了錯誤恢復之外,串行復位機制可以在啟動時使用,以確保在電源穩定后正確啟動串行存儲器。
就地執行
傳統的串行閃存通過低速 SPI 連接,這意味著如果這些設備用于存儲程序存儲器,處理器必須先將代碼復制到片上 SRAM 中才能執行。就地執行或 XiP 是串行閃存,它通過提供更快和更寬的接口消除了這一要求。反過來,這減少了對片上 SRAM 的需求,從而可以降低主機微控制器或處理器的價格。
Adesto 的 EcoXiP具有八通道 SPI 接口,與其他八通道器件相比,具有顯著降低的功耗和比四通道 SPI 存儲器更高的性能,可提供高性能。
對于現代嵌入式設備,XiP 是一項有價值的發展,尤其是因為片上閃存價格昂貴且尺寸有限。微控制器通常具有最大 1 MB 的內部閃存,但現代物聯網節點通常需要更多的代碼空間來存儲通信堆棧、無線接口、音頻處理、機器視覺和應用軟件等功能。將 XiP 與外部閃存結合使用可實現更大的代碼存儲空間。它還通過消除代碼傳輸階段來縮短啟動時間。
XiP 的使用使 SRAM 可自由用于數據存儲而不是代碼,從而減少了所需的 SRAM 數量。這可以通過消除對外部 SRAM 的需要或允許使用具有較少片上 SRAM 的微控制器來降低系統成本。雖然 NOR 閃存允許隨機訪問,但微控制器需要將串行接口映射到自己的內存空間,因此它被視為內存的另一個區域,因此可以支持 XiP。為了進一步提高性能,EcoXiP 針對代碼執行進行了優化。
標準 SPI 接口專為隨機訪問而設計;每次讀取都包含一個命令、一個地址和返回的數據。數據返回后,可以再次請求。然而,指令通常是從連續的地址中獲取的。EcoXiP 接口通過為每個讀取請求提供連續字節來利用這一點,直到發送具有新地址的命令。這可以通過消除每次獲取發送新地址的延遲來使總線吞吐量翻倍。EcoXiP 可以以 156 MB/s(峰值 266 MB/s)的持續速率提供指令。
傳統 NOR 閃存的另一個問題是寫入比讀取慢幾個數量級。這意味著在執行代碼時無法將數據寫入閃存,因為這樣做會對性能產生重大影響。EcoXiP 通過靈活地將內存劃分為獨立的 bank 來支持并發讀寫。這使得使用 XiP 執行代碼成為可能,同時將數據保存到內存并執行無線 (OTA) 更新。
支持 JEDEC 標準,包括遠程復位,使業界更容易采用帶有 XiP 的串行閃存。
結論
能夠在主機處理器的控制下復位串行閃存是嵌入式系統的一項重要要求。JEDEC JESD252 串行復位協議無需存儲器上的復位引腳或來自微控制器或主機處理器的專用信號即可實現這一點。
盡管使用串行復位和 XiP 會影響主機和內存的設計,但越來越多的微控制器正在增加對這些標準的支持。Adesto 是第一家推出支持串行閃存復位信號協議和 xSPI 標準的串行 NOR 閃存的制造商。EcoXiP 提供所需的執行性能,同時降低系統功耗和系統成本。它還實現了串行閃存發現的標準,并具有提高電源效率和安全性的其他功能。
通過這些技術,嵌入式工程師可以更好地應對他們在開發面向物聯網的產品時面臨的挑戰。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19890瀏覽量
235147 -
嵌入式
+關注
關注
5150文章
19668瀏覽量
317466 -
存儲器
+關注
關注
38文章
7650瀏覽量
167364
發布評論請先 登錄
嵌入式開發就業還有前景嗎?
嵌入式開發入門指南:從零開始學習嵌入式
NanoEdge AI Studio 面向STM32開發人員機器學習(ML)技術

嵌入式開發:高門檻的系統性工程與 996 的行業困局

嵌入式去哪個城市好?
IAR發布云端平臺,助力現代嵌入式軟件開發團隊
代碼+案例+生態:武漢芯源半導體CW32嵌入式開發實戰正式出版
GoPoint嵌入式開發平臺 釋放i.MX潛力 簡化Linux開發

嵌入式開發必備-RK3562演示Linux常用系統查詢命令(上)觸覺智能出品

如何使用 RISC-V 進行嵌入式開發
嵌入式開發常見問題排查

評論