реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
Linker
сообщение Mar 18 2011, 06:46
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(Andrew2000 @ Mar 18 2011, 04:36) *
Это на каком основании?

В выделенной Вами моей фразе присутствует не менее 4-х утверждений. Какое из них вызвало сомнение?
А лучше выдайте сразу свое правильное утверждение sm.gif


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Mar 19 2011, 13:05
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(Linker @ Mar 18 2011, 09:46) *

Если никто не выиграет арбитраж, почему должна прекратиться передача пакета всеми узлами?
Go to the top of the page
 
+Quote Post
Linker
сообщение Mar 21 2011, 06:21
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(Andrew2000 @ Mar 19 2011, 19:05) *
Если никто не выиграет арбитраж, почему должна прекратиться передача пакета всеми узлами?

Если ответить прямо на поставленный вопрос, то это заложено в логику работы CAN: узел, который не выиграл арбитраж - отваливается от шины.


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
syoma
сообщение Mar 21 2011, 07:54
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
Если несколько узлов попытаются отправить совершенно одинаковые пакеты, то произойдет следующее: в фазе арбитража (биты идентификатора+RTR) никто не выиграет арбитраж, передача пакета прекратится всеми узлами и они отпустят шину.

ИМХО неверно - так как каким образом передающий контроллер определит, что проиграл арбитраж? Если пакеты одинаковые,то передаваемый бит будет равен принимаемому и потеря арбитража не распознается. Таким образом все узлы будут думать, что выиграли арбитраж.
Так что единственный вариант - если во время передачи данных рассинхронизация достигнет такого значения, что произойдет смещение как минимум на пол-бита - тогда они поймают коллизию. Иначе все должно пройти прозрачно.
Go to the top of the page
 
+Quote Post
Linker
сообщение Mar 21 2011, 09:40
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(syoma @ Mar 21 2011, 13:54) *
Если пакеты одинаковые,то передаваемый бит будет равен принимаемому и потеря арбитража не распознается. Таким образом все узлы будут думать, что выиграли арбитраж.

Согласен. Признаю ошибку в своем утверждении. Абсолютно одинаковые пакеты переданные, несколькими узлами, не приведут к появлению ошибки.


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 22:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016