как документировать FSM?
Самые шикарные диаграммы машины состояний я встречал толи у самсунговской, толи у SK-hynix памяти.
В принципе, для генерации noscript достаточно Graphviz с формализованным описанием переходов и настроенными стилями. Но вот этот парень пошёл дальше, что позволяет встраивать ASCII-art c FSM прямо в исходник:
https://github.com/ggerganov/dot-to-ascii
PS: сразу вспоминаются тёплые ламповые времена, когда ASCII-art'ом в исходнике рисовали времянки 😝
@embedoka
Самые шикарные диаграммы машины состояний я встречал толи у самсунговской, толи у 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
Сегодня наверное только ленивый не написал о новой малиновой плате - 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
Тот самый 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
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
Немного о том, что же это за чудо такое 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
Есть даже вот такие микро-отладочки
▫️ http://nano.lichee.pro/
▫️ https://github.com/florpor/licheepi-nano
▫️ https://github.com/Lichee-Pi/Lichee-Nano-Doc-us-english
▫️ https://github.com/Lichee-Pi/Nano-Doc-Backup
@embedoka
▫️ http://nano.lichee.pro/
▫️ https://github.com/florpor/licheepi-nano
▫️ https://github.com/Lichee-Pi/Lichee-Nano-Doc-us-english
▫️ https://github.com/Lichee-Pi/Nano-Doc-Backup
@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
Блок 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
Embedded Doka
Вторая жизнь FPGA-плат или девборд задёшево Потихоньку выхожу из постновогодней спячки. По ссылке подборка плат на ПЛИС: морально устаревших либо просто неактуальных, а потому продающихся за копейки. Итак, что в ней есть: ▫️контрольная плата на Zynq от…
Приехала заказанная SoM Colorlight i5.
В отличие от Colorlight 5A-75B тут GPIO доступны напрямую на гребенке SODIMM (у 5A-75B доступны только выходы из-за включения между ПЛИС и разъёмами 5В буфера 74HC245), что позволяет встраивать SoM в пользовательские конструкции или использовать собственный мезонин модулей расширения.
Из недостатков - цена примерно в 2х выше чем 5A-75B (была найдена в единственном месте - возможно причина в этом).
@embedoka
В отличие от Colorlight 5A-75B тут GPIO доступны напрямую на гребенке SODIMM (у 5A-75B доступны только выходы из-за включения между ПЛИС и разъёмами 5В буфера 74HC245), что позволяет встраивать SoM в пользовательские конструкции или использовать собственный мезонин модулей расширения.
Из недостатков - цена примерно в 2х выше чем 5A-75B (была найдена в единственном месте - возможно причина в этом).
@embedoka
В огороде бузина, а в Киеве дядька
Из раздела "вакансии" на электрониксе. Ответ представителя наймодателя.
#пятничное #золотоэлектроникса
@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
Когда документация хороша, то её достаточно для [вос]создания "совместимого" с ней СФ-блока, что мы сейчас не без интереса можем наблюдать на гитхаб на примере 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
Опять про автоэлектронику, на этот раз решил маркдаунизировать и выложить в публичный домен, собрав в едином месте разрозненную информацию из сети (это и репо на гитхаб, и GoogleSheets, и частные сайты) про расшифровку сообщений CAN различных автовендоров и моделей.
Надеюсь данная коллекция будет полезна широкому кругу энтузиастов.
Отдельно хочется отметить, помимо формата описания CAN сообщений в вольной форме, существование несколько стандартов, формализующих формат представления сообщений (DBC, KCD). Их использование помогает получать человекочитаемые сообщения из шины в рилтайме (либо при проигрывании записанного лога на хосте).
PS: Нажимайте ⭐️ на странице - это хорошая обратная связь и индикатор пользы репо.
https://github.com/iDoka/awesome-automotive-can-id
@embedoka
GitHub
GitHub - iDoka/awesome-automotive-can-id: :tractor: Collect of CAN IDs and its payloads for various car brands/models in one place.…
:tractor: Collect of CAN IDs and its payloads for various car brands/models in one place. Might be useful for Cyber Security Researchers, Reverse Engineers, and Automotive Electronics Enthusiasts....
А вы знали, что Миландр разрабатывает/разрабатывал проект электрического мотоцикла?..
Владелец Миландра таки-романтик в душе.... 🙃
@embedoka
Владелец Миландра таки-романтик в душе.... 🙃
@embedoka
Эстетика документации чипмейкеров - это то, от чего может случиться схемотехнический оргазм, в данном случае - превосходное исполнение от старой школы (TI). В случае того же I2C часто непонятно насколько он честный (открытый коллектор) и от скольки вольт ему "поплохеет".
PS: Викторина: попробуйте угадать от какого класса микросхем данный фрагмент даташита.
@embedoka
PS: Викторина: попробуйте угадать от какого класса микросхем данный фрагмент даташита.
@embedoka
Кстати, с этими Class D от TI какое-то безобразие с плохой поддержкой в стандартном стерео (BTL) работы на нагрузку в 2 Ома (классическая автомобильная).
2 Ома либо в моно (PBTL) поддерживаются (что немного неэкономно - ВОМ в 2 раза больше),
либо в 4-канальном (SE), что не так интересно по мощности. Уж сколько даташитов пересмотрел на Class D.. 😭
PS: изучая пдф, узнал еще, что у TI есть еще Class G (для блоков питания УМЗЧ класса Д):
идея собственно на поверхности - "громкостью" регулировать напряжение питания, сохраняя ДД и детализацию внутри него. 🤓
@embedoka
2 Ома либо в моно (PBTL) поддерживаются (что немного неэкономно - ВОМ в 2 раза больше),
либо в 4-канальном (SE), что не так интересно по мощности. Уж сколько даташитов пересмотрел на Class D.. 😭
PS: изучая пдф, узнал еще, что у TI есть еще Class G (для блоков питания УМЗЧ класса Д):
идея собственно на поверхности - "громкостью" регулировать напряжение питания, сохраняя ДД и детализацию внутри него. 🤓
@embedoka