Обновить

Комментарии 9

На странице в википедии куда больше информации и куда лучше все это описано ?

первоисточник статьи — лекция 403 CAN шина- введение.
Лектор допускает фактические ошибки.

Автор статьи дополнительно искажает лекцию. Например, лектор говорит:
приемопередатчики равноправны
Автор пишет
Приемники и передатчики равноправны

Скачивайте спецификации и читайте их.

Да Вы правы к сожалению.

Обычно не говорят самого главного, что шина CAN задумывалась для передачи значений датчиков. Добавил например термометр на шину и можно показывать температуру, добавил тахометр показываем обороты. И все эти датчики вешаются на одну линию, что бы не тянуть сотни проводов. И они сами могут с заданным темпом вываливать значения. Те что менее приоритетные имеют адрес побольше, по кадру или по адресу можно определять что это. Но на практике используют немного через… не так. Просто нарезают пакеты по 7 байт+номер пакета и передают блоками, как привыкли. В результате превращая хорошую идею в фигню. Так и живём.


Еще с NRZ есть злобный баг. Если этот NRZ приходится на контрольную сумму, а еще лучше на на бит ACK. Тут у разных устройств начинаются разночтения. И такие избранные кадры не возможно передать между ними.


ps: Еще есть возможность временно попросить все устройства не вещать, напихав в линию нулей.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Шина представляет из себя витую пару разделенную резисторами сопротивлением 120 Ом. Состоит из линии высокого напряжения (H - high) и низкого напряжения (L-low).

Это не так. Витая пара, это один из нескольких возможных физических уровней для шины CAN.

Шина представляет из себя витую пару разделенную резисторами сопротивлением 120 Ом.

Сразу неправильно. Витая пара, это только один из многих вариантов физического уровня для CAN шины.

1--Как определить сколько time quantum (Tq) следует выделить пред делителем для одного CAN бита? 10? 20? 40? Проще говоря, какое разрешение нужно для одного CAN бита? Это можно как-то математически рассчитать? На сколько квантов разбить один бит?

2--Как распределить кванты на интервалы sync, prop, seg1 и seg2?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации