Low Power - не только мобильная электроника
Появилась возможность больше времени уделять увлечениям, одно из них - автомобильная электроника.
Не стоит забывать что автомобиль - хоть и большая, но таки-батарейка и в режиме "охраны" авто должен потреблять единицы миллиампер. И для меня всегда было загадкой как это реализуется на практике с кучей always hot (т.е. подключенных напрямую (без реле) к клемме 30) модулей с жадными до тока CAN-трансиверами, в современном авто даже просто ДУ центрального замка - хитросплетение шин CAN и LIN (в передние двери обычно заходит шина CAN, а в задние - LIN), плюс сам радиомодуль, который always_on для эфира.
Как известно, практика - критерий истины. Залезя в несколько automotive блоков, хотел с вами поделиться находками элементной базы, Об этом и будет сказ дальше.
@embedoka
Появилась возможность больше времени уделять увлечениям, одно из них - автомобильная электроника.
Не стоит забывать что автомобиль - хоть и большая, но таки-батарейка и в режиме "охраны" авто должен потреблять единицы миллиампер. И для меня всегда было загадкой как это реализуется на практике с кучей always hot (т.е. подключенных напрямую (без реле) к клемме 30) модулей с жадными до тока CAN-трансиверами, в современном авто даже просто ДУ центрального замка - хитросплетение шин CAN и LIN (в передние двери обычно заходит шина CAN, а в задние - LIN), плюс сам радиомодуль, который always_on для эфира.
Как известно, практика - критерий истины. Залезя в несколько automotive блоков, хотел с вами поделиться находками элементной базы, Об этом и будет сказ дальше.
@embedoka
Спящий CAN
Первым был обнаружен не простой CAN трансивер, а продвинутый от NXP - TJA1043.
Вот какие фичи у TJA1043 по части Low-power management:
▫️типичное потребление в режиме сна 0.75 мкА (Vcc) + 18 мкА (Vbat)
▫️Standby и Sleep режимы с возможностью побудки по шине или локально
▫️Отдельный low-power приемник для режимов Standby и Sleep
@embedoka
Первым был обнаружен не простой CAN трансивер, а продвинутый от NXP - TJA1043.
Вот какие фичи у TJA1043 по части Low-power management:
▫️типичное потребление в режиме сна 0.75 мкА (Vcc) + 18 мкА (Vbat)
▫️Standby и Sleep режимы с возможностью побудки по шине или локально
▫️Отдельный low-power приемник для режимов Standby и Sleep
@embedoka
All in one for Automotive
L99PM62GXP от ST - это интегрированное решение, которое улучшает одновременно две вещи: великолепное сокращение ВОМа + продвинутая спячка.
Что же в него напихали:
▫️CAN + LIN трансиверы
▫️пара LDO без требования электролитов на выходе
▫️пара ОУ с rail-to-rail выходом
▫️4х канальный ШИМ
▫️сторожевой таймер
▫️5+2 драйверов для управления мощными MOSFET (Low+High side)
▫️монитор питания для выработки сигнала сброса
▫️программируемый таймер периодической побудки
▫️SPI-интерфейс для начальной настройки и коммуникации
▫️встроенный температурный датчик
L99PM62GXP - просто какое-то фантастическое существо, кажется, что добавь сюда микроконтроллер и керамическую россыпь - и вот он законченный дизайн узла шины CAN/LIN с маленьким аппетитом и хорошим сном.
@embedoka
L99PM62GXP от ST - это интегрированное решение, которое улучшает одновременно две вещи: великолепное сокращение ВОМа + продвинутая спячка.
Что же в него напихали:
▫️CAN + LIN трансиверы
▫️пара LDO без требования электролитов на выходе
▫️пара ОУ с rail-to-rail выходом
▫️4х канальный ШИМ
▫️сторожевой таймер
▫️5+2 драйверов для управления мощными MOSFET (Low+High side)
▫️монитор питания для выработки сигнала сброса
▫️программируемый таймер периодической побудки
▫️SPI-интерфейс для начальной настройки и коммуникации
▫️встроенный температурный датчик
L99PM62GXP - просто какое-то фантастическое существо, кажется, что добавь сюда микроконтроллер и керамическую россыпь - и вот он законченный дизайн узла шины CAN/LIN с маленьким аппетитом и хорошим сном.
@embedoka
Two more advanced CAN transceiver
@Vvromanov подсказал еще парочку интересных трансиверов, которые пробуждаются не от каждого чиха на шине, а только на заранее (перед сном) запрограммированный ID & payload:
▫️ TJA1145
▫️ TLE9255W
@embedoka
@Vvromanov подсказал еще парочку интересных трансиверов, которые пробуждаются не от каждого чиха на шине, а только на заранее (перед сном) запрограммированный ID & payload:
▫️ TJA1145
▫️ TLE9255W
@embedoka
Github tips & tricks
Давненько не писал регулярную рубрику про фишечки гитхаба.
Наткнулся тут на полный сборник гитхаб-эмодзи, которые можно использовать в ридми, ишью и комментариям к коммитам, вот в этом разделе довольно забавные штуки (уверен, у эппла такого нету), ну а вообще эмодзи в разработке - вещь серьёзная, помогает снижать человеческий фактор; некоторые вот (см.скрин) даже для своего флоу разработки эмодзи задокументировали с кейсами и значением.
PS: кстати, c телеграм такая же петрушка: если чат или персоналия без граватарки, то умственных усилий и времени надо тратить на порядок больше для поиска в списке, особенно когда в голове сидит образ, который неформализуем в поисковый запрос 😭
@embedoka
Давненько не писал регулярную рубрику про фишечки гитхаба.
Наткнулся тут на полный сборник гитхаб-эмодзи, которые можно использовать в ридми, ишью и комментариям к коммитам, вот в этом разделе довольно забавные штуки (уверен, у эппла такого нету), ну а вообще эмодзи в разработке - вещь серьёзная, помогает снижать человеческий фактор; некоторые вот (см.скрин) даже для своего флоу разработки эмодзи задокументировали с кейсами и значением.
PS: кстати, c телеграм такая же петрушка: если чат или персоналия без граватарки, то умственных усилий и времени надо тратить на порядок больше для поиска в списке, особенно когда в голове сидит образ, который неформализуем в поисковый запрос 😭
@embedoka
Мой первый awesome list
Продолжая погружение в автоэлектронику, надоело держать информацию в разрозненных файлах на разных хостах - решил причесать немного: упорядочить по категориям, сделать содержание, а сами ссылки маркдаунизировать, там где надо дополнив описаниями и таки-выложить ко всеобщей пользе в public domain.
Быть может такой список уже существует, но что-то аналогичное у меня найти не получилось, так что надеюсь он будет полезен не только мне. Отдельный интерес исследователей (автомобильных CAN-шин и их начинки) могут представлять разделы тулов для "обратной разработки" (если такой термин применим к дампам обмена по шине) и GUI-тулам, которые позволяют выводить в графическом виде зависимости изменения конкретных бит/байтов во времени, что упрощает процесс поиска интерпретируемости интересующих зависимостей.
Интересный факт: достаточно часто автором того или иного тула в списке оказывался соотечественник (часть информации взята мной с хабра - уж кто бы мог подумать, что там можно найти что-то по автоэлектронике).
PS: Нажимайте ⭐️ на странице репо - это хорошая обратная связь и индикатор того, что польза от этого есть и стоит дальше развивать эту тему (например в сторону LIN/Flexray/MOST-шин).
https://github.com/iDoka/awesome-canbus
@embedoka
Продолжая погружение в автоэлектронику, надоело держать информацию в разрозненных файлах на разных хостах - решил причесать немного: упорядочить по категориям, сделать содержание, а сами ссылки маркдаунизировать, там где надо дополнив описаниями и таки-выложить ко всеобщей пользе в public domain.
Быть может такой список уже существует, но что-то аналогичное у меня найти не получилось, так что надеюсь он будет полезен не только мне. Отдельный интерес исследователей (автомобильных CAN-шин и их начинки) могут представлять разделы тулов для "обратной разработки" (если такой термин применим к дампам обмена по шине) и GUI-тулам, которые позволяют выводить в графическом виде зависимости изменения конкретных бит/байтов во времени, что упрощает процесс поиска интерпретируемости интересующих зависимостей.
Интересный факт: достаточно часто автором того или иного тула в списке оказывался соотечественник (часть информации взята мной с хабра - уж кто бы мог подумать, что там можно найти что-то по автоэлектронике).
PS: Нажимайте ⭐️ на странице репо - это хорошая обратная связь и индикатор того, что польза от этого есть и стоит дальше развивать эту тему (например в сторону LIN/Flexray/MOST-шин).
https://github.com/iDoka/awesome-canbus
@embedoka
GitHub
GitHub - iDoka/awesome-canbus: :articulated_lorry: Awesome CAN bus tools, hardware and resources for Cyber Security Researchers…
:articulated_lorry: Awesome CAN bus tools, hardware and resources for Cyber Security Researchers, Reverse Engineers, and Automotive Electronics Enthusiasts. - iDoka/awesome-canbus
Двое из ларца, одинаковых с лица
В чатах просили поделиться китайскими спартанами. Вот, обфотал под разным углом XC6SLX9 от двух разных поставщиков с Али. Помимо маркировки отливка корпуса и его шероховатость тоже отличаются.
В комментах можем поиграть в угадайку какой из них оригинальный (и по какому признаку). Правильного ответа я не знаю, mojo v3 у меня тоже китайская 🤷♂️
@embedoka
В чатах просили поделиться китайскими спартанами. Вот, обфотал под разным углом XC6SLX9 от двух разных поставщиков с Али. Помимо маркировки отливка корпуса и его шероховатость тоже отличаются.
В комментах можем поиграть в угадайку какой из них оригинальный (и по какому признаку). Правильного ответа я не знаю, mojo v3 у меня тоже китайская 🤷♂️
@embedoka
RPi + CAN bus
Наконец закончил описание моего сетапа малинки с дополнением в виде двух шин CAN на базе МСР2515. В первую очередь пишу для того, чтобы раз в полгода не вспоминать каждый раз как я там что настраивал. Вообще настройка шины CAN - это часть моих заметок по различным аспектам настройки Raspberry Pi: https://github.com/iDoka/raspberrypi-recipes
Немного подробнее о железе (для тех кто захочет повторить): использую китайскую макетку с МСР2515 + TJA1050, на которой трансивер перепаян на модель с питанием 3.3В - соответственно это всё добро питается с гребёнки малины 3,3 вольтами. Далее настроена WiFi точка доступа (инструкция есть в репо), к которой в полевых условиях можно подключаться с планшета/смартфона и запускать скрипты записи дампов обмена по шине. Чтобы дампы писались с правильной датой - сетап был дополнен платой с RTC. Для настольного подключения и сброса дампов захожу терминалом через UART-to-USB адаптер (у меня модель А без Ethernet).
PS: полезная ремарка - питается это всё от battery-pack, чтобы не ловить спонтанные перезагрузки и зависания при питании от бортсети.
@embedoka
Наконец закончил описание моего сетапа малинки с дополнением в виде двух шин CAN на базе МСР2515. В первую очередь пишу для того, чтобы раз в полгода не вспоминать каждый раз как я там что настраивал. Вообще настройка шины CAN - это часть моих заметок по различным аспектам настройки Raspberry Pi: https://github.com/iDoka/raspberrypi-recipes
Немного подробнее о железе (для тех кто захочет повторить): использую китайскую макетку с МСР2515 + TJA1050, на которой трансивер перепаян на модель с питанием 3.3В - соответственно это всё добро питается с гребёнки малины 3,3 вольтами. Далее настроена WiFi точка доступа (инструкция есть в репо), к которой в полевых условиях можно подключаться с планшета/смартфона и запускать скрипты записи дампов обмена по шине. Чтобы дампы писались с правильной датой - сетап был дополнен платой с RTC. Для настольного подключения и сброса дампов захожу терминалом через UART-to-USB адаптер (у меня модель А без Ethernet).
PS: полезная ремарка - питается это всё от battery-pack, чтобы не ловить спонтанные перезагрузки и зависания при питании от бортсети.
@embedoka
GitHub
raspberrypi-recipes/CAN.md at master · iDoka/raspberrypi-recipes
Collection of practice recipes for RPi. Contribute to iDoka/raspberrypi-recipes development by creating an account on GitHub.
#БольшойБрат
Уж не знаю что это: пасхалочка/специфическое чувство юмора разрабов или просто импортозамещённый ББ решил напомнить, что он знает обо мне больше, чем я ему когда-либо "рассказывал"?!... 🤔
В 2020г такими "совпадениями" уже мало кого удивить. Тот случай, когда вслух не говорят, но все всё понимают.
Уж не знаю что это: пасхалочка/специфическое чувство юмора разрабов или просто импортозамещённый ББ решил напомнить, что он знает обо мне больше, чем я ему когда-либо "рассказывал"?!... 🤔
В 2020г такими "совпадениями" уже мало кого удивить. Тот случай, когда вслух не говорят, но все всё понимают.
Много боли в заметке и комментах, но освещены увы только минусы, а есть и плюсы: потом в Сбер без собеса и на нормальные деньги берут 😊
Трижды, с интервалами в полтора года и полгода, успешно проходил все9 кругов этапы собеседования в Яндекс. С каждым разом, разумеется, всё лучше и лучше. И мне трижды давали понять что я могу войти в клуб. Что готовы взять меня, но не за те деньги, которые я просил. Говорили мне, что пока я недостаточно хорош. Вот через год, если я получу две оценки "D" на ревью, мне поднимут зарплату. И это притом, что я изначально делал экслюзивную скидку Яндексу: просил ровно столько, сколько получал на текущей работе, хотя считал, что мне серьёзно недоплачивают. Но Яндекс мне говорил, что недоплачивать, как тебе сейчас недоплачивают, мы начнём только через год, а пока будем недоплачивать так, что тебе и не снилось.
Не знаю точно сколько Яндекс создал технологий, но уверен, что самая крутая их технология — это технология HR. Они раскусили нас и покупают время самых дорогих разработчиков на рынке за средние, если не ниже, зарплаты, выжимая из нас всё, на что мы способны. И делают они это не кнутом и не пряником, мы сами готовы им продаваться за копейки.
https://habr.com/ru/post/530228/
@embedoka
Трижды, с интервалами в полтора года и полгода, успешно проходил все
Не знаю точно сколько Яндекс создал технологий, но уверен, что самая крутая их технология — это технология HR. Они раскусили нас и покупают время самых дорогих разработчиков на рынке за средние, если не ниже, зарплаты, выжимая из нас всё, на что мы способны. И делают они это не кнутом и не пряником, мы сами готовы им продаваться за копейки.
https://habr.com/ru/post/530228/
@embedoka
«Изобретать велосипед [ДА][НЕТ]»
А вы знали, что у термина NIH (not invented here — «изобретено не нами»), обозначающего синдром неприятия чужой разработки есть антипод в лице PFE ("proudly found elsewhere" or "invented elsewhere"— «с гордостью найдено в другом месте»).
В качестве примера второго термина часто приводят кейс Procter & Gamble, которые, начиная с 80хх, преодолевали кризис инноваций.
@embedoka
А вы знали, что у термина NIH (not invented here — «изобретено не нами»), обозначающего синдром неприятия чужой разработки есть антипод в лице PFE ("proudly found elsewhere" or "invented elsewhere"— «с гордостью найдено в другом месте»).
В качестве примера второго термина часто приводят кейс Procter & Gamble, которые, начиная с 80хх, преодолевали кризис инноваций.
@embedoka
Не только FPGAшники упарываются по миганию светодиодами, вот тут чел заморочился и реализовал 4 подхода к имплементации blink LED на bluepill:
▫️using STM32CubeMX platform
▫️using libopencm3 library function calls
▫️using libopencm3, but only for register definitions
▫️bare-metal without libraries
и конечно куда ж без сравнения размеров итоговой прошивки в байтах (в том же порядке):
▫️
@embedoka
▫️using STM32CubeMX platform
▫️using libopencm3 library function calls
▫️using libopencm3, but only for register definitions
▫️bare-metal without libraries
и конечно куда ж без сравнения размеров итоговой прошивки в байтах (в том же порядке):
▫️
3496
▫️1088
▫️ 608
▫️ 440
Результаты более чем красноречивы и коррелируют со звучащим из каждого динамика лозунгом: "кремний нонче дёшев"@embedoka