日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

Autosar NVM 介紹

2019-07-21 14:40:14·  來源:汽車ECU設(shè)計  
 
汽車ECU內(nèi)存中存在著各式各樣的變量,絕大多數(shù)變量隨著ECU的掉電數(shù)據(jù)就丟失了。也有一部分十分重要的變量會伴隨著整個ECU生命周期而一直存在。比如:車輛的VIN碼
汽車ECU內(nèi)存中存在著各式各樣的變量,絕大多數(shù)變量隨著ECU的掉電數(shù)據(jù)就丟失了。也有一部分十分重要的變量會伴隨著整個ECU生命周期而一直存在。比如:車輛的VIN碼,防盜鑰匙,車輛下線配置字等等。而今天所說的Autosar NVM模塊為ECU內(nèi)所有NV(Non Volatile) data 進行管理與維護,并提供服務(wù)確保這些數(shù)據(jù)被正確的存儲或備份。在Autsar NVM支持兩種NV變量存儲方式:

- EEPROM(EA : EEPROM Abstraction)

優(yōu)點:讀寫速度快,壽命長

缺點:價格較高

- FLASH EEPROM模擬(FEE : Flash EEPROM Emulation)

優(yōu)點:價格便宜

缺點:訪問速度慢,擦寫限制,壽命較短

Autosar NVM


Autosar NVM位于基礎(chǔ)軟件的服務(wù)層,并為為所有NV data的(初始化、讀、寫、控制)維護以及管理作提供了各種同步/異步服務(wù)。無論是EEPROM還是Flash模擬,都在這層被抽象為同一類型,直到MemIf層才會做出區(qū)分。


NVRAM Block

在Autosar中規(guī)定了四種 NVRAM Block,分別為 NV Block、RAM Block、ROM Block、Administrative Block。


- NV block

NV block是存儲NV變量的基本結(jié)構(gòu),其中Header以及CRC校驗非必須項。

[SWS_NvM_00125] ⌈The NV block is a basic storage object and represents a memory area consisting of NV user data and (optionally) a CRC value and (optionally) a NV block header.


- Ram block

由于NV變量的寫入與讀取都是一件相對較慢的操作,而應(yīng)用層邏輯操作周期速度又太快。直接操作NV block顯然不合適,所以在進行讀寫之前,我們會建議一個同樣大小的Ram空間來操作、使用、存放這些還沒有被寫入或者讀取的NV值。

在NVM中規(guī)定了permanent,temporary 兩種類型。其中永久型在項目配置時就必須輸入指定的RAM地址;而臨時型不需要在項目配置期間就設(shè)定,而是

[SWS_NvM_00373] ⌈The RAM block data shall contain the permanently or temporarily assigned user data. ⌋ ( )

[SWS_NvM_00370] ⌈In case of permanently assigned user data, the address of the RAM block data is known during configuration time. ⌋ ( )


- Rom block 

ROM block 用于存儲默認值,以便當NV block數(shù)據(jù)出現(xiàn)損壞時予以替換。

[SWS_NvM_00020] ⌈The ROM block is a basic storage object, resides in the ROM (FLASH) and is used to provide default data in case of an empty or damaged NV block.


- Administrative block

Administrative block是專門用于對NVRAM Block 與 RAM blcok 的數(shù)據(jù)安全性進行管理而設(shè)計的,它對應(yīng)用層并不可見。

[SWS_NvM_00135] ⌈The Administrative block shall be invisible for the application and is used exclusively by the NvM module for security and administrative purposes of the RAM block and the NVRAM block itself. ⌋ ( )

[SWS_NvM_00054] ⌈The NvM module shall use an attribute field to manage the NV block write protection in order to protect/unprotect a NV block data field. ⌋ ( )

異步調(diào)用
 

 
由于NV data區(qū)域的訪問速度較慢,所以NVM所支持的API多以異步調(diào)用為主。其核心函數(shù)為周期執(zhí)行的NvM_MainFunction()。下圖主要闡述了在異步調(diào)用中使用 Polling 和 Callback 兩種方式來執(zhí)行NvM_WriteBlock()操作。
 
- Polling
 

在NVM User 請求寫入NvM_WriteBlock時,會將這個任務(wù)寫入存儲在隊列里,并由后臺NvM_MainFunction() 執(zhí)行。Nvm user需要用polling 方式主動查詢寫入結(jié)果。如果返回NVM_REQ_PENDING,表示還沒有執(zhí)行完成,回復(fù)NVM_REQ_OK 表示執(zhí)行成功。
 
- Callback 


在call back模式下,如果執(zhí)行成功,NvM_MainFunction() 會主動調(diào)用call back 函數(shù)來提醒 NVM user 來查詢結(jié)果。
分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25