2269676_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2269676_zh-CN

2269676_zh-CN

发送时 CAN 忙

嗨,恩智浦社区、

我重定向了 CanIf_RxIndication 函数。当将 CAN 模块设置为环回模式时,测试成功,发送和接收的数据一致。

然而,当我退出环回模式时,却无法发送报文,Can_43_FLEXCAN_Write 函数返回 0x02(忙)。

MCU 的 tx 引脚与 rx 引脚数据同步,而不是预期发送的数据。Rx 数据比 tx 数据慢约 130ns,而且是连续发生的(大约每秒发送一帧)。

收发器是 TJA1043。我已将 STB 和 EN 引脚设置为高电平。CANH 和 CANL 保持不变。

下面是 ESR 寄存器的信息。请帮助排除可能的原因。

非常感谢!

Johnson97_2-1767016016038.png

Johnson97_3-1767016132618.png



Re: CAN is busy when transmit

Hi@Johnson97

在你提供的项目中,你的时钟配置完全错误。

您的 FXOSC 时钟为 20MHz

Senlent_0-1767076783748.png

您设置的 MFI 为 120,ODIV2 为 4,超出了 PLL VCO 输出频率(240)的范围。

Senlent_3-1767076930306.png

Senlent_2-1767076869206.png

您必须遵循参考手册中的要求:

Senlent_4-1767077918366.png

供你参考:

Senlent_5-1767077948858.pngSenlent_6-1767077983979.pngSenlent_7-1767078011090.png

最后,不要忘记重新配置 FlexCan 的波特率设置。



Re: CAN is busy when transmit

抱歉,为该项目购买的 Autosar 软件包已指定使用此版本的 RTD。

因此,我需要根据该版本配置 mcal,并验证其是否无误。

您能安装这个版本并帮我排除故障吗?

Re: CAN is busy when transmit

Hi@Johnson97

您能否将 RTD 更新到新版本,或者修改 S32 DS 上的测试例程,以便我为您进行检查?(我还没有安装 RTD 版本)。

Re: CAN is busy when transmit

请查看随附的文件。RTD 软件包的版本是 sw32k3_s32m27x_rtd_rtd_r21-11_4.0.0_p19_d2403

Re: CAN is busy when transmit

Hi@Johnson97

请分享您的项目,我将花一些时间为您进行审查。

Re: CAN is busy when transmit

非常感谢。问题已经解决。

除上述问题外,CAN 波特率相关寄存器的配置也与手册中规定的有效值不符。

微控制器 tx 引脚的波形符合预期。随后的问题应与收发器有关。

再次感谢您!

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎12-31-2025 04:27 AM
更新者: