STM32
直播中

北冥有熊

8年用户 828经验值
擅长:131594
私信 关注
[问答]

STM32H723ZGT6和STM32G473RCT6通过FDCAN通信遇到的疑问求解

我要用H7的板子和G4的板子通过FDCAN通信,现在两个板子单独内部回环模式都能通信上,两个板子都设成普通模式G4能收到H7的数据,H7收不到G4数据不进接收中断,G4正常模式H7外部回环模式G4能正常进接收中断,H7正常模式G4外部回环模式H7也进不了接收中断
我两个板子现在滤波器设置都是屏蔽位,FilterID2都给的0x00全部通过,自动波特率都关闭了,G4的主频是170MHz DataPrescaler给的17分频,H7的FDCAN的频率是100MHz DataPrescaler给的10分频,别的timeSeg设置都是一样的,请问一下我只有单边通信的上是什么原因导致的?
这是G4的FDCAN的配置

这是H7的FDCAN的配置

回帖(1)

早知

2024-6-4 16:34:16
根据您提供的信息,您正在尝试使用STM32H723ZGT6和STM32G473RCT6通过FDCAN进行通信。在单独的内部回环模式下,两个板子都能正常通信。但在普通模式下,G4板子能收到H7板子的数据,但H7板子无法接收G4板子的数据。

为了解决这个问题,我们可以按照以下步骤进行排查:

1. 检查硬件连接:确保两个板子之间的FDCAN通信线路连接正确,没有接触不良或断线的问题。

2. 检查滤波器设置:您提到滤波器设置都是屏蔽位,FilterID2都给的0x00,这意味着所有消息都应该被接收。请确保两个板子的滤波器设置是相同的,以便它们可以接收彼此的消息。

3. 检查波特率设置:您提到G4板子的主频是170MHz,DataPrescaler给的17分频;H7板子的FDCAN频率是100MHz,DataPrescaler给的10分频。请确保两个板子的波特率设置是匹配的,以便它们可以正确地发送和接收数据。

4. 检查时间分割设置:您提到两个板子的时间分割设置是相同的。请再次确认这些设置是否正确,因为错误的设置可能导致通信问题。

5. 检查中断配置:请确保H7板子的FDCAN接收中断已经正确配置,以便在接收到数据时能够触发中断。

6. 检查软件逻辑:检查两个板子的通信代码,确保发送和接收逻辑是正确的,没有错误或遗漏。

7. 使用示波器或逻辑分析仪:如果可能的话,使用示波器或逻辑分析仪观察FDCAN通信线路上的信号,以确定问题是否出在硬件层面。

通过以上步骤,您应该能够找到导致单边通信问题的原因,并采取相应的措施进行解决。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分