<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>
你的位置:首頁(yè) > 傳感技術(shù) > 正文

助力采用MCU的自主系統實(shí)現自主安全性

發(fā)布時(shí)間:2023-03-27 責任編輯:lina

【導讀】人工智能(AI)和機器學(xué)習(ML)技術(shù)在自主性日益增強的系統中的應用越來(lái)越普遍,這將提高各行各業(yè)對更智能的安全系統的要求。關(guān)注重點(diǎn)已經(jīng)從節約成本轉向給用戶(hù)帶來(lái)便利性和安全性。這需要一個(gè)完整的功能安全(FuSa)層,其中包括安全協(xié)處理器與可信的輸入/輸出控制器,兩者協(xié)同工作來(lái)保護系統。單片機(MCU)為實(shí)現這些安全協(xié)處理器提供了低成本的解決方案,是當今新一代自主系統的核心。


人工智能(AI)和機器學(xué)習(ML)技術(shù)在自主性日益增強的系統中的應用越來(lái)越普遍,這將提高各行各業(yè)對更智能的安全系統的要求。關(guān)注重點(diǎn)已經(jīng)從節約成本轉向給用戶(hù)帶來(lái)便利性和安全性。這需要一個(gè)完整的功能安全(FuSa)層,其中包括安全協(xié)處理器與可信的輸入/輸出控制器,兩者協(xié)同工作來(lái)保護系統。單片機(MCU)為實(shí)現這些安全協(xié)處理器提供了低成本的解決方案,是當今新一代自主系統的核心。


自主安全功能和規范


安全協(xié)處理器可以執行部署的ML模型,這種模型用于接收視頻、音頻、環(huán)境和操作員數據等外部數據流,而在某些情況下,也可以同時(shí)接收所有這些數據流。這些數據流必須具有固有的可信度。


同樣重要的是,安全協(xié)處理器必須信任它們?yōu)殡姍C、繼電器、指示器和其他執行器產(chǎn)生的輸出狀態(tài)的真實(shí)再現。如果發(fā)生故障,主處理器也應該能夠依靠這些輸入/輸出(邊帶)控制器快速做出明智的決策。


使用MCU作為安全協(xié)處理器


在全面的開(kāi)發(fā)生態(tài)系統的支持下,8位和32位MCU主要用于四大功能安全領(lǐng)域,業(yè)內為此制定了下列工業(yè)標準規范:


  • ISO 26262:汽車(chē)安全完整性等級(ASIL),適用于汽車(chē)應用

  • IEC 61508:安全完整性等級(SIL),適用于工業(yè)應用

  • IEC 60730:家用電器功能安全標準

  • IEC 60730:醫療設備功能安全標準


助力采用MCU的自主系統實(shí)現自主安全性

圖1. 工業(yè)機器人正在焊接大型重物


開(kāi)發(fā)工具生態(tài)系統有兩個(gè)重要的后端要求。第一個(gè)要求是在開(kāi)發(fā)過(guò)程中以及在編譯成機器碼過(guò)程中采用穩健的編碼。使用功能安全編譯器可滿(mǎn)足此要求,這些編譯器通過(guò)TüV SüD(一家國際認可的測試機構)等組織獲得ISO或IEC功能安全標準認證。第二個(gè)后端功能是詳細分析在一個(gè)典型的測試周期中,哪些代碼被執行,哪些代碼被遺漏。這需要一個(gè)代碼覆蓋率分析插件。


自主安全功能的工作原理


與外界的主要交互是通過(guò)硬件層實(shí)現的,首先需要支持FuSa的MCU(位于邊緣)提供的直接傳感器和執行器接口。請參見(jiàn)下面的圖2。


助力采用MCU的自主系統實(shí)現自主安全性

圖2. 8位單片機的自主安全功能


主要功能包括:


欠壓檢測(BOD)


擁有理想電源的工作環(huán)境十分少見(jiàn)。微波爐和激光打印機會(huì )導致燈光閃爍,大型電動(dòng)工具會(huì )觸發(fā)斷路器。自主系統必須提前預知其電源要發(fā)生故障,從而可以啟用備用電源,或者設置關(guān)鍵數據和輸出狀態(tài)以確保干凈的掉電。


這些MCU中的BOD電路可以持續監視電源電壓,并以?xún)煞N特定方式對下降的電壓作出反應。首先,當電壓超過(guò)某個(gè)可選閾值時(shí),電壓監視(VLM)功能將觸發(fā)中斷,從而在超過(guò)實(shí)際BOD電壓閾值之前立即執行緊急關(guān)斷任務(wù)。超過(guò)BOD電壓后,設備將保持在復位狀態(tài),直到消除此條件。同時(shí),也可以確定復位事件的原因,以確保采取適當的恢復策略,這可能與第一次的上電周期不同。


窗口化看門(mén)狗定時(shí)器


現代MCU使用看門(mén)狗定時(shí)器作為故障恢復機制,旨在終止無(wú)限循環(huán)(又稱(chēng)“自旋鎖”)條件,這種條件除了采取嚴厲的措施外沒(méi)有任何解決方法。早期版本設置了以秒或毫秒為單位的超時(shí)閾值,然后需要在達到此閾值之前對運行代碼進(jìn)行某種類(lèi)型的“刺激”。確認后,超時(shí)閾值重置,倒計時(shí)重新開(kāi)始。懶惰的程序員使用周期性中斷服務(wù)程序來(lái)更新定時(shí)器,但是即使系統的其他部分卡在某個(gè)無(wú)限循環(huán)中,這些程序仍會(huì )自行繼續執行,不會(huì )通過(guò)系統復位來(lái)解決這種情況。


窗口看門(mén)狗定時(shí)器通過(guò)允許指定看門(mén)狗服務(wù)窗口解決了部分問(wèn)題。這樣一來(lái),看門(mén)狗定時(shí)器的服務(wù)速度不能太慢,也不能太快。這使得依賴(lài)已知執行時(shí)間短于最大閾值的代碼變得更加困難。


循環(huán)冗余校驗(CRC)代碼掃描


CRC代碼掃描外設可確保已編程代碼映像的完整性。它比單純的校驗和更加強大,因為校驗和很容易被數學(xué)操作欺騙??蓪⑻囟ǖ腗CU硬件模塊配置為在程序存儲器的自舉程序部分、應用程序部分或整個(gè)閃存陣列上運行掃描。然后,外設會(huì )將其CRC結果與附加在指定代碼空間末尾的正確校驗和進(jìn)行比較。如果這兩個(gè)16位數字匹配,則證明代碼空間未遭到修改??蓪⑵ヅ涫∨渲脼楫a(chǎn)生不可屏蔽中斷,以進(jìn)一步處理該問(wèn)題。


實(shí)際輸入路徑通用輸入/輸出(GPIO)外設


在早期的MCU中,如果將GPIO引腳配置為輸出,驗證引腳電壓(即5V)與控制位值(即1)相匹配的惟一方法是使用配置為輸入的單獨GPIO引腳來(lái)讀取電壓。配置為輸出的GPIO引腳不能回讀實(shí)際電壓,而只能回讀寫(xiě)入的值;因此,“輸入”值始終保持一致。

實(shí)際輸入路徑GPIO單元可以提供到離散的內部輸入寄存器的獨立電氣路徑,從而反映引腳上設置的實(shí)際電平。雖然該電平只能以邏輯1或邏輯0的方式讀取,但它仍可提供足夠的反饋來(lái)驗證寫(xiě)入輸出控制寄存器的內容。這兩個(gè)值應始終保持一致。如果兩者之間存在差異,則表明該特定GPIO引腳上存在短路或開(kāi)路情況,需要適當的處理。


具有這些功能的MCU可為完整的FuSa層奠定基礎。隨著(zhù)基于A(yíng)I/ML的自動(dòng)化將關(guān)注重點(diǎn)從系統生產(chǎn)和維護成本節約轉向用戶(hù)體驗的安全性和便利性,FuSa層的重要性將不斷提高。

(來(lái)源:Microchip.作者:資深技術(shù)顧問(wèn)Bob Martin)


免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問(wèn)題,請聯(lián)系小編進(jìn)行處理。


推薦閱讀:

為什么測量精度對 EV 性能至關(guān)重要

拆分和仲裁雙向串行總線(xiàn)

生成與模擬電壓的平方根成反比的脈沖寬度

串聯(lián)連接的 MOSFET 可提高電壓和功率處理能力

電源管理面臨五大趨勢,產(chǎn)業(yè)界都是如何應對?


特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>