This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CAN Messages with multiple Signals

Other Parts Discussed in Thread: HALCOGEN

Hie, 

I am using the TMS57031x HDK.

For example,

I am sending a Message with an ID 0x60 and DLC 8.  But this Message contains multiple signals i.e 8 different signals each 1 byte long in Message with ID 0x60. so I would be sending signals separately.

Take the Message Structure:

Message ID 0x60

DLC 8:

MSG_1-> bit 0 to bit 8 

MSG_2-> 9:16

MSG_3-> 17:24

MSG_4-> 25:32

MSG_5-> 33-40

MSG_6 -> 41:48

MSG_7-> 49:56

MSG_8 -> 57:64

I.e the Above are the signals in the Message bit length as mentioned

I would like to know if it would be possible to mention this in the Halcogen?

If Not in halcogen, would it be possible to include it in the Driver code. 

Awaiting your Reply 

Regards, 

Ishan Maniar

  • Hello Ishan,

    I am not 100% clear on your question, but I believe you are asking if the message data field masking can be included in either halcogen? If this is the case, the halogen tool and drivers are designed to be generic in the sense they are compliant with CAN standards but will need some customization for application specific needs.

  • Hey Chuck , 

    Thanks a lot for the reply, 

    I am not exactly looking for masking the data field in can message, 

    but what I am looking at is defining  various Signals in the CAN  message, i.e want to specify various (signals/Data points) in a Message. 

    i.e In a message with DLC 8 i would have a signal 'X' from 0th bit to 10th bit and soo on...

    It would be really very helpful if you could help me in this as it is a bit trickey.

    Also If there is any explanation available for the CAN Driver Code (can.c) generated by  Halcogen, as to how the code is written etc. 

    Regards, 

    Ishan Manair

  • Hello Ishan,

    If you look under the help menu in the Halcogen tool, there is additional information regarding the various functions within can.c including general descriptions and calling information. Let me know if this helps or if not, what specific questions you might have.

    In regard to your question regarding the data portion of the message, the driver code is designed to be generic as I have stated and what you have mentioned is application specific. Generally, the drivers provided by Halcogen are intended to be low level drivers and do not include application specific needs. This is intended to keep a level of HW abstraction in place as per normal industry standards. This is usually done to keep the HW separate from the application for easier maintenance and portability.

    In your case, you would call the function canGetData which would return the data in the form of a uint32 value. Once you have the data, you would extract the 0th through 10th data bits and take the approptiate application actions.

    It is worth noting, however, that the code provided by Halcogen is your code and you can modify it as you see fit to add whatever filtering you might need in your application either in the hardware layer or at a higher level in the application. However, this is something that would need to be done on your own initiative.

    I know there is some discussion of TI providing some safety qualification materials in the future in which case modification would not be allowed, but under the licensing agreement as it stands today, there is no assumed liability for the code generated by Halcogen and the responsibility of certifying/testing the software for a given application falls to the customer.

  • Hello Ishan,

    It has been a long time since there has been any activity on this thread so it will be closed. If the answer was sufficient to answer your questions, please verify the answer that was helpful. If any additional or new questions come up, I encourage you to start a new thread on the Hercules E2E Forum.