|
Проблемы с SJA1000 |
|
|
|
Sep 10 2010, 13:16
|
Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417

|
Здравствуйте, Уважаемые!
В данный момент работаю с SJA1000. Железо разрабатывалось на бегу, и не мной. Я программирую МК (ADuC842). В конце предполагается несколько устройств на шине (до 10), но в данный момент пробую связать 2. Использую UTP5e (что под рукой было), сопротивления по 120 Ом висят прямо на выходах SJA1000 (трансиверов не предусмотрено). Объединены TX0-RX0, TX1-RX1 и повешены на одну из витых пар. Мне удалось добиться передачи-приема одной посылки в каждую строну, после чего SJA1000 не хочет работать (уходит в ошибку).
Конкретные вопросы: 1. Можно ли связывать SJA1000 между собой непосредственно, без трансиверов? (там вроде выходные драйвера есть, настраиваемые) 2. Допустима ли архитектура моей "шины"? Или нужно терминаторы по-честному делать - отдельно? 3. Для связи использую Clock Mode. Попытки перейти на bi-phase mode приводят к абсолютной глухоте. Почему? 4. Какова должна быть реакция на прерывание по ошибке?
Заранее спасибо!
|
|
|
|
|
Sep 13 2010, 07:43
|

embedder
  
Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911

|
Цитата(Claster @ Sep 10 2010, 17:16)  сопротивления по 120 Ом висят прямо на выходах SJA1000 (трансиверов не предусмотрено). Если нет трансиверов, то для чего вы терминаторы на SJA1000 прилепили?? P.S. у Вас какой-то бред, а не схема (ИМХО).
--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
|
|
|
|
|
Sep 13 2010, 13:42
|
Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417

|
Цитата(zksystem @ Sep 13 2010, 11:43)  Если нет трансиверов, то для чего вы терминаторы на SJA1000 прилепили?? Я и не утверждал, что "много раз делал, и все получалось". Наоборот, прошу мудрых и опытных помочь в новом для меня деле.
Сообщение отредактировал Claster - Sep 13 2010, 13:42
|
|
|
|
|
Sep 13 2010, 16:35
|

embedder
  
Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911

|
Цитата(Claster @ Sep 13 2010, 17:42)  Я и не утверждал, что "много раз делал, и все получалось". Наоборот, прошу мудрых и опытных помочь в новом для меня деле.  почитайте CAN Physical layer, там есть схемы, примеры. Трансиверы нужно обязательно ставить. P.S. "В данный момент работаю с SJA1000. Железо разрабатывалось на бегу, и не мной." - судя по всему вы расхлебываете чьи-то "акробатические" разработки...
--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
|
|
|
|
|
Sep 14 2010, 10:11
|
Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417

|
Цитата(zksystem @ Sep 13 2010, 20:35)  почитайте CAN Physical layer, там есть схемы, примеры. Трансиверы нужно обязательно ставить. Спасибо! Нашел. Читаю. Цитата(zksystem @ Sep 13 2010, 20:35)  P.S. "В данный момент работаю с SJA1000. Железо разрабатывалось на бегу, и не мной." - судя по всему вы расхлебываете чьи-то "акробатические" разработки... Это вы поняли правильно.  А как мне найти ответ на вопрос 4?
|
|
|
|
|
Sep 14 2010, 10:32
|

embedder
  
Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911

|
Цитата(Claster @ Sep 14 2010, 14:11)  А как мне найти ответ на вопрос 4? SJA1000 не применял, пользуюсь в основном встроенными в микроконтроллер CAN-модулями.
--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
|
|
|
|
|
Sep 15 2010, 10:03
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(Claster @ Sep 10 2010, 17:16)  1. Можно ли связывать SJA1000 между собой непосредственно, без трансиверов? (там вроде выходные драйвера есть, настраиваемые) Можно связать 2 устройства, получится точка точка - общая линия RX = TX1 & TX2 Цитата(Claster @ Sep 10 2010, 17:16)  4. Какова должна быть реакция на прерывание по ошибке? По входу в прерывание надо считать Interrupt регистр для очистки. А реакция, зависит от задач. Обычно именно ERROR interrupt можно игнорировать, а обрабатывать статусы BUS OFF и ERROR PASSIVE (если нужно).
|
|
|
|
|
Sep 15 2010, 12:02
|
Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417

|
Спасибо за ответ! Цитата(KRS @ Sep 15 2010, 14:03)  Можно связать 2 устройства, получится точка точка - общая линия RX = TX1 & TX2 Я неточно выразился. Имеется ввиду соединение, в котором можно увеличивать количество устройств. Т.е. соединение двух и более устройств с объединением всех RX0-TX0, и RX1-TX1 и работа на витой паре без трансиверов. Может есть прецеденты? Попытаюсь объяснить: мне досталась для оживления схема, а я пытаюсь выяснить, можно ли запустить ее так. А если надо дорабатывать, то что и как надо делать? Цитата(KRS @ Sep 15 2010, 14:03)  По входу в прерывание надо считать Interrupt регистр для очистки. А реакция, зависит от задач. Обычно именно ERROR interrupt можно игнорировать, а обрабатывать статусы BUS OFF и ERROR PASSIVE (если нужно). Правильно ли я понял, что попадая в прерывание по ошибке, надо считать регистр статуса и обрабатывать ситуацию далее? А какая реакция должна быть для продолжения работы? Просто выкл-вкл SJA1000? Или есть что-то умнее? Или вообще надо забыть про CAN в этот сеанс?
Сообщение отредактировал Claster - Sep 15 2010, 12:04
|
|
|
|
|
Sep 15 2010, 12:10
|

embedder
  
Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911

|
Цитата(Claster @ Sep 15 2010, 16:02)  Я неточно выразился. Имеется ввиду соединение, в котором можно увеличивать количество устройств. Т.е. соединение двух и более устройств с объединением всех RX0-TX0, и RX1-TX1 и работа на витой паре без трансиверов. Может есть прецеденты? Попытаюсь объяснить: мне досталась для оживления схема, а я пытаюсь выяснить, можно ли запустить ее так. А если надо дорабатывать, то что и как надо делать? Более двух устройств только с трансивером.
--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
|
|
|
|
|
Sep 17 2010, 07:21
|
Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417

|
Цитата(KRS @ Sep 15 2010, 19:07)  По входу в прерывание первым делом надо считать IR регистр, что бы определить почему произошло прерывание и сбросить его. По ошибкам можно ничего не делать, если на шине серьезные проблемы CAN сам отключится - перейдет в BUS OFF и отключится. Вот тогда надо заново его переводит в operating mode (возможно с перенастройкой). Ну если при отправке получили ERROR PASSIVE - то скорее всего больше CAN устройств нет (некому ACK установить) Спасибо большое, KRS! До меня это реально не доходило. И вам спасибо, zksystem, особенно за отправку к Требования физического уровня! Многие вопросы уже решены, начинаю проектировать плату с трансиверами. Однако появились новые вопросы: 1. В требованиях физического уровня нашел примеры разъемов. Увидел, что можно пускать в линии питание для изолированных трансиверов. Но можно ли все запихнуть в UTP5e? Или пускать жгутом кабели питания и информационные? 2. Для простого терминирования советуют ставить сопротивления, равные волновому сопротивлению витой пары. Обычно это 120 Ом. Видел в интернете, что волновое сопротивление UTP5e 100 Ом ± 15 Ом. Значит ли это, что нужно для терминаторов брать 100 Ом? 3. Как делать отводы от шины для устройств? Или где-нибудь можно купить Т-адаптеры? Посоветуйте, пожалуйста. Нигде не могу найти такой информации. А изобретать велосипед неохота.  4. Про терминаторы подобный вопрос: самому ли делать в какой-нибудь коробочке или купить где-нибудь можно?
|
|
|
|
|
Sep 17 2010, 11:32
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(Claster @ Sep 17 2010, 11:21)  Но можно ли все запихнуть в UTP5e? Или пускать жгутом кабели питания и информационные? 1 Пара CAN, остальные пары же свободны, можно по ним и питание пустить. Цитата(Claster @ Sep 17 2010, 11:21)  3. Как делать отводы от шины для устройств? Или где-нибудь можно купить Т-адаптеры? Посоветуйте, пожалуйста. Нигде не могу найти такой информации. А изобретать велосипед неохота.  Чем меньше отводы тем лучше - особенно на больших скоростях. Можно на каждом устройстве ставить два разъема вход и выход, т.е. само устройство будет Т адаптером. Цитата(Claster @ Sep 17 2010, 11:21)  4. Про терминаторы подобный вопрос: самому ли делать в какой-нибудь коробочке или купить где-нибудь можно? Можно на устройстве поставить джампер или свитч и соответственно на крайних их замыкать.
|
|
|
|
|
Sep 17 2010, 12:43
|
Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417

|
Цитата(KRS @ Sep 17 2010, 15:32)  1 Пара CAN, остальные пары же свободны, можно по ним и питание пустить. А делал ли кто это практически? Не повлияет ли +12В на ЭМС? Цитата(KRS @ Sep 17 2010, 15:32)  Можно на каждом устройстве ставить два разъема вход и выход, т.е. само устройство будет Т адаптером. Спасибо! Хорошая идея! Но у меня уже есть готовые железки. Есть ли в магазинах что-нибудь готовое? Цитата(KRS @ Sep 17 2010, 15:32)  Можно на устройстве поставить джампер или свитч и соответственно на крайних их замыкать. Тоже хорошо! Но тоже лишний раз готовую железку ковырять неохота. Может есть рекомендации по магазинам? Хотя бы как они в магазинах называются? А то пытался найти "CAN-терминаторы" и "CAN-ответвители" - нет результата.
Сообщение отредактировал Claster - Sep 17 2010, 12:44
|
|
|
|
|
Sep 17 2010, 21:41
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(Claster @ Sep 17 2010, 16:43)  А делал ли кто это практически? Не повлияет ли +12В на ЭМС? Постоянный ток же не должен влиять! Цитата(Claster @ Sep 17 2010, 16:43)  Хотя бы как они в магазинах называются? А то пытался найти "CAN-терминаторы" и "CAN-ответвители" - нет результата. Как то пробовали что то подобное найти, не получилось! Если у вас получится, интересно будет! Поделитесь. Вообще такие штуки только для коаксиала и видел (когда еще ethernet и по нему пускали)
|
|
|
|
|
Sep 20 2010, 13:29
|
Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417

|
Цитата(KRS @ Sep 18 2010, 01:41)  Как то пробовали что то подобное найти, не получилось! Если у вас получится, интересно будет! Поделитесь. Вообще такие штуки только для коаксиала и видел (когда еще ethernet и по нему пускали) Я таки нашел кое-что, но не готов покупать по такой цене.  Т-адаптер: http://www.gridconnect.com/gc-can-t-adapter.htmlТерминатор: http://www.gridconnect.com/gc-can-term.htmlНапишите ваше мнение.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|