摘要
本篇笔记主要记录基于恩智浦MPC5744P的CAN驱动开发和测试过程中使用英飞凌TLE9252带功能安全的CAN收发器时候遇到的问题。
准备工作
安装S32DS for PA, 因为我们在S32DS下开发MPC5744P。
安装S32DS 的SDK, 我们使用最新版3.0.3
问题提出
恩智浦的MPC5744P控制器局域网络CAN,跟我们之前使用的恩智浦Kinetis KV, 等系列的flexCAN结构基本是一样的,本次在开发过程中在使用英飞凌TLE9252收发器时候,之前开发的可以正常通信的工程无法通信。英飞凌的TLE9252是比较新的一颗料,主要用于汽车上带功能安全的CAN通信网络,比一般的收发器复杂,有多种操作模式,如,睡眠模式,正常模式,监听模式等,正常操作模式中需要将EN脚和NSTB脚拉高。

软件中添加

其余驱动程序和初始化跟CAN0一样,收发采用统一接口,可是在测试时候发现CAN1不通,无法通信。

本文记录了在使用恩智浦MPC5744P控制器进行CAN驱动开发时,遇到与英飞凌TLE9252V CAN收发器通信异常的问题。问题表现为在500kbps波特率下无法通信。通过排查,确定47nF的电容C53和C55在高速CANFD通信中造成信号失真。降低波特率至50kbps或者更换电容为更小容值后,通信恢复正常。总结强调在CANFD设计中选择合适的电容值至关重要。
最低0.47元/天 解锁文章
4543

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



