Easyelectronics.ru

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

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



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

Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Переходник CAN - UART
СообщениеДобавлено: 22 мар 2020, 11:02 
Заглядывает иногда

Зарегистрирован: 22 мар 2020, 10:51
Сообщения: 31
Добрый день всем!
Потребовалось сделать переходник CAN - UART на основе мк stm32f042.Есть вопрос по реализации. Может быть есть уже практика в данном вопросе у кого. А вопрос вот в чем:
-Посылка у протокола CAN может быть от 1 до 8 байт, UART передает по одному байту. Как лучше сделать, при приеме сообщения из UART сразу отправлять по одному байту в CAN ждать некоторое время, пока не придет еще что-то, чтобы заполнить все 8 байт.

С одной стороны, когда мы ждем все 8 байт, мы более "эффективно" используем посылку в CAN.
С другой стороны, увеличивается время передачи.

Что посоветуете? Может быть есть ещё предложения/идеи для данного проекта?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переходник CAN - UART
СообщениеДобавлено: 22 мар 2020, 12:34 
Старожил
Аватара пользователя

Зарегистрирован: 20 апр 2010, 17:59
Сообщения: 1183
Откуда: Челябинск
Возьмите за основу протокол Lawicel, он же CANHacker, http://www.can232.com/docs/can232_v3.pdf
И не нужно изобретать паровоз.

Без FIFO не обойтись.

_________________
Everybody lies


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переходник CAN - UART
СообщениеДобавлено: 22 мар 2020, 13:06 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2062
https://canable.io/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переходник CAN - UART
СообщениеДобавлено: 22 мар 2020, 17:04 
Старожил
Аватара пользователя

Зарегистрирован: 18 фев 2014, 11:27
Сообщения: 302
Откуда: Москва
Реализация зависит от потребностей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переходник CAN - UART
СообщениеДобавлено: 23 мар 2020, 11:08 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4729
Откуда: КЧР, поселок Нижний Архыз
mrKirill писал(а):
Возьмите за основу протокол Lawicel, он же CANHacker

Я сам подумываю, какой бы протокол использовать для одной железяки на STM32F042 (предполагается, что она по USB должна будет работать и как самостоятельная, и как шлюз в CAN-шину, а т.к. туда будет навешиваться часть железок на дебильном canopen, придется делать "тупой шлюз", чтобы не реализовывать этот дебильный canopen на МК, а парсить все на ПК и слать на МК лишь готовые пакеты).
Почитал документацию CANHacker. Какой-то он чрезмерно раздутый. Видно, что разработчик пытался учесть все возможные случаи. Для частного применения такое точно не нужно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переходник CAN - UART
СообщениеДобавлено: 23 мар 2020, 12:28 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 684
Цитата:
на дебильном canopen

Только подступаюсь к CAN, поэтому хочу узнать: а какой не дебильный, но стандартный? Ну, чтобы можно было более-менее просто подключать к СКАДА, например.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переходник CAN - UART
СообщениеДобавлено: 23 мар 2020, 13:01 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4729
Откуда: КЧР, поселок Нижний Архыз
Canopen дебилен тем, что засирает шину всяким мусором!
У нормальных железяк ты просто пишешь на 1-2 идентификатора и читаешь с 1-2 идентификаторов. Скажем, SEW'овские привода: в один идентификатор пишу команды, с другого считываю ответ. Ответ приходит только после получения команды, т.е. этого дикого флуда в линии нет.
Был у нас "прикол", когда в CAN-шину телескопа воткнули canopen-устройство. Управлять после этого стало почти невозможно (ведь с частотой в несколько герц идет опрос разных датчиков и корректировка параметров приводов, а тут вдруг какая-то хрень стала чуть ли не каждые 10мс бомбить шину).
Цитата:
но стандартный

Не нужен никакой "стандартный". Все "стандартные" CAN-протоколы - зло дичайшее!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переходник CAN - UART
СообщениеДобавлено: 23 мар 2020, 13:06 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 832
Eddy_Em писал(а):
Canopen дебилен тем, что засирает шину всяким мусором!

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

_________________
Потоковая OS


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


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


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

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


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

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

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