|
|
  |
CAN адаптер. Нужна помощь, CAN адаптер для сигнализации своими руками |
|
|
|
May 11 2012, 20:14
|
Группа: Участник
Сообщений: 12
Регистрация: 11-03-12
Из: Москва
Пользователь №: 70 721

|
Цитата(Ruslan1 @ May 11 2012, 22:48)  Только я Вас очень-очень сильно прошу: первые два-три работоспособных устройства делайте и подключайте к чему угодно, но не к КАН-шине устройств, которые могут быть опасны окружающим (в том числе Вашим родителям? Детям?). В частности, к автомобилю.
Когда придет время и вы "заматереете" и будете сырые кан-сообщения на глаз фильровать- тогда, перекрестившись и окропив все святой водой, можно и в шину "комфорт" лезть. Надеюсь, в Вашем редком автомобиле не единая кан-шина для всего. (но в авто я не спец, это так к слову).
Совершенно не хочу Вас обидеть, это просто совет человека с многолетним стажем: не начинать изучать что-либо на системах, которые опасны по определению. Сначала накопить опыт, а уже потом очень аккуратно лезть унутрь. Судя по описаниям все шины развязаны, но в экстренных ситуациях общаются и даже дают команды другим устройствам таким как центральный замок! Цитата(Ruslan1 @ May 11 2012, 23:59)  Разделите задачу на две части: железо(плата с электроникой) и программное обеспечение системы (софт для этой платы и может быть еще куча отладочного софта для компьютера).
но Первый этап: нарисовать функциональную схему того что Вы хотите получить в результате. Хоть от руки. И выложить здесь. По результатам этого этапа можно будет определить дальнейшие этапы.
Я бы делал так: 1) купил готовый адаптер КАН-компьютер 2) купил на "барахолке"любой блок от Вашей машины, сидящий на кан (хоть стеклоподъемник, хоть датчик уровня жидкости) 3) написал софт на компьютере, позволяющий адекватно работать с этим блоком 4) подключилсяк живой шине 5) написал софт на компьютере, позволяющий адекватно работать с нужными блоками на шине. Этот софт должен быть той же функциональности, что и то устройство, которое хочу разработать. 6) потестировать. 7) начал думать о своем устройстве, которое заменит компьютер с кан-адаптером. К этому моменту уже можно гораздо лучше представлять, что именно и как будет делаться.
Совет: компьютерный софт писать на Си, тогда перенос в микроконтроллер не вызовет проблем, сэкономите время и новых ошибок не наделаете в уже отлаженном. Спасибо!Очень ценный совет, так и поступлю!!!)
|
|
|
|
|
May 13 2012, 13:00
|
Группа: Участник
Сообщений: 12
Регистрация: 11-03-12
Из: Москва
Пользователь №: 70 721

|
Цитата(Vasily_ @ May 12 2012, 10:15)  Так и не понял что вам нужно, вы хотите подключить какую-то готовую сигнализацию по кану к своему авто? Да все именно так! Я так понимаю что вы предлагаете использовать сканер как промежуточную часть между шиной и фильтром, а фильтр имеет аналоговые входы-выходы!!?!?!
|
|
|
|
|
May 15 2012, 11:09
|
Группа: Участник
Сообщений: 12
Регистрация: 11-03-12
Из: Москва
Пользователь №: 70 721

|
Цитата(Vasily_ @ May 14 2012, 11:31)  Да нет, кан сканер вам нужен для сканирования кан шины и записи логов вашего авто и сигнализации с дальнейшим их разбором, а кан фильтр нужен для обработки кан сообщений от авто к сигнализации и наоборот, с кан фильтром можно изменять скорость передачи, менять байты местами, рубить сообщения, применять математику к выходным данным, и тд.. иначе никак, кан фильтр естественно должен остаться в автомобиле. А ну если так то есть у меня елм327, с помощью АТ команд его можно легко заставить читать-отправлять сообщения в шину! Фильтр так понимаю это устройство уже с контроллером и микропрограммой, то-есть то что мне нужно!!!
|
|
|
|
|
Oct 6 2012, 19:15
|
Группа: Новичок
Сообщений: 7
Регистрация: 3-10-12
Пользователь №: 73 792

|
Добрый День! Использую 11с24 и работаю с CAN. Необходимо организовать выдачу без подтверждения приема. То есть на приемной стороне может отсутствовать приемник. Смотрю пример "CAN on_chip" из примеров KEIL.
msg_obj.msgobj = 1; msg_obj.mode_id = 0x123 ; msg_obj.mask = 0xff; msg_obj.dlc = 5; msg_obj.data[0] = 'T'; msg_obj.data[1] = 'E'; msg_obj.data[2] = 'S'; //0x53 msg_obj.data[3] = 'T'; //0x54 (*rom)->pCAND->can_transmit(&msg_obj);
Что нужно добавить?
|
|
|
|
|
Oct 8 2012, 02:10
|
Частый гость
 
Группа: Свой
Сообщений: 76
Регистрация: 5-04-12
Из: Томск
Пользователь №: 71 210

|
Цитата Необходимо организовать выдачу без подтверждения приема. То есть на приемной стороне может отсутствовать приемник. это противоречит логике работы CAN шины, у вас все время будет ACK error. соответственно, сообщения отправляться не будут. UPD стоимость конкретного прибора складывается не только из стоимости деталей. к этому стоит добавить трассировку, изготовление печатной платы, монтаж элементов, ПО для контроллера, опционально ПО для компьютера. плюс ко всему этому есть такой момент: при изготовлении прибора начинающим специалистом у него непременно будут ошибки. в ПО, в трассировке, в монтаже, в подборе элементов. не важно где, но они будут, это 100% осознав этот простой и ясный для большинства присутствующих здесь тезис можно приступить к осмыслению следующего: у большого производителя есть средства и квалифицированные кадры для того, чтобы отловить большинство глюков в железке и сделать ее максимально работоспособной. а у вас?
Сообщение отредактировал spectral1989 - Oct 8 2012, 02:36
|
|
|
|
|
Oct 9 2012, 03:29
|
Группа: Новичок
Сообщений: 7
Регистрация: 3-10-12
Пользователь №: 73 792

|
Цитата(spectral1989 @ Oct 8 2012, 06:10)  это противоречит логике работы CAN шины, у вас все время будет ACK error. соответственно, сообщения отправляться не будут. мне это и нужно . просто я не знаю сколько и каких датчиков присутствуют на линии и надо их опросить. и получается кан забивается посылками к несуществующему (отключенному ) датчику.
|
|
|
|
|
Oct 9 2012, 03:45
|
Частый гость
 
Группа: Свой
Сообщений: 76
Регистрация: 5-04-12
Из: Томск
Пользователь №: 71 210

|
Цитата(igor_mmm @ Oct 9 2012, 06:29)  мне это и нужно . просто я не знаю сколько и каких датчиков присутствуют на линии и надо их опросить. и получается кан забивается посылками к несуществующему (отключенному ) датчику. вы вплотную подошли к вопросу реализации высокоуровневого протокола. для этого необходимо обдумать список задач, которые будут решаться протоколом и исходя из этого создать свой, либо использовать готовый. например CanOPEN, но это продукт платный и стоит немало. наиболее серьезная его бесплатная реализация - CanFestival, либо CanOpenNode. я использую первый, он мне больше понравился.
|
|
|
|
|
Nov 21 2013, 08:32
|
Участник

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

|
Интересный нарыл вариант по задаче "CAN-адаптер своими руками как можно дешевле". Для тех, кто с Linux-ом дружен. С помощью ft232r делаешь GPIO и подключаешь к нему сразу MCP2515 + MCP2551/MCP2562 и вуаля! Драйверы MCP2515 уже есть в ядре, стоимость железок 3 доллара.
|
|
|
|
|
Nov 21 2013, 11:26
|

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

|
Цитата(пай-мальчик @ Nov 21 2013, 12:32)  Интересный нарыл вариант по задаче "CAN-адаптер своими руками как можно дешевле". Для тех, кто с Linux-ом дружен. С помощью ft232r делаешь GPIO и подключаешь к нему сразу MCP2515 + MCP2551/MCP2562 и вуаля! Драйверы MCP2515 уже есть в ядре, стоимость железок 3 доллара. а попдробнее - как это дело в линуксе поднимать?.. ссылку можно?
--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
|
|
|
|
|
Nov 21 2013, 12:54
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(ClockworkOrange @ Nov 21 2013, 14:26)  а попдробнее - как это дело в линуксе поднимать?.. ссылку можно? Надо, чтобы в Линукс системе был контроллер CAN, ну и драйвер к нему желательно. В разделе операционные системы/Линукс кто-то недавно боролся с CAN на Линуксе. У него были проблемы со скоростью. Опишите вашу систему и я расскажу вам. Только окройте ему в разделе http://electronix.ru/forum/index.php?showforum=187Я сюда случайно заглянул. MCP2515 надо соединить к одной из SPI шин вашего компьютера. В кернеле 2.6 конфигурация CAN_MCP251X находится в | -> Networking support (NET [=y]) │ -> CAN bus subsystem support (CAN [=y]) │ -> CAN Device Drivers │ -> Platform CAN drivers with Netlink support (CAN_DEV [=n]) надо ее разрешить это подключит драйвер. Потом надо создать устройство и проверить, что они (драйвер и устройство) находят друг друга. Для более детальной информации меня интересует какой у вас процессор и версия кернела. Цитата(Vasily_ @ Nov 21 2013, 13:23)  Повеселили,  Такая связка будет работать ровно на 3 доллара, если вообще будет работать. Вы не правы. Будет полноценно работать.
Сообщение отредактировал Tarbal - Nov 21 2013, 13:08
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|