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

 
 
> Пересинхронизация "запаздывающего" контроллера
sabaka
сообщение Mar 10 2011, 08:32
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 4-06-06
Из: СПб
Пользователь №: 17 754



Есть некоторое недопонимание процесса.

Известно, что один бит в CAN состоит из четырех сегментов - SYNC, PROPAGATION, PHASE1, PHASE2. Контроллер читает бит с шины между PHASE1- и PHASE2-сегментами и, если надо, выставляет ответ на шину в начале SYNC-сегмента, причем выставляемый бит зависит от считанного. Время, которое нужно контроллеру на то, чтобы вычислить значение выставляемого бита на основе считанного, называется IPT, и для большинства виденных мною контроллеров равно двум временным квантам, при этом в стандарте сказано, что PHASE2 >= IPT.

Допустим, что IPT = PHASE2 и отрицательный фронт на шине пришел до SYNC-сегмента, т.е. передатчик работает быстрее приемника (не рассматриваем передачу Start-of-frame, т.е. хард-синхронизацию, там все ясно). Контроллер, увидев это, пересинхронизируется (софт-синхронизацией) путем уменьшения PHASE2-сегмента, таким образом PHASE2 становится меньше IPT, что запрещено стандартом. Внимание, вопрос. Когда на самом деле контроллер выставляет данные на шину?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Linker
сообщение Mar 17 2011, 08:36
Сообщение #2


Местный
***

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



Цитата(sabaka @ Mar 10 2011, 14:32) *
Время, которое нужно контроллеру на то, чтобы вычислить значение выставляемого бита на основе считанного, называется IPT,

Разве передатчик вычисляет значение своего выставляемого бита? В фазе арбитража передатчик анализирует шину на наличие доминантного уровня. И если на шине другой узел выставил доминанту, а у передатчика посылаемый бит рецессивный, то он проигрывает арбитраж, прекращает передачу и отпускает шину.


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
sabaka
сообщение Mar 18 2011, 08:49
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 4-06-06
Из: СПб
Пользователь №: 17 754



На самом деле, я нашел в стандарте маааленькую приписку, что "if Phase_Seg2 is shortened to a value less than the information processing time, the calculation of the subsequent bit level may be completed after the end of Phase_Seg2", так что вопрос снимается.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:02
Рейтинг@Mail.ru


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