Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Состыковка TMS и ARM по CAN'у
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
ToniPizecato
Доброго времени суток, господа.
Возникла необходимость состыковать несколько процессоров посредством CAN шины. Два процессора TI TMS и два ARM lpc2119. В качестве трансиверов на все платы были выбраны TJA1040.
При подключении двух процессоров ARM, сеть работает на отлично. Принимает, посылает без каких-либо помех и ошибок. Так же и с процессорами TMS - вдвоем работают без нареканий. Однако, при состыковке ARM с TMS, последний начинает сильно ошибаться. Откликается с ошибками. по одному запросу, посылает два\четыре\одиннадцать ответов. Все скорости согласованы. Топологию шины пересмотрели со всех сторон.
В чем может быть проблема состыковки, если учесть, что процессоры одного и того же типа работают друг с другом нормально, а разные нет?
ar__systems
А посмотреть что собственно на шине при этом происходит не пробовали?
ToniPizecato
мониторим USB-CAN переходником.
Andy Mozzhevilov
Длина линии? Скорость обмена? Терминаторы на шине есть?
В настройках CAN контроллера посмотрите, как настраиваются параметры
tSJW tTSEG1 tTSEG2
Dog Pawlowa
Цитата(Andy Mozzhevilov @ Apr 6 2009, 08:22) *
Длина линии? Скорость обмена? Терминаторы на шине есть?

Да, типичные проявления задержек шины.

Осциллографом смотреть нужно, а не мониторами.
ToniPizecato
Цитата(Andy Mozzhevilov @ Apr 6 2009, 08:22) *
Длина линии? Скорость обмена? Терминаторы на шине есть?
В настройках CAN контроллера посмотрите, как настраиваются параметры
tSJW tTSEG1 tTSEG2

Длина линии около 30 см. Скорость обмена - 500 кб\с. Терминаторы на концах шины - 130 Ом между CAN_H и CAN_L.
При 20 МГц, TSEG1 = 6, TSEG2 = 1, SJW = 1 (регистры).
Используем витые пары с RJ-4 коннекторами.

Цитата(Dog Pawlowa @ Apr 6 2009, 09:07) *
Да, типичные проявления задержек шины.
Осциллографом смотреть нужно, а не мониторами.

К сожалению, осциллографом попользоваться нет возможностей.

Раз уж по кану без проблем общаются одинаковые ARM платы, то дело не совсем в шине\терминаторах и тд. Видимо, есть разница в выставлении tseg1, tseg2, brp, sjw. Об этом думали и состыковывали параметр SJW для арма и тмс. Не помогло.
Axel
Скорость снижать пробовали?
ToniPizecato
Цитата(Axel @ Apr 7 2009, 08:33) *
Скорость снижать пробовали?

да. с 1Mb\s до 500kb\s. Или Вы имеете в виду еще меньше попробовать?
Axel
Да. Имеет смысл попробовать на минимальных скоростях (ИМХО).
Andy Mozzhevilov
Цитата(Axel @ Apr 7 2009, 18:46) *
Да. Имеет смысл попробовать на минимальных скоростях (ИМХО).

при длине линии связи 30 см (то есть всё на столе) уже совершенно нет смысла пробовать скорость ниже 500, дело явно не в этом.

Цитата(ToniPizecato @ Apr 6 2009, 22:58) *
Длина линии около 30 см. Скорость обмена - 500 кб\с. Терминаторы на концах шины - 130 Ом между CAN_H и CAN_L.
При 20 МГц, TSEG1 = 6, TSEG2 = 1, SJW = 1 (регистры).
Используем витые пары с RJ-4 коннекторами.

К сожалению, осциллографом попользоваться нет возможностей.

Запрещают? smile.gif

Цитата
Раз уж по кану без проблем общаются одинаковые ARM платы, то дело не совсем в шине\терминаторах и тд. Видимо, есть разница в выставлении tseg1, tseg2, brp, sjw. Об этом думали и состыковывали параметр SJW для арма и тмс. Не помогло.

Скажите, а у вас гальванической развязки случаем нет между контроллером и драйвером CAN?
ToniPizecato
Цитата(Andy Mozzhevilov @ Apr 7 2009, 18:00) *
Запрещают? smile.gif

почти правда.)

Цитата(Andy Mozzhevilov @ Apr 7 2009, 18:00) *
Скажите, а у вас гальванической развязки случаем нет между контроллером и драйвером CAN?

На армах нет. На тексасах стояла ADUM1201AR. Выяснили, что она медленная и мегабит не пропустит. Выпаяли. Но не помогло.
ar__systems
Цитата(ToniPizecato @ Apr 7 2009, 11:17) *
почти правда.)

Тогда лоджик аналайзером wink.gif
Axel
[quote name='Andy Mozzhevilov' date='Apr 7 2009, 19:00' post='573603']
при длине линии связи 30 см (то есть всё на столе) уже совершенно нет смысла пробовать скорость ниже 500, дело явно не в этом.


На низких скоростях меньше влияет нестыковка по таймингу.
Wano
Мож не в тему. Была подобная проблема. LPC + LPC через CAN. Один на 60 МГц другой на 48 . Настройка CAN у обоих для 125 кбит. И хоть ты тресни, посылки через раз, а то и реже. Решили, что проблема в TSEG-ах, так как диалоговый модуль от IFM в сети видел посылки обоих контроллеров. Париться не стали, сделали оба проца на 60 МГц и забыли про проблему.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.