Případové studie > Univerzální I2C/SPI/UART I/O & ADC expandér

Univerzální I2C/SPI/UART I/O & ADC expandér

Oslovila nás jedná významná celosvětová společnost (z důvodu dohody o mlčenlivosti nemůžeme uvést název společnosti) s požadavkem na vývoj univerzálního modulu, který by umožnil rozšířit vstupně-výstupní možnosti jejich stávajících a nových řídících jednotek. Cílem bylo vytvořit flexibilní expandér, jenž by mohl být snadno integrován do různých systémů prostřednictvím běžných komunikačních rozhraní – UART, SPI nebo I2C – a poskytoval by zároveň možnost analogového měření s vysokou přesností.

Výzva

Náš partner potřeboval jednotné a univerzální řešení, které by nahradilo několik různých variant I/O a externích ADC modulů, které se lišily funkcemi, rozhraními i dostupností. To však zákazníkovi komplikovalo nákup, integraci i dlouhodobou podporu zařízení. Cílem projektu proto bylo sjednotit všechny požadované funkce do jednoho univerzálního modulu, který by pokrýval široké spektrum aplikací a zároveň zjednodušil vývoj i výrobu koncových produktů.

Naše řešení

Jádrem celého systému se stal mikrokontrolér STM32C051x6/x8 z rodiny ARM® Cortex®-M0+, který poskytuje ideální poměr výkonu, spotřeby a ceny. Na jeho základě jsme vyvinuli komplexní firmware umožňující provoz expandéru v libovolném z následujících komunikačních režimů: I2C / SPI / UART.

Způsob komunikace se volí hardwarově pomocí konfiguračního pinu, což umožňuje použití jediného hardware ve více typech aplikací bez nutnosti zásahu do firmwaru. Firmware byl navržen jako univerzální a vysoce konfigurovatelný, aby mohl být nasazen ve více typech zařízení bez potřeby jeho úprav. Součástí řešení je také integrovaný bootloader, který umožňuje pohodlnou aktualizaci firmwaru přes zvolené komunikační rozhraní (UART, SPI nebo I2C) – bez nutnosti fyzického zásahu do expandéru.

labs

Součástí řešení jsou také následující konfigurovatelné funkční bloky:

  • Dvě 16 bitové I/O periferie (IOA a IOB) – každý pin je samostatně konfigurovatelný jako vstup nebo výstup, s možností softwarového filtru, pull-up/pull-down rezistorů a maskování přerušení

  • ADC modul s 12 bitovým rozlišením, který má až 8 nezávislých měřicích kanálů, interní měření teploty a napájecího napětí

  • 64 vzorkové buffery s režimy SINGLE, FIFO a LIFO pro flexibilní zpracování dat

  • Timery, konfigurovatelné LPF filtry a komparační limity s možností generovat přerušení při překročení nastavených mezí

  • Interní RTC a systémová registrace verze firmwaru pro zajištění zpětné kompatibility

  • A další funkce, které nemůžeme sdělit skrz dohodu o mlčenlivosti

Přínos

Nový expandér poskytuje univerzální řešení, které výrazně zjednodušuje vývoj i integraci do různých produktových řad. Součástí projektu byla také firmwarová knihovna, která usnadňuje integraci expandéru do nadřazených systémů a umožňuje jeho snadnou konfiguraci a ovládání.K projektu jsme dodali i kompletní technickou dokumentaci včetně detailního datasheetu, popisujícího registry, komunikační protokoly a logiku přerušení. Díky tomu lze zařízení snadno integrovat do nadřazených systémů bez nutnosti přímé podpory ze strany týmu ASN Plus.

Podívejte se na naše realizované projekty

Kompletní ekosystém pro chytré krby
Přenosný WallBox EcoVolter
Elektronika a aplikace pro airsoft

Přidejte se mezi klienty, kteří nám důvěřují

Posuňte váš produkt na novou úroveň!

Využijte konzultace našich specialistů a nechte se překvapit širokou škálou technologických možností. Ozveme se vám co nejdříve a domluvíme se na možnostech spolupráce.

Soubor (max. 10MB)