在系統(tǒng)級不斷追求更高性能的過程中,集成設(shè)備制造商 (IDM) 已經(jīng)精通開發(fā)能夠在電氣挑戰(zhàn)環(huán)境中高速運行的數(shù)字接口。標(biāo)準(zhǔn)接口,如 SPI 和 I2C,提供了一種相對簡單的方法,以可靠和有效的方式互連來自不同供應(yīng)商的設(shè)備。其他類型的接口也是如此。
可以將數(shù)字域視為為希望使用“標(biāo)準(zhǔn)”技術(shù)快速構(gòu)建復(fù)雜系統(tǒng)的開發(fā)人員提供的避風(fēng)港。事實上,嵌入式行業(yè)很大程度上依賴于“正常工作”的基于標(biāo)準(zhǔn)的接口,因為它們?yōu)閯?chuàng)新提供了框架。當(dāng)它們不“正常工作”時,可能會導(dǎo)致混亂,尤其是在錯誤解釋錯誤原因的情況下。任何混淆都是可以理解的,因為這些接口在按照規(guī)范應(yīng)用時是健壯和可靠的。底層物理接口固定在硅片中的事實也可以提供保證。
各種形式的系統(tǒng)噪音
信號的任何失真都可以被解釋為噪聲,并且可以合理地假設(shè)噪聲在通信環(huán)境中最常見;收到的信號不是發(fā)送的信號。這種直接相關(guān)性比較容易找到,但在某些情況下,因果關(guān)系并不那么容易確定。當(dāng)故障變得間歇性時,挑戰(zhàn)變得更加復(fù)雜。
當(dāng)今的微控制器旨在以最少的配置提供可靠的操作。在串行接口的情況下,這可能包括默認(rèn)為 I/O 引腳上的高驅(qū)動電流,以對抗長 PCB 走線或高容性負(fù)載的影響。在某些情況下,這可能導(dǎo)致接口過度驅(qū)動,進(jìn)而導(dǎo)致衍生效應(yīng)被解釋為錯誤或故障。
例如,串行閃存設(shè)備提供了許多高級功能,可確??煽窟\行并允許對設(shè)備進(jìn)行查詢。這可以包括噪聲過濾器、高級自適應(yīng)編程和管理單元余量的擦除算法。一些制造商還在存儲元件中包含 ECC,以在每次寫入操作時保存額外的元數(shù)據(jù),以允許檢測和糾正單個或多個位錯誤,但當(dāng)噪聲破壞通信接口總線上的基本消息事務(wù)時,此 ECC 修復(fù)將無濟(jì)于事。
SPI 接口上的噪聲可能會被誤解為額外的時鐘脈沖。由于 SPI 是時鐘驅(qū)動的接口,因此會產(chǎn)生一些影響,例如命令被忽略、數(shù)據(jù)被誤解、使用錯誤命令等。但是,噪聲也帶有能量,在某些情況下,這種能量本身會在設(shè)備操作中引入錯誤。
電荷泵和過沖
在大多數(shù)情況下,數(shù)字接口可以容忍信號中的一些過沖或下沖。然而,不應(yīng)忘記曲線下的能量仍然存在,并且在某些電路中這可能是破壞性的。
一個典型的例子是串行閃存中的電荷泵電路。如果 SPI 總線信號包含大量噪聲,則該信號中的能量可能會傳播到電荷泵并破壞其運行。
閃存中的電荷泵是一項關(guān)鍵功能,因為它提供了改變存儲單元偏置所需的功率,并有效地存儲邏輯 1 或 0。寫入/擦除過程是閃存操作的關(guān)鍵時刻存儲器,在此期間對電荷泵的任何中斷都可能導(dǎo)致寫入或擦除錯誤,雖然可以檢測到這些錯誤,但它們有可能不會很明顯。
這種錯誤很容易被解釋為閃存設(shè)備中的故障。嵌入式設(shè)計人員非常了解閃存具有制造商保證的有限數(shù)量的讀寫周期這一事實,但可能不太了解的是提供沒有太多過沖或下沖的干凈接口的重要性。
例如,考慮圖 1 中的圖像。它顯示了六個閃存設(shè)備的健康單元邊距。在用表示邏輯 1(2V 至 5V)和 0(》6v)的數(shù)據(jù)編程的單元之間出現(xiàn)了兩種不同的模式。相比之下,圖 2 中的圖像顯示了三個閃存設(shè)備的存儲單元余量,這些設(shè)備因控制線上的過沖和下沖而遭受數(shù)據(jù)損壞。
圖 1:該圖顯示了已編程和擦除的閃存的良好單元邊緣分離數(shù)據(jù)。(來源:阿德斯托)
圖 2:該圖顯示了閃存的單元邊緣分離數(shù)據(jù)較差,其中 SPI 線路上存在明顯的噪聲。(來源:阿德斯托)
多種因素會影響噪聲水平,例如工作頻率、信號幅度、MCU 驅(qū)動水平以及噪聲尖峰中包含的能量。PCB 設(shè)計和信號之間的串?dāng)_也可能是影響因素。
圖 2 中的數(shù)據(jù)顯示了過度過沖和下沖對串行接口的影響。下面的圖 3 顯示了這種過沖在實際應(yīng)用中的樣子。
圖 3:該跡線圖像清楚地顯示了 SPI 線路上存在的過沖和下沖導(dǎo)致 5.65V 的峰峰值電壓,超過了閃存規(guī)范中記錄的絕對最大值。(來源:阿德斯托)
這種噪聲的結(jié)果是錯誤的設(shè)備操作,表現(xiàn)為串行閃存存儲值中的錯誤。最初,錯誤的真正影響被忽略了,因為以較低頻率輪詢狀態(tài)寄存器報告的錯誤較少,導(dǎo)致設(shè)計人員對故障的根本原因做出錯誤的假設(shè)。
確定真正的根本原因
盡管此故障表現(xiàn)為內(nèi)存故障,但根本原因并非閃存設(shè)備。Adesto 工程師通過探測 SPI 信號并識別存在的系統(tǒng)噪聲發(fā)現(xiàn)了這一點。雖然噪聲可能部分歸因于 MCU 和閃存之間的 PCB 軌道上存在的阻抗不匹配,但這并不是全部。
噪聲的來源實際上是 MCU 接口,它在上電時默認(rèn)為高驅(qū)動電平。過度驅(qū)動足以導(dǎo)致 SPI 線路上的過沖和下沖,在某些情況下可能會被誤解為信號轉(zhuǎn)換,從而導(dǎo)致讀取或?qū)懭脲e誤。然而,在這種情況下,發(fā)現(xiàn)過沖具有足夠的能量來破壞 Flash 電荷泵,這反過來又會導(dǎo)致錯誤。
在客戶的設(shè)計中,所使用的微控制器為其 I/O 提供了可配置的驅(qū)動電流,在啟動時默認(rèn)為 HIGH。由于應(yīng)用程序代碼在初始化期間沒有修改此級別,因此它在正常操作中保持高電平。
對于 SPI 總線上的其他設(shè)備,這種影響可能并不明顯,因為數(shù)字接口通常被設(shè)計成穩(wěn)健的。閃存的敏感特性,需要以更高的頻率運行,特別是電荷泵的運行,使存儲器容易出現(xiàn)過沖/下沖。這導(dǎo)致了最初被誤解為閃存設(shè)備故障的錯誤操作。
糾正錯誤
通過固件降低驅(qū)動電流可將過沖和下沖有效地減少到零(圖 4),進(jìn)而導(dǎo)致閃存的無錯誤運行。
圖 4:沒有明顯的過沖,串行閃存的電荷泵能夠正確運行并提供可靠的功能。(來源:阿德斯托)
故障的性質(zhì)表明,F(xiàn)lash 設(shè)備正在盡一切努力補償錯誤的影響,即 SPI 接口上的系統(tǒng)噪聲過大。
也許這里最重要的一點是,原因?qū)嶋H上是所使用的 MCU 的設(shè)計特性,它默認(rèn)為在大多數(shù)情況下完全可以接受的操作模式。高驅(qū)動輸出和不完美的 PCB 電感相結(jié)合造成了導(dǎo)致間歇性故障的條件。通過簡單的固件更改,減少 MCU 上的驅(qū)動輸出,解決了這個問題。
這突出了這里真正的教訓(xùn):看似真正的組件故障實際上可能是設(shè)計中的疏忽。更換存儲設(shè)備本來是對最初認(rèn)為是故障的自然反應(yīng),但通過客戶和供應(yīng)商以及硬件和軟件工程團(tuán)隊之間的牢固工作關(guān)系,找到了實際原因并應(yīng)用了正確的解決方案。 結(jié)果是明顯更好的設(shè)計、更高的系統(tǒng)性能和更高的可靠性。
結(jié)論
當(dāng)沒有明顯影響時,系統(tǒng)噪音很容易被消除。在最佳條件下,間歇性錯誤特別難以定位,但當(dāng)錯誤被誤解時,挑戰(zhàn)變得更加困難。
過沖可能是最不明顯的系統(tǒng)噪聲形式,但正如這里所解釋的,它的影響可能很大。閃存是一種可靠的技術(shù),但它依賴于精心設(shè)計的接口。串行接口上??的過多噪聲有可能傳播到電荷泵電路,從而影響編程和擦除電路的操作。這會導(dǎo)致無法預(yù)料的特性,這些特性很容易被解釋為設(shè)備本身的故障,表現(xiàn)為存儲單元故障,以及不一致或不可靠的編程和擦除操作。
在這種情況下,更換閃存并假設(shè)問題已得到解決,可能會導(dǎo)致產(chǎn)品上市時可能會在某個時候失敗。相反,設(shè)計人員能夠?qū)⒕幊毯筒脸恢滦蕴岣咭粋€重要因素,有效的耐久性從檢測到錯誤之前不可接受的約 20K 周期躍升至超過 250 萬個周期,沒有錯誤,并且不需要補充錯誤檢測和糾正例程。
現(xiàn)代微控制器提供的可配置性水平既可以看作是幫助,也可以看作是障礙。驅(qū)動電流可配置的事實可能是該示例中過沖的原因。然而,能夠降低驅(qū)動強度對于解決問題也很有效。
Paul Hill是 Adesto 的高級營銷總監(jiān),負(fù)責(zé)公司的特定應(yīng)用非易失性存儲器產(chǎn)品線。他在航空電子系統(tǒng)設(shè)計等領(lǐng)域擁有超過 30 年的行業(yè)經(jīng)驗;半導(dǎo)體、MCU、內(nèi)存產(chǎn)品應(yīng)用;和內(nèi)存產(chǎn)品營銷。保羅畢業(yè)于南安普頓索倫特大學(xué)。他擁有多項關(guān)于內(nèi)存產(chǎn)品架構(gòu)和功能的專利。
Gordon MacNee是一名負(fù)責(zé)北歐的 Adesto 現(xiàn)場應(yīng)用經(jīng)理。他畢業(yè)于格拉斯哥大學(xué),在那里他學(xué)習(xí)了物理學(xué)。Gordon 在電子行業(yè)工作了 30 多年,在廣泛的細(xì)分市場推廣、設(shè)計和支持涉及微控制器、有線通信、射頻和內(nèi)存產(chǎn)品的項目。
-
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
367079 -
pcb
+關(guān)注
關(guān)注
4368文章
23492瀏覽量
409772 -
FlaSh
+關(guān)注
關(guān)注
10文章
1679瀏覽量
151853 -
存儲器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167425
發(fā)布評論請先 登錄
如何在ModusToolbox 3.0.0中添加串行閃存庫CAN?
如何將Littlefs安裝到通過qspi連接到電路板的外部串行閃存上?
原創(chuàng):應(yīng)用串行NOR閃存提升內(nèi)存處理能力
串行閃存和MPFS/FAT文件系統(tǒng)不會掛載該怎么辦?
數(shù)字接口中的系統(tǒng)級噪聲如何導(dǎo)致串行閃存的虛假報錯?
怎么實現(xiàn)串行閃存小體積的數(shù)據(jù)采集系統(tǒng)設(shè)計?
新型串行閃存滿足大容量存儲應(yīng)用需求
基于串行閃存小體積的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)

輸電網(wǎng)虛假數(shù)據(jù)攻擊

業(yè)界最快串行閃存:Spansion? FL-S NOR閃存系列
關(guān)于NAND閃存有哪些觀念是錯誤的?
Mate9系列閃存近日終于宣判了,法院認(rèn)定華為不構(gòu)成虛假宣傳
NAND閃存有那些錯誤觀念
串行SPI NOR閃存與并行NOR閃存之間的對比
數(shù)字接口中的系統(tǒng)級噪聲如何導(dǎo)致串行閃存中的虛假錯誤

評論