http://obrazki.elektroda.pl/2024728600_1482525222_thumb.jpg Witajcie moi drodzy Dzisiaj chciałbym przedstawić wam mój projekt płytki developerskiej z układem MCP2221. MCP2221 jest to konwerter USB-UART wraz z dodatkowymi wyjściami, które można ustawić w różnych trybach (input, output, ADC, itp) od Microchipa. Co oferuje MCP2221? - działanie na napięciu od 3.0 do 5.5V - wirtualny port COM - wyjścia I2C - 4 piny GPIO - 3 10-bitowe ADC - 1 5-bitowe DAC Projekt płytki Schemat wzorowałem na tym dostępnym w nocie katalogowej układu. http://obrazki.elektroda.pl/8521871900_1482524940_thumb.jpg Opracowałem taki schemat (początkowo chciałem na płytce zamieścić również diodę POWER, ale uznałem, że szkoda miejsca): http://obrazki.elektroda.pl/7479394200_1482525454_thumb.jpg Płytkę zaprojektowałem jednostronną, tylko z elementami przewlekanymi, wraz z warstwą opisową. http://obrazki.elektroda.pl/6596838700_1482525431_thumb.jpg Całość wykonałem metodą termotransferu i myślę, że wyszło dość nieźle. Instalacja sterowników Po podłączeniu poprawnie zlutowanej płytki powinniśmy zobaczyć coś takiego: http://obrazki.elektroda.pl/9521770600_1482524604_thumb.jpg Świadczy to o braku sterowników. To dobry znak, ponieważ sterowniki można zainstalować bez problemu. Sterowniki można ściągnąć ze strony Microchipa, ale dla wygody umieściłem je również w załącznikach do tego postu. http://obrazki.elektroda.pl/1378002100_1482524709_thumb.jpg http://obrazki.elektroda.pl/6981175000_1482524710_thumb.jpg http://obrazki.elektroda.pl/8754250700_1482524711_thumb.jpg Po zainstalowaniu sterowników nasze urządzenie powinno być już poprawnie rozpoznawane przez "Menadżer urzadzeń". http://obrazki.elektroda.pl/8544389400_1482524795_thumb.jpg Testowanie działania konwertera USB-UART Najprościej przetestować całość można poprzez zwarcie wyjścia TX do RX, przez co wszystko co wyślemy, zostanie również przez nas odebrane. Do wysyłania/odbierania danych starczy dowolny terminal UART, ja użyłem RealTerm: http://obrazki.elektroda.pl/5146264700_1482565900_thumb.jpg Sterowanie dodatkowymi pinami MCP2221 MCP2221 posiada dodatkowe piny, którymi można sterować z poziomu aplikacji na komputerze poprzez USB. Wielkim plusem tego jest fakt, że MCP2221 nie wymaga programowania - sterowanie odbywa się poprzez USB. Można dowolnie zmieniać konfiguracje pinów, ich tryb (wejście, wyjście, ADC) w trakcie działania układu. Do testowania pinów MCP2221 służy aplikacja MCP2221 Utility od Microchipa: http://obrazki.elektroda.pl/9680307800_1482526207_thumb.jpg MCP2221 Utility powinno automatycznie rozpoznać urządzenie po podłączeniu do komputera (jeśli są sterowniki). http://obrazki.elektroda.pl/2198114700_1482526272_thumb.jpg Oczywiście, można również nimi sterować z poziomu programu (np. w języku C++). Ale to już jest bardziej skomplikowane. Biblioteka MCP2221 HID autostwa Zak Kemble Jest to niezależne od Microchipa rozwiązanie dla komunikacji z MCP2221. Całość jest open source i dostępna na licencji GPL. Stanowi ona alternatywę dla tego, co udostepnia Microchip i w mojej opinii działa całkiem nieźle. Więcej informacji tutaj: http://blog.zakkemble.co.uk/mcp2221-hid-library/ I tutaj: https://github.com/zkemble/libmcp2221 Do biblioteki dołączone jest kilka przykładowych aplikacji, które można również skompilować na Windowsie w Visual Studio. Aplikacja test GPIO: http://obrazki.elektroda.pl/2693515200_1482527077_thumb.jpg Aplikacja test ADC: http://obrazki.elektroda.pl/6780560300_1482527112_thumb.jpg Aplikacja test miscellaneous: http://obrazki.elektroda.pl/5602076600_1482527125_thumb.jpg Załączniki MCP2221_pcb_eagle_pdf.zip - projekt mojej płytki w Eagle wraz z pdfami do termotransferu (warstwa ścieżek i osobno warstwa opisowa) mcp2221_eagle_lbr.zip - biblioteka lbr dla Eagle MCP2221 MCP2221 Windows Driver 2014-10-09.zip - sterowniki MCP2221 dla Windowsa MCP2221Utility.zip - wygodne narzędzie do testów MCP2221 MCP2221Terminal.zip - bardziej zaawansowane narzędzie do testów MCP2221 MCP2221DLL_2015_06_17.zip - biblioteka do obsługi MCP2221 od Microchipa libmcp2221-master-2016.zip - biblioteka OpenSource do usługi MCP2221 na licencji GPL Podsumowanie MCP2221 jest moim zdaniem ciekawym i bardzo niedocenionym układem. Można na jego bazie zbudować prosty programator bądź bootloader dla innych mikroprocesorów. Jego dużym atutem są dodatkowe piny IO, które mogą działać w różnych trybach, oraz szeroka gama narzędzi, zarówno tych od Microchipa jak i open source. Osobiście zamierzam zastosować MCP2221 w paru moich zaplanowanych już projektach, które tutaj niedługo też pewnie wrzucę.
S- 9 2 7 1 6 N P
3C
1X
SCI N O R TCELE
1U
1R
k01
0PG
1PG
XR
XT
2PG
3PJ
P/I- 1 2 2 2 P C M
1C
F u 7 4. 0
1PJ
LCS
ADS
3PG
2PJ
1222PC M
DRB VED
Fu22
DNG
n001 D N G
V5
2C
V5