CAN Bus Communications Decoded: CAN Message Frequency
CAN Message Frequency
02.25
00:00 | - Sending out data frames just the once isn't going to be particularly useful. |
00:04 | All of the transmitted parameters will be constantly changing, so we need to be continually sending out these frames with the new updated values. |
00:12 | This does give us a couple of things that we need to consider. |
00:15 | The first is that the message frequency, which is how often we send out a particular frame of data, is not the same as the board rate of the bus. |
00:24 | Keep in mind that sometimes the board rate is called the CAN frequency, which is where the confusion can come from. |
00:30 | The board rate is the number of individual bits of data we can transmit on the bus in 1 second, whereas the message frequency is how often we transmit a specific data frame. |
00:41 | While these 2 things are related, because if the board rate increases, our data frames are transmitted quicker, so we can transmit them more often if required, keep in mind that they are 2 distinct different parameters. |
00:53 | Message frequency is another consideration when we're creating data frames. |
00:56 | It's relatively common to group together the parameters we want to transmit by how quickly we expect them to physically change and send out these groups as individual data frames. |
01:07 | As an example, have a think about transmitting engine coolant temperature. |
01:10 | The coolant has a substantial thermal mass and because of this, we don't expect its temperature to actually change that quickly. |
01:18 | This means that transmitting engine coolant temp only a couple of times a second is usually adequate for every device on the bus to have a good idea of what the actual coolant temperature is at any point in time. |
01:30 | We're not likely to see a situation where our engine coolant temperature will spike multiple degrees in between sending out these messages. |
01:37 | In contrast to this, other parameters like lambda readings and manifold pressures can change very quickly and will need to be sent out in data frames with a much higher message frequency. |
01:49 | Typically at least 100 Hz for these parameters. |
01:52 | Something to consider when using CAN to transmit data for logging is that there's no point in logging data faster than it's being updated by a CAN data frame. |
02:01 | If engine coolant temperature is being transmitted at 2 Hz, but another device on the bus is logging it at 100 Hz, that data log will just show 50 samples, all of the same value. |
02:14 | This can take up valuable logging file space so it's common to match a logging frequency to a message frequency as closely as possible. |