Przeglądając budżetowe mikrokontrolery z rdzeniem ARM Cortex M0/M0+ autor natrafił na sygnowany przez firmę Twen układ typu TW32F003. Mikrokontroler ten jest oferowany na internetowych portalach sprzedażowych głównie w postaci płytki uruchomieniowej o symbolu TWen32F003.
Płytka uruchomieniowa
Płytka TWen32F003 jest jednym z wielu modułów opracowanych na potrzeby projektów z internetowej platformy edukacyjno-szkoleniowej http://haohaodada.com. Platforma ta koncepcyjnie zbliżona jest do znanego wśród programistów mikrokontrolerów ARM środowiska Mbed Online Compiler (obecnie już nie rozwijanego i zastąpionego przez Keil Studio Cloud). Programy pisze się tu w oknie przeglądarki www, kompiluje w chmurze, a program wynikowy jest następnie przesyłany do płytki użytkownika w celu wykonania. Platforma http://haohaodada.com obsługuje wiele różnych dalekowschodnich mikrokontrolerów, zarówno 8- jak i 32-bitowych, do których oferuje specjalne płytki uruchomieniowe. O ile zazwyczaj zainstalowane w nich mikrokontrolery są dość dobrze udokumentowane, o tyle w przypadku płytki TWen32F003 większość dostawców ogranicza się do stwierdzenia, że użyty w niej mikrokontroler jest wyposażony w 32-bitowy rdzeń ARM, nie określając nawet dokładnego typu rdzenia. Poszukiwania producenta TW32F003 w Internecie również nie przynoszą żadnych rezultatów. Można jedynie natrafić na schemat blokowy tego układu, obrazujący zaimplementowane w mikrokontrolerze peryferia.
Jak widać, mikrokontroler TW32F003 wyposażony został w rdzeń ARM Cortex M0+, który może być taktowany z maksymalną częstotliwością 32 MHz – oraz w stosunkowo bogaty, jak na budżetowy układ, zestaw peryferiów. Wbudowane pamięci Flash i SRAM mają odpowiednio rozmiar 64 kB i 8 kB. Znalazły się tu też typowe układy czasowo-licznikowe, interfejsy komunikacyjne SPI, I²C i UART, 2 watchdogi, 12-bitowy przetwornik analogowo-cyfrowy, 2 komparatory, sprzętowy blok obliczeniowy CRC, a nawet 3-kanałowy kontroler DMA, który rzadko występuje w mikrokontrolerach z tej półki cenowej. Na uwagę zasługuje także bardzo szeroki zakres napięć zasilania układu, rozciągający się od 1,7 V aż do 5,5 V.
Schemat ideowy płytki uruchomieniowej, na której zainstalowano omawiany mikrokontroler, prezentuje rysunek 1. Trudno o prostszy układ. Poza mikrokontrolerem i dwiema diodami LED, z których jedna sygnalizuje obecność napięcia zasilania, a druga jest przeznaczona do sterowania przez program użytkownika, na płytce nie znajduje się w zasadzie nic więcej. Nie ma tu nawet stabilizatora napięcia zasilania +3,3 V, typowo spotykanego w podobnych modułach.
Zgodnie z aktualnym trendem płytka jest wyposażona w złącze standardu USB C. Pewne zdziwienie może budzić fakt podłączenia portów PA13 i PA14 mikrokontrolera do linii danych DN i DP w gnieździe USB, ponieważ mikrokontroler TW32F003 nie ma wbudowanego interfejsu USB. Jak jednak wynika z diagramu na stronie platformy szkoleniowej, płytki uruchomieniowe nie są podłączane bezpośrednio do portu USB komputera PC, lecz do gniazda USB w programatorze – debuggerze typu STC Link. Kabel USB C łączący płytkę uruchomieniową z programatorem – debuggerem zastępuje w tym przypadku zwykły przewód taśmowy interfejsów SWD i RS. Drugą opcją jest podłączenie płytki TWen32F003 do komputera PC za pośrednictwem modułu LILYGO T-U2T. Jest to – wykonany w formie „pendriva”, zakończonego z obu stron gniazdami USB C – konwerter USB/UART-TTL. Używa się go w płytkach systemu LILYGO. Bezpośrednie podłączenie płytki uruchomieniowej TWen32F003 do portu USB w komputerze PC pozwala jedynie na jej zasilanie – układ nie jest wykrywany przez system operacyjny MS Windows jako urządzenie peryferyjne.