|
Нужна помощь с CAN на lpc1752 |
|
|
|
Aug 22 2011, 13:30
|
Группа: Новичок
Сообщений: 5
Регистрация: 30-04-09
Пользователь №: 48 485

|
Стоит следующая задача: посылать определенный пакет (протокол j1939) через определенные промежутки времени. На другом конце линии находиться устройство в режиме listen only. Если слать пакеты из обычного режима, can-контроллер вываливается в bus-off и нечего не передает. Если перевести контроллер в режим self-test и слать из него, то в пакете отсутствует crc, ack и прочая ерунда, и пакет не распознается. Как все-таки выслать эти пакеты?
|
|
|
|
|
 |
Ответов
|
Aug 23 2011, 13:53
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(sysel @ Aug 23 2011, 13:49)  Можно попробовать TX PHY подключить к MOSI (SSP) и формировать сообщения шины CAN программно (как поток бит). Кривовато, потребует изучение кодирования сообщений, но реально. Чушь полная. Если только на низких скоростях (и то не при помощи SSP), и то неясно, зачем такое извращение. PS: Автору топика. Если у вас именно в bus-off вываливается, то ищите где. Подключенный в listen only узел не должен никак влиять на шину. То есть можете вообще нагрузить кабель терминаторами, и передавать пакеты, эффект с точки зрения передатчика должен быть таким же, как и при наличии на другом конце узла с listen only. При всем этом, как вам выше сказали, в bus off передающий контроллер не будет падать, только в error passive. Сам Listen only узел CAN будет принимать сообщения только в том случае, если на шине существует нормальный обмен, т.е. CAN пакеты подтверждаются принимающими узлами, находящимися в активном режиме. ЗЫ: Почему прием нужно осуществлять именно в listen only? Какой в этом глубокий смысл? Почему нельзя перевести принимающий узел в активный режим?
--------------------
Пасу котов...
|
|
|
|
|
Aug 24 2011, 11:30
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(sysel @ Aug 23 2011, 18:47)  Делал софтовый SPDIF трансмиттер с помощью этого SSP, программно формируя поток бит. Так что насчет скорости - это Вы зря. А извращение - передать в шину сообщение с уже выставленным ACK-ом. Для чего? Оно же не сможет участвовать в арбитраже и поэтому не будет соответствовать стандарту CAN. То есть потенциально оно может вклиниться в шину и разрушить все, что там происходит в данный момент. Цитата(kuken @ Aug 23 2011, 21:30)  Я не создавал бы топик, если бы он слал  А pic походу и шлет пока не получит подтверждение. Сдается мне, что вы сильно "плаваете" в мат.части, оттого вопросы ваши непонятны, терминология сумбурна и не соответствует стандартной. Отчего помочь вам в решении вашей проблемы сильно затруднительно.
--------------------
Пасу котов...
|
|
|
|
|
Aug 24 2011, 16:57
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(sysel @ Aug 24 2011, 20:41)  Так проблема-то как раз в том, что в шине нет никого, кто бы мог выставить ACK. Один вещает, все остальные слушают. Конфликтовать не с кем. Если это касательно проблемы, озвученной автором топика, то я не могу понять, в чем проблема, поскольку автор путается в терминологии и сумбурно излагает свои мысли. Поэтому особого смысла тратить свое время и играть в угадайку - не вижу. Если будут понятно сформулированы вопросы, однозначно описана проблема - будут и рекомендации.
--------------------
Пасу котов...
|
|
|
|
Сообщений в этой теме
kuken Нужна помощь с CAN на lpc1752 Aug 22 2011, 13:30 HARMHARM Была подобная проблема. Без подтверждения пакеты, ... Aug 22 2011, 20:28 KRS Цитата(HARMHARM @ Aug 23 2011, 00:28) Был... Aug 22 2011, 21:22 kuken Извиняюсь, контроллер конечно в режиме error passi... Aug 23 2011, 14:21 KRS Цитата(kuken @ Aug 23 2011, 18:21) Вся шт... Aug 23 2011, 14:46 kuken Цитатаон не замолкает, а продолжает отправлять пак... Aug 23 2011, 17:30 KRS Цитата(kuken @ Aug 23 2011, 21:30) А pic ... Aug 23 2011, 18:31
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|