Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2020, 09:35

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 11:50 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
Всем доброго времени суток.

Спариваю сейчас по шине can stm32f103c8t6 и pic24ep512gu806. Отдельно друг от друга они работали со своими сородичами, но вместе наблюдаю странный глюк. Пакеты от стм приходят на пик. Пакеты от пика не доходят до стм и даже до себя. Если включить на пике режим петли, то он свои пакеты начинает видеть. Кэн драйвер мсипишный, проверенный. Думал, что может где-то обрыв.... становился анализатором логики на rx/tx обоих МК и там все пакеты есть. Причём, если слать с обоих мк абсолютно одинаковый пакет по всем параметрам, то на анализаторе логики на ножке RX пик24 они совпадают тютелька в тютельку, но с стм доходит, а с пика нет. Просто мистика.... Есть у кого какие мысли?


Последний раз редактировалось Yoda 29 май 2020, 11:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 11:58 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4729
Откуда: КЧР, поселок Нижний Архыз
Скорости немного не совпадают?
Какие ошибки появляются?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 12:00 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
Eddy_Em писал(а):
Скорости немного не совпадают?
Какие ошибки появляются?


Скорости совпадают идеально = 500 кГц. Если бы не совпадали, то я бы на пике не увидел пакеты от стм. Я даже накладывал их друг на друга в паинте с сохранением масштаба - совпадают идеально. Ошибок нету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 12:06 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
Вот скрин анализатора. В верхней части картинки показаны RX & TX на пике, когда сам пик шлёт пакет. Снизу, когда точно такой-же пакет присылает стм. На RX видим пакет, а на TX подтверждение приёма пиком. Если бы фильтры были настроены криво, то я бы не увидел пакета от стм и свой же пакет в режиме петли?
Вложение:
can.png
can.png [ 26.97 Кб | Просмотров: 427 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 12:54 
Старожил
Аватара пользователя

Зарегистрирован: 08 сен 2011, 13:39
Сообщения: 985
Откуда: Беларусь, Гомель
А может проблема с арбитражем/фильтрами? Т.е. стм точно ждет этот CAN ID от другого устройства в сети?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 13:08 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
N1X писал(а):
А может проблема с арбитражем/фильтрами? Т.е. стм точно ждет этот CAN ID от другого устройства в сети?


Дело в том, что проблема похоже у пика, а не у стм. В пике я настроил один фильтр и маску со всеми нулями (т.е. не проверять ни один бит и сразу пропускать пакет далее в мк). Пакеты от стм до пика доходят. Когда точно такой-же пакет шлёт пик, то он до пика не доходит. Но в режиме петли доходит!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 15:20 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
Если слать пакеты с пика на стм, то они доходят без проблем. Т.е. никаких проблем с линией, скоростью и драйверами нет. Основное различие в том, что режим петли работает, а нормальный режим нет. Мне казалось, что разница только в том, что выходные ножки МК замыкаются и больше разницы нет. Получается есть.

Вопрос такой появился... а должен ли пик видеть свои же пакеты? Может они отсекаются хардварно внутри кэн модуля? Просто раньше никогда не задумывался над этим.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 15:36 
Старожил
Аватара пользователя

Зарегистрирован: 08 сен 2011, 13:39
Сообщения: 985
Откуда: Беларусь, Гомель
"Ножки замыкаются" это не совсем так, все же этот функционал реализован в ядре CAN-модуля и от несколько сложнее, чем замкнуть два сигнала...
Не скажу про пик точно, но вообще то что отправленный пакет фильтруется, чтобы не попасть в приемный буфер - вполне возможно... Я просто по первому сообщению понял, что стм ничего не принимает, а сейчас получается принимает?
В контроллере же флаг должен быть, подтверждающий, что на транзакцию получен ACK от другого устройства, этого достаточно, чтоб знать, что фрейм ушел и контролька сошлась... Нафига свой пакет принимать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 16:11 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
N1X писал(а):
"Ножки замыкаются" это не совсем так, все же этот функционал реализован в ядре CAN-модуля и от несколько сложнее, чем замкнуть два сигнала...
Не скажу про пик точно, но вообще то что отправленный пакет фильтруется, чтобы не попасть в приемный буфер - вполне возможно... Я просто по первому сообщению понял, что стм ничего не принимает, а сейчас получается принимает?
В контроллере же флаг должен быть, подтверждающий, что на транзакцию получен ACK от другого устройства, этого достаточно, чтоб знать, что фрейм ушел и контролька сошлась... Нафига свой пакет принимать?


Да, сначала на стм пакеты не принимались, сейчас принимаются пакеты. Просто закомментирована была одна строчка.... Но свои пакеты в упор не видит, хотя между ними нет никакой разницы с пакетами от стм. Понимаю, что мне они не нужны, но факт есть факт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 16:40 
Старожил
Аватара пользователя

Зарегистрирован: 08 сен 2011, 13:39
Сообщения: 985
Откуда: Беларусь, Гомель
Скорее всего фильтруются, все же это не UART, а более сложный контроллер...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 19:10 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
N1X писал(а):
Скорее всего фильтруются, все же это не UART, а более сложный контроллер...

Тогда вопрос, как блок кэн узнаёт, свой ли это пакет или чужой, если они ни чем не отличаются?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 20:32 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 203
Захвати анализатором пакет, да пошли куда нужно.
Посмотрите скушает или нет.
Если нет, то тайминг шины расходится.

Может просто скорости захвата анализатора не хватает. Не сказано же в каком режиме захват


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 29 май 2020, 23:35 
Старожил

Зарегистрирован: 24 июн 2011, 14:05
Сообщения: 309
Откуда: Новочеркасск
Дела, пакет который уходит с МК и не должен быть услышан им же, там другие механизмы чтобы понять дошёл пакет или нет, всё это касаемо встроенных аппаратных CAN контроллеров, а то мне недавно попадалась программная реализация...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 30 май 2020, 10:39 
Старожил
Аватара пользователя

Зарегистрирован: 08 сен 2011, 13:39
Сообщения: 985
Откуда: Беларусь, Гомель
Yoda писал(а):
Тогда вопрос, как блок кэн узнаёт, свой ли это пакет или чужой, если они ни чем не отличаются?

Ну как, если трансмитер в состоянии передачи и арбитраж не проигран, значит в любом случае принимаем эхо. Если проиграли арбитраж - значит принимаем уже чужой более приоритетный кадр... Все однозначно... А передача полностью идентичного CAN ID разными устройствами - это в принципе не нормально и вызовет порчу сообщения...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN loopback работает, normal mode нет
СообщениеДобавлено: 30 май 2020, 12:15 
Заглядывает иногда

Зарегистрирован: 14 апр 2014, 11:41
Сообщения: 173
Откуда: Минск Беларусь
N1X писал(а):
Yoda писал(а):
Тогда вопрос, как блок кэн узнаёт, свой ли это пакет или чужой, если они ни чем не отличаются?

Ну как, если трансмитер в состоянии передачи и арбитраж не проигран, значит в любом случае принимаем эхо. Если проиграли арбитраж - значит принимаем уже чужой более приоритетный кадр... Все однозначно... А передача полностью идентичного CAN ID разными устройствами - это в принципе не нормально и вызовет порчу сообщения...

Я передавал одинаковые пакеты чисто в познавательных целях, т.к. не увидел своего эха и подумал, что неправильно настроена фильтрация.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB