上一篇 | 返回主目录 | 下一篇
Autosar模块介绍:Memory_4(EA-EE抽象
- 1 基本术语解释
- 2 Ea组成结构图
- 3 Ea基本操作
- 3.1 通用操作
- 3.2 作业的进程(通用需求)
- 3.3 读操作过程
- 3.4 写操作过程
- 3.5 擦除过程
- 3.6 比较过程
- 4 Ea常用操作时序
- 4.1 初始化
- 4.2 读/写/擦除/比较
- 4.3 当前操作取消
1 基本术语解释
编号 | 缩写 | 原文 | 解释 |
---|---|---|---|
1 | Data block | —— | 1. 一个数据块可能包含1…n个字节,并在EEPROM驱动程序的API中使用 2. 包含三个参数: 1. EEPROM偏移地址 2. 数据指针 3. 长度 |
2 | Data unit | —— | EE中数据操作的最小实体(读、写与擦除可能存在不同) 例如(与硬件相关): Read: 1 byte Write: 2 bytes Erase: 4 bytes |
3 | Normal mode | —— | 一次擦除的最小内存 |
4 | Burst mode | —— | 模拟EE |
5 | EEPROM cell | —— | EE抽象层 |
6 | EEPROM | —— | 内存抽象接口 |
9 | DMU | Data Management Unit | |
10 | SCU | System Clock Unit |
2 Ea组成结构图
3 Ea基本操作
3.1 通用操作
- 为EEPROM定义了异步读、写、擦除以及比较服务
- Eep模块不能缓冲作业,一次只能接受一个作业。在作业处理过程中,Eep模块不接受其他作业
- Eep模块不能缓冲要读或写的数据,将通过API传递的指针引用的应用程序数据缓冲区
3.2 作业的进程(通用需求)
- 如果EEPROM支持中断处理,则可以设置中断的处理方式,否则只能轮询的处理
- 如果启用中断控制作业处理,中断服务例程(Eep_Irq.c)需要
3.3 读操作过程
- 提供两种不同的操作模式: Normal Mode、Fast Mode
- 如果外部EEPROM不支持Burst Mode,模块将会处理为Normal Mode
- EepNormalReadBlockSize参数为Normal Mode单周期读取的字节数据长度,超过后会进行多次读取
- EepFastReadBlockSize参数为Fast Mode单周期读取的字节数据长度,超过后会进行多次读取
- 如果操作成功,将会将EEPROM的状态切换成IDLE,并将当前作业状态修改为OK。并且如果配置了通知函数,将会进入EepJobEndNotification
- 当检测到错误时,将会忽略当前的操作,并且将EEPROM切换成IDLE,并将当前作业状态修改为Fail。且如果配置了通知函数,将会进入EepJobErrorNotification
3.4 写操作过程
- Eep模块只能在一个作业处理周期内向EEPROM硬件写入(和擦除)多个字节
- 对于内部EEPROM,可以写入单个字节。外部EEPROM可以在RAM中写入多个字节,然后写入EEPROM
- 存在两个不同的操作模式:Normal Mode、Fast Mode
- 如果外部EEPROM不支持Burst Mode,模块将会处理为Normal Mode
- 通过参数EepNormalWriteBlockSize可配置正常模式下单个周期写入参数长度
- 通过参数EepFastWriteBlockSize可配置快速模式下单个周期写入参数长度
- 如果EEPROM硬件没有自动完成EEPROM单元,则Eep模块应在写入它之前擦除EEPROM单元
- 如果要写入的字节数小于可擦除和/或可写的数据单元,则Eep模块应通过执行读-修改-写操作来保存受影响的EEPROM单元格的数据
- 如果给定参数(电子地址和长度)与可擦除/可写数据单元不对齐,Eep模块应通过读修改-写操作保存受影响的EEPROM单元的数据
- 通过EepJobEndNotification通知完成写操作,通过EepJobErrorNotification通知错误状态
3.5 擦除过程
- Eep模块应仅在一个作业处理周期内擦除EEPROM硬件支持的EEPROM字节数
- 如果EEPROM硬件支持,并且给定参数(可擦除块地址和长度)与可擦除块对齐,则Eep模块应使用块擦除命令
- 如果给定的擦除参数(EEPROM地址和长度)与可擦除的数据单元不对齐,Eep模块应通过读-修改-写操作保存受影响的EEPROM单元的内容
- 通过EepJobEndNotification通知完成擦除操作,通过EepJobErrorNotification通知错误状态
3.6 比较过程
通过EepJobEndNotification通知完成状态,若出现错误通过EepJobErrorNotification通知上层软件,结果不相等通过Eep_JobErrorNotification通知上层软件
4 Ea常用操作时序
4.1 初始化
4.2 读/写/擦除/比较
4.3 当前操作取消
上一篇 | 返回主目录 | 下一篇