Jump to content

    

CAN-шина авто + MCP2515

Recommended Posts

Alt.F4

Добрый день.

Задача: узнать обороты двигателя авто.

Сперва думал считать импульсы, но так как в современных авто на тахометр приходит CAN-шина, то идея провалилась и уважаемый Vasily_ предложил считывать данные оборотов двигателя с этой самой шины.

 

Погулял по форуму и прикинул, что для меня будет лучшим решением заюзать MCP2515 + AVR.

Так как я в этой теме профан, то возникло несколько вопросов:

1. Необхоидимо ли для связи с авто использовать приемопередатчик MCP2551 для согласования уровней с MCP2515?

2. Надо ли настраивать MCP2515 для работы с CAN-шиной или просто впаял и читай по SPI буфер?

Спасибо.

 

з.ы. или проще заюзать at90can128 (с меньшим флешем нигде нету) + MCP2551?

Edited by Alt.F4

Share this post


Link to post
Share on other sites

zksystem

Посоветовал бы Вам вначале на простых примерах поучиться, так как влезать в шину HS-CAN автомобиля может привести к непредсказуемым последствиям

Share this post


Link to post
Share on other sites

Myron
1. Необхоидимо ли для связи с авто использовать приемопередатчик MCP2551 для согласования уровней с MCP2515?

Разных приемопередатчиков достаточно много для разных целей. Я, например, в серийном оборудовании использую связку MCP2515 + ADМ3053. Все зависит от задач. Замечу, что CAN-bus у разных компаний отличаются уровнями и деталями протоколов. У нас программисты всегда испытывали трудности с CAN-bus и приходилось отбиваться и помогать, делая дополнительные ненужные телодвижения.

Share this post


Link to post
Share on other sites

IXFN50N80Q2

Если J1939 то почти любой PIC

Даже под J1939 либа есть http://www.microchip.com/stellent/idcplg?I...ppnote=en020237

 

Работал с ней на PIC18F2580I/SO в связке с TJA1050

Глюков не наблюдаю.

Share this post


Link to post
Share on other sites

Edit2007
Сперва думал считать импульсы, но так как в современных авто на тахометр приходит CAN-шина, то идея провалилась и уважаемый Vasily_ предложил считывать данные оборотов двигателя с этой самой шины.

Тахометр считает те же импульсы, и передает их в CAN. Может быть подключиться параллельно? Хотя если разобраться с CAN, то перспектив больше.

Share this post


Link to post
Share on other sites

lead_seller

MCP2551 - это дравер физического уровня HS-CAN. К нему нужен еще сам приемо-передатчик - либо внешний, вроде того же MCP2515, либо внутренний - сейчас у большинства производителей микрокоонтроллеров есть камни со встроенным CAN передатчиком (у PIC в 18 серии что-то было, у ST CAN есть в сериях старше 103-ей). На мой взгляд удобней внутренний - у того же STM в их stm32f103 серии очень вменяемая и удобная CAN-периферия.

Edited by lead_seller

Share this post


Link to post
Share on other sites

KARLSON

А разве J1939 имеется в обычных авто? Или какие авто имеются ввиду?

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

Share this post


Link to post
Share on other sites

ZASADA

да, J1939 для грузовиков. но это просто софтовый протокол, так что железо может быть любое и MCP2515+MCP2551 будет работать на любой автомобильной шине CAN

Share this post


Link to post
Share on other sites

KARLSON

дело не в железе. Для общения нужен протокол, а в обычных авто, как правило, производители держат его в секрете.

Share this post


Link to post
Share on other sites

ZASADA

вопрос изначально стоял про железо. топикстартер или знает в каких пакетах что искать или еще не дошел до этого этапа.

Share this post


Link to post
Share on other sites

Sanich

Хотелось бы узнать, реализована ли идея? Дело в том, что стоит идентичная задача, но помимо оборотов, ещё и скорость, форсунки, уровень топлива и др. полезные вещи. Знаю что есть уже готовые связки ELM327 BT и на устройства под андроид или Win. Но там нет математики, которую надо ввести для получения определённых расчётов. Как всё же получить данные с датчиков авто для м/контроллера?Может есть уже такая тема и я просмотрел? Спасибо.

Share this post


Link to post
Share on other sites

0xC2

Самая простая сборка для кана - MCP2551 -физический уровень, MCP2515 - непосредственно CAN ну и любой МК например MEGA8. Кварц нужен только для 2515, меге достаточно собственного RC гены.МК с 2515 соединяем по SPI + внешнее прерывание. Хотя как писали выше есть уже STM32F103, сравнимый по цене с мегой и тогда 2515 не нужен вовсе.

Share this post


Link to post
Share on other sites

mempfis_
Самая простая сборка для кана - MCP2551 -физический уровень, MCP2515 - непосредственно CAN ну и любой МК например MEGA8. Кварц нужен только для 2515, меге достаточно собственного RC гены.МК с 2515 соединяем по SPI + внешнее прерывание. Хотя как писали выше есть уже STM32F103, сравнимый по цене с мегой и тогда 2515 не нужен вовсе.

 

 

У NXP есть LPC11C. При чтении доков на этот процессор выяснилось что в семействе есть процессоры со встроенной физикой. Также они имеют зашитые в ROM процедуры работы с CAN. Как заявляет NXP это позволяет сэкономить кучу коды + есть возможность строить CAN-загрузчик. К сожалению применять их не приходилось, но держим на заметке что есть процессоры, позволяющие построить весьма компактное CAN-устройство.

Share this post


Link to post
Share on other sites

Sanich

Как считаете, если есть возможность записать последовательности на шине I-BUS (BMW E39) можно будет разобраться с кодом? Задумка только считывать инфу, затем матеметикой выводить всякие вкусности на свой мультимедиа Dynavin

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.