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
Вторая жизнь 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)
Тот самый SIO (Single-cycle IO block).

SIO contains several peripherals that require low-latency, deterministic access from the processors. It is accessed via each processor’s IOPORT.

The SIO is not connected to the main system bus due to its tight timing requirements. It can only be accessed by the processors, or by the debugger via the processor debug ports.

All IOPORT reads and writes (and therefore all SIO accesses) take place in exactly one cycle, unlike the main AHB-Lite system bus, where the Cortex-M0+ requires two cycles for a load or store, and may have to wait longer due to contention from other system bus masters. This is vital for interfaces such as GPIO, which have tight timing requirements.

@embedoka
🖕1
F1С100s - SiP made by Allwinner

Немного о том, что же это за чудо такое F1С100s: этому чипу уже лет 10 точно, там используется древнее как дерьмо мамонта ядро ARM926, зато периферия самодостаточна (и уж точно даст фору таковой в RP2040):

▫️USB 2.0 HS + OTG
▫️SD/MMC/NAND контроллер
▫️SDIO контроллер
▫️вход/выход аналогового видеосигнала
▫️CSI 8-bit CMOS-sensor интерфейс
▫️контроллер LCD (DPI24 out - в более продвинутых чипах линейки - LVDS & MIPI)
▫️декодер H.264 и JPEG
▫️на-коленке-паябельный QFN88
▫️ну и это SiP-таки: ребята засунули 16МБ DDR-I на подложку внутрь корпуса.

@embedoka
F1C100s_Datasheet_V1.0.pdf
1007.6 KB
F1C100s Datasheet
@embedoka
Embedded Doka
Скучный RP2040 от Raspberry Pi Trading Ltd Сегодня наверное только ленивый не написал о новой малиновой плате - Raspberry Pi Pico, но что осталось за кадром - так это доступность самого микроконтроллера - RP2040. Случайно наткнулся на гитхабе на фото платы…
Не давало покоя как на RP2040 энтузиасты HDMI запилили, пришлось разбираться и надо признаться, что поторопился я с ярлыком "скучный" для RP2040.

Блок PIO в RP2040 - наверное даже понавороченнее чем SGPIO от NXP будет:
тут и свои ядра с примитивным набором инструкций и свой ассемблер для этих ядер ( pioasm). Возможность реализовать такие интерфейсы как UART, I2C, I2S, SDIO, (Q)SPI, LCD/VGA, PWM, Manchester, etc.

Тут примеры: https://github.com/raspberrypi/pico-examples/tree/master/pio

О-Ф-И-Г-Е-Н-Н-О!

Интересно этот PIO собственного изобретения или купленный у синопсиса как остальная периферия?! 🤔

@embedoka
1
RP2040_PIO.pdf
3.5 MB
RP2040 datasheet: Chapter PIO
@embedoka
Embedded Doka
Вторая жизнь FPGA-плат или девборд задёшево Потихоньку выхожу из постновогодней спячки. По ссылке подборка плат на ПЛИС: морально устаревших либо просто неактуальных, а потому продающихся за копейки. Итак, что в ней есть: ▫️контрольная плата на Zynq от…
Приехала заказанная SoM Colorlight i5.
В отличие от Colorlight 5A-75B тут GPIO доступны напрямую на гребенке SODIMM (у 5A-75B доступны только выходы из-за включения между ПЛИС и разъёмами 5В буфера 74HC245), что позволяет встраивать SoM в пользовательские конструкции или использовать собственный мезонин модулей расширения.
Из недостатков - цена примерно в 2х выше чем 5A-75B (была найдена в единственном месте - возможно причина в этом).

@embedoka
В огороде бузина, а в Киеве дядька

Из раздела "вакансии" на электрониксе. Ответ представителя наймодателя.

#пятничное #золотоэлектроникса
@embedoka
Embedded Doka
Не давало покоя как на RP2040 энтузиасты HDMI запилили, пришлось разбираться и надо признаться, что поторопился я с ярлыком "скучный" для RP2040. Блок PIO в RP2040 - наверное даже понавороченнее чем SGPIO от NXP будет: тут и свои ядра с примитивным набором…
Видимо многие также обратили своё восторженное внимание на СФ-блок PIO в RP2040 от Raspberry Pi Trading Ltd.

Когда документация хороша, то её достаточно для [вос]создания "совместимого" с ней СФ-блока, что мы сейчас не без интереса можем наблюдать на гитхаб на примере RP2040 PIO:
https://github.com/lawrie/fpga_pio
Ай, молодца!

Тех кто имплементирует в своих чипах подобные СФ-блоки ждёт слава и богатство.

@embedoka
Embedded Doka
Мой первый awesome list Продолжая погружение в автоэлектронику, надоело держать информацию в разрозненных файлах на разных хостах - решил причесать немного: упорядочить по категориям, сделать содержание, а сами ссылки маркдаунизировать, там где надо дополнив…
База Данных CAN ID для автомобилей

Опять про автоэлектронику, на этот раз решил маркдаунизировать и выложить в публичный домен, собрав в едином месте разрозненную информацию из сети (это и репо на гитхаб, и GoogleSheets, и частные сайты) про расшифровку сообщений CAN различных автовендоров и моделей.

Надеюсь данная коллекция будет полезна широкому кругу энтузиастов.

Отдельно хочется отметить, помимо формата описания CAN сообщений в вольной форме, существование несколько стандартов, формализующих формат представления сообщений (DBC, KCD). Их использование помогает получать человекочитаемые сообщения из шины в рилтайме (либо при проигрывании записанного лога на хосте).

PS: Нажимайте ⭐️ на странице - это хорошая обратная связь и индикатор пользы репо.

https://github.com/iDoka/awesome-automotive-can-id
@embedoka
А вы знали, что Миландр разрабатывает/разрабатывал проект электрического мотоцикла?..
Владелец Миландра таки-романтик в душе.... 🙃

@embedoka
Эстетика документации чипмейкеров - это то, от чего может случиться схемотехнический оргазм, в данном случае - превосходное исполнение от старой школы (TI). В случае того же I2C часто непонятно насколько он честный (открытый коллектор) и от скольки вольт ему "поплохеет".

PS: Викторина: попробуйте угадать от какого класса микросхем данный фрагмент даташита.

@embedoka