CAN Bus Questions
Posted: Tue Nov 20, 2018 12:29 pm
I have some questions that I am hoping some of the experts here can answer.
#1. Is there a Webinar/Tutorial that explains the details of custom CAN message byte handing in a logger (C Series, etc)? I am referring to the actual mapping of byte data to channels using the following:
*Base Resolution
*Default Value
*Offset
*Length
*Bitmask
*Signing
*Multiplier
*Divisor
*Adder
*Chosen Channel
I thought I watched a video in the past that delved into these details, but I can not seem to find it now.
Here is an image of the settings I am referring to. See lower right for message/byte level settings:
#2. If a Dash / Logger is receiving and logging data from a 3rd party device via CAN, and mapping it to a logger channel, does it consider the time at which THE LOGGER receives the data to be the "real time"? In looking at the every CAN template so far, there is no time data buried in the data bytes.
Because of the arbitration of messages, couldn't this cause a significant error in the data profile vs time at the logger? For example, lets assume I am measuring some suspension data at a high sampling rate, and during the time period in question, the displacement is falling linearly. Then during this decrease, there is BUNCH of higher priority traffic, and the suspension data messages queue up on the CAN transceiver that is sending them. Then...after the traffic clears all the messages are sent and logged. The times associated with those messages when the logger stores them will be wrong.
This is the idea....
Is the CAN Bus so fast that this literally can not happen, and the error is insignificant? How do the Motec external modules that log at very high speeds (VIM, etc) handle this. They must have a local timestamp that is transmitted, and the logger matches re-syncs on its own end...right?
#3 Does the CAN Bus have to be physically linear?..... like long length of twisted pair with 120 Ohm resistors at each end... What if it has a bunch of "branches"? Imagine an octopus with 8 legs. Each leg is a twisted pair, with terminating 120 Ohm resister at the tip of each leg? Will this work? I have a new application where it would be helpful to have this "branched" configuration.
Thanks in advance Motec Gurus!
#1. Is there a Webinar/Tutorial that explains the details of custom CAN message byte handing in a logger (C Series, etc)? I am referring to the actual mapping of byte data to channels using the following:
*Base Resolution
*Default Value
*Offset
*Length
*Bitmask
*Signing
*Multiplier
*Divisor
*Adder
*Chosen Channel
I thought I watched a video in the past that delved into these details, but I can not seem to find it now.
Here is an image of the settings I am referring to. See lower right for message/byte level settings:
#2. If a Dash / Logger is receiving and logging data from a 3rd party device via CAN, and mapping it to a logger channel, does it consider the time at which THE LOGGER receives the data to be the "real time"? In looking at the every CAN template so far, there is no time data buried in the data bytes.
Because of the arbitration of messages, couldn't this cause a significant error in the data profile vs time at the logger? For example, lets assume I am measuring some suspension data at a high sampling rate, and during the time period in question, the displacement is falling linearly. Then during this decrease, there is BUNCH of higher priority traffic, and the suspension data messages queue up on the CAN transceiver that is sending them. Then...after the traffic clears all the messages are sent and logged. The times associated with those messages when the logger stores them will be wrong.
This is the idea....
Is the CAN Bus so fast that this literally can not happen, and the error is insignificant? How do the Motec external modules that log at very high speeds (VIM, etc) handle this. They must have a local timestamp that is transmitted, and the logger matches re-syncs on its own end...right?
#3 Does the CAN Bus have to be physically linear?..... like long length of twisted pair with 120 Ohm resistors at each end... What if it has a bunch of "branches"? Imagine an octopus with 8 legs. Each leg is a twisted pair, with terminating 120 Ohm resister at the tip of each leg? Will this work? I have a new application where it would be helpful to have this "branched" configuration.
Thanks in advance Motec Gurus!