当前位置: 首页 > news >正文

深入解析:【AUTOSAR以太网】EthSM简介

目录

状态机

VLAN


EthSM 主导功能是对 Eth 协议栈中对 TcpIp 和 EthIf 的工作状态进行管理,以实现对协议栈的正常通信和静默的状态管理。与 EthSM 相关联的模块如下图所示:

0

从图中可以看出, EthSM 主要与 TcpIp (上图未体现,但实际需要交互)和 EthIf 这两个模块进行状态交互(黄线是控制流),同时 EthSM 还会受 ComM 的控制。

正常工作模式下, EthSM 状态的切换都是由 ComM 发起。 EthSM 将切换后的状态通知给 BswW。

状态机

图片

1、ETHSM_STATE_OFFLINE

此模式下, EthSM 会关闭 Eth 控制器和 PHY 收发器,同时通知 TcpIp 清空 IP 地址,进入 OFFLINE 状态;

2、ETHSM_STATE_WAIT_TRCVLINK

EthSM 在 OFFLINE 状态下调用 SetController_Mode 和 SetTransceiver_Mode 接口设置控制器和收发器为Active 状态之后进入此模式。

在此模式下 EthSM 等待 PHY 的 link 状态是否为已连接状态,如果未收到link状态指示,则一直停在此状态(很多时候,由于Trcv链接时间过长,导致以太网启动很慢)。

若ComM调用了 NO_COMMUNICATION 的请求,则会关闭控制器和收发器为 DOWN 状态,之后切换回 OFFLINE 状态;

3、ETHSM_STATE_WAIT_ONLINE

当 EthSM 在 WAIT_TRCVLINK 状态下收到到了 link 状态完成的指示,进入 WAIT_ONLINE ,同时设置 TcpIp的状态为 ONLINE 。

若 EthSM 在 WAIT_ONLINE 状态下收到 link失败的指示,则切换回 WAIT_TRCVLINK 状态,同时设置 TcpIp 的状态为 OFFLINE 。

若 ComM 请求 NO_COMMUNICATION ,则会关闭控制器和收发器以及 TcpIp,之后切换回 OFFLINE 状态。

4、ETHSM_STATE_ONLINE

EthSM 在 WAIT_ONLINE 状态下收到 TcpIp ONLINE 的状态指示,则进入 ONLINE 状态。在 ONLINE 状态下, EthSM 会通知 ComM 当前的状态为 FULL_COMMUNICATION。

在此模式下, EthSM 对应的控制器和收发器均正常工作,且 PHY 为 LINK 状态。

5、ETHSM_STATE_ONHOLD

EthSM 在 ONLINE 状态下检测到 PHY 芯片已经断开,此时 EthSM 会从 ONLINE 状态切换到 ONHOLD的状态。当 EthSM 在 ONHOLD 状态下:

(1)若重新检测到 LINK 状态,切换回 ONLINE模式;

(2)若收到 TcpIp OFFLINE 的指示,则切换回WAIT_TRCVLINK 状态;

(3)若收到 ComM 的 NO_COMMUNICATION 请求,则会在 ONHOLD 的状态下关闭控制器和收发器以及 TcpIp,之后切换回 OFFLINE 状态;

6、ETHSM_STATE_WAIT_OFFLINE

只有当 EthSM 处于 ONLINE 状态下且收到了 ComM 的 NO_COMMUNICATION 请求时,会从 ONLINE 状态切换到WAIT_OFFLINE 状态,此时 EthSM 会请求关闭 TcpIp,并且只有在接收到了 TcpIp的状态指示切换到 OFFLINE 之后, EthSM 才会关闭控制器和收发器为 DOWN 状态,之后切换回 OFFLINE 状态;

VLAN

EthSM 模块支持 VLAN 功能。若底层控制器支持 VLAN, EthSM 需要将其单独作为一路通道进行处理。

例如, EthIf 支持一个物理 Controller 和两个挂载到这个 Controller 上的 VLAN,则在 EthSM 上所对应的网络通道号为两个,一路通道为实际的物理 Controller,另一路为挂载的两个 VLAN;

http://www.gsyq.cn/news/57878.html

相关文章:

  • 2025年靠谱的数控弹簧机行业内知名厂家排行榜
  • 微型锌空气电池为细胞级机器人供电
  • 2025年口碑好的道路照明工程实力企业榜单
  • 2025年比较好的异性包装印刷用户信赖优选榜
  • 2025年靠谱的钢珠轨厂家实力及用户口碑排行榜
  • 苏州交通事故律所推荐:专业法律服务机构选择参考
  • 杭州公司注册银行开户哪家强?本地服务机构实力参考
  • abc433
  • Flutter 问题诊断-0.1
  • AI生成图像在形状识别中的荒谬表现
  • liviv
  • 重回单体,真的不是技术倒退 - 智慧园区
  • int在python是什么
  • intel linux 驱动
  • instr sql函数能实现啥
  • instr sql函数如何用
  • Inode怎样影响MySQL的数据恢复
  • inode linux
  • inceptor sql的触发器如何设计
  • inceptor sql的视图如何创建
  • inceptor sql的事务如何处理
  • inception sql 支持哪些功能
  • inception sql 如何进行优化
  • Imx6q Linux系统下的存储性能如何提升
  • 马上2026年了,AI写小说技术发展到什么程度了?
  • R机械设计V5.2 (2025.11.22)
  • 可能是全网最好的笔记本电脑降压定频调时序入门教程
  • 第33天(简单题中等题 数据结构:哈希表、滑动窗口)
  • C++ 和 Tesseract OCR 识别验证码
  • 若依框架源码—3