Считает ли начинка в CAN следующую группу набивок? - PullRequest
1 голос
/ 05 марта 2020

Если у вас есть последовательность битов в данных CAN:

011111000001

Должно быть заполнение 0 после единиц и заполнение 1 после 0. Но я не уверен, где 1 должен go.

. Стандарт кажется мне неоднозначным, потому что иногда он говорит о «5 последовательных битах при нормальной работе», но иногда он говорит о «5 последовательных битах данных». ». Бит заполнения считается данными?

т.е.

должно быть:

011111 0 00000 1 1

Или

011111 0 0000 1 01

Ответы [ 2 ]

2 голосов
/ 05 марта 2020

Вставка битов применяется только к кадру CAN до тех пор, пока не будет получен бит ACK. В полях End-Of-Frame и Intermission вставка битов не применяется.

Не имеет значения что передается.

Это просто "после 5 последовательных биты с одинаковым значением "вставлен один дополнительный бит.

Второй из ваших примеров верен. 6 последовательных битов делают сообщение недействительным.

0 голосов
/ 10 марта 2020

Из старого Bosch CAN2.0B spe c, глава 5:

Сегменты кадра ЗАПУСК КАДРА, АРБИТРАЖНОГО ПОЛЯ, ПОЛЕ УПРАВЛЕНИЯ, ПОЛЕ ДАННЫХ и CR C SEQUENCE кодируются методом битовой вставки.

Имеется в виду, что все от начала кадра до 15-битной CR C может иметь битовую вставку, но не 1-битный CR C разделитель и остальные рамы.

Всякий раз, когда передатчик обнаруживает пять последовательных битов в потоке битов, который должен быть передан

Этот "поток битов" относится ко всем полям, упомянутым в ранее цитируемом предложении.

... в фактическом передаваемом потоке битов

Фактический передаваемый битовый поток - это исходные данные + добавленные биты вставки.

...