配置DaVinci中的CAN模块,需要以下步骤:
1. 打开Davinci工具,选择要配置CAN模块的ECU项目。
2. 在Project Explorer中,找到CAN模块对应的DIO Driver(Digital Input/Output Driver)。
3. 选择DIO Driver,右键单击并选择Properties。
4. 在Properties窗口中,选择Configurations选项卡,然后选择CAN Configuration。
5. 在CAN Configuration窗口中,可以配置CAN的波特率、传输方式、过滤器等参数。根据项目需求配置参数。
6. 配置完成后,保存并编译项目,然后下载到对应的ECU中,即可完成CAN模块的配置。
需要注意的是,CAN模块的配置需要根据具体的硬件设备和项目需求进行调整,需要对CAN的工作原理和相关协议有一定的了解。如果不熟悉相关知识,建议参考硬件和软件文档,或者咨询相关技术人员。
Basis Address Enum:Enum的基础地址。
Busoff Processing:用于处理Busoff事件,选择中断或者轮循的方式调用指示函数通知上层发生了Busoff事件。
Common CAN:如果使用该功能,那么就可以将两个物理Node合并成一个逻辑Channel,从而可以在这个逻辑Channel上使用更多的Full CAN。。
Controller Activation:是否使能该控制器。
Controller Default Baudrate:设置波特率,在其下层单元里设置。(详见下文波特率配置)
Cpu Clock Ref:Cpu时钟引用,选择Mcu中配好的时钟。
Interrupt Priority: CAN模块的中断优先级。发送、接收共用同一个中断优先级。
Max Nr Of Tx Event Fifo Buffers:Tx事件Fifo缓冲区的最大Nr。
Receive Input Selection:接收引脚的选择。
Rx Processing:接收数据的处理方式,中断或者轮循。
Tx Processing:发送数据的处理方式,中断或者轮循。
Wakeup Processing:唤醒的处理方式,中断或者轮循。
Wakeup Source Ref :唤醒源的引用,唤醒源在EcuM中配置。
Baudrate Clock: CAN模块配置的波特率的时钟,由Controller Default Baudrate参数的值定义而来的。
Baudrate Prescaler:简称BRP,波特率预分频,
false:一个时间单元等于(BRP+1)个时钟周期;
ture:一个时间单元等于8×(BRP+1)个时钟周期。
Controller Baud Rate:设置CAN波特率的值。
Controller Baud Rate Config ID:该ID值被SetBaudrate函数作为参数使用,用于设置哪个控制器的波特率。
Controller Prop Seg:传播段的时间。它定义了CAN总线上发送输出驱动器和收发电路的物理传播延迟。
Controller Segl:相位缓冲段1,是位于采样点前的时间段。
Controller Seg2:相位缓冲段2,是位于采样点后的时间段。
Controller Sync Jump Width:同步跳跃宽度,用于重同步的时间。
采样率 =(Sync Seg + Prop Seg + Seg1) /(Sync Seg + Prop Seg + Seg1 + Seg2 )
配置分为Filter Code Values和Filter Mask Value
只有当received ID & Mask == Code & Mask 时才通过
Is Locked:用于指示代码生成器在生成代码的时候不要优化CanFilterMask的值。
Common CAN Node:常见CAN节点。
Controller Ref:控制器引用,一般在CanControllers中配置。
Fd Padding Value:Fd填充值。
Handle Type: 根据DBC中的Message个数, 设置CAN模块下面每个CanHardwareObjects的CanHandleType,设为Full CAN还是Basic CAN。
Full CAN (一个对象只能发送或接收一个CAN报文,一个Buffer对应一个ID的报文,而且新的报文会覆盖旧的报文,并不会缓存)
Basic CAN (一个对象可以接收或发送多个CAN报文,以FIFO的方式buffer特定ID的报文,可以缓存一定的历史报文) 。
一般的Com报文都会被要求配置成Full,而诊断的报文不论接收都要配置成Basic模式,然后NM网络管理的报文,接收的要配置成Basic,而发送则是Full和Basic都可以。
Main Function RW Period Ref:引用一个读写发送周期的值,该值在CanGeneral/CanMainFunction RWPeriods中定义。
Multiplexed Transmission:多路复用传输。
Object Hw Handle:硬件对象的索引号,也即该消息使用第几个对象来发送CAN报文。
Object Hw Size:该消息包含硬件对象的个数。
Object Id:该硬件对象所属的ID号。
Object Type:接收还是发送。
Filter Mask Ref:给接收的BasicCAN设置滤波,选取在CanFilterMasks下面设置的滤波(详见上文过滤器配置)。