在S32DS工程中基于TJA1044GT芯片CAN通讯波特率问题

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

在S32DS工程中基于TJA1044GT芯片CAN通讯波特率问题

2,815 次查看
Huohuo_27
Contributor I

基于S32K116,调试CAN通讯过程发现ECU在波特率小于等于125kbps时,收发数据正常,当设置高波特率时,收不到数据,下图是我的时钟配置和部分初始化代码,请大佬看一下问题出在哪里

时钟配置

Huohuo_27_1-1717144929426.png

 

Huohuo_27_0-1717144880304.png

CAN初始化部分代码

Huohuo_27_2-1717145115473.png

 

0 项奖励
回复
8 回复数

2,741 次查看
Senlent
NXP TechSupport
NXP TechSupport

Hi@Huohuo_27

看到问题了所在了,默认IDE给的外部晶振时钟是8MHz,实际上应该不是,一般应该是40MHz.

Senlent_1-1717468139236.png

所以你PE时钟你还是选为48MHz.

Senlent_0-1717468045642.png

测试500kbps是正常的

Senlent_3-1717468234680.png

 

 

0 项奖励
回复

2,770 次查看
Senlent
NXP TechSupport
NXP TechSupport

Hi@Huohuo_27

或者尝试下下面的Bitrate Configuration:

PE时钟8MHz,模块时钟48MHz,速率500Kbps

Senlent_0-1717395060812.png

 

0 项奖励
回复

2,767 次查看
Huohuo_27
Contributor I
您好,非常感谢您提供的方法,尝试了更改参数以后,CAN仍然接收不到数据,目前仅能在125波特率下检测到收发的数据。
0 项奖励
回复

2,766 次查看
Senlent
NXP TechSupport
NXP TechSupport

Hi@Huohuo_27

提供代码,我帮你看一下什么问题

0 项奖励
回复

2,779 次查看
Senlent
NXP TechSupport
NXP TechSupport

Hi@Huohuo_27

"当设置高波特率时,收不到数据"

你把“高波特率”的bitrate configuration 截图给我看看呢

0 项奖励
回复

2,765 次查看
Huohuo_27
Contributor I

Huohuo_27_0-1717400534469.png

截图如上,辛苦您帮忙看一下是哪里还有问题。

0 项奖励
回复

2,762 次查看
Senlent
NXP TechSupport
NXP TechSupport

Hi@Huohuo_27

这样看不出问题,可以的话提供工程给我,我帮你看一下工程

0 项奖励
回复

2,759 次查看
Huohuo_27
Contributor I

您好,具体代码在附件中。

0 项奖励
回复