Question

CAN Protocol- Message Object (MObs)

As per my Knowledge these are the Buffers that will contain most recent message.

A very less information is available on Internet.

Please can anyone explain me in detail what exactly are Message Objects? How these can be used in Programs?

Thanking in anticipation

Was it helpful?

Solution

Message objects are structured dependant on the processor type. So what you have to do is get the datasheet of your processor and see how is stores it's can messages and message box configuration.

This means the following: Each message object is a structure composed of the message's current data and the message configuration. The configuration refers to the message id filters.

Depending on the type of message you want to store in that message object you configure the filter for a range of ids and the processor will store them for you when they are received from the wire. In case you use for transmit the filters are not used.

Of course the structure might also contain flags to confirm that a message was sent, or that you want to cancel the message transmission, of if a message object is configured for transmission or reception.

If you have the datasheet we can find out more on what do you have in that Message Object.

OTHER TIPS

Messages sent on a CAN bus, from what I've read seem to be referred to as "Frames".

There are 2 types messages:

  • Remote frames - from what I've seen so far these are used by ECU's to request Data frames from micro controllers on other ECU's on the bus
  • Data frames - replies to a remote frame with the the current state of that ECU, sending these can also be used to imitate a "command" from one ECU to another with e.g. the RF receiver for unlocking the door will (when triggered) send a data frame to the Door lock system (usually on a different bus connected to the can bus by a gateway ECU, vehicle specific) and the data will contain the requested state.

This link may assist you as a start point in learning more about CAN protocols/frames/bus http://hem.bredband.net/stafni/developer/CAN.htm

Depending on the protocol, hardware and OS you're working with you may find SocketCan very useful as you can use it to create raw CAN frames: http://python-can.readthedocs.org/en/latest/socketcan.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top