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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Проблемы с SJA1000
Claster
сообщение Sep 10 2010, 13:16
Сообщение #1





Группа: Участник
Сообщений: 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. Какова должна быть реакция на прерывание по ошибке?

Заранее спасибо!
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 13 2010, 07:43
Сообщение #2


embedder
***

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



Цитата(Claster @ Sep 10 2010, 17:16) *
сопротивления по 120 Ом висят прямо на выходах SJA1000 (трансиверов не предусмотрено).


Если нет трансиверов, то для чего вы терминаторы на SJA1000 прилепили??

P.S. у Вас какой-то бред, а не схема (ИМХО).



--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
Claster
сообщение Sep 13 2010, 13:42
Сообщение #3





Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417



Цитата(zksystem @ Sep 13 2010, 11:43) *
Если нет трансиверов, то для чего вы терминаторы на SJA1000 прилепили??


Я и не утверждал, что "много раз делал, и все получалось".
Наоборот, прошу мудрых и опытных помочь в новом для меня деле. smile.gif

Сообщение отредактировал Claster - Sep 13 2010, 13:42
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 13 2010, 16:35
Сообщение #4


embedder
***

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



Цитата(Claster @ Sep 13 2010, 17:42) *
Я и не утверждал, что "много раз делал, и все получалось".
Наоборот, прошу мудрых и опытных помочь в новом для меня деле. smile.gif

почитайте CAN Physical layer, там есть схемы, примеры.
Трансиверы нужно обязательно ставить.

P.S. "В данный момент работаю с SJA1000. Железо разрабатывалось на бегу, и не мной." - судя по всему вы расхлебываете чьи-то "акробатические" разработки...


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
Claster
сообщение Sep 14 2010, 10:11
Сообщение #5





Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417



Цитата(zksystem @ Sep 13 2010, 20:35) *
почитайте CAN Physical layer, там есть схемы, примеры.
Трансиверы нужно обязательно ставить.


Спасибо! Нашел. Читаю.

Цитата(zksystem @ Sep 13 2010, 20:35) *
P.S. "В данный момент работаю с SJA1000. Железо разрабатывалось на бегу, и не мной." - судя по всему вы расхлебываете чьи-то "акробатические" разработки...


Это вы поняли правильно. smile.gif
А как мне найти ответ на вопрос 4?
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 14 2010, 10:32
Сообщение #6


embedder
***

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



Цитата(Claster @ Sep 14 2010, 14:11) *
А как мне найти ответ на вопрос 4?

SJA1000 не применял, пользуюсь в основном встроенными в микроконтроллер CAN-модулями.


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 15 2010, 10:03
Сообщение #7


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

Группа: Модераторы
Сообщений: 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 (если нужно).
Go to the top of the page
 
+Quote Post
Claster
сообщение Sep 15 2010, 12:02
Сообщение #8





Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 15 2010, 12:10
Сообщение #9


embedder
***

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



Цитата(Claster @ Sep 15 2010, 16:02) *
Я неточно выразился. Имеется ввиду соединение, в котором можно увеличивать количество устройств.
Т.е. соединение двух и более устройств с объединением всех RX0-TX0, и RX1-TX1 и работа на витой паре без трансиверов.
Может есть прецеденты?
Попытаюсь объяснить: мне досталась для оживления схема, а я пытаюсь выяснить, можно ли запустить ее так. А если надо дорабатывать, то что и как надо делать?


Более двух устройств только с трансивером.


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 15 2010, 15:07
Сообщение #10


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

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



Цитата(Claster @ Sep 15 2010, 16:02) *
Правильно ли я понял, что попадая в прерывание по ошибке, надо считать регистр статуса и обрабатывать ситуацию далее?
А какая реакция должна быть для продолжения работы? Просто выкл-вкл SJA1000? Или есть что-то умнее? Или вообще надо забыть про CAN в этот сеанс?

По входу в прерывание первым делом надо считать IR регистр, что бы определить почему произошло прерывание и сбросить его.
По ошибкам можно ничего не делать, если на шине серьезные проблемы CAN сам отключится - перейдет в BUS OFF и отключится. Вот тогда надо заново его переводит в operating mode (возможно с перенастройкой). Ну если при отправке получили ERROR PASSIVE - то скорее всего больше CAN устройств нет (некому ACK установить)
Go to the top of the page
 
+Quote Post
Claster
сообщение Sep 17 2010, 07:21
Сообщение #11





Группа: Участник
Сообщений: 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. Как делать отводы от шины для устройств? Или где-нибудь можно купить Т-адаптеры? Посоветуйте, пожалуйста.
Нигде не могу найти такой информации. А изобретать велосипед неохота. smile.gif
4. Про терминаторы подобный вопрос: самому ли делать в какой-нибудь коробочке или купить где-нибудь можно?
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 17 2010, 11:32
Сообщение #12


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

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



Цитата(Claster @ Sep 17 2010, 11:21) *
Но можно ли все запихнуть в UTP5e? Или пускать жгутом кабели питания и информационные?

1 Пара CAN, остальные пары же свободны, можно по ним и питание пустить.

Цитата(Claster @ Sep 17 2010, 11:21) *
3. Как делать отводы от шины для устройств? Или где-нибудь можно купить Т-адаптеры? Посоветуйте, пожалуйста.
Нигде не могу найти такой информации. А изобретать велосипед неохота. smile.gif

Чем меньше отводы тем лучше - особенно на больших скоростях.
Можно на каждом устройстве ставить два разъема вход и выход, т.е. само устройство будет Т адаптером.

Цитата(Claster @ Sep 17 2010, 11:21) *
4. Про терминаторы подобный вопрос: самому ли делать в какой-нибудь коробочке или купить где-нибудь можно?

Можно на устройстве поставить джампер или свитч и соответственно на крайних их замыкать.
Go to the top of the page
 
+Quote Post
Claster
сообщение Sep 17 2010, 12:43
Сообщение #13





Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 17 2010, 21:41
Сообщение #14


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

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



Цитата(Claster @ Sep 17 2010, 16:43) *
А делал ли кто это практически? Не повлияет ли +12В на ЭМС?

Постоянный ток же не должен влиять!

Цитата(Claster @ Sep 17 2010, 16:43) *
Хотя бы как они в магазинах называются?
А то пытался найти "CAN-терминаторы" и "CAN-ответвители" - нет результата.

Как то пробовали что то подобное найти, не получилось!
Если у вас получится, интересно будет! Поделитесь.

Вообще такие штуки только для коаксиала и видел (когда еще ethernet и по нему пускали)
Go to the top of the page
 
+Quote Post
Claster
сообщение Sep 20 2010, 13:29
Сообщение #15





Группа: Участник
Сообщений: 12
Регистрация: 10-09-10
Пользователь №: 59 417



Цитата(KRS @ Sep 18 2010, 01:41) *
Как то пробовали что то подобное найти, не получилось!
Если у вас получится, интересно будет! Поделитесь.
Вообще такие штуки только для коаксиала и видел (когда еще ethernet и по нему пускали)

Я таки нашел кое-что, но не готов покупать по такой цене. smile.gif
Т-адаптер:
http://www.gridconnect.com/gc-can-t-adapter.html
Терминатор:
http://www.gridconnect.com/gc-can-term.html

Напишите ваше мнение.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 7th July 2025 - 16:56
Рейтинг@Mail.ru


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