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

 
 
 
Reply to this topicStart new topic
> STM32F105 CAN/USB протокол обмена, протокол обмена компьютеров Sirius, Orion
Artos5
сообщение Aug 1 2015, 09:59
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Добрый день уважаемые форумчане!
Появилась задача сделать переходник RS232 <> CAN и USB <> CAN типа 2 в одном.
задача связать компы с CAN , с компьютерами имеющими шину RS232.

Интересует следующее:
1) по какому протоколу работает
2) Какие грабли могут возникнуть
3) как эти грабли обойти

Первый вопрос очень важен. Так как информации вообще не нашел....
Кто знает хоть немного данную тему , помогите пожалуйста . Буду очень признателен за любую помощь!
С уважением Артем.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 1 2015, 12:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Кан посылка по 8 байт и адрес с подтверждением доставки. Так и шлите в комп и так принимайте обратно, и добавте статус пересылки, чтобы обеспечить контроль доставки, ну и контрольную сумму конечно

Совсем честно не получиться, не подтвердить кан узлам доставку в случае если комп отвалился вам. Конечно не удасться
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 2 2015, 05:43
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613




Golikov A. Спасибо Вам большое! Вы сильно мне помогли. Буду дальше разбираться.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 3 2015, 18:19
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(Golikov A. @ Aug 1 2015, 15:05) *
Кан посылка по 8 байт и адрес с подтверждением доставки. Так и шлите в комп и так принимайте обратно, и добавте статус пересылки, чтобы обеспечить контроль доставки, ну и контрольную сумму конечно


а можете пример дать , как статус добавить? А нельзя просто принять полученный поток от кан и отправить в uart или usb ? И наоборот .
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 3 2015, 18:28
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



в кане нет потока, там кадровая организация, а если говорить про кан опен, то там вообще адресуются не узлы, а данные... адрес имеет параметр, а не объект.

я бы так сделал:

от компьютера, по URAT или USB принимаем данные в виде
адрес (битность зависит от версии кан), полезная нагрузка (8 байт), контрольная сумма.
Проверяем контрольную сумму (для UART это может быть важно, USB вроде имеет встроенную)
Пихаете полученные данные 8 полезных байт в кан, по тому адресу что в адресе
Проверяете флаг удачной передачи, если послалась шлем в компьютер ОК, если нет Ошибка

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

вот собственно все и покрыто комп - кан и обратно.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 3 2015, 18:41
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Спасибо большое! Очень сильно помогли ! wink.gif

Смотрю тут: https://ru.wikipedia.org/wiki/Controller_Ar....B4.D1.80.D0.B0

Что то вообще запутался.. sm.gif
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 4 2015, 05:25
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



в каком месте запутались? как знать что вас удивило, а что нет... %)
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 6 2015, 11:36
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(Golikov A. @ Aug 4 2015, 08:25) *
в каком месте запутались?


Я не совсем то запутался. Просто вижу что длина поля не строго 8 битная.
Мне кадр запаковать в байтовый массив и отправить в uart или usb com так ? Плюс контрольная сумма.
Если бы где почитать это самое преобразование кан посылки в uart .

Мне так сделать? Вот:

=======================================
Начало кадра 1 Сигнализирует начало передачи кадра
Идентификатор 11 Уникальный идентификатор
Запрос на передачу (RTR) 1 Должен быть доминантным
Бит расширения идентификатора (IDE) 1 Должен быть доминантным (определяет длину идентификатора)
Зарезервированный бит (r0) 1 Резерв
=======================================

эти 15 бит запаковать в два байта , и отправить в UART.
Cледующие 4 бита

====================
Длина данных (DLC) 4 Длина поля данных в байтах (0-8)
====================

запаковать в третий байт .

Потом 0-8 байт данных

потом CRC 2 байта
и т.д.

Верно?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 6 2015, 11:43
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



в целом все верно, можно и так.

я бы только данные сделал бы всегда 8 байт (чтобы пакеты стали фиксированной длинны, поле длинны в отдельном байте - хорошая идея, оставить) так легче их распаковывать, если по скорости пройдете.

признаки начала передачи, запрос на передачу, и так далее я бы выкинул, они уарту ненужны
на адрес бы отвел всегда 3 байта, (он может быть 11 или 19 бит)

получил бы посылку фиксированной длины 3 + 1 + 8 + 2 = 14 байт, сумму CRC надо заново считать из кан посылки ее взять не выйдет, вы поля кроите, потому заменил бы ее обычной суммой циклической и все...

Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 6 2015, 11:48
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(Golikov A. @ Aug 6 2015, 14:43) *
можно и так.


Весь прикол в том , что это устройство предполагается сделать как некий аналог другого устройства , который по рассказам заказчика снят с производства.
У меня есть скрины мануала такого устройства , всего остального включая протокол - нету...

Вот краткое описание девайса:
http://cs625521.vk.me/v625521435/44245/4ATk8_51yME.jpg
http://cs625521.vk.me/v625521435/4424f/hbKwBTGY6lo.jpg
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 6 2015, 13:09
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну тогда надо дербанить входной протокол того утерянного устройства, может авторы себе как-то по другому видели что там происходит в обмене. Отлично от толпы китайцев что весь инет завалили такими девайсами, тот же ебай или али смотрите...
Go to the top of the page
 
+Quote Post
_3m
сообщение Aug 7 2015, 05:32
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(Artos5 @ Aug 6 2015, 14:48) *
Весь прикол в том , что это устройство предполагается сделать как некий аналог другого устройства , который по рассказам заказчика снят с производства.
У меня есть скрины мануала такого устройства , всего остального включая протокол - нету...

Проверьте действительно ли там CAN интерфейс.
Вдруг это UART с физикой CAN.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 7 2015, 06:13
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(_3m @ Aug 7 2015, 08:32) *
Проверьте действительно ли там CAN интерфейс.

Да если там логика uart-a то это будет легко победить )
Но скорее всего там все таки полный CAN .
Вот скрины:

Сообщение отредактировал Artos5 - Aug 7 2015, 06:14
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


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


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