公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

大家好,

我们希望实施J1939标准XMC1403MCU
由于我们将此MCU用于EV充电器单元,因此它支持8字节的CAN DLC,并为一个CAN节点提供32个单独的消息对象。
建议我使用 DLC >8 字节如何实现和处理来自 CAN 总线的接收消息。

0 点赞
12 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Bandarikarthik

在经典CAN中,有效载荷的最大大小为8字节,

因此,DLC > 8 字节是不可能的,因此在单个帧中,您发送的有效载荷不能超过 8 字节。

如果要发送超过 8 字节的数据,则对数据进行分段并以不同的帧发送。

希望这会有所帮助,如果您还有其他疑问,请告诉我。

最好的问候
Pradeep。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

亲爱的 @ppn 感谢你的回复,

我明白你的意思,但我的问题还在继续

建议我为DLC>8字节如何实现和处理来自CAN总线的接收消息”它(可能来自BMS)。如何接收和处理从BMS收到消息DLC>8字节。

问候,

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Bandarikarthik

例如,你的意思是如果你向我传输了 32 字节的数据(来自 BMS),那么你已经在 4 个 Message 对象(每个对象中有 8 个字节的数据)中传输了这些数据并想接收它们。

然后创建一个缓冲区并维护一个指针,将从 4 个消息对象中接收到的 32 字节数据复制到创建的缓冲区中,然后就可以读取 32 字节的数据了。

如果从单个帧中的发射器端,DLC 大于 8 字节(可能是您正在使用 CAN FD),并且您想接收此数据,则不可能。

如果这不是你想要的,那么请向我解释一下。

最好的问候
Pradeep。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

亲爱的 @ppn 谢谢你的回复。

正如你所说,如果 DLC > 8 字节(32 字节)并通过创建缓冲区从 4 个消息对象(BMS 端)发送到充电器,我明白这一点。

但是我们的XMC1403仅支持DLC 8字节,不支持CAN FD功能。
1) 如果BMS单帧发送数据>8字节,如何在充电器侧(XMC1403 MCU)实现接收机制?

2)如果DLC是8字节,CAN ID是从BMS到充电器的29位标识符,那么我们如何实施J1939标准?

等着你的回应。

问候,

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Bandarikarthik

是的你说得对 XMC 1400 不支持 CANFD。

对于第一个问题,你说的 DLC > 8 字节是单帧,据我们所知,不可能在单帧中发送大于 8 字节的 DLC,能否请你详细说明一下你是怎么做到的。

你能否详细说明第二个问题。

最好的问候
Pradeep。

0 点赞
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @ppn

请在下面找到包含数据"源信息的附件 "

是否有任何机制可以在CAN接收端(接收端(节点)是我们的充电器[xmc1403])XMC1403实现这一点。

请告诉我们。

问候,

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Bandarikarthik

感谢您的澄清。

第一个问题的答案是:不可能实现接收机制以在单个帧中接收超过 8 个字节。

第二个问题的答案:是的,因为 J1939 需要 8 字节&扩展标识符帧格式的 DLC,我们的 XMC 1400 系列支持这种格式,因此可以实现 J1939 标准

希望这会有所帮助,如果您还有其他疑问,请告诉我。

最好的问候
Pradeep。

0 点赞
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @ppn

以上两点我已经明白了。

请在下面找到附件。 信息来自来源 (BMS) 我们想知道如何在接收端重建信息吗 (XMC1403)

给我们建议。

问候,

 
0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Bandarikarthik

你能否把上面数据点所在的整个文档分享给我。

最好的问候
Pradeep。

0 点赞
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @ppn

我已经附上了文件

问候,

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Bandarikarthik

阅读完文档后,他们提到,带有 DLC > 8 字节的数据包是多数据包消息,需要在接收端进行重建,使其符合 SAEJ1939 格式。

正如他们所提到的,数据将以多个数据包的形式接收,因此正如我们在上一篇文章中所建议的那样,创建一个缓冲区并跟踪数据包,这就是你要做的。

对于单帧内有 > 8 字节的 DLC,这是不可能的。

希望这会有所帮助,如果您还有其他疑问,请告诉我。

最好的问候
Pradeep。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @ppn 感谢你的大力支持。 如果有任何疑问,我们将尝试使用此方法,将与您联系。

谢谢&问候,

0 点赞