AUTOSAR图解==>AUTOSAR_SRS_LIN

AUTOSAR LIN模块分析

目录

  1. LIN模块概述
  2. LIN模块架构
  3. LIN通信状态流程
  4. LIN通信序列
  5. LIN配置结构
  6. 总结

1. LIN模块概述

本文档基于AUTOSAR规范SRS_LIN文档,对LIN(Local Interconnect Network)相关模块进行详细分析。主要包括以下几个模块:

  • LIN接口 (LinIf)
  • LIN驱动 (Lin)
  • LIN传输层 (LinTp)
  • LIN接收器驱动 (LinTrcv)

这些模块符合ISO 17987规范,同时兼容旧版本的LIN规范(LIN 2.2、LIN 2.1、LIN 2.0和LIN 1.3)。

2. LIN模块架构

以下架构图展示了AUTOSAR中LIN相关模块的层次结构及其与其他AUTOSAR模块的关系:

在这里插入图片描述

2.1 架构层次说明

2.1.1 应用层

位于AUTOSAR架构顶层,包含使用LIN通信的应用模块。

2.1.2 中间层/RTE

包含通信管理(ComM)和PDU路由器(PduR)等模块,负责协调各个通信模块和路由数据。

2.1.3 LIN相关模块

这是本文重点分析的部分,包括:

  • LIN接口(LinIf):处理LIN协议,支持调度表管理,兼容ISO 17987规范。
  • LIN传输层(LinTp):处理分段传输,支持诊断请求。
  • LIN驱动(Lin):硬件抽象,负责消息传输接收。
  • LIN接收器驱动(LinTrcv):管理物理层,处理唤醒/睡眠状态。
2.1.4 MCU/ECU硬件抽象层

提供对底层硬件的访问接口。

2.2 模块间通信流程

模块间的主要通信流程包括:

  1. 应用模块通过ComM请求通信服务
  2. 应用数据通过PduR路由到LinIf或LinTp
  3. 诊断数据通过LinTp进行分段处理
  4. LinIf负责帧传输管理,并与Lin驱动交互
  5. Lin驱动与硬件抽象层交互,实现物理通信

3. LIN通信状态流程

以下状态图展示了LIN通信模块的状态转换流程:

在这里插入图片描述

3.1 状态定义及转换

3.1.1 未初始化状态

系统上电或复位后的初始状态,模块尚未配置。

3.1.2 初始化完成状态

经过初始化流程后,模块已完成配置,准备就绪但尚未开始通信。

3.1.3 运行状态

LIN模块正常工作状态:

  • 主节点按照调度表处理通信
  • 从节点响应主节点请求
  • 数据传输保持一致性(SRS_Lin_01522要求)
3.1.4 休眠状态

低功耗模式,总线处于非活动状态:

  • 若在休眠转换过程中收到唤醒请求,将返回运行状态(SRS_Lin_01560
  • 状态变化时上层将被通知
3.1.5 停止状态

错误状态,可能由总线错误、超时或通信故障导致。

3.2 关键状态转换

  1. 初始化过程:未初始化 → 初始化完成
  2. 通信启动:初始化完成 → 运行状态
  3. 睡眠转换:运行状态 → 休眠状态
  4. 唤醒过程:休眠状态 → 运行状态
  5. 错误处理:运行状态 → 停止状态
  6. 错误恢复:停止状态/休眠状态 → 初始化完成(重新初始化)

4. LIN通信序列

以下序列图展示了LIN模块间的通信流程:

在这里插入图片描述

4.1 初始化阶段

4.1.1 初始化流程
  1. 应用层请求通信
  2. ComM请求初始化LIN通道
  3. LinIf初始化LIN驱动
  4. Lin初始化接收器
  5. 初始化完成后层层返回确认

LIN接口需要支持每个LIN通道独立初始化(SRS_Lin_01569)。

4.2 正常通信阶段

4.2.1 调度表处理

主节点通过调度表管理器处理调度表(SRS_Lin_01564)。

4.2.2 数据传输流程
  1. 应用层发送数据请求
  2. PduR路由数据到LinIf
  3. LinIf请求Lin驱动发送LIN-PDU
  4. Lin驱动发送主请求帧到总线
  5. 从节点响应,Lin接收响应帧
  6. 传输完成后返回确认

数据传输过程中确保一致性复制(SRS_Lin_01522)。

4.3 睡眠模式转换

4.3.1 进入睡眠流程
  1. 应用层请求睡眠
  2. 通过ComM和LinIf传递请求
  3. Lin驱动发送睡眠帧
  4. 确认后进入睡眠模式

若在睡眠转换过程中收到唤醒请求,将返回运行状态(SRS_Lin_01560)。

4.4 唤醒阶段

4.4.1 唤醒处理流程
  1. 总线上出现唤醒信号
  2. LinTrcv检测到唤醒信号并通知Lin驱动
  3. 唤醒通知沿着模块层次向上传递
  4. 应用层确认唤醒
  5. 通信恢复,Lin驱动切换到正常模式

5. LIN配置结构

以下类图展示了LIN模块的配置数据结构:

在这里插入图片描述

5.1 LIN接口配置

5.1.1 LinIf_ConfigType

主配置结构,包含通道配置和调度表配置。

5.1.2 LinIf_Channel

通道配置,包括:

  • 通道ID
  • 节点类型(主节点/从节点)
  • 超时时间
  • 帧配置

根据SRS_Lin_01569,LIN接口需要支持每个LIN通道独立初始化。

5.1.3 LinIf_ScheduleTable

调度表配置,包含多个调度表项。
根据SRS_Lin_01564,主节点需要提供调度表管理器。

5.1.4 LinIf_ScheduleEntry

调度表项,定义每个通信帧的时序。

5.1.5 LinIf_FrameConfig

帧配置,包含帧ID、PID、响应类型等信息。

5.2 LIN驱动配置

5.2.1 Lin_ConfigType

LIN驱动主配置结构。

5.2.2 Lin_ChannelConfigType

LIN通道配置,包括时钟参考、波特率和唤醒支持等参数。

5.3 LIN传输层配置

5.3.1 LinTp_ConfigType

LIN传输层主配置结构。

5.3.2 LinTp_ChannelConfigType

传输层通道配置,包含超时参数和协议类型。

协议类型支持多种LIN版本:

  • ISO_17987_ISO_14229_7
  • LIN_2.2
  • LIN_2.1
  • LIN_2.0
  • LIN_1.3
5.3.3 LinTp_NSduConfig

网络服务数据单元配置,定义传输方向和缓冲区大小。

5.4 LIN接收器配置

5.4.1 LinTrcv_ConfigType

LIN接收器驱动主配置结构。

5.4.2 LinTrcv_ChannelConfigType

接收器通道配置,包含唤醒支持相关参数。

6. 总结

AUTOSAR LIN模块遵循ISO 17987规范,提供完整的LIN通信功能实现。主要特点包括:

  1. 层次化架构:从应用层到硬件抽象层的清晰分层
  2. 模块化设计:功能被划分为多个独立模块(LinIfLinLinTpLinTrcv
  3. 兼容性:支持多种LIN协议版本
  4. 灵活配置:丰富的配置结构满足不同应用需求
  5. 状态管理:完善的状态转换和错误处理机制
  6. 低功耗支持:休眠和唤醒机制
  7. 多通道支持:一个ECU可支持多个LIN通道

层次化架构*:从应用层到硬件抽象层的清晰分层
2. 模块化设计:功能被划分为多个独立模块(LinIfLinLinTpLinTrcv
3. 兼容性:支持多种LIN协议版本
4. 灵活配置:丰富的配置结构满足不同应用需求
5. 状态管理:完善的状态转换和错误处理机制
6. 低功耗支持:休眠和唤醒机制
7. 多通道支持:一个ECU可支持多个LIN通道

这些特性使AUTOSAR LIN模块能够支持汽车电子系统中的各种LIN通信需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KaiGer666

慧眼~施主!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值