Rodzina kontrolerów CY8CMBR3xxx dedykowana została obsłudze klawiatur pojemnościowych o różnym stopniu złożoności. Układy CY8CMBR3, których zestawienie cech prezentuje tabela 1, mają w zamierzeniu producenta zastąpić klawiatury z przycisków mechanicznych, co znajduje potwierdzenie w nazwie MBR (Mechanical Button Replacement) i co oczywiste starszą rodzinę układów CY8CMBR2.
Układy umożliwiają detekcję poprzez szkło o grubości do 15 mm lub przez tworzywo do 5 mm. Podniesiona została odporność na zakłócenia, zwiększona odporność na zabrudzenia klawiatury i płyny, funkcjonalność została uzupełniona o możliwość wykrywania zbliżenia lub obecności przedmiotu (proximity). Układy mają rozszerzoną możliwość sterowania sprzętowego współpracujących diod LED w tym jasności i czasu sygnalizacji w zależności od stanu klawiatury, kontroli buzzera oraz generacji przerwania dla systemu nadrzędnego. Pracują poprawnie w zakresie zasilania 1,71...5,5 V w temperaturze –40 do 85°C. Układy rodziny CY8CMBR3xxx w zależności od ilości wyprowadzeń dostępne są w obudowach SO8, SOIC i QFN.
W zależności od wymogów aplikacji istnieje wybór pomiędzy prostym kontrolerem CY8CMBR3012 obsługującym tylko dwa klawisze (SO8), aż do CY8CMBR3116 (QFN24), któy umożliwia budowę klawiatury złożonej z 16 klawiszy. Układy komunikują się z procesorem nadrzędnym poprzez magistralę I2C, która służy nie tylko do odczytu jej stanu, ale także do pełnej konfiguracji i strojenia działania klawiatury w urządzeniu docelowym. Podstawowy z układów typu CY8CMBR3002, pozbawiony jest komunikacji I2C, a stan klawiszy przekazywany jest poprzez dwa piny GPIO, co przydaje się w najprostszych aplikacjach. Koszt jednostkowy układów zawiera się w przedziale od 0,38$ do 1,38$.
Zestaw uruchomieniowy
Wraz z układami udostępniony został zestaw uruchomieniowy – CY3280MBR3 oraz bogate materiały pomocnicze w tym oprogramowanie EZ-Click (aktualnie w wersji 2.0) ułatwiające zapoznanie się z technologią. Wygląd zestawu pokazano na fotografii tytułowej. Zestaw dostępny jest w sklepie producenta za akceptowalną kwotę 25$.
W skład zestawu wchodzi płytka CY3280-MBR3, kabel mini USB, dodatkowa nakładka z tworzywa o grubości 1 mm ułatwiająca sprawdzenie jakości działania dotyku przy grubszym materiale obudowy oraz kroplomierz dla sprawdzenia odporności klawiatury na zachlapania. Zestaw jest całkowicie samodzielny i gotowy do działania po podłączeniu zasilania, ale oczywiście nie wyczerpuje to wszystkich jego możliwości. Do obsługi klawiatury zastosowano układ CY8CMBR3116. Schemat blokowy zestawu pokazano na rysunku 1.
Na płytce umieszczono programator/konwerter USB/I2C oparty o PSoC5, podobny do używanych w pozostałych zestawach PSoc-Kit.
CY3280-MBR3 obsługuje cztery pola dotykowe oraz pole zbliżeniowe, posiada diody LED sygnalizujące stan klawiatury oraz wbudowany buzzer. Pole BTN2 posiada możliwość zmiany pojemności rozproszonej przy pomocy przełącznika SW1, a pole BTN4 ma możliwość wydłużenie ścieżki łączącej przy pomocy przełącznika SW3 w celu organoleptycznej oceny wpływu zmian na działanie klawiatury – z takim rozwiązaniem spotykam się pierwszy raz w zestawie uruchomieniowym. Całość uzupełnia klika zwór konfiguracyjnych oraz złącza o rozstawie zgodnym z Arduino m.in. dla współpracy z zestawami PSoC Kit. Podobnie jak inne „mikromocowe” zestawy uruchomieniowe, CY3280-MBR3 umożliwia pomiar całkowitego pobieranego prądu w celu oceny energochłonności klawiatury, służy do tego zwora KIT PWR, w miejsce której można wpiąć miliamperomierz. Rozmieszczenie elementów zestawu pokazano na rysunku 2.
Oprogramowanie
Konfiguracja zestawu odbywa się przy pomocy darmowego oprogramowania EZ-Click (rysunek 3), w którym zgodnie z nazwą można „wyklikać” konfigurację CY8CMBR3116-LQXI obsługującego klawiaturę. Ze strony producenta można pobrać przykłady dla CY3280 (CY3280MBR3Setup_RevSB.exe) jak i dla płytek z PSoC4 (CY8CMBR3xxx_Host_APIs_Demo_Project.zip). Po zainstalowaniu i uruchomieniu można otworzyć projekt przykładowy (LED Toggle, Proximity Detection, Water Tolerance z katalogu CY3280-MBR3 EVK\1.0\Firmware) lub skonfigurować klawiaturę samodzielnie zakładając nowy projekt.
Obsługa oprogramowania jest intuicyjna i po zapoznaniu się z podstawowymi danymi z karty katalogowej układu przebiega bez problemu. W kilku prostych krokach wybieramy układ, konfigurujemy podłączoną klawiaturę w zakładce CapSense Sensor Configuration, określając połączenia pól dotykowych i zbliżeniowych, określamy konfigurację LED w zakładce Global Configuration, która w niektórych przypadkach może być dosyć rozbudowana. Po wykonaniu tych czynności ładujemy projekt do zestawu lub przygotowanego urządzenia kontrolując jego działanie.
Oprogramowanie EZ-Click pełni także funkcję testową, szczególnie przydatną podczas sprawdzania i strojenia gotowego projektu klawiatury w urządzeniu docelowym. W zakładkach CapSense Output i System Diagnostic rysunek 4, mamy udostępnioną możliwość podglądu i oceny działania klawiatury oraz optymalizacji parametrów lub niestety czasem podjęcia decyzji o zmianie projektu fizycznego płytki drukowanej….
Wykres przedstawia pracę przycisku dotykowego w pierwszej części wykresu (do 250) bez zmian grubości tworzywa, następnie do próbki 700 zwiększona zostaje grubość frontu do 2 mm przy pomocy nakładki z zestawu i powyżej próbki 750 przycisku zalanego wodą. Podobne symulację można przeprowadzić dla zwiększonej pojemności w polu BTN2 lub długiej ścieżki do pola dotykowego BTN4 – i to wszystko bez linijki kodu programu. Jeżeli na tym etapie klawiatura spełnia wymogi użytkownika, można wygenerować pliki nagłówkowe *.h dla kontrolera do użycia z wybranym procesorem lub systemem SoC lub plik dla programatora I2C *.hex.
Podsumowanie
Zestaw jest ciekawą i akceptowalną kosztowo propozycją dla sprawdzenia kontrolerów klawiatury dotykowej, udostępnione oprogramowanie, sprzęt oraz dostarczone wsparcie ułatwiają realizacje własnych projektów klawiatur bez niepotrzebnej straty czasu i kosztownych zmian projektowych. Łatwa konfiguracja nie zwalnia jednak od zapoznania się z materiałami producenta m.in:
- CY3280-MBR3 Quick Start Guide.pdf
- EZ-Click User Guide_001-90407_C_0.pdf
- CY3280-MBR3 EVK UserGuide.pdf
- 001-64846_AN64846_Getting_Started_with_CapSense.pdf
Adam Tatuś, EP