J1939 / Generic on the same bus

Rick 2 years ago in IQANdesign updated by Mattias Rosengren yesterday at 5:41 a.m. 11

Currently its not possible to have J1939 & Generic on the same line... why not? As long as the bitcount (29) and KBPS are the same...

The thing is, I need some tricks from both systems. J1939 allows to handle engine messages more easily, and also allows to use the Page Mask byte(s), so the same PGN can be defined multiple times and split ways. But J1939 JFOUT does not allow to change the PGN programmatically, which is needed in this particular case in order to make a reusable library.

Generic JPOUTS do allow a dynamic messageID's, but don't bring the other benefits...

Got to correct. JPIN blocks actually do allow Page Masking. So that reduces the problem. Still, it would be a handy feature being able to mix them.

The project I'm currently working this would be very helpful because one of the modules utilizes J1939 for control but the diagnostic messages are generic 11-bit.

Under review

Changing this to feature request

I hope being able to put an ext generic and j1939 with same kbps together on the same physical port is possible in the near future.  What is the status?

This can be done already, although you have to define your frame channels as GFIN / GFOUT for J1939 messages.  This should be a work around for now.

is it possible to do the other way around. Define frames as JFOUT/JFIN for extended generic, if the receiver does not care about the SA?

Is this still under review? I found it would be really helpful in some cases.

We actually decided that we would't make this change. 

It may seem like a small change, but if we were to implement this, it would require significant effort in reworking the firmware. 

For flexibility in the J1939 identifiers, it is possible to have dynamic Source Address on J1939 modules (since 5.00), and also DA on PDU1 messages. 

But the case with modules that use a mix of 11-bit identifiers and regular J1939 is one that cannot be handled, and that would need this feature idea.

Hi Gustav,

Even with 29bit ID, not all ID can be reproduced in J1939. Is it possible to just allow 29bits Generic CAN with same bus of J1939?




Is it the bit that corresponds to "EDP" in the J1939 identifier that you need?

That is the one bit in a 29-bit identifier you cannot set with the JFIN/JFOUT. 

The DP bit can be set using the PGN property.

Actually, I believe it would be less effort to rewrite the IQAN module firmware to handle a mix of 11-bit generic and J1939, than to sort out a mix of 29-bit generic and J1939. 

I'm also in the need to send generic 11-bit frames on the same bus as J1939.

A also wonder you define "indentifier size" and J1939/Generic on bus-level rather then on message-level(As you do when working with any CANcontroller or CAN-interface). The same thing with DBC-files. J1939 is defined on message level.

The only thing that has to defined at bus.level is the bitrate.

The way I would like a GFIN/GFOUT to work, would be to add "CAN bus" as a property (allowing any bus(J1939 or Generic), and skipping the assosiation . It makes no sence to define a specific "receiver" or "source" when it comes to generic CAN-networking anyway.