本文所闡述的整個(gè)狀態(tài)定義還處于頂層狀態(tài),也不能表征 Orin 系列內(nèi)部的所有狀態(tài)細(xì)節(jié)和事件。Orin系列芯片啟動(dòng) ROM 執(zhí)行并最終通過(guò)控制到系統(tǒng)依賴的軟件。整個(gè) Orin 啟動(dòng)分為加載驅(qū)動(dòng)、加載存儲(chǔ)、啟動(dòng)操作系統(tǒng)、調(diào)用應(yīng)用核模塊幾個(gè)大方向。
如下圖所示,各時(shí)序圖所表示的整個(gè) SOC 芯片啟動(dòng)時(shí)序。
通常,Orin 系列芯片所能實(shí)現(xiàn)的高階駕駛輔助系統(tǒng)架構(gòu)通常需要引入單獨(dú)的 MCU 芯片對(duì)其規(guī)劃的執(zhí)行指令做執(zhí)行仲裁,其他系統(tǒng)電源軌由SMCU進(jìn)行監(jiān)控。這樣不僅可以提升相應(yīng)的安全等級(jí),也是作為低電壓控制的關(guān)鍵策略。在Orin功能安全島中可以運(yùn)行OEM跟功能安全相關(guān)的算法,如車控算法、比對(duì)算法、傳感器后融合算法等。通過(guò)運(yùn)行Safety框架,對(duì)Orin芯片對(duì)Orin系列芯片和Drive OS軟件進(jìn)行監(jiān)控。
Orin系列芯片支持各種電源狀態(tài)包含Active(SC0)、Deep Sleep(SC7)、OFF SC7 電源狀態(tài),同時(shí)也被稱為掛起到存儲(chǔ)狀態(tài),這種設(shè)置是在用于從深度睡眠(SC7)狀態(tài)到激活(Active)的快速重啟中,SC7 在這種狀態(tài)下一直處于低電量消耗的睡眠狀態(tài)。
不僅 SC7 進(jìn)入和退出需要專門(mén)的電源供給時(shí)序,同時(shí)也需要操作系統(tǒng)(這里指英偉達(dá)專門(mén)的操作系統(tǒng) Drive OS)支持從掛起狀態(tài)中重啟。這個(gè)過(guò)程涉及兩個(gè)子過(guò)程“Suspend-to-Memory” (即懸置到存儲(chǔ)態(tài)),再?gòu)摹癕emory-to-Resume”(從存儲(chǔ)態(tài)到重啟)。這里的存儲(chǔ)(memory) 單元實(shí)際就是系統(tǒng)的動(dòng)態(tài)隨機(jī)存取內(nèi)存(DRAM)。
英偉達(dá)系列芯片的功耗模式主要有四種電源狀態(tài),且這四種狀態(tài)之間可以進(jìn)行有效的狀態(tài)跳轉(zhuǎn)。
如下表表示了典型的電源轉(zhuǎn)換表。
電源狀態(tài) | Orin PMIC狀態(tài) | MCU PMIC狀態(tài) | 使用場(chǎng)景 |
OFF | OFF SC7 | OFF | 系統(tǒng)關(guān)閉(KL30 未連接上) |
Deep_Sleep | Deep Sleep(SC7) | Standby | 深睡眠狀態(tài),可通過(guò) PHY 線、SC7 故障或者整車電源喚醒 |
Light_Sleep | Deep Sleep(SC7) | ON | 待機(jī)狀態(tài),可通過(guò) PHY 或整車 電源(GPIO)喚醒 |
Active | Active(SC0) | ON | 整個(gè)系統(tǒng)被開(kāi)啟且具備完整 的功能(電源連接至 KL30) |
FailSafe | FailSafe | FailSafe | MCU PMIC/Orin PMIC的失效模式狀態(tài)表示 當(dāng)嚴(yán)重錯(cuò)誤被檢測(cè)到 |
當(dāng)然,如上的系統(tǒng)狀態(tài)是通過(guò)SYS_VIN_LV VRS_10/12 VDD和SYS_VIN_HV VRS_11/VDD進(jìn)行同步監(jiān)測(cè)的。
對(duì)于 Deep_Sleep和Light_Sleep兩種狀態(tài),可以通過(guò)特定設(shè)置來(lái)決定 PHY 的電源狀態(tài),他們可以選擇將自己的待機(jī)模式放在上面,也可以將完整的電源關(guān)閉。Tier1 或主機(jī)廠需求也可以決策如何通 過(guò) PHY 線來(lái)進(jìn)行喚醒。例如,如果整車線束的 GPIO 口可以用來(lái)作為喚醒源,則所有 PHY 可 以在Deep_Sleep和Light_Sleep狀態(tài)下完全關(guān)閉。
以上每個(gè)狀態(tài)之間還有中間狀態(tài),可以被區(qū)分為 a、b 兩種子狀態(tài),從 a 到 b 的兩種子狀態(tài)轉(zhuǎn)換會(huì)發(fā)生在 MCU 所連接的固件啟動(dòng)沒(méi)有其他額外觸發(fā)事件的情況下,這些固件包括攝像頭的子系統(tǒng)和其他系統(tǒng)設(shè)備電源供給。當(dāng)然,這些固件是可以通過(guò) MCU 通過(guò)內(nèi)部啟動(dòng)模塊進(jìn)行單獨(dú)啟??刂?。當(dāng) MCU PMIC 或Orin PMIC出現(xiàn)嚴(yán)重錯(cuò)誤時(shí),系統(tǒng)將進(jìn)入 FailSafe狀態(tài),MCU 的整個(gè)電源狀態(tài)將被置位為故障狀態(tài)。
接下來(lái)將對(duì)Orin系列中的電源每個(gè)子模塊進(jìn)行詳細(xì)說(shuō)明。
1)AON(Always on Cluster)群集
可以提供所有可能的硬件特征用于支持低電壓傳感器管理和喚醒使用場(chǎng)景。這些集群指令包含一個(gè) ARM Cortex-R5 的緊耦合內(nèi)存的處理器核,可以支持周邊件(如時(shí)鐘、中斷控制器),不同的 I/O 控制端,路由邏輯。AON 模塊中的 Cortex-R5 處理器也可以被當(dāng)做傳感器處理引擎(SPE)。
AON Cortex-R5 可以實(shí)現(xiàn):
ARM V7-R ISA 完整指令集和數(shù)據(jù)緩存緊耦合存儲(chǔ)(TCM)接口用于局部 SRAM
向量中斷支持
64 位 AXI/32 位 AHB 初始化接口,可分別用于 DRAM 需求和 MMIO 需求
32 位 AHB 初始化接口可以用于 ARM 向量中斷控制器接入
AXI 目標(biāo)接口用于 DMA 接入到局部 SRAM
2)SC7-深度睡眠
SC7 是用于在最低可能的電源輸入下來(lái)進(jìn)行快速重啟。該狀態(tài)下所有 CPU 核被關(guān)閉,且大多數(shù)的 I/O 和內(nèi)部模塊都被關(guān)閉了,軟件執(zhí)行被掛起。系統(tǒng)狀態(tài)被保存在 DRAM 中,并且總是處于自更新模式。
芯片從淺睡眠轉(zhuǎn)移到深睡眠的狀態(tài)需要滿足如下條件:
凍結(jié)所有正在運(yùn)行的應(yīng)用
同步文件系統(tǒng)內(nèi)容到存儲(chǔ)設(shè)備
掛起各自的設(shè)備驅(qū)動(dòng),保存 DRAM 中的其他狀態(tài)
將 DRAM 放到自刷新模式中
當(dāng)需要在 SC 之前運(yùn)行時(shí),斷電序列也與系統(tǒng)內(nèi)測(cè)試有關(guān)。
如下圖表示了整個(gè)系統(tǒng)進(jìn)入和退出低功耗模式的電源啟動(dòng)時(shí)序圖(其中,如下左圖表示 SC7 內(nèi)側(cè)進(jìn)入時(shí)序)。
進(jìn)入退出低功耗時(shí)序圖
對(duì)如上時(shí)序概括起來(lái)將,Orin-x 進(jìn)入深度睡眠(SC7)實(shí)際是間斷性的關(guān)閉一些高功耗模塊。其中,包含如下完整的處理步驟:
首先,通過(guò)電源管理軟件模塊關(guān)閉最高功耗模塊:VDD_CPU、VDD_GPU 和 VDD_CV 電源軌, 從而為進(jìn)入 SC7 深睡眠模式做準(zhǔn)備;
其次,SC7 進(jìn)入固件將 DRAM 置于自刷新過(guò)程中;
然后,SC7 進(jìn)入前需要將固件配置時(shí)鐘節(jié)拍完成后才進(jìn)入電源深度休眠狀態(tài)。在進(jìn)入電源深度休眠前,軟件需要確保IO 狀態(tài)不會(huì)和任何其他平臺(tái)需求(比如拉高拉低需求,額外的元器件需求)相沖突,從而確保 IO 漏洞盡可能最小化;
Orin 芯片的使能端 SF_PWR_SOC_EN 被 PMC 固件和其中的電源軌會(huì)被逐步取消斷言;
平臺(tái)依賴 IO 電源軌和 PLL 電源軌將被選擇性的關(guān)閉;
兩個(gè)存儲(chǔ)控制端口 VDDIO_DDR_VDD2 和 VDD_DDR_VDDQ 電源軌將被關(guān)閉;
基于芯片正常電壓和特征參數(shù)而變化的邏輯軌 VDD_SOC 和功能安全控制電源軌 VDD_FSI 將 被關(guān)閉;
接下來(lái)是系統(tǒng)如何退出低功耗模式。
當(dāng)系統(tǒng)斷電后,系統(tǒng)硬件會(huì)將電源和時(shí)鐘給到 Orin-x 芯片。注意可能有其他的系統(tǒng)層限制(比如 LPDDR5 存儲(chǔ)電源時(shí)序限制)出現(xiàn)。
整體上退出低功耗模式SC7是有整車傳遞過(guò)來(lái)的指令輸入。首先,需要完成包含MCU PMIC電源管理程序后,由MCU控制觸發(fā)SC7退出指令,同時(shí)控制VRS10開(kāi)始正常上電工作,隨即Orin芯片開(kāi)始進(jìn)行自檢后控制退出SC7并開(kāi)啟時(shí)鐘源、授權(quán)軟件模塊、觸發(fā)快速驅(qū)動(dòng),最后進(jìn)入下一個(gè)待命狀態(tài)。MCU端則開(kāi)始與Orin之間啟動(dòng)對(duì)應(yīng)的心跳監(jiān)測(cè)。
3)系統(tǒng)內(nèi)檢(IST)
Orin系列芯片會(huì)提供一種機(jī)制來(lái)檢測(cè)由系統(tǒng)內(nèi)測(cè)(IST)所產(chǎn)生的永久的故障,IST 應(yīng)該在 Orin-x 功能安全系統(tǒng)中使用期間被啟動(dòng)。IST 需要以特定的規(guī)則來(lái)配置零部件的軟硬件。IST 可以配置來(lái)執(zhí)行一個(gè)在單 Orin-x 或者 Orin-x 外加一個(gè) dGPU 的模式組成智駕系統(tǒng)。整個(gè)錯(cuò)誤(Failsafe)處理機(jī)制如下:
①當(dāng)系統(tǒng)無(wú)錯(cuò)誤時(shí),標(biāo)準(zhǔn)的電源時(shí)序會(huì)通過(guò)特定的 I/O 端或總線(CAN/Flexray/Ethernet PHYs) 喚醒整個(gè)系統(tǒng)。這也包含啟動(dòng)所有 SC7 斷電域,然后是支持從內(nèi)存恢復(fù)的操作系統(tǒng) DRIVE OS,以結(jié)束正在運(yùn)行的活動(dòng)狀態(tài)。其中,啟動(dòng)的快慢取決于內(nèi)存的自恢復(fù)能力。
②當(dāng) SC7 模塊失效或 Timeout 時(shí)會(huì)產(chǎn)生相應(yīng)的失效時(shí)序,芯片內(nèi)部錯(cuò)誤、溫度異常導(dǎo)致的宕機(jī)、低壓/過(guò)壓等都是這些失效模式之一。整體來(lái)說(shuō),如果芯片處于失效狀態(tài)時(shí),實(shí)際是首先喚醒 MCU 后,通過(guò)內(nèi)部檢測(cè)機(jī)制確認(rèn)是否進(jìn)入 SC7 。已經(jīng) timeout 或故障時(shí),需要控制 VRS-10 關(guān)閉所有的 SC7 電源軌,只留下喚醒 PHY 線處于低電壓供電狀態(tài)。MCU 最終會(huì)將PMIC 模塊至于待機(jī)狀態(tài)后將MCU 關(guān)閉。
此外,系統(tǒng)內(nèi)測(cè)程序 ITS 還需要檢測(cè) Orin 是否長(zhǎng)期維持在低功耗狀態(tài) SC7下,如果是,則系統(tǒng)將會(huì)退出該低功耗SC7模式。并且在下一個(gè)系統(tǒng)自檢過(guò)程中判斷是否有重新進(jìn)入低功耗SC7模式的需求。
對(duì)于IST系統(tǒng)內(nèi)側(cè)應(yīng)用而言,NVIDIA Orin 專門(mén)配置了相應(yīng)的IST管理器來(lái)實(shí)現(xiàn)如下一些功能子項(xiàng):
①提供一個(gè)用于設(shè)置IST配置的接口。
將用戶應(yīng)用程序設(shè)置的配置與NVIDIA DRIVE Orin通信? 以太網(wǎng)上的軟件(IST客戶端)(用于鑰匙打開(kāi)/關(guān)閉Orin IST)。
②提供一個(gè)用于讀取IST結(jié)果的接口。
提供接口,平臺(tái)電源管理器可以使用這些接口查詢是否必須執(zhí)行Keyon/KeyOff IST,并查詢IST是否已完成。
③在引導(dǎo)過(guò)程中,決定NVIDIA Orin應(yīng)處于IST模式還是正常模式。
④通過(guò)GPIO斷言觸發(fā)IST,監(jiān)控NVIDIA Orin上IST的執(zhí)行,并通過(guò)超時(shí)檢測(cè)IST卡住的場(chǎng)景。
⑤提供一個(gè)中止IST執(zhí)行的接口。
⑥檢測(cè)并處理以下硬件錯(cuò)誤情況。
在某些情況下,IST的執(zhí)行會(huì)受阻,且該阻塞會(huì)由基于GPT的硬件計(jì)時(shí)器檢測(cè)到,該計(jì)時(shí)器具有可配置的超時(shí)。與 DRIVE Orin的通信? SoC由具有可配置超時(shí)的軟件計(jì)時(shí)器進(jìn)行監(jiān)控。這取決于MCU和Orin之間的活動(dòng)以太網(wǎng)(VLAN200)連接??蛻魬?yīng)用程序應(yīng)使用NvMCU_ISTManager提供的接口,在每個(gè)電源循環(huán)期間設(shè)置有效的IST配置。這是使用串行控制臺(tái)外殼命令完成的。
總結(jié)
本文從芯片內(nèi)部到芯片外部詳細(xì)分析了整個(gè)芯片工作的啟動(dòng)時(shí)序流程、狀態(tài)跳轉(zhuǎn)、系統(tǒng)監(jiān)控能力等。相對(duì)于單SOC芯片啟動(dòng)而言,基于SOC+MCU的自動(dòng)駕駛系統(tǒng)架構(gòu)可更好的利用兩芯片各自的優(yōu)勢(shì)進(jìn)行互補(bǔ),同時(shí)其按照基礎(chǔ)的驅(qū)動(dòng)原理也可以由SMCU很好的對(duì)整個(gè)電源管理和啟動(dòng)時(shí)序進(jìn)行管控和監(jiān)測(cè)??紤]Orin系列芯片在后續(xù)智駕系統(tǒng)的不斷深入應(yīng)用,這些前期的設(shè)計(jì)分析過(guò)程必將成為后期系統(tǒng)架構(gòu)和硬件架構(gòu)設(shè)計(jì)中不可或缺的一環(huán)。
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2567文章
53012瀏覽量
767729 -
ROM
+關(guān)注
關(guān)注
4文章
578瀏覽量
87383 -
SoC芯片
+關(guān)注
關(guān)注
1文章
646瀏覽量
35829 -
英偉達(dá)
+關(guān)注
關(guān)注
22文章
3953瀏覽量
93835 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
790文章
14324瀏覽量
170727
原文標(biāo)題:利用英偉達(dá)系列芯片設(shè)計(jì)的高階自動(dòng)駕駛的系統(tǒng)啟動(dòng)時(shí)序
文章出處:【微信號(hào):阿寶1990,微信公眾號(hào):阿寶1990】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
英偉達(dá)CEO稱若特斯拉自動(dòng)駕駛芯片項(xiàng)目失敗,愿提供幫助
英偉達(dá)何以成為車廠自動(dòng)駕駛開(kāi)發(fā)的首選
AI/自動(dòng)駕駛領(lǐng)域的巔峰會(huì)議—國(guó)際AI自動(dòng)駕駛高峰論壇
自動(dòng)駕駛系列報(bào)告大放送了涉及傳感器,芯片,執(zhí)行控制等
自動(dòng)駕駛系統(tǒng)設(shè)計(jì)及應(yīng)用的相關(guān)資料分享
英偉達(dá)播種自動(dòng)駕駛業(yè)務(wù) 瞄準(zhǔn)未來(lái)市場(chǎng)
2018英偉達(dá)自動(dòng)駕駛安全報(bào)告你了解多少報(bào)告全部?jī)?nèi)容在這里
英偉達(dá)DRIVE AGX Xavier開(kāi)發(fā)套件就是一個(gè)用于構(gòu)建自動(dòng)駕駛系統(tǒng)的平臺(tái)
英偉達(dá)發(fā)布新一代的自動(dòng)駕駛芯片Orin
安培GPU發(fā)布 英偉達(dá)自動(dòng)駕駛芯片算力升級(jí)
Einride將使用英偉達(dá)自動(dòng)駕駛計(jì)算平臺(tái)
自動(dòng)駕駛備受關(guān)注 小馬智行完成D輪融資 英偉達(dá)將量產(chǎn)自動(dòng)駕駛芯片DRIVE Orin
自動(dòng)駕駛芯片現(xiàn)狀盤(pán)點(diǎn) 國(guó)產(chǎn)自動(dòng)駕駛芯片發(fā)展面臨的機(jī)遇和挑戰(zhàn)
英偉達(dá)拓展中國(guó)自動(dòng)駕駛團(tuán)隊(duì) 高通能否戰(zhàn)勝英偉達(dá)
高通自動(dòng)駕駛靠軟件開(kāi)發(fā)革新力壓英偉達(dá)自動(dòng)駕駛芯片

評(píng)論