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

cross mob
Bandarikarthik
Level 3
Level 3
25 replies posted 100 sign-ins First like given

Hello Every one,

We would like to implement J1939 Standard for XMC1403MCU
As we are using this MCU for EV charger unit, it supports CAN DLC of 8 Bytes and having 32 individual Message Objects for one CAN node.
Suggest me for DLC >8 Bytes how to implement and Process the Received message from CAN BUS.

Bandari Karthik Kumar
0 Likes
12 Replies
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @Bandarikarthik ,

In classical CAN the maximum size of payload is 8 bytes,

So DLC > 8 bytes is not possible so in a single Frame you can't send payload more than 8 bytes.

If you want to send data more than 8 bytes then segment the data and send it in different frames.

Hope this helps and let me know you have any further queries.

Best Regards
Pradeep.

0 Likes

Dear @Pradeep_PN Thank you for your Response,

I understood your point,  but my question was on

"Suggest me for DLC >8 Bytes how to implement and Process the Received message from CAN BUS" it (may be from BMS). How to receive and process the message DLC >8 bytes when I received from BMS.

 Regards,

Bandari Karthik Kumar
0 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @Bandarikarthik ,

Do you mean for example if you have 32 bytes of data to me transmitted (From BMS) you have transmitted that data in 4 Message objects(8 Bytes of data in each) and want to receive them.

Then Create a buffer and maintain a pointer to copy the received data of 32 bytes from 4 Message Objects into the created buffer then you can read the data of 32 Bytes.

OR

If from the Transmitter side in a single Frame, the DLC is greater than 8 Bytes(May be you are using CAN FD) and you want to receive this data then it is not possible.

If this is not what you are looking for then please explain it to me.

Best Regards
Pradeep.

0 Likes

Dear @Pradeep_PN  thank you, for your Response.

As you said if DLC >8 Bytes(32 Bytes) and sending from 4 Message objects(BMS side) to charger by creating buffer, I understood this point.

But Our XMC1403 supports only DLC 8 bytes,it doesnt support CAN FD feature.
1) If BMS send data >8 Bytes in single frame how to implement receiving mechanism at Charger side(XMC1403 MCU)??

2) How ever, if DLC is 8 bytes, CAN ID is 29-Bit Identifier from BMS to Charger then we can implement J1939 standard??

waiting for you Response.

Regards,

Bandari Karthik Kumar
0 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @Bandarikarthik ,

Yes you are right XMC 1400 doesn't support CANFD.

For the first question you said DLC > 8 bytes is a single frame, From what we know it is not possible to send DLC greater than 8 bytes in a single frame could you please elaborate how you are doing that.

Could you please elaborate second question.

Best Regards
Pradeep.

0 Likes
lock attach
Attachments are accessible only for community members.

Hello @Pradeep_PN 

Please find below attached file it contains "source information of Data"

Is there any mechanism to implement this in XMC1403 CAN receiving side(receiving end(Node) is our Charger [xmc1403]).

please let us know.

Regards,

Bandari Karthik Kumar
0 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @Bandarikarthik ,

Thanks for the clarification.

The answer to your first question : It is not possible to implement the receiving mechanism to receive more than 8 bytes in a single frame.

The answer to you second question : Yes , as J1939 requires DLC of 8 bytes & Extended Identifier frame format which is supported in our XMC 1400 series so it may be possible to implement J1939 standard.

Hope this helps and let me know if you have any further queries.

Best Regards
Pradeep.

0 Likes
lock attach
Attachments are accessible only for community members.

Hello @ppn 

I have understood above two points.

Please find below attached file. info is from source(BMS)  would we like to know how can we reconstruct it at receiving end(XMC1403)

Give us suggestion.

Regards,

 
Bandari Karthik Kumar
0 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @Bandarikarthik ,

Can you please share me the entire document where the above data point is present.

Best Regards
Pradeep.

0 Likes
lock attach
Attachments are accessible only for community members.

Hello @Pradeep_PN ,

I have attached the file 

Regards,

Bandari Karthik Kumar
0 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @Bandarikarthik ,

After going through the documentation they mentioned that Data Packets with DLC > 8 bytes are multi packet messages and need to be reconstructed at the receiving end with compliance to SAEJ1939 format.

As they mentioned the data will be received in multi packets so as we suggested in previous post create a buffer and keep track of the packets this is how you will do it.

For DLC > 8 bytes in a single frame it is not possible.

Hope this helps and let me know if you have any further queries.

Best Regards
Pradeep.

0 Likes

Hello @Pradeep_PN  Thank you for your wonderful Support. We will try this Method if any doubts are there will contact you.

Thanks & Regards,

Bandari Karthik Kumar
0 Likes