Desea enviar dos números para que cada uno pueda tener 101 valores diferentes. Por lo tanto, hay 101 x 101 = 10,201 diferentes valores globales posibles que puede enviar. Log2 (10,201) = 13.3, por lo que siempre puede ajustar su mensaje en 14 bits binarios. Los datos en un bus CAN se envían en trozos de 8 bits de bytes, por lo que necesita un mínimo de dos de ellos. El esquema de codificación más simple sería utilizar un byte para cada valor.
Hay una sobrecarga significativa con cada trama de bus CAN, por lo tanto si envía 2 o 3 o 4 o más bytes de datos en una trama no hace mucha diferencia en el protocolo general. Si realmente desea minimizar las longitudes de trama CAN, vea si puede codificar la información en la ID de trama. Si esta es la única información que su bus CAN llevará, entonces tiene otros 11 bits de ID más allá de los 0 a 8 bytes de datos opcionales en una trama estándar, y 29 bits de ID más allá de los bytes de datos en una trama extendida. Por ejemplo, podría usar marcos de datos estándar con un byte de datos cada uno. Eso le da 11 bits de ID más 8 bits de datos para un total de 19 bits que puede controlar. Eso le da 5 bits más allá de sus datos en bruto que puede usar como un código de operación o algo así.