Które telefony mają USB UART. Konwerter USB-uart: flashowanie za pomocą adaptera

Dom / Awarie

Większość urządzeń blogowych strona internetowa współpracuje z UART. I to jest naturalne – UART jest protokołem bardzo prostym i niewymagającym. Łatwo jest pracować zarówno od strony mikrokontrolera, jak i od strony komputera PC. Używanie UART ma jednak jedną wadę. Zdecydowana większość mikrokontrolerów ma na pokładzie UART, jednak w przypadku komputerów PC sytuacja jest nieco gorsza. Interfejs UART jest natywny dla portu COM (w wersji RS232), jednak w związku z rosnącymi wymaganiami stawianymi peryferiom komputerowym, port COM zaczyna odchodzić od lamusa. Dzieje się tak z powodu niskiej prędkości, niemożności rozszerzenia itp. Już dawno zniknęła z laptopów jako klasa portów. Nadeszła kolej na komputery stacjonarne...
Ale nie wszystko jest złe. Jest wyjście! Wielu producentów opracowało i produkuje chipy (mostki) konwerterów USB-UART. Zasada ich pracy jest taka. Na komputerze PC instalowany jest specjalny sterownik, który tworzy w systemie wirtualny port COM. W przypadku programów komputerowych port ten nie różni się od zwykłego portu COM - „nie zauważają” podstawienia. Wszelkie komunikaty wysyłane do tego portu wirtualnego są konwertowane na komunikaty protokołu USB. Układ konwertera podłączony do portu USB odbiera te komunikaty i generuje sygnały UART. Do popularnych i niedrogich mikroukładów należą FT232 i PL-2303 (są też OTI006858 i CP2102).

Przejdźmy teraz bliżej do tematu pytania.
Zrozumieliśmy więc, że potrzebujemy konwertera USB na UART. Można go zdobyć na kilka sposobów:
1 Kup wymagany mikroukład i samodzielnie przylutuj urządzenie. Jeśli montujesz dowolne urządzenie, wygodnie będzie, jeśli konwerter zostanie zintegrowany z urządzeniem. Jeśli poszukasz w Google, znajdziesz wiele obwodów takich przetworników - wytrawienie płytki i złożenie przetwornika nie będzie stanowić problemu.
2 Kup gotowy konwerter. To też nie jest zła opcja. W sprzedaży jest mnóstwo tego typu urządzeń. W różnych formach, w różnych cenach - wybierz na każdy gust!
3 Jest inna opcja - alternatywa. Zgadzam się – nie zawsze jest to akceptowalne, ale jednak… Można „pożyczyć” konwerter z innego urządzenia.

W tym artykule proponuję wykorzystać kabel do telefonu komórkowego jako konwerter USB na UART ( Kabel do transmisji danych). Dlaczego smycz do telefonu komórkowego? Wyjaśnię teraz.
Jakiś czas temu do komunikacji telefonu komórkowego z komputerem powszechnie stosowano protokół UART. Powody jego powszechnego stosowania są jasne - producenci potrzebowali taniego i powszechnego kanału komunikacji z komputerem. Może to być port COM lub USB. W tamtym czasie praca z USB była droga i nieopłacalna – zwyciężył COM. Telefony komórkowe wysyłają sygnał UART „na zewnątrz”, a kable do transmisji danych przekształcają go na port COM lub USB. W dzisiejszych czasach elektronika przeszła długą drogę, a USB w mikroprocesorach telefonów komórkowych stało się obowiązkowe. Przewody do nowoczesnych telefonów są zastępowane zwykłymi przedłużaczami USB.
I teraz dochodzimy do najciekawszej części. Pojawiają się nowe telefony, stare kable konwerterowe stają się nikomu bezużyteczne, co powoduje, że sprzedawcy za wszelką cenę starają się ich pozbyć. Ceny tych starych, przestarzałych sznurówek są po prostu śmieszne. Trafiłam więc na te pudełka ze sznurowadłami za takie pieniądze, że nie mogłam się oprzeć i kupiłam dwa. Teraz ci powiem co trzeba zrobić, żeby z takiego przewodu zrobić pełnoprawny konwerter USB UART.

Najpierw musisz kupić tę samą koronkę.

Nie wszystkie sznurowadła pasują. Najpierw musisz wyszukać w Google nazwy sznurówek, które mają konwerter. Wizualnie musisz poszukać sznurka z pudełkiem pośrodku.

Oto pudełko i jego zawartość.

W zestawie sam przewód i płyta ze sterownikami. Płytę można od razu wyrzucić – jest tam taki śmietnik, że znalezienie czegoś potrzebnego jest problematyczne. Weź samą koronkę.

Teraz Przyjrzyjmy się bliżej planszy przetwornik



W wyniku badania znajdujemy mikroukład Płodny PL-2303HX.

W 90% przypadków w takich sznurówkach zobaczymy właśnie ten konkretny mikroukład. Powodem jest jego taniość. Co więcej, chip ten znajdziemy także w większości konwerterów USB-UART, które kupisz w sklepie. Bardzo rzadko spotkacie FT232, bo jest droższy i nie można go dostać w tanich chińskich sznurówkach (chyba, że ​​traficie na jakiś markowy sznurek). Jeśli trafisz na FT232RL, możesz się uważać za szczęściarza; możesz takim kablem pośmiać się z programatora (FT232RL może pracować w trybie beatbang).

Uważać na! Na planszy znajdziesz Prolific klona. Ta na przykład była w drugiej, ze sznurówek, które kupiłam.

Płytka jest ta sama, projekt ten sam, ale kryształ wyraźnie nie jest Prolific (sądząc po wyglądzie, jest to tańszy klon). Brak kwarcu jest niepokojący, ale płytka działa (podejrzewam, że działa z wewnętrznego oscylatora RC - nie jest to zbyt dobre). W każdym razie takie mikroukłady są całkowicie analogiczne (przynajmniej pod względem nóg) do Prolific.

Teraz przejdź do witryny Prolific i pobierz arkusz danych chipa
- Konwerter USB-UART Wydajny

W arkuszu danych znajdujemy pinout i sprawdzamy, na których nóżkach znajdują się potrzebne nam sygnały UART:
— Nadajnik TXD – 1;
— Odbiorca RXD – 5.

Na chipie znajdujemy odpowiednie nogi.

Następnie za pomocą konwencjonalnego testera znajdujemy najbliższe pola stykowe, do których możemy przylutować przewody. Do nóg nie można przylutować - są małe. Potrzebujemy także „ziemi” - tutaj wszystko jest proste, będą to duże wielokąty. Przylutuj przewody do odpowiednich podkładek.
Na drugi koniec przewodu podłączamy wygodną wtyczkę.

Pewnie ktoś już czytał wiadomości na naszym forum exmortis o wykonaniu kabla USB-TTL z improwizowanych materiałów.

Postanowiliśmy opublikować to jako osobny artykuł poradnikowy. Dziękuję exmortis za dostarczony materiał.

Streszczenie: Artykuł ten stanowi dodatek do interfejsu szeregowego, z którym zaleca się zapoznać w pierwszej kolejności.

Jak wiadomo z powyższego artykułu, dekoder Ritmix RZX-50 można podłączyć do komputera poprzez uart ttl, jednak ponieważ sygnały napięciowe nie odpowiadają standardowi rs-232, potrzebny jest adapter. Jako gotowe rozwiązanie można zastosować np. specjalny konwerter lub nawet ten.

Trudność w tym, że takie rozwiązania nie zawsze są dostępne, a jeśli już są, to podana cena może być dość wysoka.

Można jednak użyć zwykłego kabla adaptera USB-rs232 (com), który można kupić w każdym sklepie komputerowym. Na przykład tak:

Kabel Gembird usb-rs232 usa111. Jest to wygodne, ponieważ kontroler ukryty jest w zgrabnym pudełku. To prawda, że ​​\u200b\u200bjest zapieczętowany, więc aby go otworzyć, będziesz musiał albo go zobaczyć, albo odciąć plastik lutownicą.

W zasadzie wystarczy każdy inny podobny kabel, jednak trzeba zwrócić uwagę na łatwość dostępu do płytki ze sterownikiem. W niektórych kablach jest on ukryty w złączu rs-232, które jest trudne do otwarcia, a w innych może znajdować się chip kropelkowy, do którego niełatwo się przylutować. W końcu taki kabel może być oparty na jakimś egzotycznym chipie.

Chip pl2303. Przede wszystkim ciekawe są nogi 1 (TXD) i 5 (RXD), numeracja nóg przebiega w kierunku przeciwnym do ruchu wskazówek zegara od rogu oznaczonego kropką na samym chipie.

Odwrotna strona z chipem max213. Sygnał z 1. odcinka pl2303 dociera do 6. odcinka maks., a sygnał z 5. odcinka dociera do 19. odcinka maks.
Zasadniczo ten mikroukład nie jest potrzebny dla uart-ttl, może nawet zakłócać. Dlatego trzeba go dokładnie wylutować, a łatwiej będzie przylutować do pól stykowych.

Układ max213 jest wylutowany. Czerwony przewód jest przylutowany do sygnału TXD, żółty przewód do sygnału RXD, a czarny przewód jest do masy. Następnie można podłączyć zgodnie ze schematem Antony, łącząc przewody „na krzyż”, tj. Odpowiednio RXD kontrolera do TXD dekodera i TXD do RXD.

Piny interfejsu szeregowego dla Ritmix RZX-50.

Drugą ważną częścią jest bezpośrednie połączenie z komputerem i skonfigurowanie połączenia.
Poniżej rozważymy konkretną sytuację, gdy na komputerze (laptopie) jest zainstalowany W7 x64, a Xubuntu 11.10 x32 jest zainstalowany na maszynie wirtualnej VirtualBox. Wszystko opisane poniżej odnosi się również do każdej dystrybucji Linuksa.

Kabel zlutowany jak wskazano powyżej jest podłączony do komputera (rzx-50 NIE jest podłączony). Oczywiście sterownik nie zostanie zainstalowany przez system, ale nie jest to wymagane. Ładujemy xubuntu na maszynę wirtualną, przekazujemy do niej podłączone urządzenie (powinno być oznaczone jako Prolific Technology Inc. USB-Serial Controller). Następnie załaduj konsolę i wpisz dmesg. W jednej z ostatnich linijek powinna znajdować się definicja podłączonego urządzenia (pl2303) i jej odzwierciedlenie w systemie plików - w tym przypadku jest to /dev/ttyUSB0. Zapamiętajmy to imię.

Teraz musisz zainstalować minicom. Polecenie jest standardowe: „sudo apt-get install minicom”. Uruchom instalację: „sudo minicom -s” i przejdź do menu konfiguracji. W konfiguracji portu szeregowego ustawiamy /dev/ttyUSB0 jako urządzenie szeregowe, szybkość przepływu jest ustawiona na 56700 8N1, sprzętowa i programowa kontrola przepływu są wyłączone (Nie). Następnie w trybie Modem i wybieranie numeru należy usunąć linie Init String i Reset String.

Wyjdź z ustawień i uruchom minicom w trybie normalnym (sudo minicom). Teraz możesz przetestować kabel, zwierając przewody z sygnałów TXD i RXD. Jeśli po naciśnięciu dowolnego klawisza w minicomie na ekranie pojawią się odpowiednie symbole, oznacza to, że kabel działa.

Teraz możesz podłączyć dekoder do przewodów w sposób wskazany powyżej i włączyć go, ciesząc się wyjściem w oknie emulatora terminala. Po wyświetleniu monitu o hasło wpisz „root”. Jeśli podczas wchodzenia i wychodzenia z symboli pojawiają się okresowo śmieci lub obce symbole, oznacza to, że coś jest nie tak z ziemią (najprawdopodobniej jest rozdarta). Idealnie byłoby, gdyby masa nie była w żaden sposób połączona z sygnałami TXD i RXD.

Komentarz redaktora: Mnie osobiście od razu przypomniał się koniec lat 90., kiedy zaczęła się era Palma. Byłem wówczas dumnym posiadaczem Handspring Visor Deluxe, najpotężniejszego wówczas PDA (słowo „tablet” jeszcze nie zostało wynalezione). Zatem ze względu na brak portów USB (tak! tak!) musiałem sam wykonać kabel RS232-TTL. Co więcej, ponieważ sygnały Visora ​​miały napięcie trzech woltów, a mikroukład Maxim zapewniający wymagany poziom sygnału był rzadki, konieczne było podłączenie dzielnika napięcia od 5 do 3,3 V do nogi „wyjściowej”, aby nie spalić urządzenia .

Teraz wszystko jest znacznie prostsze i możesz skupić się na bardziej znaczących działaniach, na przykład wnieść swój wkład w tworzenie alternatywnego oprogramowania dla RZX-50 :)

Programuj różne kontrolery Arduino i inne niż Aduino, odbieraj informacje do komputera ze wszystkiego, co ma interfejs szeregowy z logiką TTL.
Używam go w moich projektach z Arduino Pro MIni, Gboard/Iboard i domowymi kontrolerami.

Czym różni się od innych podobnych urządzeń?

  1. Dodatkowy pin DTR, który można podłączyć bezpośrednio do wejścia RESET w kontrolerach nie posiadających na płytce USB. Od tego momentu nie ma potrzeby naciskania przycisku RESET podczas programowania. Jest to dla mnie bardzo wygodne, gdy kontroler jest ukryty w głębi mojego statku i dostęp do przycisku może być bardzo utrudniony.
  2. Wsparcie producenta, kompatybilność z oryginalnymi sterownikami i oprogramowaniem, w przeciwieństwie do fałszywych FTDI, które mają problemy z natywnymi sterownikami
  3. Dodatkowe piny (otwory na styki) na płytce umożliwiające np. przełączenie USB w tryb oszczędzania energii.
  4. Ciekawą możliwością jest zmiana VID, PID i tekstu po jakim rozpoznawana jest płytka, aby zmontować własny sterownik o wymaganych parametrach, co jest dość interesujące w projektach komercyjnych. Porozmawiam o tym dalej.

Gdzie zamówić?

Charakterystyka

  • Układ CP2102 firmy Silicon Labs
  • Szybkość wymiany danych poprzez UART 300Bit/s - 1Mbit/s
  • Bufor odczytu 576 bajtów, zapisuje 640 bajtów
  • Obsługa USB 2.0 12Mbps
  • Obsługa trybu SUSPENDED USB
  • Wbudowany regulator mocy 3,3V 100mA
  • EEPROM z parametrami konfiguracyjnymi 1024 bajty
  • Obsługiwany system operacyjny Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Możliwość dostosowania parametrów płytki i sterownika do swoich projektów
  • Wymiary płyty 26,5 x 15,6 mm

Na płytce znajdują się dodatkowe otwory, w które można wlutować piny w celu dodatkowego sterowania modemem i przełączenia USB w tryb ZAWIESZONY

Rozmiarami płytki niewiele odbiega od innych podobnych konwerterów USB/UART

  1. Płytka FOCA 2.2 zabrana do projektów komercyjnych z kontrolerami Gboard/Iboard
  2. Tani konwerter FT232 używany do tej pory
  3. Recenzja CP2102

Podłączenie i instalacja CP2102

Przed użyciem płytki należy zainstalować sterowniki z oficjalnej strony Si-Labs

  • Do podłączenia do sterownika potrzeba 5 przewodów:
  • GND - GMD
  • VCC - V5.0 (V3.3) w zależności od użytej płytki
  • TX - RX
  • RX-TX
  • RESET sterownika - DTE


Teraz można programować sterownik bez naciskania przycisku RESET.

Zmiana VID, PID i innych charakterystyk konwertera

Płytka rozpoznawana jest w systemie jako Silicon Labs CP210X USB to UART Bridge (COM35)

Czasami w projektach komercyjnych konieczne jest, aby urządzenie podczas programowania miało własną nazwę handlową. Układ CP2102 i płytka na nim dają ku temu ogromne możliwości

Najpierw pobierz i uruchom narzędzie do konfiguracji parametrów EEPROM CP1202 (aby uruchomić narzędzie, musiałem także pobrać Java Runtime)

Możesz teraz zmienić następujące ustawienia:

  • Identyfikator dostawcy (VID). Identyfikator producenta. Wartość domyślna to 10С4 (format szesnastkowy). W tym przypadku należy do SiLabs.
  • Identyfikator produktu (PID). Identyfikator produktu. Wartość domyślna to EA60 (format szesnastkowy). W tym przypadku dotyczy to wszystkich mostków CP210x.
  • Maksymalna moc. Maksymalny pobór prądu wymagany przez most na magistrali USB. Wartość domyślna to 32 (format szesnastkowy). Maksymalna wartość 500mA
  • Atrybuty zużycia energii. Dieta. Zasilany z magistrali (zasilanie z magistrali USB) lub z własnym zasilaniem (zasilanie ze źródła zewnętrznego).
  • Wydanie wersji. Numer wydania. Wartość domyślna to 1,0. Pola mogą przyjmować wartości 1-99 w częściach całkowitych i ułamkowych.
  • Numer seryjny. Numer seryjny. Wartość domyślna to „0001” (format tekstowy). Pole może przyjąć dowolną wartość tekstową o długości do 64 znaków. Potrzebne do podłączenia wielu urządzeń do komputera
  • Ciąg produktu. Pole może przyjąć dowolną wartość tekstową o długości do 126 znaków. Identyfikator ten wyświetlany jest w systemie operacyjnym przy pierwszym podłączeniu mostka CP210x do komputera i pomaga użytkownikowi w wyborze odpowiedniego sterownika
  • Niestandardowa blokada danych. Ochrona danych konfiguracyjnych.

Wszystko zaczęło się od tego, że potrzebowałem połączenia z jednym urządzeniem poprzez USART. Od razu wziąłem przejściówkę USB na UASRT (bo laptop nie ma portu COM) na AtTiny2313 (nie będę reklamować, schemat można łatwo znaleźć w internecie), podłączyłem, uruchomiłem i nagle zorientowałem się, że przejściówka ma stałą prędkość 9600, a urządzenie ma stałą prędkość 9600. do którego trzeba było się podłączyć, prędkość wynosiła 57600. Naturalnie był późny wieczór i nie było możliwości zakupu czegoś takiego jak FT232. Dlatego po namyśle zdecydowano się zmienić prędkość UASRT w adapterze, po prostu go flashując. W rezultacie połączenie zostało pomyślnie nawiązane. Ale musisz przyznać - to nie jest rozwiązanie, programista może nie być pod ręką, a majstrowanie przy oprogramowaniu za każdym razem jest niewygodne. W rezultacie poważnie pomyślałem o stworzeniu normalnego adaptera z regulowaną prędkością (i nie tylko).

Oczywiście najłatwiejszą opcją jest zakup FT232, jednak po porównaniu jego kosztu z ceną Mega8 doszedłem do wniosku, że ta opcja nie jest dla mnie odpowiednia. Dlatego zdecydowano się na wykonanie adaptera do MK. A skoro jest na MK, to robienie tylko USART-a jest jakoś nieracjonalne. Dlatego dobrze byłoby umieścić w tym adapterze jeszcze kilka interfejsów; jeśli już, to coś uniwersalnego i przydatnego. Niemal od razu przyszły mi na myśl „przyjemne” wspomnienia instalacji sterowników do adaptera na Tiny2313 (dla Windows7 x64 jest to dość bolesne). Oznacza to, że trzeba będzie porzucić urządzenie „wirtualny COM”, dlatego konieczne będzie napisanie programu na komputer PC, w przeciwnym razie praca z urządzeniem będzie niemożliwa. Generalnie po pewnym czasie namysłu powstał ostateczny pomysł na urządzenie. Funkcjonalność wyglądała następująco:

  • Adapter USB->USART;
  • Adapter USB->SPI;
  • Adapter USB->I 2 C;
  • w tym przypadku urządzenie musi być HID (Human Interface Device), aby nie oszukać głowy instalacją sterowników.

MK Mega8 stał się obiektem znęcania się, ponieważ w pakiecie TQFP zajmuje bardzo mało miejsca (znacznie mniej niż AtTiny2313) i ma aż 8 KB. pamięć. Początkowo planowano wykonanie całego oprogramowania interfejsów, jednak po rozłożeniu płytki musiałem porzucić sprzęt I 2C, gdyż Nie było możliwości wyeksponowania go na jednostronnej planszy (w przyszłości trzeba będzie jeszcze ten problem rozwiązać, może da się to wyeksponować osobno z boku planszy). Dlatego jego funkcjonalność jest nieco ograniczona, ale USART i SPI pozostają w pełni funkcjonalne. Do komunikacji z komputerem PC wykorzystano bibliotekę V-USB.

Schemat urządzenia wyglądał następująco:

Jak widać, nie ma w tym nic skomplikowanego. MK zasilany jest napięciem 5 V, poziomy dla USB dopasowywane są za pomocą dzielników napięcia i rezystora 68 Ohm. + Dioda Zenera 3,3 V.. Częstotliwość taktowania MK – 12 MHz. Jest to minimalna częstotliwość do pracy z magistralą USB. Obwód zawiera również trzy diody LED wskazujące tryby pracy. Jedna z diod pokazuje, który tryb pracy jest włączony, a dwie pozostałe wskazują odbiór/transmisję danych. W urządzeniu nie ma żadnych przycisków ani przełączników, a wszystkich ustawień dokonuje się programowo, bezpośrednio z komputera PC. Tak, rezystory 68 omów znajdują się na wszystkich pinach używanych do obsługi interfejsów. aby chronić MK przed zwarciem. Jak wspomniano powyżej, urządzenie pojawia się na komputerze jako HID i nie wymaga instalacji sterowników. VID i PID wybrano spośród tych, które zapewnia V-USB: VID - 0x16c0, PID - 0x05df. W przeciwnym razie za zakup indywidualnego identyfikatora dla urządzenia USB trzeba by zapłacić porządną sumę. Ale ponieważ jest projektem open source i niekomercyjnym, możesz w pełni swobodnie korzystać z identyfikatorów proponowanych przez V-USB.

Płatność wyglądała następująco:

Oraz w formie lutowanej:

To była próbka testowa, a nawet taka, która zawierała błędy. Z jakiegoś powodu pomyślałem, że wynik CE nie jest wart eksponowania. No cóż, nic, wszystko zostało już naprawione i do artykułu dołączona jest właściwa tablica.

Tak więc z obwodem wszystko jest jasne, jest maksymalnie proste i można je przylutować w jeden wieczór. Ale, jak wspomniano powyżej, powstałe urządzenie jest definiowane przez komputer jako HID, tj. System operacyjny wybiera dla niego sterownik ze swojej bazy danych. Mówiąc najprościej, system Windows myśli, że działa z urządzeniem wejściowym. Dzięki temu możliwa jest praca na dowolnym komputerze PC bez kłopotów ze sterownikami. Ale jest z tym jeden mały problem: żaden z istniejących programów do wymiany danych przez USART nie będzie działał z tym urządzeniem. Oznacza to, że do pracy z modułem potrzebny jest jakiś specjalny program, inaczej nie ma to żadnej wartości. Otworzyłem więc mój ulubiony C++ Builder (obecnie nazywa się CodeGear RAD Studio, co poza tym nie zmienia znaczenia), wersja 2007 i napisałem taki program:

Nie ma w tym nic szczególnie skomplikowanego; istnieje szereg ustawień dla każdego interfejsu. Tak, kilka interfejsów nie może działać jednocześnie, tylko jeden na raz. Całość działa bardzo prosto; po podłączeniu urządzenia do komputera PC w oknie programu aktywują się przyciski, których kliknięcie uruchamia odpowiedni interfejs. Następnie po prostu wpisz dane w polu wejściowym w określonym formacie i kliknij przycisk „Wyślij”. Każdy interfejs ma swój własny format danych. Teraz przyjrzyjmy się im bardziej szczegółowo:

USART: (dane są odbierane cały czas, gdy tryb jest aktywny, że tak powiem, automatycznie)

  • wysyłając kilka numerów HEX, wystarczy wpisać je oddzielone spacją w nieograniczonej liczbie, na przykład: 01 05 fa aa ...
  • wysłanie ciągu znaków (tekst, liczby itp.). Tutaj identyfikator S (s) jest zapisywany na początku linii, na przykład: s www.site
  • aby wysłać dane do urządzenia, format ciągu jest następujący: Adres (do kogo przesłać i do której komórki pamięci) A (a) i Dane D (d). Na przykład: aa3 dfa;
  • zażądać danych od urządzenia: Adres (od kogo odebrać i z jakiej komórki pamięci) oraz odczytać identyfikator R (r). Na przykład: aa3r
  • aby wysłać dane do urządzenia: Adres urządzenia (odczyt bitu do 0) A (a) Adres pamięci M (m) Dane D (d). Na przykład aa2 m03 d15
  • żądanie danych wygląda następująco: Adres urządzenia (odczyt bitu do 0) A (a) Adres komórki pamięci M (m) Adres urządzenia (odczyt bitu do 1) A (a) Odczyt identyfikatora z liczbą komórek pamięci do odczytania R ( R). Na przykład: aa2 m03 aa3 r1

​W trybie Slave nie ma żadnych poleceń dla SPI, po prostu siedzimy i czekamy, aż nam coś wyślą. Aby pracować z urządzeniem, podłączamy je do komputera, czekamy, aż system operacyjny zgłosi, że sterowniki zostały pomyślnie znalezione i zainstalowane, uruchamiamy program i rozpoczynamy wymianę danych. Wszystko jest niezwykle proste, bo prostota była jednym z kryteriów przy tworzeniu urządzenia.

Tak, nawiasem mówiąc, program jest kompatybilny ze wszystkimi wersjami systemu Windows, od Windows XP do Windows 8 i nie wymaga do działania różnych egzotyków, takich jak NetFramework itp. Podobnie jak sam moduł.

To wszystko, program, płytka i kod źródłowy są dołączone.

Bezpieczniki są ustawione na działanie z zewnętrznego kwarcu przy wysokiej częstotliwości. Wyglądają tak:

Na zdjęciu bezpiecznik LOW ma numer 1, gdy nie jest oznaczony, i 0, gdy jest oznaczony. Bezpieczniki WYSOKIE są odwrotne. W systemie szesnastkowym wygląda to tak: WYSOKI: D9, NISKI: FF.

I oczywiście wideo, bo... Lepiej raz zobaczyć, niż... (USART działa w trybie echo test (połączone Rx i Tx), a SPI i I 2 C testowane są chipem PCA2129T, artykuł o tym)

Lista radioelementów

Oznaczenie Typ Określenie Ilość NotatkaSklepMój notatnik
MK AVR 8-bitowy

ATmega8

1 Do notatnika
VD1, VD2 Dioda Zenera

BZX55C3V3

2 3,3 V Do notatnika
HL1-HL3 PROWADZONY 3 Do notatnika
C1 Kondensator elektrolityczny100 µF1 Kondensator tantalowy Do notatnika
C2, C3 Kondensator0,1 µF2 Do notatnika
C4, C5 Kondensator22 pF2 Do notatnika
R1 Rezystor

1,5 kOhm

1 Do notatnika
R2 Rezystor

10 kiloomów

1 Do notatnika
R3, R4, R8-R13 Rezystor

Naprawę dowolnego skomplikowanego sprzętu elektronicznego można obecnie podzielić na dwie opcje: albo naprawę oprogramowania, „oprogramowania”, albo naprawę sprzętu, na poziomie sprzętu. Jeśli ten pierwszy polega po prostu na skonfigurowaniu urządzenia, co może wykonać każdy użytkownik zaznajomiony z technologią, jeśli z jakiegoś powodu jego ustawienia zostaną utracone w trakcie pracy.

Naprawa sprzętu- Najczęściej wiąże się to z lutowaniem, wymianą niektórych elementów radia, które z różnych powodów uległy awarii. Czy chodzi o przegrzanie, na przykład z powodu kurzu nagromadzonego w korpusie urządzenia i w efekcie gorsze oddawanie ciepła, czy też przedostanie się wilgoci i w efekcie zwarcie. Albo to samo, uwielbiane przez wszystkich mistrzów zwarć, ułożone na płytce przez owady, które zadomowiły się w korpusie urządzenia), a ślady ich działalności często znajdują się na tablicach.

Istnieje jednak trzeci rodzaj naprawy, zwykle związany z technologią cyfrową, w którym łączone są te dwa rodzaje naprawy - jest to flashowanie urządzenia. A jeśli możemy przeflashować smartfon lub tablet po prostu podłączając go do komputera kablem USB, to na przykład ta metoda nie zadziała z routerem, płytą główną czy kartą graficzną. Wszystkie zawierają pamięć Flash, czyli specjalny chip, zwykle serii 24 lub 25, w którym przechowywane jest nasze oprogramowanie.

Układ pamięci serii 25

W przypadku płyt głównych i kart graficznych wszystko jest zwykle proste - potrzebujesz programatora pamięci Flash i EEPROM, na przykład prostego i taniego CH341A, który zostanie omówiony jako jedna z opcji rozwiązania naszego problemu. Ponadto do flashowania pamięci bez lutowania potrzebny będzie specjalny klips do flashowania mikroukładów w pakiecie SO-8 lub SO-16. Obydwa klipy mam w swoim domowym warsztacie.

Klips do przeszycia SO-8

Pierwszy z nich, dla mikroukładów w pakiecie SO-8, jest zwykle potrzebny wielokrotnie częściej niż drugi, dla mikroukładów w pakiecie SO-16. Nawiasem mówiąc, przydało mi się to tylko raz do flashowania routera Zyxel, ponieważ uważają się za dobrze znaną markę, są oryginalni i czasami instalują mikroukłady w podobnych obudowach SO-16, a dobrze jest, jeśli nie mikroukłady z serii 29, kto wie - zrozumie natychmiast.

Złącze klipsowe SO-16

Faktem jest, że do flashowania mikroukładu serii 29 potrzebujemy znacznie droższego programatora - MiniPro TL866A, który też mam, ale nie ma przejściówki z obudowy Dip do tej obudowy, która ma bardzo powszechny układ nóżek , a w porównaniu z lutowaniem, w którym lutowanie mikroukładu w obudowie SMD, tego samego SO-8 lub SO-16, jest dziecinnie proste. Właśnie dostałem do naprawy router Zyxel z chipem serii 29. Kiedy pierwszy raz naprawiałem poprzedni router Zyxel, chipem była pamięć szeregowa serii 25, choć w obudowie SO-16. Wtedy, jak rozumiesz, znacznie łatwiej było przeprowadzić naprawy.

Układ pamięci serii 29

Jak więc możemy przywrócić router, jeśli mamy „szczęście” i mamy właśnie taki mikroukład serii 29? Producenci routerów w tym przypadku zapewniają awaryjne flashowanie poprzez serwer TFTP. Problem polega jednak na tym, że czasami partycja rozruchowa w pamięci chipa, zwana U-Boot, zostaje wymazana. W takim przypadku będzie Ci odpowiadać opcja flashowania pamięci routera pod określonymi adresami, którą będziesz musiał znaleźć na specjalistycznych forach poświęconych flashowaniu routerów. Ale zwykle wszystko jest znacznie prostsze - oprogramowanie układowe uległo awarii, dane niezbędne do normalnego działania routera zostały utracone, ale obszar rozruchowy i obszar kalibracji pozostają nienaruszone. W takim przypadku będziesz potrzebować prostego i taniego adaptera USB-TTL, którego koszt w Ali Express to tylko około 40 rubli.

Adapter USB na TTL

Odpowiedni jest także adapter na chipie CH340A, który służy do wgrywania szkiców na mini płytkę Arduino Pro, która nie posiada wlutowanego na płytkę bootloadera CH340A. Odpowiednie są także adaptery oparte na pl2303, czyli programator pamięci Flash i EEPROM CH341A, o którym pisałem już powyżej, a który po zmianie zworki może pracować w trybie adaptera USB-UART.

Programator pamięci Flash i EEPROM + USB-TTL

W ostateczności możesz użyć kabla flashującego ze starego telefonu komórkowego, który zawiera również konwerter USB-COM, ale będziesz musiał dopasować poziomy mocy. Moc zasilacza musi wynosić dokładnie 3,3 V, a nie 5 V, które zasilacz może wyprowadzić z określonego pinu. Załóżmy więc, że mamy ten adapter (a raczej którykolwiek z wymienionych powyżej), zainstalowaliśmy dla niego sterownik, udaliśmy się do menedżera urządzeń w systemie Windows i ustaliliśmy, któremu numerowi portu COM odpowiada nasz adapter. A ten adapter to nic innego jak wirtualny port COM w Twoim systemie.

Szukamy numeru portu COM

Następnie potrzebujemy jakiegoś programu - terminala, w którym za pomocą poleceń konsoli przywrócimy nasz router, flashując go. Ale nie będziemy ponownie flashować routera za pomocą tego adaptera; adapter służy wyłącznie do kontrolowania procesu oprogramowania układowego. Jak w tym wypadku sflashować router? Istnieją oczywiście opcje flashowania routera przez jego procesor ARM poprzez interfejs JTAG, a ja też mam ten programator zakupiony na Ali Express - to programator Wiggler podłączony przez interfejs LPT, ale po próbach rozpracowania zdecydowałem się że metoda flashowania wykorzystuje serwery TFTP, jest znacznie prostsza.

Programista Wigglera JTAG

Przyjrzyjmy się bliżej tej prostszej opcji, do której nie jest potrzebny programator JTAG; to flashowanie, jak pisałem powyżej, przez serwer TFTP. W tym celu musimy podłączyć nasz adapter USB-UART do 4 pinów na płycie routera. Co prawda czasami zdarza się, że producent oddzielił pola stykowe i ścieżki, ale samych pinów nie przylutował. W takim przypadku możesz samodzielnie przylutować 4-pinowy grzebień, zakupiony w sklepie radiowym lub przylutowany z płyty głównej dawcy lub innego urządzenia.

Połączenie USB-TTL

W zasadzie nie trzeba nawet lutować tych pinów, jeśli nie jest to możliwe, ale po prostu ostrożnie przylutować je do nikli na płytce, czyli do pól stykowych, w których te piny miały być wlutowane. Do tego celu bardzo wygodny jest cienki drut MGTF. Podłączyliśmy więc adapter do komputera, zainstalowaliśmy sterownik i zapewniliśmy niezawodne połączenie, którego potrzebowaliśmy, z tymi 3 z 4 pinami na płycie.

Zworki Arduino do adaptera

Do podłączenia do grzebienia wygodnie jest użyć zworek oraz zworek służących do łączenia płytek Arduino z nakładkami. Jak musimy podłączyć te 3 przewody? A dlaczego tylko trzy, skoro są cztery kontakty? Nie zaleca się zasilania routerów z adaptera; zasilanie musi pochodzić z własnego zasilacza. Dlatego lepiej odłączyć zasilanie, nawet jeśli zgodnie z oczekiwaniami używasz napięcia 3,3 V.

Połączenie adaptera z routerem - schemat

Masy urządzeń połączonych ze sobą podczas flashowania muszą być połączone, zatem konieczne będzie podłączenie masy, pinu GND. Ale pozostałe dwa piny, RX i TX, należy połączyć, „skrzyżowując” je między sobą, to znaczy łącząc RX z TX i TX z RX. Tak więc wszystko poprawnie podłączyliśmy, następnie musimy poprawnie skonfigurować terminal, wolę używać Putty, aby móc sterować naszym routerem za pośrednictwem konsoli i odpowiednio zaktualizować go o nowe oprogramowanie.

Konfiguracja Putty’ego

Oznacza to, że wybieramy port szeregowy, port szeregowy lub port COM w ustawieniach Putty, a następnie ustawiamy żądany numer portu COM, który wcześniej sprawdzaliśmy w menedżerze urządzeń. Następnie należy skonfigurować prędkość portu COM, zwykle 57600, rzadziej 115200 bodów. I na koniec, po raz kolejny upewniając się, że wszystko jest poprawnie podłączone, nic na płycie nie jest zwarte ani zwarte, podczas procesu flashowania logujemy się wcześniej do skonfigurowanej konsoli i zasilamy router z oryginalnego zasilania dostarczać.

Krakozyabry w terminalu

Jeśli na ekranie widzisz „crackery”, oznacza to, że nieprawidłowo skonfigurowałeś prędkość portu COM i musisz albo przeczytać, jaką prędkość należy ustawić dla swojego modelu routera, albo wybrać ją eksperymentalnie, aż „crackery” znikną i pojawi się zwykły tekst . Następnie będziesz musiał nacisnąć, zaraz po włączeniu zasilania routera, wyłapując odpowiedni moment, co nie jest takie proste, określoną kombinację klawiszy, albo tpl, dla routerów TP-Link, albo numer 4, wejdź do konsoli, lub numer 2, w przypadku routerów Zyxel, uruchomienie flashowania z serwera TFTP.

Interfejs serwera TFTP

Sam serwer musi być uruchomiony jako administrator w połączeniach sieciowych, należy tam podać adres IP serwera, o czym albo poinformuje Cię konsola, albo możesz sam znaleźć w Internecie. Na serwerze TFTP konieczne będzie podanie adresu IP klienta oraz folderu, w którym znajduje się nasze oprogramowanie.

Zmiana ustawień połączenia sieciowego

Sam firmware koniecznie musi być bez Boota, czyli gdy szyjemy firmware dołączony klipsem, poprzez programator SPI serii 25 potrzebny jest Fullflash, czyli inaczej firmware z bootloaderem, w tym wypadku firmware musi być standardowo, bez bootloadera, który zazwyczaj dostarcza producent, na Twojej stronie internetowej. Lepiej jest uprościć nazwę pliku oprogramowania sprzętowego, na przykład 123.bin, będziesz musiał wpisać ją w konsoli podczas rozpoczynania procesu flashowania.

Przerywanie pobierania

Następnie musisz wyrazić zgodę i potwierdzić, że zgadzasz się z flashowaniem. Jeśli wszystko zrobiłeś poprawnie, proces flashowania rozpocznie się w konsoli, po jego zakończeniu wystarczy ponownie uruchomić router, a jeśli oprogramowanie układowe pochodzi wyłącznie z odpowiedniego modelu i wersji sprzętu, wszystko na pewno się ułoży.

Wyjaśnienie procesu flashowania okazało się oczywiście obszerne, ale sam proces dla osoby, która wykonała go co najmniej kilka razy, staje się dość prosty. A biorąc pod uwagę, że routery to sprzęt, który nie wytrzymuje długo, szczególnie podczas burz, w maju - czerwcu, myślę, że ten artykuł przyda się początkującym, którzy chcą zaoszczędzić pieniądze na zakupie nowego routera. Życzę wszystkim udanych napraw! Specjalnie dla strony Obwody radiowe - AKV.

Omów artykuł KONWERTER USB-UART: REFLASHING Z ADAPTEREM

© 2024 ermake.ru - O naprawie komputerów PC - Portal informacyjny