調(diào)試IoT設(shè)備時(shí)彌合硬件和軟件差距

        不要忽略默認(rèn)的MCU設(shè)置。

        調(diào)試是嵌入式設(shè)計(jì)的重要組成部分,必須彌合硬件/軟件之間的鴻溝。

        在系統(tǒng)級(jí)別,嵌入式設(shè)計(jì)的功能越來(lái)越多地由固件定義,因此,為了避免漏洞,經(jīng)過(guò)特定培訓(xùn)的工程師需要在項(xiàng)目的設(shè)計(jì)階段緊密合作。

        這也意味著,當(dāng)不可避免地出現(xiàn)漏洞時(shí),需要抑制彼此推脫的沖動(dòng)。

        也許正是軟件定義的硬件特性使現(xiàn)代嵌入式設(shè)計(jì)成為一個(gè)有趣的行業(yè)。

        每個(gè)新的微控制器(MCU)似乎都提供了更高級(jí)別的集成和更高級(jí)的功能,但是直到對(duì)其進(jìn)行編程后才完全啟用。

        盡管這種集成和配置顯然是一個(gè)促進(jìn)因素,并且正在為產(chǎn)品設(shè)計(jì)帶來(lái)巨大進(jìn)步,但有時(shí)可能會(huì)給工程師帶來(lái)無(wú)法預(yù)料的問(wèn)題。

        諸如MCU之類(lèi)的嵌入式組件所提供的功能和可配置功能正在不斷改進(jìn),并且這些組件提供了并非每種設(shè)計(jì)都需要的許多功能。

        這些附加功能可能會(huì)被忽略,從而導(dǎo)致較少的問(wèn)題。

        正如大多數(shù)工程師所了解的那樣,這些功能通常由寄存器控制,這些寄存器可以通過(guò)軟件進(jìn)行修改。

        因此,它們?cè)诖蜷_(kāi)時(shí)具有默認(rèn)設(shè)置,并且如果保持不變,它們將繼續(xù)在這些默認(rèn)設(shè)置下運(yùn)行。

        在許多情況下,這可能不會(huì)引起問(wèn)題。

        但是,如果這些功能尚未使用,并且可能尚未經(jīng)過(guò)測(cè)試,則可能會(huì)以意想不到的方式產(chǎn)生影響。

        由常規(guī)功能引起的系統(tǒng)中可能會(huì)產(chǎn)生漏洞,而這些功能可能會(huì)被忽略。

        即使在理想條件下,查找故障也可能很困難,耗時(shí)且成本高昂。

        通常,我們通過(guò)故障的影響來(lái)識(shí)別故障,這些故障通常為工程師提供足夠的證據(jù)來(lái)追蹤原因。

        故障原因與硬件或軟件有關(guān)。

        在很大程度上,這并不重要,但這可能仍存在爭(zhēng)議。

        重要的是找到并修復(fù)故障。

        如果失敗的原因是未正確初始化的低級(jí)功能,那么找到它會(huì)變得更具挑戰(zhàn)性。

        為了了解硬件平臺(tái)的初始狀態(tài)如何影響整個(gè)設(shè)計(jì),有必要對(duì)整個(gè)系統(tǒng)有更高的了解,并且跟蹤這些難以捉摸的條件會(huì)消耗大量資源。

        例如,MCU上的SPI總線訪問(wèn)串行閃存是許多嵌入式系統(tǒng)中使用的相對(duì)簡(jiǎn)單的功能。

        如果在存儲(chǔ)的值中檢測(cè)到錯(cuò)誤,則表明存儲(chǔ)(不是MCU)有故障。

        這是客戶(hù)的經(jīng)驗(yàn)。

        從閃存的狀態(tài)寄存器連續(xù)讀取時(shí),它提示找到讀/寫(xiě)錯(cuò)誤。

        自然地,該存儲(chǔ)設(shè)備被認(rèn)為是有故障的。

        該理論源于以下事實(shí):如果在狀態(tài)寄存器讀取之間設(shè)置了短延遲,則檢測(cè)到的故障數(shù)量似乎會(huì)減少。

        此外,重新啟動(dòng)電源似乎可以清除故障一段時(shí)間。

        客戶(hù)工程師認(rèn)為,這些癥狀表明即使串行存儲(chǔ)器仍在指定規(guī)格的周期限制之內(nèi),串行存儲(chǔ)器也有故障,但僅完成了約60k的寫(xiě)周期。

        當(dāng)客戶(hù)將串行閃存設(shè)備退還給我們進(jìn)行進(jìn)一步測(cè)試時(shí),即使執(zhí)行了超過(guò)30萬(wàn)次寫(xiě)周期,我們也沒(méi)有發(fā)現(xiàn)任何故障。

        為了找到真正的故障,我們的工程師調(diào)查了客戶(hù)的應(yīng)用并探索了SPI信號(hào)。

        我們發(fā)現(xiàn)這似乎是存儲(chǔ)設(shè)備的故障,但是實(shí)際上這是系統(tǒng)噪聲問(wèn)題,可以輕松解決。

        盡管部分原因是由于MCU與閃存之間的PCB走線阻抗不匹配,但噪聲并不完全是由于不良的PCB設(shè)計(jì)或信號(hào)完整性問(wèn)題所致。

        盡管這似乎是PCB或電路設(shè)計(jì)問(wèn)題,但噪聲實(shí)際上是SPI信號(hào)的過(guò)沖和下沖,這是由信號(hào)的過(guò)高驅(qū)動(dòng)強(qiáng)度引起的。

        該過(guò)沖足以影響閃存設(shè)備的電荷泵并引起讀取和寫(xiě)入錯(cuò)誤。

        在某些情況下,SPI信號(hào)的過(guò)沖和下沖也可以解釋為信號(hào)跳變,這也可能導(dǎo)致讀取或?qū)懭脲e(cuò)誤。

        跟蹤圖像顯示了SPI線上的過(guò)沖和下沖。

        一種可能的解決方案是在信號(hào)走線上放置一個(gè)RC電路,以減慢信號(hào)轉(zhuǎn)換的速度。

        但是,我們發(fā)現(xiàn)該設(shè)計(jì)基于相對(duì)較新的MCU,該MCU允許在固件中修改I / O引腳的驅(qū)動(dòng)強(qiáng)度。

        降低信號(hào)的驅(qū)動(dòng)強(qiáng)度足以消除SPI信號(hào)線上的過(guò)沖和下沖,從而有效消除系統(tǒng)級(jí)噪聲源。

        焦點(diǎn)

        產(chǎn)品知識(shí)/行業(yè)、品牌資訊

        行業(yè)、品牌資訊


        主站蜘蛛池模板: 亚洲日韩精品一区二区三区| 国产大秀视频在线一区二区| 国产美女露脸口爆吞精一区二区| 91久久精一区二区三区大全| 精品久久久久久无码中文字幕一区 | 亚洲a∨无码一区二区| 视频在线观看一区| 国产自产V一区二区三区C| 在线免费一区二区| 中文字幕日韩欧美一区二区三区 | 国产精品一区12p| 日韩精品福利视频一区二区三区| 精品动漫一区二区无遮挡| 色一乱一伦一图一区二区精品| 中文字幕一区二区日产乱码| 日韩精品无码Av一区二区| 精品日韩一区二区| 国产无吗一区二区三区在线欢| 无码人妻精品一区二| 爱爱帝国亚洲一区二区三区| 99国产精品欧美一区二区三区| 中文乱码字幕高清一区二区| 青娱乐国产官网极品一区 | 一区在线免费观看| 免费人人潮人人爽一区二区| 国产免费私拍一区二区三区| 国产午夜精品免费一区二区三区 | 多人伦精品一区二区三区视频| 国产精品分类视频分类一区| 精品欧洲av无码一区二区| 日本精品无码一区二区三区久久久 | 久久精品一区二区三区中文字幕 | 欧美日韩精品一区二区在线观看| 亚洲欧美日韩一区二区三区 | 中文字幕视频一区| 午夜精品一区二区三区在线观看 | 无码午夜人妻一区二区三区不卡视频 | 日韩经典精品无码一区| 国产午夜精品一区二区三区嫩草 | 国产一区二区免费| 一区高清大胆人体|