Files
autosar_standard_spec_v4.4/IO/AUTOSAR_SRS_DIODriver.md
T

14 KiB
Raw Blame History

DIO 驱动需求(Requirements on DIO Driver

AUTOSAR CP Release 4.4.0

文档元信息

字段 内容
文档标题 DIO 驱动需求(Requirements on DIO Driver
文档所有者 AUTOSAR
文档责任方 AUTOSAR
文档标识号 191
文档状态 Final(最终版)
所属 AUTOSAR 标准 Classic Platform(经典平台)
所属标准版本 4.4.0

文档变更历史(Document Change History

日期 版本 变更人 变更描述
2018-10-31 4.4.0 AUTOSAR Release Management 编辑性变更
2017-12-08 4.3.1 AUTOSAR Release Management 移除对 BMW 和 HIS 文档的引用;编辑性变更
2016-11-30 4.3.0 AUTOSAR Release Management 新增第 5 章:需求追踪
2015-07-31 4.2.2 AUTOSAR Release Management 编辑性变更
2014-10-31 4.2.1 AUTOSAR Release Management 编辑性变更
2013-03-15 4.1.1 AUTOSAR Administration 需求 ID 变更;更新以实现需求可追溯性
2011-12-22 4.0.3 AUTOSAR Administration 新增 SRS_Dio_12900
2010-09-30 3.1.5 AUTOSAR Administration 法律声明修订
2008-08-13 3.1.1 AUTOSAR Administration 法律声明修订
2007-12-21 3.0.1 AUTOSAR Administration 扩展文档元信息;小幅布局调整
2007-01-24 2.1.15 AUTOSAR Administration "用户建议"修订;新增"修订信息"
2006-11-28 2.1 AUTOSAR Administration 法律声明修订
2006-05-16 2.0 AUTOSAR Administration 作为独立文档发布。SRS SPAL V1.0.0 已被拆分为 15 个独立文档,以发布 2.0
2005-05-31 1.0 AUTOSAR Administration 作为 SRS SPAL V1.0.0 的一部分初始发布

目录(Table of Contents

  1. 文档范围(Scope of document
  2. 如何阅读本文档(How to read this document
  3. 缩略语与缩写(Acronyms and abbreviations
  4. 功能概述(Functional Overview
  5. 需求追踪(Requirements Tracing
  6. 需求规范(Requirement Specification
  7. 参考文献(References

1 文档范围(Scope of document

本文档规定了 DIO 驱动模块的需求。

1.1 约束(Constraints

基础软件模块需求规范的首要范围是非安全相关系统。因此,安全需求被分配到中等优先级。


2 如何阅读本文档(How to read this document

每个需求都有其唯一的标识符,以 "BSW""Basic Software" 的缩写)前缀开头。对于任何审阅注释、评论或问题,请参考此唯一 ID 而不是章节或页码!

2.1 使用的约定(Conventions used

  • AUTOSAR 文档中需求的表示遵循 [TPS_STDT_00078] 中指定的表。
  • 在需求中,使用以下特定语义(取自互联网工程任务组 IETF 的征求意见稿 RFC 2119)。

本文件中使用的关键字 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 应按照 RFC 2119 中的描述进行解释。请注意,它们所使用文档的需求级别会修改这些词的强制力。

  • MUST:这个词,或术语 "REQUIRED" 或 "SHALL",意味着该定义是规范的绝对要求。
  • MUST NOT:这个词组,或词组 "SHALL NOT",意味着该定义是规范的绝对禁止。
  • SHOULD:这个词,或形容词 "RECOMMENDED",意味着在特定情况下可能存在忽略特定条目的有效理由,但在选择不同方案之前必须充分理解并仔细权衡其全部含义。
  • SHOULD NOT:这个词组,或词组 "NOT RECOMMENDED",意味着在特定情况下特定行为可能是可接受的甚至是有用的,但在实现任何带有此标签描述的行为之前,应理解其全部含义并仔细权衡该情况。
  • MAY:这个词,或形容词 "OPTIONAL",意味着某个项目是真正可选的。

2.2 需求结构(Requirement structure

每个模块特定章节包含基础软件模块的简短功能描述。同一类型的需求在每个章节内按以下标题分组(如果适用):

功能需求(Functional Requirements):

  • 配置(Configuration
  • 初始化(Initialisation
  • 正常运行(Normal Operation
  • 关闭操作(Shutdown Operation
  • 故障操作(Fault Operation
  • ...

非功能需求(Non-Functional Requirements):

  • 时间需求(Timing Requirements
  • 资源使用(Resource Usage
  • 可用性(Usability
  • 对其他 WP 的输出
  • ...

3 缩略语与缩写(Acronyms and abbreviations

缩略语 描述
CS 片选(Chip select
DIO 数字输入输出(Digital Input Output
ECU 电控单元(Electric Control Unit
EOL 终端产线(End Of Line),常用于 "EOL 编程" 或 "EOL 配置"
ICU 中断捕获单元(Interrupt Capture Unit
MAL 微控制器抽象层的旧名称(已被 MCAL 取代,因为 'MAL' 在法语中意为 'bad'
MCAL 微控制器抽象层(Microcontroller Abstraction Layer
MCU 微控制器单元(Microcontroller Unit
MMU 内存管理单元(Memory Management Unit
Master 控制其他设备(从设备)的设备
Slave 完全由主设备控制的设备
NMI 不可屏蔽中断(Non maskable interrupt
OS 操作系统(Operating System
PLL 锁相环(Phase Locked Loop
PWM 脉宽调制(Pulse Width Modulation
RX 接收(Reception,在总线通信的上下文中)
SPAL 此工作组名称
SFR 特殊功能寄存器(Special Function Register
RTE 运行时环境(Runtime environment
WP 工作包(Work Package
缩写 描述
STD 标准(Standard
REQ 需求(Requirement
UNINIT 未初始化(Uninitialized

由于这是面向专业人士的专业文档,其他所有术语均假定为已知。


4 功能概述(Functional Overview

4.1 DIO 驱动(DIO Driver

DIO 驱动提供基于端口和通道的读写访问,以访问内部通用 I/O 端口。读写行为是无缓冲的。此驱动的基本行为是同步的。

DIO 驱动中使用以下表达式:

表达式 解释
DIO 通道(DIO channel 表示单个通用数字输入/输出引脚
DIO 端口(DIO port 表示由硬件分组的多个 DIO 通道,可同步访问(通常由一个硬件寄存器控制)。例如:Freescale HC08 的 Port A8 位)
DIO 通道组(DIO channel group 表示由逻辑组表示的多个相邻 DIO 通道。DIO 通道组是 DIO 端口的一个子集,可同步访问。例如:8 位端口的端口引脚 2..6

5 需求追踪(Requirements Tracing

需求 描述 由...满足
RS_BRF_01024 AUTOSAR 应提供公共符号的命名规则 SRS_Dio_12355
RS_BRF_01864 AUTOSAR 微控制器抽象应提供 I/O 信号到数字 I/O 端口的映射 SRS_Dio_12003, SRS_Dio_12004, SRS_Dio_12005, SRS_Dio_12006, SRS_Dio_12007, SRS_Dio_12008, SRS_Dio_12352, SRS_Dio_12424, SRS_Dio_12900

6 需求规范(Requirement Specification

6.1 功能需求(Functional Requirements

6.1.1 DIO 驱动

6.1.1.1 配置与初始化(Configuration and Initialization

端口结构的配置和初始化不属于 DIO 驱动的范畴。这由 Port 驱动完成(请参见 [SRS_Port_12001] 端口引脚属性配置)。

6.1.1.1.1 [SRS_Dio_12355] 应配置符号名称

字段 内容
Type Valid
Description DIO 驱动应允许对以下符号名称进行静态配置:
- DIO 通道名称
- DIO 通道组名称
- DIO 端口名称
Rationale 为 DIO 通道提供人类可读的符号名称。
Use Case --
Dependencies --
Supporting Material --
⌋(RS_BRF_01024)
6.1.1.2 正常运行(Normal Operation

6.1.1.2.1 [SRS_Dio_12003] DIO 驱动应提供将数据字写入已分配 DIO 端口的服务

字段 内容
Type Valid
Description DIO 驱动应提供将数据字写入已分配 DIO 端口的服务。
该操作应为无缓冲的。
对端口的输入功能不应有影响。
Rationale 基本功能
Use Case 对整个 DIO 端口的写访问。
Dependencies [SRS_Dio_12352] 一般读/写行为
Supporting Material --
⌋(RS_BRF_01864)

6.1.1.2.2 [SRS_Dio_12004] DIO 驱动应提供将可选数量的相邻位写入 DIO 端口已分配部分的服务

字段 内容
Type Valid
Description DIO 驱动应提供将可选数量的相邻位写入 DIO 端口已分配部分的服务。该操作应为无缓冲的。
Rationale 允许同时设置具有多个外部分配的 DIO 端口的一组 DIO 通道。
Use Case 对具有多个分配的 DIO 端口的写访问。
Dependencies [SRS_Dio_12352] 一般读/写行为
Supporting Material --
⌋(RS_BRF_01864)

6.1.1.2.3 [SRS_Dio_12005] DIO 驱动应提供对单个 DIO 通道的写访问服务

字段 内容
Type Valid
Description DIO 驱动应提供对单个 DIO 通道(特定端口引脚)的写访问服务。
Rationale 高效处理单个 DIO 通道。
Use Case 对特定 DIO 通道(端口引脚)的写访问。
Dependencies [SRS_Dio_12352] 一般读/写行为
Supporting Material --
⌋(RS_BRF_01864)

6.1.1.2.4 [SRS_Dio_12006] DIO 驱动应提供从已分配 DIO 端口读取数据字的服务

字段 内容
Type Valid
Description DIO 驱动应提供从已分配 DIO 端口读取数据字的服务。该操作应为无缓冲的。对端口的输出功能不应有影响。
Rationale 基本功能
Use Case 对整个 DIO 端口的读访问。
Dependencies [SRS_Dio_12352] 一般读/写行为
Supporting Material --
⌋(RS_BRF_01864)

6.1.1.2.5 [SRS_Dio_12007] DIO 驱动应提供从 DIO 端口已分配部分读取可选数量相邻位的服务

字段 内容
Type Valid
Description DIO 驱动应提供从 DIO 端口已分配部分读取可选数量相邻位的服务。该操作应为无缓冲的。
Rationale 基本功能
Use Case 对具有多个分配的 DIO 端口的读访问。
Dependencies [SRS_Dio_12352] 一般读/写行为
Supporting Material --
⌋(RS_BRF_01864)

6.1.1.2.6 [SRS_Dio_12008] DIO 驱动应提供读取已分配 DIO 通道一个位的服务

字段 内容
Type Valid
Description DIO 驱动应提供读取已分配 DIO 通道(特定端口引脚)一个位的服务。该操作应为无缓冲的。
Rationale 高效处理单个 DIO 通道。
Use Case 对特定 DIO 通道的读访问。
Dependencies [SRS_Dio_12352] 一般读/写行为
Supporting Material --
⌋(RS_BRF_01864)

6.1.1.2.7 [SRS_Dio_12900] DIO 驱动应提供翻转服务

字段 内容
Type Valid
Description DIO 驱动应提供翻转服务(将已分配 DIO 通道(特定端口引脚)的一个位从 1 翻转为 0 或从 0 翻转为 1)并在翻转后返回该通道的电平。该操作应为无缓冲的。
Rationale 高效处理单个 DIO 通道。
Use Case 对特定 DIO 通道进行翻转电平的读和写访问。
Dependencies [SRS_Dio_12352] 一般读/写行为
Supporting Material --
⌋(RS_BRF_01864)

6.1.1.2.8 [SRS_Dio_12352] DIO 驱动应允许对 DIO 端口、通道组和通道进行读写

字段 内容
Type Valid
Description DIO 驱动应允许对 DIO 端口、通道组和通道进行读写,而不考虑其方向配置。

如果对配置为输入的通道进行写入,则该值应写入输出寄存器,但不会出现在物理端口引脚上。

如果读取配置为输出的通道,则在硬件支持的情况下读取真实引脚电平的值。否则,读取端口输出寄存器的值。
Rationale 简化所有 DIO 读写服务的实现。允许输出引脚的回读。允许在将端口引脚切换到输出方向之前预设输出值。
Use Case 请参见原理。
Dependencies --
Supporting Material --
⌋(RS_BRF_01864)

6.2 非功能需求(Non-Functional Requirements

6.2.1 DIO 驱动

6.2.1.1 [SRS_Dio_12424] 提供 DIO 访问的原子性

字段 内容
Type Valid
Description DIO 驱动的所有可重入函数应以原子方式执行以下访问操作:
- DIO 端口
- DIO 通道
- DIO 通道组
Rationale 避免 DIO 驱动 API 函数并发访问中的数据完整性问题。
Use Case 特定微控制器(或特定编译器)不提供对单个端口引脚的原子访问。因此,实现必须对整个端口使用读-修改-写操作。如果不阻塞并发访问,则对同一端口的引脚的并发访问将导致数据完整性问题。
Dependencies --
Supporting Material --
⌋(RS_BRF_01864)

7 参考文献(References

7.1 AUTOSAR 交付物(Deliverables of AUTOSAR

  • [DOC_LAYERED_ARCH] 分层软件架构,AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
  • [AUTOSAR_GLOSSARY] 词汇表,AUTOSAR_TR_Glossary.pdf
  • [SRS_BSW_GENERAL] 基础软件模块的一般需求,AUTOSAR_SRS_BSWGeneral.pdf
  • [SRS_BSW_SPAL] SPAL 的一般需求,AUTOSAR_SRS_SPALGeneral.pdf
  • [TPS_STDT_0078] 软件标准化模板,AUTOSAR_TPS_StandardizationTemplate.pdf

翻译说明

本文档为 AUTOSAR 4.4.0 版本 DIO 驱动软件需求规范的中文翻译。保留了所有需求 ID(SRS_Dio_xxxxx)、参考标识符及模块缩写。原始文档共 15 页,本翻译涵盖了全部章节内容。