Can通信协议栈数据流及配置

描述

 Can通信协议栈数据流及配置

本系列文章旨在提供一个ETAS RTA-CAR工具链的操作指南,使读者对工具链中各部分软件的功能快速建立初步的理解。同时,通过实际的操作演示,读者可以学习建立AUTOSAR工程的基本工作流程,并在过程中加强对AUTOSAR概念的理解。

 

 

在本视频中,您将学习:

 

  • ConfGen时所需的配置文件algo.properties的作用和语法规则

  • Can通信协议栈数据流及配置

 

algo.properties的作用和语法规则:

 

在执行ConfGen时,我们可以在Settings/algo.properties这个文件中添加一些规则来更改ConfGen生成的BSW模块中的一些默认值,该文件中的规则采用逗号分隔的默认列表形式:

 

manprop_{module}_{specifier} = {parameter}:{default_value}, ...

 

 

  •  {module}

    需要更改默认参数的模块名称

  •  {specifier}

    ALL,可应用于模块的所有实例。

    要更改参数的实例的SHORT-NAME。

  • {parameter}

    需要设置的参数名称。(如果模块中存在命名冲突,则必须使用参数的完整路径)

  • {default_value}

    用到的新默认值

 

 

 

Can Mailbox Mapping

 

一些硬件要求Can邮箱按特定顺序排列,此时可以通过在algo.properties中设置邮箱映射规则。该语法规则为:

 

MbSortingPref=direction,~canControllerName,canHandleType

 

 

其中direction为邮箱排序的方式,默认情况下邮箱会按照先收再发的顺序排列,若在其前面加上~,则邮箱会按照先发再收的顺序排列。关于algo.properties的详细描述可以参考RTA-BSW UserGuide.pdf中的3.5.2节。

 

对Can通信协议栈中的发送数据流进行探究

 

通信协议

 

 

  • 将经过SystemdataMapping的系统信号(System Signal)与对应的ISignal进行关联,这里的System Signal和ISignal以及AUTOSAR Signal是一一对应的,关于如何进行SystemdataMapping,可以观看本系列的第5期视频。

  • RTE通过Com_SendSignal ( )接口将该ISignal发送到Com模块

  • Com模块通过其中的Comsignal引用对应的ISignalToIPduMapping,将其封装为

    I-PDU,通过接口PduR_ComTransmit( )发送到PduR模块

  • PduR根据路由表中所指定的I-PDU目标接收模块,如在此图中PDUR将接收到的I-PDU经过一定处理后通过接口CanIf_Transmit( )发送到CanIf模块

  • CanIf将信号以L-PDU的形式通过CanIf_Write( )发送到Can驱动模块。

    最终,实现了基于Can总线的基本数据发送。

 

 

  审核编辑:汤梓红


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分