Embedded Doka – Telegram
Embedded Doka
3.65K subscribers
1.02K photos
28 videos
52 files
470 links
Авторский канал инженера-радиотехника 🤓

Если хотите рассказать мне интересное 👉 @iDoka

Let's keep in touch:
▫️ http://linkedin.com/in/idoka
▫️ https://github.com/iDoka
Download Telegram
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
#БольшойБрат

Уж не знаю что это: пасхалочка/специфическое чувство юмора разрабов или просто импортозамещённый ББ решил напомнить, что он знает обо мне больше, чем я ему когда-либо "рассказывал"?!... 🤔

В 2020г такими "совпадениями" уже мало кого удивить. Тот случай, когда вслух не говорят, но все всё понимают.
C++ embedded in a Makefile

Красотища то какая!
Взято здесь.
@embedoka
Много боли в заметке и комментах, но освещены увы только минусы, а есть и плюсы: потом в Сбер без собеса и на нормальные деньги берут 😊


Трижды, с интервалами в полтора года и полгода, успешно проходил все 9 кругов этапы собеседования в Яндекс. С каждым разом, разумеется, всё лучше и лучше. И мне трижды давали понять что я могу войти в клуб. Что готовы взять меня, но не за те деньги, которые я просил. Говорили мне, что пока я недостаточно хорош. Вот через год, если я получу две оценки "D" на ревью, мне поднимут зарплату. И это притом, что я изначально делал экслюзивную скидку Яндексу: просил ровно столько, сколько получал на текущей работе, хотя считал, что мне серьёзно недоплачивают. Но Яндекс мне говорил, что недоплачивать, как тебе сейчас недоплачивают, мы начнём только через год, а пока будем недоплачивать так, что тебе и не снилось.

Не знаю точно сколько Яндекс создал технологий, но уверен, что самая крутая их технология — это технология HR. Они раскусили нас и покупают время самых дорогих разработчиков на рынке за средние, если не ниже, зарплаты, выжимая из нас всё, на что мы способны. И делают они это не кнутом и не пряником, мы сами готовы им продаваться за копейки.

https://habr.com/ru/post/530228/
@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

и конечно куда ж без сравнения размеров итоговой прошивки в байтах (в том же порядке):
▫️3496
▫️1088
▫️ 608
▫️ 440

Результаты более чем красноречивы и коррелируют со звучащим из каждого динамика лозунгом: "кремний нонче дёшев"

@embedoka
Можно сказать PCB-art =)
Поди ещё и четырёхдиапазонная..

Исходник в Eagle.
@embedoka
СберОС vs iOS

то чувство, когда начинаешь понимать истинный смысл выражения "Сбер хочет быть как Эппл" 😱
@embedoka
Embedded Doka
#пятничное @embedoka
внезапно в STM32F0 обнаружилась возможность лёгким движением руки махнуть RXD c TXD местами, тем самым уменьшив баттхёрт от классических ошибок.
@embedoka
👍1
Продолжаем про UART в STM32

Кстати сказать, такие фичи как раздельная инверсия RXD и TXD тоже довольно востребованы.

Вот вам пример использования в китайском девайсе для преобразователя K-line: приёмник (неинверсный) реализован на резистивном делителе, а вот передатчик удалось скостить с двух транзисторов (6 элементов) до одного транзистора (3 элемента), проинвертировав сигнал второй раз внутри МК.

В этом смысле китайские ребята всё больше напоминают советстких инженеров, которые из говна и палок с их школой бережливости и оптимизаторства, заданной линией партии. 👍🏻

Конечно подкупает такая продуманность и забота со стороны разработчиков периферийного блока - вот так вот в инженерной среде и создают адвокатов бренда 😍

PS: Чипмейкерам на заметку! ☝🏻
@embedoka
Вторая жизнь FPGA-плат или девборд задёшево

Потихоньку выхожу из постновогодней спячки.

По ссылке подборка плат на ПЛИС: морально устаревших либо просто неактуальных, а потому продающихся за копейки. Итак, что в ней есть:

▫️контрольная плата на Zynq от майнера
▫️платы на ECP5 & Spartan6 от контроллеров матриц светодиодов
▫️ECP5 от видеоадаптера (HDMI-USB3)
▫️Arria GX от PCI-E Gzip ускорителя
▫️Spartan3 от тонкого клиента Panologic
▫️серверная числодробилка о которой писал тут https://news.1rj.ru/str/embedoka/31

@embedoka
YAGNI for HW

«You aren't gonna need it» («Вам это не понадобится») — процесс и принцип проектирования софта, при котором в качестве основной ценности декларируется отказ от избыточной функциональности (отказ добавления функциональности, в которой нет непосредственной надобности).

Если перенести YAGNI в эмбеддед сферу, то опыт HW-инженера необходим для нахождения оптимального компромисса между риском баттхёрта при bringup и/или отладке девайса и избыточной функциональности с другой стороны.

Последствия последнего таковы:

▫️Увеличенное время разработки железа
▫️Чрезмерное раздувание ВОМ:
▫️увеличение стоимости девайса
▫️увеличение времени сборки из-за цепочек поставок
▫️Чрезмерный функционал крадёт тот функционал, который может быть добавлен в будущем (при ограничениях, например, на размер РСВ)
▫️Трудно предугадать как именно этот функционал будет использован в будущем (моё любимое)
▫️Увеличение рисков взлома девайса (чрезмерное увлечение дебаг интерфейсами, удобство доступа к компонентам)
▫️[поделитесь в комментариях тем, что я пропустил/забыл]

@embedoka
🔥1
как документировать FSM?

Самые шикарные диаграммы машины состояний я встречал толи у самсунговской, толи у SK-hynix памяти.
В принципе, для генерации noscript достаточно Graphviz с формализованным описанием переходов и настроенными стилями. Но вот этот парень пошёл дальше, что позволяет встраивать ASCII-art c FSM прямо в исходник:
https://github.com/ggerganov/dot-to-ascii

PS: сразу вспоминаются тёплые ламповые времена, когда ASCII-art'ом в исходнике рисовали времянки 😝

@embedoka
Скучный RP2040 от Raspberry Pi Trading Ltd

Сегодня наверное только ленивый не написал о новой малиновой плате - Raspberry Pi Pico, но что осталось за кадром - так это доступность самого микроконтроллера - RP2040.
Случайно наткнулся на гитхабе на фото платы с чипом с малиновым логоб - оказалось это "тот самый" RP2040, который был доступен еще в 2020г до анонса пико-платы.

Сам чип отнюдь не блещет инновациями (рано как и набор периферии - ассортиментом): Cortex-M0 (RISC-V ау!!), АНВ, USB 1.1, отсутствие набортного флеша, но из расшифровки партнамбера похоже, что это лишь обкаточная попытка в (предполагаемом) семействе кристаллов. Из "интересных" фич разве что двухъядерность и встроенный Performance Counters в блоке интерконнекта. В двухъядерности довольно любопытен блок SIO (Single-cycle IO block), с Hardware Spinlocks (тут уже прослеживаются зачатки functional safety).

Тем интереснее будет понаблюдать за развитием линейки и постижением факта: а зачем это нужно "ардуинщикам"?!..

Пока же какой-нибудь SiP 10-летней давности типа F1С100s с полноценным линуксом, интегрированной SDRAM и соблазнительной периферией более интересен DIY-энтузиастам.

@embedoka
RP2040.pdf
29.8 MB
RP2040 datasheet (Raspberry Pi Trading Ltd)