www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 汽車電子1 > 糖果Autosar
[導(dǎo)讀]本文根據(jù)AUTOSAR4.4(ClassicPlatform)(https://www.autosar.org/standards/classic-platform/classic-platform-440/)標準中的:AUTOSAR_SRS_MemoryServices.pdf...

本文根據(jù)AUTOSAR4.4(Classic Platform)(https://www.autosar.org/standards/classic-platform/classic-platform-440/)標準中的 :


AUTOSAR_SRS_MemoryServices.pdf


AUTOSAR_SWS_NVRAMManager.pdf


兩篇文章整理。僅為個人理解,不當之處,還請指正,感謝!


AUTOSAR基本架構(gòu)的介紹很多,可以自行搜索相關(guān)資料,比如 https://www.jianshu.com/p/cfffc1692ea2。



言歸正傳,這兩篇文檔主要是Memory Service 層的 Requirement 和 Specification。


1 NVRAM Block

1.1 縮寫

NVRAM Block是NVM manager層所定義對象。其相關(guān)的概念和基本對象包括:


Acronym: Description:
Basic Storage Object


(本文簡稱BSO)


基本存儲對象


A “Basic Storage Object” is the smallest entity of a NVRAM Block.
Several “Basic Storage Objects” can be used to build a NVRAM Block.
A “Basic Storage Object” can reside in different memory locations
(RAM/ROM/NV memory).
基本存儲對象是NVRAM Block的最小實體。


幾個BSO組成一個NVRAM Block。


BSO可以位于不同的存儲器中(RAM/ROM/NV memory)


NVRAM Block The “NVRAM Block” is the entire structure, which is needed to administrate and to store a block of NV data. NVRAM Block是NVM層存儲器的定義對象,用作管理和存儲非易失性數(shù)據(jù)。
NV data The data to be stored in the Non-Volatile memory. 要存儲在NV Memory中的非易失性數(shù)據(jù)。
Block Management Type


block管理型類


Type of the NVRAM Block. It depends on the (configurable) individual composition of a NVRAM Block in chunks of different mandatory/optional Basic Storage Objects and the subsequent handling of this NVRAM block. NVRAM Block 的類型。取決于NVRAM block  的BSO構(gòu)成和后續(xù)block的處理方式。
NV Block Header Additional information included in the NV Block if the mechanism “Static Block ID” is enabled. 如果BVRAN Block啟用了 “Static Block ID”,則其中包含NV Block的附加信息。
RAM Block The “RAM Block” is a Basic Storage Object. It represents the part of a NVRAM Block, which resides in the RAM.
See [SRS_LIBS_08534]
BSO:RAM Block。對NVRAM Block來說是必需(mandatory)成分。
ROM Block The “ROM Block” is a Basic Storage Object. It represents the part of a NVRAM Block, which resides in the ROM. The “ROM Block” is an optional part of a NVRAM Block. BSO:ROM Block,位于ROM中。對NVRAM Block來說是可選(optinal)成分。
NV Block The “NV Block” is a Basic Storage Object. It represents the part of a NVRAM Block, which resides in the NV memory. The “NV Block” is a mandatory part of a NVRAM Block. BSO:NV Block。位于NV Memory(比如:Flash,EEPROM等)中,對NVRAM Block來說是必需(mandatory)成分。
Administrative Block The “Administrative Block” is a Basic Storage Object. It resides in RAM. The Administrative Block contains any RAM data, that are necessary to manage the NVRAM block, for being able to perform processing on it and to deliver status information. The “Administrative
Block” is a mandatory part of a NVRAM Block.
BSO:Administrative Block。位于RAM中。其中包含管理NVRAM Block所必需的的RAM數(shù)據(jù)(狀態(tài)信息等)。是NVRAM Block的必需(mandatory)成分。


1.2 BSO和NVRAM Block 之間的組織關(guān)系如圖 1 所示




圖1 NVRAM 個構(gòu)成(BSO)


Application(以后簡稱App)層的SoftWare Component(以后簡稱SWC)需要存儲非易失性數(shù)據(jù)(NV Data)時,就使用NVM Manager 生成不同的NVRAM Block。NVRAM Block包含不同的BSO成分,每一個NVRAM Block包含哪些BSO在配置時決定,配置時每個NVRAM Block都會有一個 NVRAM block descriptor ,一旦 block descriptor 固定,則NVRAM Block的構(gòu)成也就固定(fixed)了。每一個NVRAM Block都會被分配一個 Block ID,NVM模塊就使用 Block ID 來選擇要訪問的single block。每一個NVRAM Block都可以為其配置 block management type(Native,Redundant,Dataset)。


所有地址偏移都是相對于 NVRAM block descriptor 中RAM或ROM的起始地址(這里認為是block ID,待確認)給出的。一般認為起始地址為0。(如果需要,相應(yīng)的設(shè)備驅(qū)動程序?qū)⑻砑釉O(shè)備特別定義的基址或偏移量)。



1.3 BSO的邏輯成分

下圖展示了集中BSO的邏輯組成:




1.4 Block management types

前面提到:每一個NVRAM Block都可以為其配置 block management type(Native,Redundant,Dataset)。


NVRAM Block的管理類型有3種:


  1. native


  2. redundant


  3. dataset


每一種類型的NVRAM Block的BSO組成為:



1.4.1 Native NVRAM Block

Native NVRAM塊是最簡單的塊管理類型。


1.4.2 Redundant NVRAM Block

包含2個NV block。如果一個 NV block 塊被認為是無效(invalid)的(例如read fail),則會使用另一個有效的NV block 中的數(shù)據(jù)來恢復(fù)無效的 NV block(即將有效NV block 中的數(shù)據(jù)寫到無效的 NV block中)。如果恢復(fù)失敗,則應(yīng)將該錯誤報告給DET(錯誤碼為:NVM_E_LOSS_OF_REDUNDANCY)



1.4.3 Dataset NVRAMBlock

Dataset NVRAM Block 塊中包含幾個大小相同的(NV / ROM)block。應(yīng)用程序可以一次訪問block中的任意一個。


(原文:The Dataset NVRAM block is an array of equally sized data blocks (NV/ROM). The application can at one time access exactly one of these elements.)


[SWS_NvM_00144] dataset 的 位置 index 在Administrative block 通過一個單獨的字段來標識。
[SWS_NvM_00374] NNvM模塊應(yīng)能讀取daset中所有的NV塊。
[SWS_NvM_00375] 當且僅當禁用 write protection 時,NvM模塊才能write所有的NV塊。
[SWS_NvM_00146] 如果dataset NVRAM block配置了 ROM block,則index range要能涵蓋ROM,即通過index 要能索引NV block 和 ROM block 。
[SWS_NvM_00376] NvM模塊應(yīng)只能讀取ROM block(default datasets)。
[SWS_NvM_00377] NvM模塊應(yīng)將 write ROM block 視為 write to a protected NV block。
[SWS_NvM_00444] Dataset NVRAM Block中的 (NV ROM)block 總數(shù)必須在1..255的范圍內(nèi)。
[SWS_NvM_00445]?在可選ROM塊的情況下,索引從0到NvMNvBlockNum-1的數(shù)據(jù)區(qū)域表示NV塊在NV存儲器中的CRC。索引從NvMNvBlockNum到NvMNvBlockNum NvMRomBlockNum-1的數(shù)據(jù)區(qū)域表示ROM塊。


[SWS_NvM_00445]   Dataset NVRAM Block中的 (NV ROM塊) 的index 關(guān)系圖如下圖:


先是NV block,然后是ROM block




1.5 NVRAM Manager API configuration classes

NVM 模塊提供哪些API AUTOSAR 中也做了規(guī)定。但是為了適應(yīng)不同的硬件資源,NVM模塊可以配置哪些API在當前的環(huán)境中是可用的。為此,NVM模塊中提供了一個 API configuration classes 的配置項,其有三個參數(shù),對應(yīng)不同的API范圍:


—— API configuration class 3: 所有定義的API都可以使用;
—— API configuration class 2: 部分API可用,可用API的中間集合.
—— API configuration class 1: 最少的API可用,在任何情況下都需要的API最小集合。適用于硬件資源非常有限系統(tǒng)。


NvM module 將只包含用的到的代碼,即使用宏編譯開關(guān)根據(jù)配置項來決定相關(guān)的代碼是否使用。


Configuration Class No class3 class2 class1 Characteristics of Request Types
type1 1 NvM_SetDataIndex(...) NvM_SetDataIndex(...) NvM_GetErrorStatus(...) synchronous request
2 NvM_GetDataIndex(...) NvM_GetDataIndex(...) NvM_SetRamBlockStatus(...) affects one RAM block
3 NvM_SetBlockProtection(...) NvM_GetErrorStatus(...) NvM_SetBlockLockStatus(...) available for all SW Cs
4 NvM_GetErrorStatus(...) NvM_SetRamBlockStatus(...)

5 NvM_SetRamBlockStatus(...) NvM_SetBlockLockStatus(...)

6 NvM_SetBlockLockStatus()


type2 1 NvM_ReadBlock(...) NvM_ReadBlock(...) / asynchronous request (result via callback or polling)
2 NvM_WriteBlock(...) NvM_WriteBlock(...) affects one NVRAM block
3 NvM_RestoreBlockDefaults(...) NvM_RestoreBlockDefaults(...) handled by NVRAM manager task via request list
4 NvM_EraseNvBlock(...) NvM_CancelJobs(…) available for all SW Cs
5 NvM_InvalidateNvBlock(...) NvM_ReadPRAMBlock(...)
6 NvM_CancelJobs(…) NvM_WritePRAMBlock(...)
7 NvM_ReadPRAMBlock(...) NvM_RestorePRAMBlockDefaults(...)
8 NvM_WritePRAMBlock(...)

9 NvM_RestorePRAMBlockDefaults(...)

type3 1 NvM_ReadAll(...) NvM_ReadAll(...) NvM_ReadAll(...) asynchronous request (result via callback or polling)
2 NvM_WriteAll(...) NvM_WriteAll(...) NvM_WriteAll(...) affects all NVRAM blocks with permanent RAM data
3 NvM_CancelWriteAll(...) NvM_CancelWriteAll(...) NvM_CancelWriteAll(...)
4 NvM_ValidateAll(...) NvM_ValidatedAll(...)

1 NvM_FirstInitAll(…) NvM_Init(...)? ( )

type4 1 NvM_Init(...) NvM_Init(...) NvM_Init(...) · synchronous request
· basic initialization
· success signaled to the task via command interface inside the function itse
Remark


1. No queue;
2. No immediate data can be written;
3. Not support Dataset management type;
4.

1.6 硬件抽象層的尋址方案

硬件抽象接口(即更低層的Fee和EA)為NVM提供了虛擬線性32位地址空間用于尋址,這32位地址由16bit的 block number和16bit的block address offset構(gòu)成。


According to [SWS_NvM_00051], the NvM module allows for a (theoretical) maximum of 65536(2^16) logical blocks, each logical block having a (theoretical) maximum size of 64(2^16) Kbytes.


(NVM模塊最多允許尋址 65536(2^16)個邏輯塊,每個邏輯塊的大小最大為 64(2^16) Kbytes)


16bit 的block number 被進一步劃分成兩部分:


  1. NV block base number (NVM_NV_BLOCK_BASE_NUMBER) with a bit width of (16 -NVM_DATASET_SELECTION_BITS)


  2. Data index with a bit width of (NVM_DATASET_SELECTION_BITS)


即:NVM_DATASET_SELECTION_BITS NVM_NV_BLOCK_BASE_NUMBER = 16


NvMDatasetSelectionBits 在NVM module中是可配置項,用作Dataset類型的NVRAM Block中的NV block的尋址,即dataset中,NVblock的dataindex 可以為 0,1,2... (2^bit-1)。NvMDatasetSelectionBits被定義之后,則block base number的大小也隨即確定(用作對base number尋址的bits個數(shù) == 16-selectionbits), 即NVRAM Block ID可以為 0,1,2,... (2^basenumberbits-1)。


NVM模塊的 NvMNvBlockBaseNumber, NvMDatasetSelectionBits 和FeeEA 模塊的 EA_BLOCK_NUMBER / FEE_BLOCK_NUMBER 的關(guān)系換算關(guān)系是:


FEE/EA_BLOCK_NUMBER = (NvMNvBlockBaseNumber << NvMDatasetSelectionBits) DataIndex.


bit 和其組合后的表示意義:


NvMDatasetSelectionBits        ——> Data Index(一個NVRAM Block的NV block 的編號)


NvMNvBlockBaseNumberbits ——> NVMBlockBaseNumber(即為NVRAM Block ID,NVRAM Block的編號)


即兩個類型的 bit 合計共有16個。



例 1:


NvMDatasetSelectionBits == 2 (即被配置為2bit),則可以用作NvMNvBlockBaseNumber 的是14bit。由此:


? Range of NvMNvBlockBaseNumber: 0x1..0x3FFE(2^14個,即:1 ~(2^14-1-1))
? Range of data index: 0x0..0x3(=2^NvMDatasetSelectionBits-1) (2^2個,即:0 ~ (2^2-1))
? Range of FEE_BLOCK_NUMBER/EA_BLOCK_NUMBER: 0x4..0xFFFB (0x1<<2bit 0)


對于一個 native NVRAM block,如果其 NvMNvBlockBaseNumber = 2:
——則其對應(yīng)的NV block 在 Fee/EA 層的 FEE/EA_BLOCK_NUMBER = 8

對于一個 redundant NVRAM block(有2個NV block)如果其 NvMNvBlockBaseNumber = 3:
—— 其1st NV block (data index = 0)在 Fee/EA 層的 FEE/EA_BLOCK_NUMBER = 12 (=3<<2 0,)
—— 其2nd NV block(data index = 1) 在 Fee/EA 層的 FEE/EA_BLOCK_NUMBER = 13(=3<<2 1)


對于一個 dataset NVRAM block 如果其 NvMNvBlockBaseNumber = 4, NvMNvBlockNum = 3 (即有3個NV block):
—— 其 1st NV block(data index = 0) 在 Fee/EA 層的 FEE/EA_BLOCK_NUMBER = 16 (4<<2 0)
—— 其 2nd NV block (data index = 1)在 Fee/EA 層的 FEE/EA_BLOCK_NUMBER = 17(4<<2 1)
—— 其 3rd NV block (data index = 2)在 Fee/EA 層的 FEE/EA_BLOCK_NUMBER = 18(4<<2 2)


2 功能

NVRAM Manager(Non-Volatile RAM Manager)管理所有非易失性存儲器(Non-Volatile Memory)中數(shù)據(jù)的存儲。其本身是獨立于硬件(hardware)的,直接訪問硬件的功能被封裝到BSW的更下層(MemIF,F(xiàn)ee/EA, Fls/Eep)。NVRAM Manger 負責處理對非易失性數(shù)據(jù)的訪問并對單個數(shù)據(jù)元素提供(checksum protection等)可靠性機制。為了適用于汽車系統(tǒng)的所有領(lǐng)域,NVRAM Manager具有高度的可擴展性。


3 SRS文檔中:Requirements Tracing(14條BRF)

Requirement Description Satisfied by
RS_BRF_00129 AUTOSAR shall support data corruption detection and protection。



支持數(shù)據(jù)損壞檢測和保護


SRS_Mem_00030, SRS_Mem_00129,
SRS_Mem_08001, SRS_Mem_08010,
SRS_Mem_08545, SRS_Mem_08546,
SRS_Mem_08547, SRS_Mem_08550,
SRS_Mem_08552, SRS_Mem_08553,
SRS_Mem_08555, SRS_Mem_08556
RS_BRF_01048 AUTOSAR module design shall support modules to cooperate in a multitasking
environment。


模塊支持多任務(wù)環(huán)境下協(xié)作。


SRS_Mem_00034, SRS_Mem_08542,
SRS_Mem_08558
RS_BRF_01064 AUTOSAR BSW shall provide callback functions in order to access upper layer modules。


BSW通過callback函數(shù)訪問上層模塊。


SRS_Mem_00125
RS_BRF_01076 AUTOSAR basic software shall perform module local error recovery to the extent possible。


BSW模塊可以進行本地錯誤恢復(fù)。



SRS_Mem_00038
RS_BRF_01096 AUTOSAR shall support start-up and shutdown of ECUs。


支持ECU的start-up 和 shutdown。


SRS_Mem_00137, SRS_Mem_08540
RS_BRF_01416 AUTOSAR services shall support standardized handling of non-volatile memory data。


service支持對非易失性數(shù)據(jù)的標準化處理。


SRS_Mem_00013, SRS_Mem_00016,
SRS_Mem_00017, SRS_Mem_00136,
SRS_Mem_00138, SRS_Mem_08544,
SRS_Mem_08554
RS_BRF_01800 AUTOSAR non-volatile memory functionality shall be divided into a hardware dependent and independent layer。


NV memory的功能被劃分成兩部分:硬件獨立和硬件依賴。


SRS_Mem_00011
RS_BRF_01808 AUTOSAR non-volatile memory handling shall
support different kinds of memory hardware。


支持多種類型的硬件。


SRS_Mem_08000
RS_BRF_01812 AUTOSAR non-volatile memory functionality shall support the prioritization and asynchronous execution of jobs。


支持作業(yè)優(yōu)先級設(shè)定和異步請求。


SRS_Mem_00034, SRS_Mem_08543,
SRS_Mem_08558
RS_BRF_01816 AUTOSAR non-volatile memory functionality shall organize persistent data based on logical memory blocks。


應(yīng)基于邏輯存儲器塊組織持久數(shù)據(jù)。


SRS_Mem_00041, SRS_Mem_08001,
SRS_Mem_08009, SRS_Mem_08528,
SRS_Mem_08529, SRS_Mem_08531,
SRS_Mem_08533, SRS_Mem_08534,
SRS_Mem_08538, SRS_Mem_08543,
SRS_Mem_08549, SRS_Mem_08560
RS_BRF_01824 AUTOSAR non-volatile memory functionality shall provide a mapping of non volatile memory into random access memory。


提供NV memory到RAM memory的映射


SRS_Mem_00027, SRS_Mem_08014,
SRS_Mem_08533, SRS_Mem_08538,
SRS_Mem_08549




RS_BRF_01832 AUTOSAR non-volatile memory shall handle
logical memory blocks independent of its physical
address。


應(yīng)獨立于物理地址處理邏輯存儲器塊。


SRS_Mem_08007, SRS_Mem_08531
RS_BRF_01840 AUTOSAR non-volatile memory functionality shall
secure integrity of memory blocks。


保證存儲塊的完整性。


SRS_Mem_00018, SRS_Mem_00030,
SRS_Mem_00127, SRS_Mem_00129,
SRS_Mem_00135, SRS_Mem_08010,
SRS_Mem_08011, SRS_Mem_08015,
SRS_Mem_08535, SRS_Mem_08541,
SRS_Mem_08546, SRS_Mem_08547,
SRS_Mem_08548, SRS_Mem_08552,
SRS_Mem_08553, SRS_Mem_08556
RS_BRF_01848 AUTOSAR non-volatile memory functionality shall
provide mechanisms to enhance hardware reliability。


提供增強硬件可靠性的機制。


SRS_Mem_00018, SRS_Mem_08529,
SRS_Mem_08531, SRS_Mem_08548,
SRS_Mem_08551, SRS_Mem_08554

3 SRS中:Requirements Specification

functional requirement 主要分為5個部分來闡述:


  1. configuration:在配置期間要滿足那些要求,可以進行哪些操作等。


  2. initialization:ECU啟動時的操作


  3. normal operation:正常功能和操作


  4. shutdown operation:ECU關(guān)機的操作


  5. fault operation:錯誤處理



本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

(全球TMT2022年10月13日訊)Bossard柏中推出的亮燈揀選系統(tǒng)(Pick by Light and Put to Light)幫助客戶減少尋料和補貨時間。這種“摘果式”燈光揀選系統(tǒng)采用LED信號燈引導(dǎo)物料員...

關(guān)鍵字: SAR 亮燈揀選系統(tǒng) OS LIGHT

亮燈揀選系統(tǒng)將成為SmartBin Cloud云智能料盒和SmartLabel Cloud云智能電子標簽的組成部分,引導(dǎo)客戶快速準確地找到物料。 上海2022年10月13日 /美通社/ -- Bossard柏中推出的亮...

關(guān)鍵字: SAR 亮燈揀選系統(tǒng) 快速定位 OS

(全球TMT2022年8月16日訊)2022年8月15日,楓笛Saramonic正式發(fā)布了Blink500 ProX 2.4G雙通道無線麥克風系統(tǒng)。Blink500 ProX采用2.4GHz ISM自適應(yīng)跳頻...

關(guān)鍵字: LINK RAM SAR 雙通道

深圳2022年8月15日 /美通社/ -- 2022年8月15日,楓笛Saramonic正式發(fā)布了Blink500 ProX 2.4G雙通道無線麥克風系統(tǒng)。這款性能卓越的麥克風能滿足多種場合的使用,為您帶來出色的聲音品質(zhì)...

關(guān)鍵字: LINK RAM SAR 雙通道

上海2022年6月23日 /美通社/ -- Bossard柏中在其自營機械加工廠的基礎(chǔ)上,整合供應(yīng)鏈資源成立精密機械加工聯(lián)盟,擴展加工能力和產(chǎn)能以滿足中國工業(yè)客戶日益增長的定制化零件需求,尤其是高精度零件的加工需求。同時...

關(guān)鍵字: SAR OS RMS 傳感器

(全球TMT2022年6月21日訊)萬代南夢宮娛樂股份有限公司宣布將于2022年7月9日(周六)、7月10日(周日)兩日,在幕張展覽館的活動大廳(千葉市美濱區(qū))舉辦"偶像大師 765藝能全明星"的單獨演唱會 -- "T...

關(guān)鍵字: ST TE LM SAR

上海2022年5月30日 /美通社/ -- 全球緊固技術(shù)提供商柏中(Bossard)在中國推出MM-Welding®輕量化緊固技術(shù),利用超聲波部分熔化熱塑性材料從而對輕質(zhì)材料瞬間形成固定。這項得到BMW寶馬認可的...

關(guān)鍵字: SAR 汽車 進程 WELDING

北京2022年5月5日 /美通社/ -- Analog Devices, Inc.(Nasdaq:ADI)推出新一代16至24位超高精度逐次逼近寄存器(SAR)模數(shù)轉(zhuǎn)換器(ADC)系列產(chǎn)品,可簡化儀器儀表、工業(yè)和醫(yī)療健康...

關(guān)鍵字: ADC ADI SAR ANALOG

(全球TMT2022年5月5日訊)Analog Devices, Inc.(Nasdaq:ADI)推出新一代16至24位超高精度逐次逼近寄存器(SAR)模數(shù)轉(zhuǎn)換器(ADC)系列產(chǎn)品,可簡化儀器儀表、工業(yè)和醫(yī)療健康應(yīng)用中...

關(guān)鍵字: ADC ADI SAR SPI

細微之處,匠心所在,柏中在緊固件"這件小事"上幫助隆鑫摩托打造VOGE無極系列機車,滿足國人對大排量機車愈發(fā)旺盛的需求。 上海2022年4月28日 /美通社/ -- 2022年4月,柏中(Bossa...

關(guān)鍵字: SAR 摩托 OS GE

糖果Autosar

96 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉