MPR121: scalony interfejs klawiatury bezstykowej firmy Freescale
Układ MPR121 jest w ofercie firmy Freescale prekursorem drugiej generacji interfejsów klawiatur bezstykowych, wyposażony w udoskonalony (w stosunku do układów z rodziny MPR03x) system precyzyjnego pomiaru pojemności elektrod oraz łatwiejszy w konfiguracji blok detekcji „przyciśnięć”. Rozwiązania zastosowane w układzie MPR121 znacznie uprościły jego schemat aplikacyjny (rys. 1), czyniąc go znacznie prostszym i bardziej przejrzystym niż zbliżone rozwiązania konkurencji.
Rys. 1. Schemat aplikacyjny układu MPR121
Układ MPR121 komunikuje się z otoczeniem za pomocą interfejsu I2C (400 kHz), którego działanie jest wspomagane przez wyjście przerwań, które można wykorzystać do sygnalizacji wykrycia „naciśnięcia” przycisku. Dzięki temu mikrokontroler współpracujący ze scalonym interfejsem klawiatury może zajmować się jej obsługą wyłącznie w razie konieczności, poświęcając resztę czasu (i pobieranej energii!) na realizację innych zadań. Nie bez powodu zwracamy uwagę na aspekt energetyczny: klawiatury bezstykowe są bardzo często stosowane w urządzeniach przenośnych zasilanych bateryjnie. Konstruktorzy układu MPR121 zastosowali w nim – poza wspomnianym wyjściem przerwań – dodatkowe mechanizmy wspomagające oszczędzanie energii i nie zakłócające przy tym pracy interfejsu. Jednym z nich jest programowany interwał skanowania „klawiatury”, dzięki modyfikacji którego średni pobór prądu przez układ wynosi od 8 µA (przy odstępach pomiędzy pomiarami wynoszącymi 128 ms) do 393 µA (przy odstępach pomiędzy pomiarami wynoszącymi 1 ms). Producent w nocie katalogowej precyzyjnie podaje wartości średnie i zwraca uwagę na prąd szczytowy pomiarów, którego natężenie wynosi 1 mA. W przypadku takiej potrzeby, skanowanie „klawiatury” można zatrzymać, co owocuje ograniczeniem natężenia pobieranego prądu do ok. 3 µA. Tak dobre parametry energetyczne producent uzyskał m.in. dzięki wykonaniu układu w niskonapięciowej technologii półprzewodnikowej: rdzeń interfejsu MPR121 jest zasilany napięciem o wartości 1,8 VDC. Żeby umożliwić jego działanie w ciągle typowych systemach cyfrowych zasilanych napięciem 3,3 VDC, w układ wbudowano stabilizator LDO o bardzo małym poborze mocy, zapewniający odpowiednią wartość napięcia zasilającego przy zasilaniu zewnętrznym napięciem z zakresu 2,5…3,6 VDC.
Inny sposób na klawiatury i nastawniki bezstykoweW ofercie Freescale, oprócz scalonych interfejsów klawiatur, znajduje się także pakiet bibliotek programowych Touch Sensing Software (TSS) dla 8-bitowych mikrokontrolerów S08, które umożliwiają zaimplementowanie w tanich systemach mikroprocesorowych programowej obsługi klawiatur i nastawników bezstykowych. Biblioteki TSS, których strukturę pokazano na rysunku, są dostępne bezpłatnie i przygotowane „pod” kompilator i biblioteki udostępnione z pakietem narzędziowym CodeWarrior.
Schemat blokowy biblioteki TSS |
Jak widać na schemacie aplikacyjnym (rys. 1) układy MPR121 mogą obsługiwać 12-przyciskową klawiaturę. Dzięki konfigurowanym ośmiu liniom I/O programista może ich dowolną liczbę z zakresu 0…8 wykorzystać do sterowania LED. Dzięki temu, w skrajnym przypadku, układ MPR121 może obsługiwać 4 „przyciski” i 8 LED lub ich inną liczbę z zakresu (odpowiednio): 4+n i 8-n, gdzie n oznacza liczbę linii ELE/LED wykorzystywanych jak wejścia czujników pojemnościowych.
Fot. 2. Płyta główna zestawu KITMPR121EVM z dwoma wariantami „klawiaturu”: 12-przyciskową oraz 6-przyciskową i 6 diodami LED ste
Żeby umożliwić wygodne sprawdzenie konstruktorom możliwości układu prezentowanego w artykule, producent opracował modułowy zestaw ewaluacyjny o nazwie KITMPR121EVM. Składa się on z płytki bazowej z mikrokontrolerem MC9S08QG8 i konwerterem USB/UART FT232BL, na której jest montowana płytka z układem MPR121 i dołączana jedna z dwóch płytek klawiaturowych (fot. 2):
– z 12-przyciskową dotykową klawiaturą telefoniczną,
– z 6-przyciskową klawiaturą i 6-pozycyjnym polem LED, które w przykładowej aplikacji producenta służy do sygnalizacji naciśnięcia „przycisku”.
Zestaw KITMPR121EVM jest zasilany z USB, które to łącze jest wykorzystywane także do komunikacji z komputerem PC. Prowadzenie jakichkolwiek prób z zestawem wymaga zainstalowania na komputerze oprogramowania SensorToolbox, które pozwala nie tylko monitorować stany rejestrów układu MPR121 w różnych konfiguracjach (rys. 3), ale także modyfikować ich wartości i obserwować skutki modyfikacji.
Rys. 3. Widoki oknien monitorowania stanu czujników w programie SensorToolbox w różnych konfiguracjach zestawu KITMPR121EVM
Sterowniki klawiatur bezstykowych starszych generacji produkowane przez firmę Freescale charakteryzowały się dobrymi parametrami, były także wygodne w obsłudze, ale nie dały się (zapewne z powodu krótkiego żywota rynkowego) zbyt mocno „odczuć” na naszym rynku. Dlatego zachęcamy konstruktorów zainteresowanych stosowaniem w swoich rozwiązaniach bezstykowych paneli HMI do sprawdzenia możliwości układu MPR121, którego zalety nieco przysłania „wada” w postaci obudowy QFN20. Problem nie najłatwiejszych w montażu obudów dotyczy – niestety – większości podobnych rozwiązań, trzeba się więc do nich przyzwyczaić.