Page 1 of 2
Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 7:55 pm
by Sergey89
В текущей прошивке ruseif два интерфейса для связи с ПК. USB и UART. Не знаю нужны ли будут 2 интерфейса потом, но пока видимо рассчитываем на оба. Так же решили добавить CAN.
Для UART будем ставить преобразователь USB или вообще RS-232?
Что насчёт SD карточки? Будем делать или нет onboard logging? У STM32 есть SDIO для работы с SD, но он занимает аппаратные таймеры. Поэтому нужно или лишаться аппаратных ножек таймеров или юзать SPI вместо SDIO.
Ещё речь зашла про EEPROM. По моему мнению, её ставить нужно обязательно. Объём думаю соизмеримый с RAM надо. Скажем 1 Mbit = 128 kb.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 8:16 pm
by Sergey89
Набросок для EEPROM и CAN. Микросхема CAN практически любая в SO-8 должна подойти. Если у неё нет средней точки, то резистор R11 не запаивается. Дроссель тоже не обязателен и вместо него могут быть запаяны резисторы R14, R15. Защитная сборка D9, вроде бы, может не ставиться, если в микросхеме есть встроенная защита, но нужно уточнить ещё. Есть ли разница куда ставить резисторы R12 и R13, до или после катушки?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 8:21 pm
by frig
Для UART будем ставить преобразователь USB или вообще RS-232?
Я думаю стоит сразу думать о bluetooth. Так что надо подумать чтобы можно было по желанию, либо UART->USB или bluetooth. BT конечно готовый модуль брать, вроде HC-05. Шнурок, честно говоря, не очень то и нужен, как по мне.
Что насчёт SD карточки? Будем делать или нет onboard logging?
ИМХО нет смысла. Логи запросто собираются смартфоном/планшетом. Нужно это только на время отладки, так что железных решений хотелось бы по минимуму.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 8:25 pm
by AndreyB
frig wrote:BT конечно готовый модуль брать, вроде HC-05
Я так понял, нужно брать HC-06: HC-05 это универсальный клиент-сервер, но с увеличенным гемороем инициализации. А HC-06 - это чисто клиент, как раз для наший целей. Инициализация по BT с дефолтовым паролем.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 8:31 pm
by frig
А HC-06 - это чисто клиент, как раз для наший целей. Инициализация по BT с дефолтовым паролем.
Клиент это тот, который будет подключаться к нашему мастеру/телефону? Не наоборот должно быть, что модуль говорит в эфир, мол, вот он я, телефон его находит и дальше понеслась?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 9:58 pm
by AndreyB
frig wrote:Не наоборот должно быть, что модуль говорит в эфир, мол, вот он я, телефон его находит и дальше понеслась?
Мы руками запускам Android Dash Board и ищем, к чему бы подключиться.
Чёрт его знает, кто из них и почему клиент кто сервер - но вроде нам надо -06
Re: Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 10:09 pm
by KOT
Я за CAN и Защищенный UART или вобще тупо CAN хотя последний дороговат, если хоошая микросхема с защитами, USB, блютуз и проче - как помне для домохозяек и програмистов, которые пользуются техникой в домашних условиях, уж простите если кого обидел, USB оч люблю но не в авто-мото и промышленности.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Mon Dec 16, 2013 10:37 pm
by frig
KOT, а чем не угодил блютуз, который просто работает? Зачем усложнять? Блютуз в любом случае должен быть, без него половины плюшек нет. А проводной интерфейс в таких условиях я даже не знаю зачем может понадобиться. Без проводов же проще.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 7:34 am
by KOT
Не знаю возможно у меня стереотип, я просто представляю какой-то интерфейс, в которому подключается адаптер, а адаптер уже может преобразовывать в USB, блютуз, против USB могу сказать только то что столкнулся с тем что оно боится помех, недавно эксперементировал катушкой зажигания, так у меня от комутера передически отвалилвался STM32 и мышь, в принципи и UART то не защищен на счет этого, просто скоростя ниже, поэтому и помех меньше.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 7:47 am
by frig
KOT, с usb у меня тоже были проблемы, когда катушка была сильно низкоомная, а время накопления сильно дикое. Лупило искрой, конечно, на километр и отваливался USB. Потом проблем не было, ну кроме того, что шнурок это просто не удобно. Поставил bluetooth модуль, в ноутбуке bluetooth уже есть и все просто работает. Если встроенного нет, то usb свисток стоит в районе 12 грн. Я не путаюсь в проводах, даже не думаю о них. Просто беру ноутбук в сумку через плечо и собираю логи (на мотоцикле).
Также через этот самый bluetooth работают приложения на мобильных, там другого вообще просто нет. Отказываться от этих возможностей совсем не хочется - не всем удобно таскать с собой ноутбук на шнурке, да и монитор в виде планшета, который постоянно висит на приборной панели, а иногда и просто видео детворе показывает - это здорово.
Для меня это вопрос решенный - bluetooth так или иначе должен быть, а если будет беспроводной интерфейс, то какой смысл морочиться с проводами? Разве что что-то совсем высокоскоростное отладочное.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 8:01 am
by Sergey89
А блютус будет нормально работать в моторном отсеке в экранированном корпусе? Не будет ли он служить источником помех?
Я ничего не могу сказать о качестве того или другого интерфейса, но например Bosch и McLaren используют CAN, Ethernet и RS232.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 8:10 am
by frig
А блютус будет нормально работать в моторном отсеке в экранированном корпусе?
Не знаю. Для таких "сложных" случаев можно модуль выносить за пределы и блока и моторного отсека. У меня модуль на плате, но корпус стеклопластиковый. Работает метров с десяти примерно.
Не будет ли он служить источником помех?
Не будет. Народ ведь говорит по BT гарнитурам во время движения?
Sergey89, для использования мобильных приложений подходит только bluetooth. Собирать логи таким образом удобно, контролировать процесс удобно, даже настраивать с планшета и то можно, чтобы не таскать с собой ноутбук.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 9:30 am
by Sergey89
Bluetooth можно сделать из RS-232 через одну микросхему MAX3232 и модуль HC-05/06. USB тоже можно сделать через эту микросхему и модуль TTL/USB. Но тогда возникает вопрос, а нужен ли вообще RS-232, если его всё равно преобразуем к удобноваримому интерфейсу или лучше вывести UART через опторазвяку скажем?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 9:44 am
by frig
а нужен ли вообще RS-232
А зачем? Кто-то будет в чистом виде это использовать?
или лучше вывести UART через опторазвяку скажем?
Я за UART. Из него получается все перечисленное, да и та же опторазвязка даже не всем будет нужна. Она должна быть, но для вывода наружу.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 9:48 am
by KOT
RS232 как на меня морально устарел, хотя активно используется в промышленности, 422 мне тут кажется не совсем удобным, дешевле чем CAN но возможны коллизии, да и на на любом базаре не купил свисток на 422. Блютуз мне нравится как свисток, который воткнул в блок настроил и вытащил.
Я воспринимаю блютуз, USB UART только как настроечные интерфейсы, а занчить редкоиспользуемые, или Вы собираетесь на протяжении эксплуатации каждые день пистаь логи и отлажить)). CAN - возможность подключения доп устройств тот же иммобилайзер, автоматическая коробка итп.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 9:55 am
by frig
или Вы собираетесь на протяжении эксплуатации каждые день пистаь логи и отлажить))
Есть и другие сценарии. Можно запросто на планшете выводить просто набор датчиков. Температура еще ладно, а вот давление наддува, afr, напряжение и некоторые другие можно вообще в постоянном режиме показывать и это будет не вредно. Народ дополнительные деньги платит за то, чтобы получить эту информацию, а тут она достается практически даром!
Или вообще приборную панель можно заменить планшетом
Там и навигатор и скорость по gps и вся информация о работе мотора. Так что интерфейс этот вполне может использоваться в постоянном режиме.
CAN - возможность подключения доп устройств тот же иммобилайзер, автоматическая коробка итп.
Ну can вроде как и нужен, может быть... но сложно сказать когда он может стать нужен и насколько сильно. Разводить, конечно, на плате определенно стоит.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 3:54 pm
by Sergey89
Как выяснилось оба интерфейса rusefi работают через виртуальные COM порты. Один через UART и USB TTL адаптер, а второй через USB и STM32 Virtual COM Port Driver. Фактически можно использовать два UART. Есть ли смысл отказываться от USB?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 3:58 pm
by AndreyB
Sergey89 wrote:Как выяснилось оба интерфейса rusefi работаю через UART, но один через USB TTL адаптер, а второй через USB и STM32 Virtual COM Port Driver. Так что нужно два UART.
Ээээ, секундочку. Выяснилось немного другое. Один интерфейс работает через UART, а второй - через USB OTG.
Возможно, мы не верно друг друга поняли когда я говорил что оно МОЖЕТ работать через два UART, но зачем так? Вроде прикольнее поставить 1 разъём, чем ставить лишний чип И разъём?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Tue Dec 17, 2013 4:07 pm
by Sergey89
На PC это всё COM порты. Сейчас мы и пытаемся решить какие физические интерфейсы нужно делать. Выводить ножки мк на USB разъём без буфера немного опасно, потому что порты мк не защищены никак и выведены наружу.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Wed Dec 18, 2013 6:30 am
by Sergey89
Можно сделать CAN, RS232, USB и UART.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Wed Dec 18, 2013 7:14 am
by frig
Все сразу и одновременно? Зачем?
CAN понятно - отдельная песня.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Wed Dec 18, 2013 11:02 am
by Sergey89
Пока не знаю нужны они все или нет, но физически их можно все предусмотреть.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Wed Dec 18, 2013 11:12 am
by frig
Да можно, конечно, но смысл? Человек то все равно будет использовать один из этих интерфейсов, причем любой из них в итоге будет до контроллера доходить как UART.
Надо делать UART и CAN. UART потом хоть в rs232, хоть в usb хоть в BT преобразуется - это кому как надо. На плате предусматривать место под все, в условиях когда будет использоваться только что-то одно совсем не экономно, тем более, что эти самые преобразования из uart будут отдельными готовыми модулями доступны. Место для закрепления модулей могут быть, да. Но разрабатывать их схемы я смысла не вижу, надо брать готовое.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Thu Dec 19, 2013 7:40 am
by Sergey89
Нужен какой-то интерфейс, чтобы соединять напрямую с ноутбуком или пк. RS232 мне нравится тем, что там разъём с фиксацией жёсткой со стороны ЭБУ. Для USB тоже существует фиксация, но такой не так просто достать. Я бы ещё в сторону ethernet посмотрел, но он занимает нужные ножки мк, так что если только через какой-то преобразователь интерфейса.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Thu Dec 19, 2013 10:34 am
by frig
Сергей, мне кажется ты все сильно усложняешь. Bluetooth работает отлично. И разъем не выпадает. USB работает прекрасно. Ethernet в этом месте это просто какой-то феерический пипец. Давай там еще до tcp все поднимем, чтобы можно было через интернет и вообще будет прекрасно.
Я не понимаю в чем проблема вывести uart и использовать его как заблагорассудится? Хочешь секса с rs232 - без проблем. Поставь преобразователь и занимайся. Хочешь usb - без проблем. Хочешь BT - без проблем. Зачем еще хоть что-то изобретать?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Thu Dec 19, 2013 10:51 am
by Sergey89
Почему bluetooth и usb не используют в нормальных блоках управления? Все почему-то используют CAN, RS232 и Ethernet.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Thu Dec 19, 2013 11:02 am
by frig
Почему bluetooth и usb не используют в нормальных блоках управления? Все почему-то используют CAN, RS232 и Ethernet.
Потому, что can, rs232 и ethernet это круто, промышленно и ваще. Если поставить usb то пацаны же не поймут! И чем тогда козырять в рекламных проспектах? как же пальцЫ? Так же все очень промышленное и automotive, выдерживает удар молнии и кувалды одновременно.
Если нужны понты и это принципиальный вопрос для того, чтобы называться "нормальным блоком управления", то тогда да. Но понты, имхо, это не стоящее внимания дерьмо. CAN это очень automotive, но в нашей разработке можно обойтись и без понтов. Я надеюсь.
Опторазвязанный UART чем не устраивает? Он ведь тоже будет выдерживать одновременный удар молнии и кувалды. Гурманы будут использовать расово правильный RS232, а кто-то не пацанский usb или даже (о боже!) вражеский bluetooth.
Кстати, почему люди на OBD в итоге ставят преобразователи на bluetooth?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Thu Dec 19, 2013 11:34 am
by Sergey89
Кстати, почему люди на OBD в итоге ставят преобразователи на bluetooth?
Потому что кроме bluetooth и usb у них на мобилке/ноутбуке ничего нет, а тянуть кабель это не удобно и не красиво. Но никто из них не думает о качестве соединения.
Re: Базовая плата: интерфейсы/коммуникация
Posted: Thu Dec 19, 2013 12:02 pm
by frig
Но никто из них не думает о качестве соединения.
В дырочку. А о качестве соединения не думают ровно до тех пор, пока качество соединения не дает о себе знать. Или есть другие параметры?
Пока все работает - никого не парит как. Вот в этом случае как раз так и выходит - все работает. Что еще имеет значение?
Re: Базовая плата: интерфейсы/коммуникация
Posted: Thu Dec 19, 2013 5:19 pm
by Mister Kotleta
Выводите CAN и UART через буфер. CAN на разъем ЭБУ, UART просто на штырьки вместе с питанием. Для повседневной работы в авто ничего кроме CAN не подойдет. Ну а остальные предложенные так или иначе базируются на UART. Эзернет повеселил. Кто то хочет на плату добавить PHY с генератором и сокет с трансформатором?