Как я могу вычислить вещи в стандартном кадре данных CAN 2.0A
У меня есть один кадр стандарта 2.0A CAN, который содержит 8 байтов данных. например, данные кадра CAN "00 CA 22 FF 55 66 AA DF" (8 байт) Теперь я хочу проверить, сколько битов заполнения будет добавлено в этот кадр CAN (вставка битов). Формула Стандерса для вычисления сценария вставки битов в наихудшем случае выглядит следующим образом: 64 + 47 + [(34 + 64-1) / 4] -> 64 :: Биты данных и 47:: служебные биты 2,0A
Как рассчитать реальные биты в этом примере сообщения CAN? Любой комментарий, предложение будет тепло приветствоваться.
1 ответ
Нет никакого способа математически "вычислить" заполненные биты. Вам нужно построить кадр (на уровне битов), пройти биты и сосчитать.
Вы можете прочитать больше о битовых вещах по ссылке ниже.
https://en.wikipedia.org/wiki/CAN_bus
Основной принцип:
1. Построить банку на уровне битов
2. Начните с начала кадра. Когда найдено 5 последовательных битов одинаковой полярности, вставьте бит противоположной полярности.
3. Перейдите к разделителю CRC (исключен разделитель CRC)