[an error occurred while processing this directive] [an error occurred while processing this directive]
Нет, прекращает передачу тот, кто выставил "1" - рецессивное состояние шины (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Щ.С. 23 февраля 2002 г. 18:56
В ответ на: Ответ: отправлено Vallav 23 февраля 2002 г. 17:57

Т.е. CAN-контроллер шину "слушает" по RX даже в режиме собственной передачи, если вместо выставленной "1" по TX получил "0" на RX, то значит состязание проиграл, а кто выставил "0" (или доминантное состояние на шине), тот передачу продолжает (кол-во модулей роли не играет, а очередное состязание начнется только после окончания передачи текущего сообщения, куда может "вклиниться" третий, пятый, десятый и т.д. модуль).
Да, у ID c большим номером, ессно, меньший приоритет, и чтобы обеспечить гарантированную доставку всех сообщений, необходимо предусматривать окна "молчания" для поставщиков высокоприоритетных сообщений. В принципе, это чисто софтовая задача (решаемая в ряде стандартных протоколов ВУ c помощью программ-планировщиков/конфигураторов, или самостоятельно без применения этих протоколов). Вот в WorldFIP это делается по-другому, на уровне планировщика задается таблица для АППАРАТНОГО контроллера арбитра шины, независимого от host(PC/uC) части.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru