首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Autosar COM模块 信号传输模式(ComTxModeTrue和ComTxModeFalse)

  • 23-11-14 08:42
  • 4743
  • 8316
blog.csdn.net

Autosar COM模块 信号传输模式(ComTxModeTrue和ComTxModeFalse)

文章目录

  • Autosar COM模块 信号传输模式(ComTxModeTrue和ComTxModeFalse)
    • 信号的发送属性:
          • Triggered属性:
          • Pending属性:
    • I-PDU的发送模式:
          • Direct/n-times模式:
          • Periodic模式:
          • Mixed模式:
          • NONE模式:
    • 两种不同的传输模式(ComTxModeTrue和ComTxModeFalse)
    • 发送模式条件TMC+发送模式选择TMS
      • 发送模式条件TMC
          • ALWAYS
          • NEVER
          • MASKED_NEW_EQUALS_X
          • MASKED_NEW_DIFFERS_X
          • MASKED_NEW_DIFFERS_MASKED_OLD
          • NEW_IS_WITHIN
          • NEW_IS_OUTSIDE
          • ONE_EVERY_N
      • 发送模式选择TMS
    • 具体配置:
    • 总结:

信号的发送属性:

Triggered属性:

调用Com_SendSignal( )服务请求具备Triggered属性的信号发送,可以触发相关I-PDU的发送,但是如果该I-PDU的发送模式被配置为Peiodic时,只更新信号的值,不会触发相关I-PDU的立即发送,而是在下一周期到来时触发发送。

Pending属性:

Com_SendSignal( )服务请求调用具备Pending属性的信号发送,不会触发相关I-PDU的发送。

I-PDU的发送模式:

Direct/n-times模式:

包含于该I-PDU的任何具备Triggered属性的信号及信号组的更新都会触发I-PDU的立即发送,当上层面模块调用Com_SendSignal( )/Com_SendSignalGroup( )更新信号或者信号组时,Com层根据配置需求发送n次该I-PDU

Periodic模式:

用户配置发送周期,只有该I-PDU的周期到来时才会触发该I-PDU的发送,上层模块调用Com_SendSignal( )/Com_SendSignalGroup( )只更新信号及信号组的内容

Mixed模式:

Direct/n-times和Periodic的混合模式,当上层模块调用Com_SendSignal( )/Com_SendSignalGroup( )请求该I-PDU包含的信号/信号组的发送时,将会触发该I-PDU的直接n次发送,同时,用户配置的周期到来也会触发该I-PDU的发送

NONE模式:

无论何时COM层不能够触发拥有该发送模式的I-PDU的发送,只有PduR模块调用Com_TriggerTransmit( )服务才能够触发该I-PDU的发送

两种不同的传输模式(ComTxModeTrue和ComTxModeFalse)

在AUTOSAR COM规范中允许为每个I-PDU静态配置两种不同的传输模式,ComTxModeTrue和ComTxModeFalse。在AUTOSAR COM规范中通过传输模式切换,来选择I-PDU中的其中一种传输模式进行传输。

先使用过滤机制判断I-PDU中各信号的发送模式条件,同时更新I-PDU中的信号。
通过各信号的判断结果来计算该I-PDU的TMS(transmission mode selector)。若至少有一个C( 与IPDUk中的信号Si相关)为True,则TMS为True,对应I-PDU以用户配置的ComTxModeTrue的发送模式发送;若所有C(Si,IPDUk)都为False,则TMS为False,对应I-PDU以用户配置的ComTxModeFalse的发送模式发送.

模式切换接口如下:

Com_SwitchIpduTxMode(ComConf_ComIPdu_***_CANNODE_0, FALSE);
Com_SwitchIpduTxMode(ComConf_ComIPdu_***_CANNODE_0, TURE);
  • 1
  • 2

发送模式条件TMC+发送模式选择TMS

发送模式条件TMC

发送端信号的TMC(发送模式条件)的计算与接收端的信号过滤机制相同,但是,在发送端信号过滤并不会丢弃任何的信号,而只是用于计算信号TMC的值。

Com提供了如下八种信号过滤机制:

ALWAYS

总是通过,若一个信号的过滤算法配置为ALWAYS,那么这个信号的TMC永远为True;

NEVER

总是不通过,若一个信号的过滤算法配置为NEVER,那么这个信号的TMC永远为False;

MASKED_NEW_EQUALS_X

若一个信号的过滤算法配置为MASKED_NEW_EQUALS_X时,只有当新值与掩码按位与之后等于设定的某一值时,这个信号的TMC才等于True;

MASKED_NEW_DIFFERS_X

若一个信号的过滤算法配置为MASKED_NEW_DIFFERS_X时,只有当新值与掩码按位与之后不等于设定的某一值时,这个信号的TMC才为True;

MASKED_NEW_DIFFERS_MASKED_OLD

若一个信号的过滤算法配置为MASKED_NEW_DIFFERS_MASKED_OLD时,只有当新值与掩码按位与之后的值不等于旧值与掩码按位与之后的值时,这个信号的TMC才为True;

NEW_IS_WITHIN

若一个信号的过滤算法配置为NEW_IS_WITHIN时,只有当新值在某一设定的范围内时,这个信号的TMC才为True;

NEW_IS_OUTSIDE

若一个信号过滤算法配置为NEW_IS_OUTSIDE时,只有当新值不在某一设定的范围内时,这个信号的TMC才为True;

ONE_EVERY_N

若一个信号的过滤算法配置为ONE_EVERY_N时,该信号值每更新N次,这个信号的TMC值为True;

发送模式选择TMS

发送端的TMS,一个I-PDU的TMS的值是根据其所有下属的信号的TMC结果决定的,若一个I-PDU下属的信号中至少有一个信号的TMC计算为True,那么这个I-PDU的TMS为True,只有该I-PD下属的所有的信号的TMC都计算为False时,该I-PDU的TMS才为False。

具体配置:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结:

每个I-PDU配置两种发送模式,在程序运行过程中,某I-PDU的发送模式是由TMS来决定,若一个I-PDU的TMS根据上述的算法计算为True,那么该I-PDU将以配置的True状态下的发送模式进行发送。当一个I-PDU下属的某个信号的过滤算法配置为ALWAYS,那么这个I-PDU将一直以用户配置的TM为True状态下发送模式进行发送。

注:本文转载自blog.csdn.net的PlutoZuo的文章"https://blog.csdn.net/PlutoZuo/article/details/131826499"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top