如何使用Davinci工具配置一路CAN通讯

写在前面:
入行一段时间了,基于个人理解整理一些东西,如有错误,欢迎各位大佬评论区指正!!!


本文先不讨论MCAL实现哈。假设一个场景,手上有一个MCU工程,突然飞书响了,老板给我一个DBC,让我在当前工程上加一路CAN,我该如何下手?

对于一帧APP报文,它在Autosar-BSW中传递路径为:CAN-CANIF-PDUR-COM

那么在工具中,我大概率也要完成这几个模块的配置工作。

0.先检查DBC

一些公司会通过释放xml文件用以导入工具,DBC只提供给测试同学。所以很难保证拿到的DBC是没有错误的,重点检查属性是否齐全,比如GenMsgCycleTime、NmAsrMessage等。

我拿到的DBC,CAN报⽂波特率为500kbps,采样率70%,CANFD波特率为2000Kbps.采样率75%. 网络管理报文 BaseAddress 0x500.检查没问题后,导入工具中。

CANFD_BRS: 表⽰位速率转换,该位隐性时,速率可变(即BSR到CRC使⽤转换速率传输),该位为 显性时,以正常的CAN-FD总线速率传输(恒定速率)。

GenMsgCycleTime:定义循环消息传输的固定周期

GenMsgCycleTimeFast:定义快速消息传输的周期性。如果放置在消息上的信号之⼀处于活动状态,则 消息将快速传输。

GenMsgDelayTime:定义两次消息传输之间的最⼩时间。

GenMsgStartDelayTime:定义系统启动后的延迟,该消息是第⼀次发送。

GenMsgILSupport:如果消息由交互层处理,则设置为Yes,默认值为No。(是否为应⽤报⽂)

GenMsgSendType:发送类型,常发报⽂类型为Cycle.

NmAsrMessage:是否为⽹络管理报⽂

NmAsrMessageCount:指定⽹络上最⼤⽀持的⽹络报⽂数量

DiagRequest:物理寻址请求

DiagResponse:物理寻址响应

DiagState:功能寻址

1.CAN模块配置

导入DBC后,会报出若干个error。一个模块一个模块解决。CAN模块配置和芯片手册相关,我的是TC39X系列芯片,基于硬件原理图PIN脚定义去查找BasisAddressEnum、ReceiveInputSelection、Node等信息。

举个栗子:

我要配置这路CAN通讯,根据芯片手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值