AUTOSAR_SWS_SPIHandlerDriver 中文翻译

文档编号:092 | 状态:Final | 发布于:AUTOSAR CP Release 4.4.0
所属标准:AUTOSAR Classic Platform | 文档责任方:AUTOSAR

本翻译覆盖原文档 1-100 页正文。原文为软件规范(SWS),定义 SPI Handler/Driver 模块的 API、配置、错误处理。


1 引言与范围

SPI Handler/Driver(Spi)提供对 SPI 总线的访问抽象,支持同步(轮询)/ 异步(中断/DMA)传输。位于 MCAL 层,对外服务于 Eep(EEPROM)/ Wdg(看门狗)等需要外设通信的 BSW 模块。

2 缩略语

Spi / SPI / MOSI / MISO / SCLK / CS / DMA / IRQ / Channel / Job / Sequence / HW Unit / LSB / MSB / Clock / Polarity / Phase / Eep / Wdg

3 相关文档

[1] AUTOSAR SWS BSW General
[2] AUTOSAR SRS SPI Handler/Driver

4 约束与假设

Spi 应:

5 依赖其他模块

Spi 依赖:MCU(时钟配置)/ Port(引脚复用)/ DMA(异步传输)/ Dem(错误上报)。

6 功能规格

6.1 架构

核心概念:

7 API 服务

7.1 初始化 / 关闭

void Spi_Init(const Spi_ConfigType* ConfigPtr):初始化。
Std_ReturnType Spi_DeInit(void):去初始化。

7.2 同步 / 异步传输

Std_ReturnType Spi_WriteIB(Spi_ChannelType Channel, const Spi_DataType* DataBufferPtr):同步写 IB(Internal Buffer)。
Std_ReturnType Spi_ReadIB(Spi_ChannelType Channel, Spi_DataType* DataBufferPtr):同步读 IB。
Std_ReturnType Spi_Transmit(Spi_SequenceType Sequence):异步启动 Sequence 传输(轮询/中断/DMA)。

7.3 状态查询

Spi_StatusType Spi_GetStatus(void):获取 Spi 整体状态(SPI_UNINIT / SPI_IDLE / SPI_BUSY)。
Spi_SeqResultType Spi_GetSequenceResult(Spi_SequenceType Sequence):获取 Sequence 结果(SPI_SEQ_OK / SPI_SEQ_PENDING / SPI_SEQ_FAILED / SPI_SEQ_CANCELED)。
Spi_JobResultType Spi_GetJobResult(Spi_JobType Job):获取 Job 结果。
Spi_StatusType Spi_GetHWUnitStatus(Spi_HWUnitType HWUnit):获取 HW Unit 状态。

7.4 取消 / 优先级

Std_ReturnType Spi_Cancel(Spi_SequenceType Sequence):取消 Sequence。
Std_ReturnType Spi_SetAsyncMode(Spi_AsyncModeType Mode):设置异步模式(POLLING / INTERRUPT / DMA)。
Std_ReturnType Spi_SetHWUnitDelay(Spi_HWUnitType HWUnit, uint16 Delay):设置 HW Unit 延迟。

7.5 回调

void Spi_JobEndNotification(Spi_JobType Job):Job 结束通知。
void Spi_SeqEndNotification(Spi_SequenceType Sequence):Sequence 结束通知。

8 配置

Spi 配置类:

9 错误处理

9.1 开发错误

SPI_E_UNINIT:模块未初始化。
SPI_E_PARAM_POINTER:参数指针为空。
SPI_E_PARAM:参数无效。
SPI_E_ALREADY_INITIALIZED:重复初始化。

9.2 运行时错误

SPI_E_BUSY:模块忙。

9.3 扩展生产错误(上报 DEM)

SPI_E_HW_ERROR:硬件错误(溢出、超时)。


校对记录

校对轮次:L1 自动校对(2026-06-13)