在系統(tǒng)級(jí)不斷追求更高性能的過(guò)程中,集成設(shè)備制造商 (IDM) 已經(jīng)精通開(kāi)發(fā)能夠在電氣挑戰(zhàn)環(huán)境中高速運(yùn)行的數(shù)字接口。標(biāo)準(zhǔn)接口,如 SPI 和 I2C,提供了一種相對(duì)簡(jiǎn)單的方法,以可靠和有效的方式互連來(lái)自不同供應(yīng)商的設(shè)備。其他類型的接口也是如此。
可以將數(shù)字域視為為希望使用“標(biāo)準(zhǔn)”技術(shù)快速構(gòu)建復(fù)雜系統(tǒng)的開(kāi)發(fā)人員提供的避風(fēng)港。事實(shí)上,嵌入式行業(yè)很大程度上依賴于“正常工作”的基于標(biāo)準(zhǔn)的接口,因?yàn)樗鼈優(yōu)閯?chuàng)新提供了框架。當(dāng)它們不“正常工作”時(shí),可能會(huì)導(dǎo)致混亂,尤其是在錯(cuò)誤解釋錯(cuò)誤原因的情況下。任何混淆都是可以理解的,因?yàn)檫@些接口在按照規(guī)范應(yīng)用時(shí)是健壯和可靠的。底層物理接口固定在硅片中的事實(shí)也可以提供保證。
各種形式的系統(tǒng)噪音
信號(hào)的任何失真都可以被解釋為噪聲,并且可以合理地假設(shè)噪聲在通信環(huán)境中最常見(jiàn);收到的信號(hào)不是發(fā)送的信號(hào)。這種直接相關(guān)性比較容易找到,但在某些情況下,因果關(guān)系并不那么容易確定。當(dāng)故障變得間歇性時(shí),挑戰(zhàn)變得更加復(fù)雜。
當(dāng)今的微控制器旨在以最少的配置提供可靠的操作。在串行接口的情況下,這可能包括默認(rèn)為 I/O 引腳上的高驅(qū)動(dòng)電流,以對(duì)抗長(zhǎng) PCB 走線或高容性負(fù)載的影響。在某些情況下,這可能導(dǎo)致接口過(guò)度驅(qū)動(dòng),進(jìn)而導(dǎo)致衍生效應(yīng)被解釋為錯(cuò)誤或故障。
例如,串行閃存設(shè)備提供了許多高級(jí)功能,可確保可靠運(yùn)行并允許對(duì)設(shè)備進(jìn)行查詢。這可以包括噪聲過(guò)濾器、高級(jí)自適應(yīng)編程和管理單元余量的擦除算法。一些制造商還在存儲(chǔ)元件中包含 ECC,以在每次寫(xiě)入操作時(shí)保存額外的元數(shù)據(jù),以允許檢測(cè)和糾正單個(gè)或多個(gè)位錯(cuò)誤,但當(dāng)噪聲破壞通信接口總線上的基本消息事務(wù)時(shí),此 ECC 修復(fù)將無(wú)濟(jì)于事。
SPI 接口上的噪聲可能會(huì)被誤解為額外的時(shí)鐘脈沖。由于 SPI 是時(shí)鐘驅(qū)動(dòng)的接口,因此會(huì)產(chǎn)生一些影響,例如命令被忽略、數(shù)據(jù)被誤解、使用錯(cuò)誤命令等。但是,噪聲也帶有能量,在某些情況下,這種能量本身會(huì)在設(shè)備操作中引入錯(cuò)誤。
電荷泵和過(guò)沖
在大多數(shù)情況下,數(shù)字接口可以容忍信號(hào)中的一些過(guò)沖或下沖。然而,不應(yīng)忘記曲線下的能量仍然存在,并且在某些電路中這可能是破壞性的。
一個(gè)典型的例子是串行閃存中的電荷泵電路。如果 SPI 總線信號(hào)包含大量噪聲,則該信號(hào)中的能量可能會(huì)傳播到電荷泵并破壞其運(yùn)行。
閃存中的電荷泵是一項(xiàng)關(guān)鍵功能,因?yàn)樗峁┝烁淖兇鎯?chǔ)單元偏置所需的功率,并有效地存儲(chǔ)邏輯 1 或 0。寫(xiě)入/擦除過(guò)程是閃存操作的關(guān)鍵時(shí)刻存儲(chǔ)器,在此期間對(duì)電荷泵的任何中斷都可能導(dǎo)致寫(xiě)入或擦除錯(cuò)誤,雖然可以檢測(cè)到這些錯(cuò)誤,但它們有可能不會(huì)很明顯。
這種錯(cuò)誤很容易被解釋為閃存設(shè)備中的故障。嵌入式設(shè)計(jì)人員非常了解閃存具有制造商保證的有限數(shù)量的讀寫(xiě)周期這一事實(shí),但可能不太了解的是提供沒(méi)有太多過(guò)沖或下沖的干凈接口的重要性。
例如,考慮圖 1 中的圖像。它顯示了六個(gè)閃存設(shè)備的健康單元邊距。在用表示邏輯 1(2V 至 5V)和 0(》6v)的數(shù)據(jù)編程的單元之間出現(xiàn)了兩種不同的模式。相比之下,圖 2 中的圖像顯示了三個(gè)閃存設(shè)備的存儲(chǔ)單元余量,這些設(shè)備因控制線上的過(guò)沖和下沖而遭受數(shù)據(jù)損壞。

圖 1:該圖顯示了已編程和擦除的閃存的良好單元邊緣分離數(shù)據(jù)。(來(lái)源:阿德斯托)

圖 2:該圖顯示了閃存的單元邊緣分離數(shù)據(jù)較差,其中 SPI 線路上存在明顯的噪聲。(來(lái)源:阿德斯托)
多種因素會(huì)影響噪聲水平,例如工作頻率、信號(hào)幅度、MCU 驅(qū)動(dòng)水平以及噪聲尖峰中包含的能量。PCB 設(shè)計(jì)和信號(hào)之間的串?dāng)_也可能是影響因素。
圖 2 中的數(shù)據(jù)顯示了過(guò)度過(guò)沖和下沖對(duì)串行接口的影響。下面的圖 3 顯示了這種過(guò)沖在實(shí)際應(yīng)用中的樣子。

圖 3:該跡線圖像清楚地顯示了 SPI 線路上存在的過(guò)沖和下沖導(dǎo)致 5.65V 的峰峰值電壓,超過(guò)了閃存規(guī)范中記錄的絕對(duì)最大值。(來(lái)源:阿德斯托)
這種噪聲的結(jié)果是錯(cuò)誤的設(shè)備操作,表現(xiàn)為串行閃存存儲(chǔ)值中的錯(cuò)誤。最初,錯(cuò)誤的真正影響被忽略了,因?yàn)橐暂^低頻率輪詢狀態(tài)寄存器報(bào)告的錯(cuò)誤較少,導(dǎo)致設(shè)計(jì)人員對(duì)故障的根本原因做出錯(cuò)誤的假設(shè)。
確定真正的根本原因
盡管此故障表現(xiàn)為內(nèi)存故障,但根本原因并非閃存設(shè)備。Adesto 工程師通過(guò)探測(cè) SPI 信號(hào)并識(shí)別存在的系統(tǒng)噪聲發(fā)現(xiàn)了這一點(diǎn)。雖然噪聲可能部分歸因于 MCU 和閃存之間的 PCB 軌道上存在的阻抗不匹配,但這并不是全部。
噪聲的來(lái)源實(shí)際上是 MCU 接口,它在上電時(shí)默認(rèn)為高驅(qū)動(dòng)電平。過(guò)度驅(qū)動(dòng)足以導(dǎo)致 SPI 線路上的過(guò)沖和下沖,在某些情況下可能會(huì)被誤解為信號(hào)轉(zhuǎn)換,從而導(dǎo)致讀取或?qū)懭脲e(cuò)誤。然而,在這種情況下,發(fā)現(xiàn)過(guò)沖具有足夠的能量來(lái)破壞 Flash 電荷泵,這反過(guò)來(lái)又會(huì)導(dǎo)致錯(cuò)誤。
在客戶的設(shè)計(jì)中,所使用的微控制器為其 I/O 提供了可配置的驅(qū)動(dòng)電流,在啟動(dòng)時(shí)默認(rèn)為 HIGH。由于應(yīng)用程序代碼在初始化期間沒(méi)有修改此級(jí)別,因此它在正常操作中保持高電平。
對(duì)于 SPI 總線上的其他設(shè)備,這種影響可能并不明顯,因?yàn)閿?shù)字接口通常被設(shè)計(jì)成穩(wěn)健的。閃存的敏感特性,需要以更高的頻率運(yùn)行,特別是電荷泵的運(yùn)行,使存儲(chǔ)器容易出現(xiàn)過(guò)沖/下沖。這導(dǎo)致了最初被誤解為閃存設(shè)備故障的錯(cuò)誤操作。
糾正錯(cuò)誤
通過(guò)固件降低驅(qū)動(dòng)電流可將過(guò)沖和下沖有效地減少到零(圖 4),進(jìn)而導(dǎo)致閃存的無(wú)錯(cuò)誤運(yùn)行。

圖 4:沒(méi)有明顯的過(guò)沖,串行閃存的電荷泵能夠正確運(yùn)行并提供可靠的功能。(來(lái)源:阿德斯托)
故障的性質(zhì)表明,F(xiàn)lash 設(shè)備正在盡一切努力補(bǔ)償錯(cuò)誤的影響,即 SPI 接口上的系統(tǒng)噪聲過(guò)大。
也許這里最重要的一點(diǎn)是,原因?qū)嶋H上是所使用的 MCU 的設(shè)計(jì)特性,它默認(rèn)為在大多數(shù)情況下完全可以接受的操作模式。高驅(qū)動(dòng)輸出和不完美的 PCB 電感相結(jié)合造成了導(dǎo)致間歇性故障的條件。通過(guò)簡(jiǎn)單的固件更改,減少 MCU 上的驅(qū)動(dòng)輸出,解決了這個(gè)問(wèn)題。
這突出了這里真正的教訓(xùn):看似真正的組件故障實(shí)際上可能是設(shè)計(jì)中的疏忽。更換存儲(chǔ)設(shè)備本來(lái)是對(duì)最初認(rèn)為是故障的自然反應(yīng),但通過(guò)客戶和供應(yīng)商以及硬件和軟件工程團(tuán)隊(duì)之間的牢固工作關(guān)系,找到了實(shí)際原因并應(yīng)用了正確的解決方案。 結(jié)果是明顯更好的設(shè)計(jì)、更高的系統(tǒng)性能和更高的可靠性。
結(jié)論
當(dāng)沒(méi)有明顯影響時(shí),系統(tǒng)噪音很容易被消除。在最佳條件下,間歇性錯(cuò)誤特別難以定位,但當(dāng)錯(cuò)誤被誤解時(shí),挑戰(zhàn)變得更加困難。
過(guò)沖可能是最不明顯的系統(tǒng)噪聲形式,但正如這里所解釋的,它的影響可能很大。閃存是一種可靠的技術(shù),但它依賴于精心設(shè)計(jì)的接口。串行接口上??的過(guò)多噪聲有可能傳播到電荷泵電路,從而影響編程和擦除電路的操作。這會(huì)導(dǎo)致無(wú)法預(yù)料的特性,這些特性很容易被解釋為設(shè)備本身的故障,表現(xiàn)為存儲(chǔ)單元故障,以及不一致或不可靠的編程和擦除操作。
在這種情況下,更換閃存并假設(shè)問(wèn)題已得到解決,可能會(huì)導(dǎo)致產(chǎn)品上市時(shí)可能會(huì)在某個(gè)時(shí)候失敗。相反,設(shè)計(jì)人員能夠?qū)⒕幊毯筒脸恢滦蕴岣咭粋€(gè)重要因素,有效的耐久性從檢測(cè)到錯(cuò)誤之前不可接受的約 20K 周期躍升至超過(guò) 250 萬(wàn)個(gè)周期,沒(méi)有錯(cuò)誤,并且不需要補(bǔ)充錯(cuò)誤檢測(cè)和糾正例程。
現(xiàn)代微控制器提供的可配置性水平既可以看作是幫助,也可以看作是障礙。驅(qū)動(dòng)電流可配置的事實(shí)可能是該示例中過(guò)沖的原因。然而,能夠降低驅(qū)動(dòng)強(qiáng)度對(duì)于解決問(wèn)題也很有效。
Paul Hill是 Adesto 的高級(jí)營(yíng)銷總監(jiān),負(fù)責(zé)公司的特定應(yīng)用非易失性存儲(chǔ)器產(chǎn)品線。他在航空電子系統(tǒng)設(shè)計(jì)等領(lǐng)域擁有超過(guò) 30 年的行業(yè)經(jīng)驗(yàn);半導(dǎo)體、MCU、內(nèi)存產(chǎn)品應(yīng)用;和內(nèi)存產(chǎn)品營(yíng)銷。保羅畢業(yè)于南安普頓索倫特大學(xué)。他擁有多項(xiàng)關(guān)于內(nèi)存產(chǎn)品架構(gòu)和功能的專利。
Gordon MacNee是一名負(fù)責(zé)北歐的 Adesto 現(xiàn)場(chǎng)應(yīng)用經(jīng)理。他畢業(yè)于格拉斯哥大學(xué),在那里他學(xué)習(xí)了物理學(xué)。Gordon 在電子行業(yè)工作了 30 多年,在廣泛的細(xì)分市場(chǎng)推廣、設(shè)計(jì)和支持涉及微控制器、有線通信、射頻和內(nèi)存產(chǎn)品的項(xiàng)目。
-
mcu
+關(guān)注
關(guān)注
147文章
18593瀏覽量
386032 -
pcb
+關(guān)注
關(guān)注
4391文章
23729瀏覽量
420461 -
FlaSh
+關(guān)注
關(guān)注
10文章
1715瀏覽量
154637 -
存儲(chǔ)器
+關(guān)注
關(guān)注
39文章
7713瀏覽量
170785
發(fā)布評(píng)論請(qǐng)先 登錄
如何在ModusToolbox 3.0.0中添加串行閃存庫(kù)CAN?
如何將Littlefs安裝到通過(guò)qspi連接到電路板的外部串行閃存上?
原創(chuàng):應(yīng)用串行NOR閃存提升內(nèi)存處理能力
串行閃存和MPFS/FAT文件系統(tǒng)不會(huì)掛載該怎么辦?
數(shù)字接口中的系統(tǒng)級(jí)噪聲如何導(dǎo)致串行閃存的虛假報(bào)錯(cuò)?
怎么實(shí)現(xiàn)串行閃存小體積的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)?
新型串行閃存滿足大容量存儲(chǔ)應(yīng)用需求
基于串行閃存小體積的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
輸電網(wǎng)虛假數(shù)據(jù)攻擊
業(yè)界最快串行閃存:Spansion? FL-S NOR閃存系列
關(guān)于NAND閃存有哪些觀念是錯(cuò)誤的?
Mate9系列閃存近日終于宣判了,法院認(rèn)定華為不構(gòu)成虛假宣傳
NAND閃存有那些錯(cuò)誤觀念
串行SPI NOR閃存與并行NOR閃存之間的對(duì)比
數(shù)字接口中的系統(tǒng)級(jí)噪聲如何導(dǎo)致串行閃存中的虛假錯(cuò)誤

系統(tǒng)級(jí)噪聲中串行閃存的虛假錯(cuò)誤問(wèn)題
評(píng)論