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

 
 
> устройство для чтения CAN и передачи UART
Vny4ek
сообщение Mar 5 2012, 08:52
Сообщение #1


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

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Здраствуйте, подскажите пожалуйста, задача вроде простая
Хочу поиграться с автомобильной CAN шиной, тоесть планирую сделать устройство которое можно подключить к шине и для начала прочитать пакеты гуляющие в ней с выводом в UART.
Сразу вопросы следующего порядка
1) Хочу использовать AVR с CAN на борту, но вижу что есть еще CAN трансиверы, нужны ли мне они при использовании AVR с поддержкой CAN, ну и как оптимальней вообще организовать схему и на каких деталях, что еще нужно в обвязке как правило.
2) если по программной части видели на Си исходники где все не слишком сложно, хотелось бы тоже посмотреть.
Устройство не промышленное, просто любительская поделка
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
adnega
сообщение Mar 5 2012, 09:49
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Vny4ek @ Mar 5 2012, 12:52) *
1) Хочу использовать AVR с CAN на борту, но вижу что есть еще CAN трансиверы, нужны ли мне они при использовании AVR с поддержкой CAN, ну и как оптимальней вообще организовать схему и на каких деталях, что еще нужно в обвязке как правило.
2) если по программной части видели на Си исходники где все не слишком сложно, хотелось бы тоже посмотреть.
Устройство не промышленное, просто любительская поделка

1). Даже если в микроконтроллере есть CAN-контроллер, это вовсе не означает отсутствие т.н. CAN-физики.
Правда, есть контроллеры от NXP где все-в-одном, но это AVR...
2). Если Си, устройство поделочное, исходников все равно нет, функционала кроме CAN и UART не предпологается (?) - тогда может проще взять демку для какого-нить другого камня. Делал переходник CAN-UART на STM32. Могу помочь схемой и прошивкой, если AVR не принципиально.
Go to the top of the page
 
+Quote Post
Vny4ek
сообщение Mar 5 2012, 10:25
Сообщение #3


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

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Спасибо за ответ.
Тоесть трансивер+всю обвязку все же необходимо использовать (если разговор про AVR)
Функционал предполагается такой (посмотреть что в шине передается, в последующем попытаться что нибудь отправить) Скорее изучение интересно
STM23 к сожалению не подойдет. А для таких задач реально ли найти какие-нибудь примеры на Си. что бы освоить или достаточно закрытая тема?
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 5 2012, 11:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Если в основном интересует прием и передача пакетов CAN в авто, то совсем не обязательно изучать STM32 досконально.
Грубо говоря, по готовой схеме можно спаять макет и прошить прошивку с фиксированным функционалом (CAN-UART) не особо разбираясь что к чему - в этом могу помочь. А большую часть своего времени потратить на изучение CAN-пакетов в шине.
Go to the top of the page
 
+Quote Post
Vny4ek
сообщение Mar 5 2012, 11:45
Сообщение #5


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

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Конечно, был бы очень признателен если дали бы посмотреть примеры
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 5 2012, 15:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Vny4ek @ Mar 5 2012, 15:45) *
Конечно, был бы очень признателен если дали бы посмотреть примеры

Пример, в данном случае получается тривиальный.

int main(void)
{
initUART();
initCAN();
while(1){};
}

Функции с префиксом init сильно зависят от платформы. Плюс нужно написать обработчики прерываний CAN и UART.
Я думал предложить Вам "черный ящик", который решил бы поставленные задачи (работа с шиной CAN).
Исходники (пример) Вас только запутает (запугает).
Готовое устройство будет на STM32F103T8U6 - сможете достать такой?
Или LPC11C24FBD48?
Правда, они не очень дружественны для радиолюбительства...

Может кто поможет сделать на AVR?!
Go to the top of the page
 
+Quote Post
Vny4ek
сообщение Mar 6 2012, 06:34
Сообщение #7


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

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Спасибо, но "черный ящик" мне не нужно, хочется разобраться, полностью согласен что исходник с другой платформы скорее запутает.
"Будем искать" (с)
Go to the top of the page
 
+Quote Post
ARV
сообщение Mar 6 2012, 08:32
Сообщение #8


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



имеются готовые библиотеки под WinAVR полной поддержки контроллеров типа AT90CANxxx - в комплекте идет даже исходник сниффера CAN-шины с отправкой в комп через RS232 (правда, у меня он так и не заработал). так что особо искать не нужно - есть все готовое (и даже на этом форуме я выкладывал эти библиотеки, кажется).

а у меня встречный вопрос: может ли кто-нибудь сказать, с какой "плотностью" гуляют пакеты в автомобильном CAN-е? не скорость передачи битов интересует (точнее, скорость интересует, но во вторую очередь), а сколько пакетов в секунду (хотя бы в среднем)?


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
пай-мальчик
сообщение Nov 14 2013, 02:09
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 19-10-13
Пользователь №: 78 801



Vny4ek, удалось найти что-нибудь?

У меня задача ещё более сложная. Нужно запилить собственную шину CAN, т.е. надо сразу разработать и устройство USB2CAN и контроллеры, общающиеся по CAN. Т.е. для отладки одного нужно иметь второе и наоборот sm.gif Покупать готовое точно не буду. p.s. склоняюсь к внешним контроллерам, т.к. дешевле.

Сообщение отредактировал пай-мальчик - Nov 14 2013, 02:10
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Nov 14 2013, 02:50
Сообщение #10


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Я делал лет 10 назад на PIC18 под ОС SALVO. Могу дать коды, но не знаю насколько оно вам поможет.
Если интересно -- киньте в личку емайл адрес.
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Nov 21 2013, 11:01
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



Цитата(ARV @ Mar 6 2012, 12:32) *
имеются готовые библиотеки под WinAVR полной поддержки контроллеров типа AT90CANxxx - в комплекте идет даже исходник сниффера CAN-шины с отправкой в комп через RS232 (правда, у меня он так и не заработал). так что особо искать не нужно - есть все готовое (и даже на этом форуме я выкладывал эти библиотеки, кажется).


вот этот проект под AVR точно заработает: http://www.mictronics.de/projects/usb-can-bus/
правда там от AVR ядро лишь.



Цитата(adnega @ Mar 5 2012, 13:49) *
Делал переходник CAN-UART на STM32. Могу помочь схемой и прошивкой, если AVR не принципиально.

это интересно.
можете поделиться и описать какой протокол по UART вы использовали (стандартный SLCAN или что-то своё)?


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Nov 21 2013, 12:01
Сообщение #12


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(ARV @ Mar 6 2012, 11:32) *
а у меня встречный вопрос: может ли кто-нибудь сказать, с какой "плотностью" гуляют пакеты в автомобильном CAN-е? не скорость передачи битов интересует (точнее, скорость интересует, но во вторую очередь), а сколько пакетов в секунду (хотя бы в среднем)?


CAN-FMS симулятор имитирующий грузовик выдавал около 100 пакетов в секунду с длиной данных от 2х до 8 байт. Но это симулятор. В реальном автомобиле чёрт его знает. Самому интересно сколько там пакетов чтобы хоть както оптимизмровать обработку потока данных. Установщики оборудования на автомобили не интересуются подобными вещами, а самим получить доступ к грузовикам проблематично.
Go to the top of the page
 
+Quote Post
ZASADA
сообщение Nov 21 2013, 18:27
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



Цитата(mempfis_ @ Nov 21 2013, 15:01) *
CAN-FMS симулятор имитирующий грузовик выдавал около 100 пакетов в секунду с длиной данных от 2х до 8 байт. Но это симулятор. В реальном автомобиле чёрт его знает. Самому интересно сколько там пакетов чтобы хоть както оптимизмровать обработку потока данных. Установщики оборудования на автомобили не интересуются подобными вещами, а самим получить доступ к грузовикам проблематично.

в грузовиках обычно can sae j1939. там длинна кадра фиксирована и равна 8 байт. Несколько изолированных шин с мостами между ними. На разных шинах загрузка разная, 10-25-50%, все зависит какая шина и какое железо висит. Причем загрузка неравномерная, часто пакеты выстраиваются друг за другом в непрерывные паровозы и надо успевать вычитывать приемные буфера.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 03:48
Рейтинг@Mail.ru


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