Jetson AGX Orin的ISP錯(cuò)誤檢測與安全島設(shè)計(jì))
192、車載前視攝像頭ASIL-B功能安全——基于英偉達(dá)Jetson AGX Orin的ISP錯(cuò)誤檢測與安全島設(shè)計(jì)去年夏天,某Tier1的項(xiàng)目,前視攝像頭方案用的Jetson AGX Orin,客戶審廠時(shí)直接問了一個(gè)問題:你的ISP如果輸出花屏,Safety MCU怎么知道?當(dāng)時(shí)我愣了一下,因?yàn)镺rin的ISP錯(cuò)誤檢測機(jī)制和傳統(tǒng)車規(guī)芯片完全不一樣,高通Spectra有獨(dú)立的ISP安全中斷,海思有專門的ISP錯(cuò)誤狀態(tài)寄存器,而Orin的ISP錯(cuò)誤是掛在GPU/CSI的復(fù)雜錯(cuò)誤鏈上的,不仔細(xì)看真會(huì)漏掉。這篇文章就把那段時(shí)間踩的坑和最終落地的方案整理出來。先搞清楚Orin的ISP錯(cuò)誤到底從哪來Jetson AGX Orin的ISP是集成在SoC里的,不像外掛ISP芯片那樣有獨(dú)立的錯(cuò)誤上報(bào)引腳。它的錯(cuò)誤路徑大致是:CSI接收端(CSI-A/B/C/D)→ ISP(有多個(gè)ISP實(shí)例)→ 內(nèi)存(通過NVENC或直接寫DDR)。錯(cuò)誤類型分幾類:CSI的CRC錯(cuò)誤、ECC錯(cuò)誤、數(shù)據(jù)位翻轉(zhuǎn);ISP內(nèi)部的像素處理錯(cuò)誤、3A統(tǒng)計(jì)錯(cuò)誤、RAW域數(shù)據(jù)異常;還有內(nèi)存?zhèn)鹊膶戝e(cuò)誤。最坑的是,Orin的ISP錯(cuò)誤默認(rèn)不會(huì)直接觸發(fā)一個(gè)干凈的中斷給外部MCU。它先記錄在內(nèi)部寄存器,然后通過GIC(通用中斷控制器)上報(bào)給CPU,但CPU上跑的Linux/QNX如果沒配置好,錯(cuò)誤就被吞了。我們當(dāng)時(shí)用QNX,默認(rèn)的ISP驅(qū)動(dòng)對(duì)某些錯(cuò)誤只是打印一條日志,根本不往Safety域送。安全島設(shè)計(jì)的第一原則:別依賴主核ASIL-B要求的是系統(tǒng)性失效