AutoSAR—Davinci CFG中CAN模块配置(上)

目录

前面

导入DBC文件

Can Controllers

通用配置

波特率配置

过滤器配置

CanHardwareObjects

最后


前面

上篇文章介绍了一个DBC文件的诞生过程,它是AutoSAR CAN模块配置的前提。

CAN模块的配置是一块很难啃的骨头,作者也是初学,这篇文章只是给大家介绍一个CAN模块在Davinci CFG配置过程中会使用到的一些参数选项,打好基础。

导入DBC文件

打开Davinci CFG软件,新建工程,这一步就省略了。

打开文件导入工具,选择咱们配置好的dbc文件.

5如果有多个ECU的话,选自自己现需要配置的。

进入Basic Editor界面,选择CAN

Can Controllers

通用配置

你会发现已经存在一个CAN控制器了,双击进入

这一大列都是需要进行配置的参数

Busoff Processing:用于处理 Busoff事件,选择中断或者轮循的方式调用指示函数通知上层发生了Busoff事件。

Clock Frequency【MHz】:用于设置CAN模块的时钟。如果选项Cpu Clock Ref 设置了,这里可以不填。

Common CAN:在某些型号的单片机上,每个Node都有专属于自己的硬件 MO (Message Object),这些MO不能配置给其他的Node使用,这样就限制了该Node可以配置的FULLCAN的个数。而如果使用该功能,那么就可以将两个物理Node合并成一个逻辑Channel,从而可以在这个逻辑Channel上使用更多的FULLCAN。该功能对英飞凌系列的单片机并不适用,因为英飞凌的单片机上的所有硬件MO都是可以被配置给任何一个

Node的。

Controller Activation:是否使能该控制器。

Controller Default Baudrate:设置波特率。

Cpu Clock Ref:引用的CAN模块的时钟。该时钟在MCU模块配置。

Interrupt Priority:CAN模块的中断优先级。发送、接收共用同一个中断优先级。

Number Of CAN Obj:使用的CAN OBJ的个数。

Physical Node:CAN节点。

Receive Input Selection:接收引脚的选择。

Rx Processing:接收数据的处理方式,中断或者轮循。

Tx Processing:发送数据的处理方式,中断或者轮循。

Type of Service Control:中断由哪个CPU来处理。

再往里看需要进行波特率设置、过滤器设置

波特率配置

Baudrate Clock:CAN模块配置的波特率的时钟,由Controller Default Baudrate参数的值定义而来的。

Baudrate Div8:预分频时钟8分频。

  • false:一个时间单元等于(BRP+1)个时钟周期;
  • ture:一个时间单元等于8×(BRP+1)个时钟周期。

Baudrate Prescaler:简称BRP,波特率预分频,描述见上面的Baudrate Div8。

Controller Baud Rate:设置CAN波特率的值。

Controller Baud Rate Config ID:该ID值被SetBaudrate函数作为参数使用,用于设置哪个控制器的波特率。

Controller Prop Seg:传播段的时间。它定义了CAN总线上发送输出驱动器和收发电路的物理传播延迟。

Controller Segl:采样点前的时间段。

Controller Seg2:采样点后的时间段。

Controller Sync Jump Width:同步跳跃宽度,用于重同步的时间。

过滤器配置

这里的过滤器可不是滤波器,更像是校验,把不符合要求的报文过滤掉。

Filter Code Value,Filter Mask Value:过滤器被设计成Code和Mask两个部分。

只有符合下面的条件才被认为通过:

  • Received CAN ID &.Mask== Code

Filter只被用于Rx Basic CAN中。

Is Locked:用于指示代码生成器在生成代码的时候不要优化CanFilterMask的值。

CanHardwareObjects

前面配置好了Can控制器软件层面的一些东西,CanHardwareObjects更多的是一些硬件层的协议参数。

ShortName:该硬件MO的名字,在代码中主要用于注释以体现是哪个硬件MO。

Common CAN Node:如果参数Common CAN被激活,那么该参数用于该硬件MO选择它所属的物理CHANNEL。注意:只有RXFULLCAN的硬件MO才可以配置,其他的MO的值都是A。

Controller Ref:该 MO所属的 CAN 节点。

Enable Polling Processing:该 MO是否使用轮循的方式去发送CAN报文。目前的版本不支持这个配置。

Handle Type:FULL CAN(一个 MO只能发送或接收一个 CAN 报文)或者 BASIC CAN(一个MO可以接收或发送多个CAN报文)。

Id Type:标准帧或扩展帧。

Id Value:CAN ID。

Main Function RW Period Ref:引用一个读写发送周期的值,该值在CanGeneral→CanMainFunction RWPeriods中定义。

Object Hw Handle:定义硬件MO的索引号,也即该消息使用第几个MO来发送CAN 报文。

Object Hw Size:定义该消息使用硬件MO的个数。

Object Id:定义该硬件MO所属的逻辑handle的ID号。

Object Type:接收还是发送。

Filter Mask Ref:设置该MO的掩码。

Rx Object配置选项与TxObject类似,故不再说明。

最后

关于CanGeneral配置,放在下一篇博客里,这些参数也太多了,查不过来了

 

  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Autosar Davinci Runnable配置是指在Autosar软件架构使用Davinci工具进行任务和调度策略的配置Autosar是一种面向汽车电子系统开发的标准化架构,旨在提高汽车电子系统的复杂性管理和跨功能开发效率。而Davinci是Vector Informatik开发的一套Autosar开发工具集,提供了各种工具来支持Autosar软件开发过程。 在Autosar Davinci Runnable配置,首先需要明确系统的任务(Runnable),这些任务通常对应着软件的各种功能。然后,需要为每个Runnable配置适当的调度策略,以确保系统能够根据优先级和时序要求来正确执行这些任务。 在Davinci工具,可以通过图形用户界面来配置这些Runnable和调度策略。首先,可以通过建模工具将系统的各个功能和任务抽象成不同的Runnable,并为它们分配相应的优先级。其次,可以根据系统需求和实时性要求,选择合适的调度策略,如周期性调度、事件触发调度等。 配置好Runnable和调度策略后,可以使用Davinci工具生成对应的Autosar标准化描述文件(如RTE配置文件),并进一步使用其他Autosar工具进行软件组件的开发和集成。 总之,Autosar Davinci Runnable配置是通过使用Davinci工具对系统的任务和调度策略进行配置,以支持Autosar软件架构的开发和集成。这样可以提高开发效率和系统可靠性,同时实现系统的实时性要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值