wtorek, 2 sierpnia 2022

[9] ATxmega - Klawiatura USB - Schemat

W tym poście chciałbym opisać sposób przygotowania schematu do klawiatury mechanicznej USB 3x3.


Cały schemat prezentuje się następująco:


Poniżej krótko opiszę wszystkie elementy układu:

Głównym elementem układu jest mikrokontroler Atxmega128-A4U w obudowie TQFP44:


Mikrokontroler jest taktowany zewnętrznym kwarcem o częstotliwości 11MHz. 


Programowanie układu odbywa się przez interfejs PDI (Program and Debug Interface). Do jego działania wymagane są dwie linie. Linia danych oraz linia zasilania:


Atxmega zasilana jest z 3,3V podawanego ze stabilizatora LM1117. On otrzymuje napięcie 5V podawane z gniazda USB.


Przyciski połączone są w klawiaturę 3x3, wykorzystującą łącznie 6 linii (3 linie kolumn i 3 linie wierszy). Dodatkowo wykorzystałem jedną linię generującą przerwanie. Dzięki temu klawiatura zostanie skanowana dopiero po otrzymaniu sygnału przerwania. Dodatkowym elementem są rezystory szeregowe, które w przypadku zwarcia ograniczą przepływ prądu jaki będzie przesyłany.


Dodatkowym elementem jest montaż 4 diod świecących oraz brzęczyka pozwalających na informowanie użytkownika o różnym stanie pracy układu czy kliknięciu przycisku:


W celu uzyskania dodatkowej komunikacji wyprowadziłem linie UART na osobne złącze 4 pinowe. 


Mikrokontroler pozwala na obsługę USB w wersji 2.0 High Speed lub Low Speed. Do podłączenia komunikacji wymagane jest zastosowanie linii D- oraz D+. USB jest zlokalizowane na porcie D (linie D- oraz D+):

Schemat części USB wygląda następująco:


Dodatkowo podłączyłem układ zabezpieczający linie komunikacyjne przed skutkami wyładowania ESD.