汽車系統的設計變得越來越複雜,因為要不斷的加入新的功能,如先進駕駛輔助系統(ADAS)、圖形儀表板(GIC)、暖通空調(HVAC)和車載資訊娛樂系統。為了確保可靠、安全的操作,每個子系統均需使用特定的非揮發性記憶體,以便在重設操作和電源切換期間儲存資訊。非揮發性記憶體用於儲存可執行程式碼或像是常數、校準資料、安全和防護相關資訊等重要資料,以作為未來檢索用途。

目前市場上主要包含幾種不同類型的非揮發性記憶體,如NOR快閃記憶體(Flash)、NAND Flash、電子擦除式可編程唯讀記憶體(EEPROM)、鐵電隨機存取記憶體(FRAM)、磁性RAM (MRAM)和非揮發性靜態記憶體(NVSRAM)等。每一種記憶體類型的性能指標各有其優缺點,包括記憶體密度、讀/寫頻寬、介面頻率、耐久性、資料保存、不同電源模式的電流消耗(開機、待機/睡眠、休眠)、預備時間、對外部電磁干擾的敏感度等。

為了瞭解最新汽車系統對於非揮發性記憶體的真正需求,工程師需要考慮如下的實際使用情況:

  • 啟動汽車後,駕駛人是否願意花幾分鐘等待儀表板開機以及正常顯示里程表、油量表等?
  • 駕駛人調整了座椅位置、方向盤位置、溫度設定與收音機頻道後,卻由於某些原因不得不馬上關掉引擎。如果車子的子系統未能保存熄火前的設定,那麼駕駛人必須重新再來一遍,豈不是非常麻煩?
  • 儘管汽車安裝了ADAS安全系統,但仍可能發生事故。你能否向事故調查團隊提供所需的資料,例如事故發生前幾秒的各種感測器狀態?

以ADAS系統來說,從特定的感測器採集並儲存即時資料至非揮發性記憶體是非常重要的。同樣地,在系統斷電的同時儲存車載資訊娛樂系統設定資訊也至關重要。地理資訊系統(GIS)和資訊娛樂系統都採用高解析圖形顯示,而且需要相當大量必須儲存的開機程式碼序列資料以及從外部非揮發性記憶體進行讀取。

除了滿足應用的需求,非揮發性記憶體還需確保足夠的讀寫次數,以記錄至少20年資料。此外,為了達到汽車級認證和資格,所有的子系統應該採用符合AEC-Q100標準的記憶體元件。同時,在這些安全攸關應用中,符合ISO 26262標準的功能安全性能則是另一個重要層面。

ADAS的記憶體需求

ADAS系統的設計在於自動操作/自動調整/增強汽車系統,以實現更安全、舒適的駕駛體驗。為了避免事故發生,安全功能提供了能夠提醒駕駛人潛在問題的技術,或是實施保護措施和接管汽車控制,以避免碰撞。自動調整功能包括自動照明,提供自動巡航控制、自動煞車,結合GPS/交通警示以及連接到智慧型手機,並提醒駕駛人注意其他車輛或危險狀況,讓駕駛人保持在正確的車道行駛,以及顯示駕駛人的盲點。

20180221_Cypress_TA31P1 圖 1:ADAS 系統方塊圖(來源:Cypress)

圖1顯示ADAS系統如何利用FRAM和NOR Flash的方塊圖。外部NOR Flash通常用於儲存啟動程式碼。然而,ADAS系統中的各種感測器透過控制器區域網路(CAN)介面定期向微控制器(MCU)發送資料。MCU執行自動調整演算法,檢查是否可能碰撞或已經發生碰撞。處理演算法的執行時間變數和感測器的當前狀態則儲存在MCU的記憶體中。

當演算法檢測到事故時,安全氣囊控制模組即時啟動備用電源以打開安全氣囊,確保在事故期間即使斷電也能部署應對。事故發生時的感測器狀態也應該立即儲存到非揮發性記憶體,以作為資料記錄。這些資料能有效地用於瞭解事故原因,讓汽車製造商生產更加先進的安全系統,同時協助保險公司判斷理賠效用。

行車記錄器(EDR)是用於記錄事故發生前各個重要子系統資料的系統。EDR可以安裝在ADAS的主控單元,或者安裝在另一個接收重要感測器資料並與ADAS MCU進行通訊的MCU中。如今,工程師可以使用多核心裝置為EDR功能提供專用的完整CPU核心,例如賽普拉斯(Cypress)的Traveo車用MCU。

選擇EDR記憶體

EDR透過測量汽車前方壓力感測器的撞擊力、車速、引擎轉速、轉向輸入、油門位置、煞車狀況、安全帶狀態(檢測乘客)、輪胎氣壓、警告訊號以及安全氣囊開啟狀態,從而判斷碰撞嚴重程度。這些資料應該在汽車發生碰撞前和期間進行記錄。很顯然地,MCU不能等到事故發生才開始記錄資料。因此,MCU需要連續儲存資料。所以,EDR需要支援幾乎無限讀寫次數的非揮發性記憶體。

FRAM記憶體比ADAS傳統使用的EEPROM擁有更多優勢:幾乎無需讀寫等待時間,可以即時儲存重要資料(實際10μs儲存時間),這一點對ADAS來說至關重要。EEPROM通常需要超過10毫秒(ms)的讀寫等待時間,因此不適用於安全攸關應用。FRAM兼具無寫入延遲和高速時脈速度的組合,非常適合需要快速寫入大量資料的應用。使用SPI時,設計人員可以自由決定FRAM的寫入位元組數。把一個或兩個位元組寫入FRAM的隨機位置時,寫入週期約為1微秒(us)。反觀EEPROM或Flash,則需要 5~10ms的寫入週期。

相較於EEPROM或Flash,FRAM無需使用頁面緩衝區。在接收每個位元組的第8位元之後,FRAM立即寫入每個資料位元組。這意味著,系統記憶體密度增加時,工程師不必擔心頁面緩衝區大小的變化。

就寫入耐久性而言,FRAM可以支援100兆次寫入操作,遠遠超過EEPROM的100萬次以及Flash的10萬次寫入。因此,FRAM可以用作追蹤資料記錄器,不斷地寫入資料。此外,FRAM的寫入和讀取作業所需要的主動功率非常低(例如1MHz時為300μA),因此非常適用於事故引起斷電時需要使用低功率備用電源或透過電容寫入資料的ADAS。與其他非揮發性記憶體相較,FRAM的待機電流也低得多(通常為100μA)。

汽車儀表板的記憶體需求

儀表板系統以數位形式在圖形顯示器上顯示速度、轉速、燃油量和引擎溫度等重要資訊,或者使用步進馬達控制的類比形式顯示。此外,儀表板系統還可以顯示電池警告、溫度警告、低油壓警告、煞車警告,以及安全帶指示、低胎壓指示、門鎖指示、車頭燈指示、換檔指示、手煞車狀態指示等安全符號,以及諸如車內和車外溫度、里程表讀數等非安全攸關的資訊。

最新的儀表板系統還包括抬頭顯示器(HUD)。HUD是一種光學系統,可以將駕駛資訊投射在汽車的擋風玻璃上。使用HUD讓駕駛人能方便地查看重要的駕駛資訊,並讓駕駛人的視線保持關注前方的交通狀況。由此可以降低因目光偏離道路造成的潛在風險,並為駕駛人提供額外時間來辨識危險因素並作出反應。HUD還可以顯示速度、導航以及其他重要警示符號等重要資訊。

20180221_Cypress_TA31P2 圖2:儀表板系統方塊圖(來源:Cypress)

圖2顯示採用連接HyperBus介面的HyperRAM和HyperFlash以及連接DDR-HSSPI介面的NOR Flash而打造的儀表板方塊圖。儀表板MCU可以透過CAN-FD、時脈擴展週邊介面(CXPI)、Ethernet AVB、MediaLB/MOST等不同的通訊協議連接其他子系統,從而收集資訊並顯示於儀表板上。

一旦儀表板系統啟動後,安全引擎立即檢驗體的真偽性。隨後,從外部HyperFlash透過HyperBus介面或從NOR Flash透過雙倍資料速率(DDR)轉換DDR-HSSPI介面執行XiP,從而啟動MCU軟體執行。XiP功能讓MCU直接從外部Flash執行程式碼,而不需要先把外部Flash的程式碼複製到內部RAM,從而提高了回應速度。NOR Flash/HyperFlash記憶體可配置程式碼的初始位址,並在指定的時脈延遲後以讀取模式啟動。因此,MCU一旦啟動就可以直接獲取需要執行的程式碼,而不至於因為提供位址和讀取命令而延遲時間。

從外部HyperFlash可獲取靜態元素,並將其顯示為儀表板LCD的基礎層。車用MCU——例如賽普拉斯Traveo系列,可以提供額外的功能支援,即時解壓縮靜態HMI元素,而無需先通過RAM。儀表板的指針資訊等動態內容具備更快的更新速度,可以從外部HyperRAM進行檢索。

HVAC和資訊娛樂系統的記憶體需求

HVAC系統負責控制維持車內的溫度和空氣流動。資訊娛樂系統可以運行與智慧型手機類似的各種應用程式,並提供使用者介面以更改HVAC系統組態、音樂系統設定、在導航應用輸入目的地、調整座椅/方向盤位置/高度,以及調節車內照明等。有些最新的汽車中還加入了指紋辨識器來驗證駕駛人身份。從而使HVAC和資訊娛樂系統根據駕駛人的偏好快速調節車內設置。

20180221_Cypress_TA31P3 圖3:HVAC 和資訊娛樂系統方塊圖(來源:Cypress)

圖3顯示HVAC和資訊娛樂系統的方塊圖,所有的記憶體與主MCU連接。以下是三個額外子系統與儀表板系統的比較:

  • 觸控螢幕控制器,用於檢測顯示器上的手指觸控
  • 暖氣/空調,控制車內溫度
  • 連接子系統,實現車內多項連接(藍牙、GPS、Wi-Fi、GSM、FM調諧器等)

HyperFlash和HyperRAM記憶體用於儲存高品質圖形。NOR Flash用於儲存啟動程式碼,而FRAM則用於儲存設定資訊。因此,即使汽車熄火後再立即啟動,也可以正確地檢索並恢復汽車設定。

記憶體介面

我們討論了不同汽車子系統對於非揮發性記憶體的要求,接下來瞭解這些記憶體與MCU之間不同的連接機制。

帶有SPI介面的MCU都可以便捷地連接NOR Flash。NOR Flash元件,例如賽普拉斯的S25FL256L,為SPI提供了多個I/O讀入選擇,可支援DDR以及四倍週邊設備介面(QPI)的連接。在同一匯流排上還可以連接多個Flash,並使用選片(CS)訊號單獨進行存取。

20180221_Cypress_TA31P4 圖4:連接QUAD SPI的NOR Flash記憶體介面(來源:Cypress)

圖4顯示了MCU和NOR Flash之間的硬體連接。MCU可使用底層驅動器(LLD)軟體讀取、編程和擦除NOR Flash記憶體。經過最佳化的設計架構有效加快了存取時間,並提高了程式執行速度。同時,NOR Flash使用的內部技術決定了記憶體的密度。NOR Flash採用傳統浮閘技術,在導電層上,每個儲存單元可以儲存1個資料位元。基於MirrorBit技術絕緣層建構的NOR Flash,每個儲存單元可儲存2個資料位元,從而提供更低成本的256Mb或更大密度的儲存結構。

20180221_Cypress_TA31P5 圖5:連接SPI的FRAM記憶體介面(來源:Cypress)

圖5顯示如何使用簡單的SPI介面存取FRAM。對於需要高速串列資料速率或基於MCU系統,SPI介面是理想的選擇。序列資料輸送量與序列時脈頻率相關。序列FRAM的時脈頻率可高達40MHz。不具備專用SPI埠的MCU可以透過GPIO實現「位元碼監測」(bit banging)。

透過HyperBus 12訊號介面可以存取HyperFlash和HyperRAM。相較於Quad-SPI(66.5Mbps),HyperBus可提供更高4倍達333Mbps的讀取輸送量,而所需接腳數量僅為平行NOR Flash的三分之一。該介面使用了差分時脈(CK,CK#)、 讀寫資料選通(RWDS)、CS以及8位元資料匯流排。

20180221_Cypress_TA31P6 圖6:記憶體與週邊裝置之間的HyperBus介面(來源:Cypress)

資料的完整性和安全性

資料的完整性和安全性是為汽車應用選擇記憶體的兩個重要因素。本文介紹的記憶體提供了各種功能來提高資料的完整性和安全性。例如,先進磁區保護(ASP)技術為鎖定磁區提供更高的解析度以及不同的上電重設,並有助於建置安全的啟動程式碼。以基礎層面而言,ASP技術的原理很簡單。可以鎖定任一磁區,以防止程式設計和刪除。鎖定磁區的ASP模式有兩種:分別為持久保護位元(PPB)和動態保護位元(DYB)的保護。除了區塊保護(BP)和/或WP#接腳硬體保護,還可以一併使用以上兩種模式。

自動糾錯碼(ECC)功能可以在標準程式設計、擦除和讀取運作時透明地執行。當裝置將每頁資料從寫入緩衝器傳送到記憶體陣列時,內部ECC邏輯將評估頁面的ECC程式碼作為記憶體陣列的一部份,而該記憶體對主機系統是不可見的。每次存取初始頁面時,裝置將評估頁面資料和ECC程式碼,以驗證頁面的完整性。必要時,內部ECC邏輯會在初始存取時糾正1位元錯誤。

NOR Flash還提供額外的Flash記憶體區,可以進行一次性可編程(OTP)並受到永久保護,而不至於被更改。以賽普拉斯的FL-S NOR Flash系列為例,該OTP陣列擁有1K保護區域,包含512位元組出廠保護鎖定區和512位元組的使用者保護鎖定區。

總結

如今的汽車系統需要多樣的記憶體類型,提供不同等級的可靠性、回應能力和輸送量,以滿足不同汽車子系統中的個別要求。透過選擇合適的記憶體組合,工程師能夠確保汽車的可靠和安全操作,同時還能滿足駕駛人對汽車回應能力的期望。