1. DBC文件检查与导入:打好CAN通讯的基础
大家好,我是老王,在汽车电子行业摸爬滚打十多年了。今天咱们来聊聊如何使用Davinci工具链完整配置一路CAN通讯。说实话,第一次接触Davinci的时候,我也被那一堆模块和报错搞得头大,但踩过几次坑之后,终于摸清了门道。
咱们先从DBC文件说起。DBC文件就像是CAN网络的"地图",定义了所有报文和信号的规则。但很多新手容易忽略一点:拿到DBC文件后不要急着导入,一定要先仔细检查!
我记得有一次项目紧急,直接导入了客户给的DBC,结果后面排查问题花了整整两天时间。后来我养成了习惯,每次拿到DBC都用文本编辑器打开看看关键属性是否齐全。特别是这几个属性一定要检查:
GenMsgCycleTime定义了报文周期,GenMsgILSupport决定是否是应用层报文,NmAsrMessage标识网络管理报文,DiagRequest和DiagResponse用于诊断报文。如果这些属性缺失,导入Davinci后会产生大量配置错误。
检查完属性后,还要验证下波特率设置。比如CAN报文波特率500kbps,采样点70%;CANFD波特率2000kbps,采样点75%这些参数是否与硬件设计一致。有时候DBC里的参数和实际硬件不匹配,会导致通讯不稳定。
导入DBC到Davinci Configurator时,我建议先用一个干净的工程测试。点击"Import"选择DBC文件,工具会自动解析并生成对应的PDU和信号。这时候通常会报出一堆错误,别慌,这是正常的,咱们一步一步来解决。
2. 硬件相关参数配置:与芯片手册的深度对话
硬件配置是很多工程师觉得头疼的部分,因为需要对照芯片手册一点点设置。我用的TC39X系列芯片,这里就以这个为例说说配置要点。
首先是根据硬件原理图确定CAN控制器的基地址。TC39X的每个CAN控制器都有固定的基地址,比如CAN00对应M_CAN0。这个地址错了,整个CAN控制器都无法正常工作。


3444

被折叠的 条评论
为什么被折叠?



