Kucharskov Napisano Październik 8, 2018 Udostępnij Napisano Październik 8, 2018 (edytowany) Hej mikrokontrolerowe świry! Potrzebuję konwertera USB2TTL/USB2Serial/USB2UART (różnie to zwą) na gwałt, a zanim przyleci do mnie konwerter z aliexpress to zniosę jajo. Doczytałem, że w moim klonie Arduino Uno wystarczy pin RES zewrzeć z GND by płytka służyła jako ów konwerter. Aby przetestować otrzymane cudo zaleca się zewrzeć również pin RX z TX i odpalić nasłuchiwanie w PuTTy na odpowiednim porcie. Klikając litery na klawiaturze powinny się one pojawiać w konsoli. Brak liter oznacza, że coś jest nie halo z konwerterem. I tu następuje kilka pytań: Czy to co wyżej opisałem po przewertowaniu internetu to prawda? Co może być przyczyną problemów z "konwerterem"? Czy to wina że jest to klon Arduino? Czy coś się mogło pozmieniać i poradniki się zdezaktualizowały? Edit: Warto zaznaczyć, że diody RX i TX mrugają podczas klikania w PuTTy jak gdyby coś się tam przesyłało. Ale wciąż jednak brak znaków 😕 Z góry dzięki za odpowiedź! Edytowano Październik 8, 2018 przez Kucharskov Cytuj Link do komentarza Share on other sites More sharing options...
kaczakat Październik 8, 2018 Udostępnij Październik 8, 2018 Jak masz klona z CH340 to pętla może nie działać. Ale podłączenie resetu lub nawet wgranie czystego szkicu, tak by piny RX/TX zostały wejściami, umożliwia wykorzystanie jako konwertera UART. Oczywiście tutaj wyjątkowo podłączasz TX-TX i RX-RX, bo pin RX UNO jest pinem TX konwertera. 1 Cytuj Link do komentarza Share on other sites More sharing options...
marek1707 Październik 9, 2018 Udostępnij Październik 9, 2018 Jeśli zwarłeś do masy RESET głównego procesora (M328), to pozostały przy życiu interfejs CH340 nadal działa. Świadczy o tym diodka TX - odbiór znaków z USB. A mrugająca jednocześnie RX oznacza działające zapętlenie więc układ także coś nadaje do PC. Ja bym poszukał bardziej w ustawieniach terminala. A czy jeśli na to samo UNO wgrasz jakiś program używający UARTa to masz poprawną komunikację w obie strony na tych samych ustawieniach PuTTY? Zacznij właśnie od tego. https://www.terraelectronica.ru/pdf/show?pdf_file=%2Fz%2FDatasheet%2FU%2FUNO_R3(CH340G).pdf Cytuj Link do komentarza Share on other sites More sharing options...
deshipu Październik 9, 2018 Udostępnij Październik 9, 2018 Z tego, co pamiętam, to putty domyślnie ma włączone hardware flow control, którego tu nie masz, więc musisz wyłączyć. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
kaczakat Październik 9, 2018 Udostępnij Październik 9, 2018 Zrobiłem próby z UNO z CH340 i pętla nie działa, ale oczywiście przesyła do innego UARTA jak opisałem. W takim samy ustawieniu konwerter FTDI pętla działa w Putty i terminalu Arduino, CH340 nie działa w obu, również przy wyłączonym flow control w Putty. Także to raczej chodzi o CH340. 1 1 Cytuj Link do komentarza Share on other sites More sharing options...
Kucharskov Październik 9, 2018 Autor tematu Udostępnij Październik 9, 2018 @kaczakat ma rację. Niestety trzeba czekać na konwerter z Ali, bądź z uczelni pożyczę oryginalne Arduino. Dzięki panowie! Cytuj Link do komentarza Share on other sites More sharing options...
marek1707 Październik 9, 2018 Udostępnij Październik 9, 2018 "Także to raczej chodzi o CH340" Ruski wniosek. Jaka to magia zachodzi gdy CH340 odbiera znaki z obcego UARTu taka, że ten sam scalak nie umie ich odebrać (i dalej wysłać przez USB) z własnego? Panowie, trochę zdrowego rozsądku proszę. Jest oczywistym, że tego typu układ może być zapętlony i znaki wysłane po USB także po USB będą wracać. https://learn.sparkfun.com/tutorials/serial-basic-hookup-guide/all Jeżeli to samo UNO (z CH340 na pokładzie) daje się przez USB programować to znaczy, że transmisja działa w obie strony także na poziomie UARTa. A jeżeli trywialne zapętlenie TX/RX nie zwraca tych samych znaków, to już bardziej upatrywałbym problemów w rzeczach podłączonych do tych linii. Upewnijcie się, że rzeczywiście główny procesor stoi w RESET i że nie zwieracie tej linii za kondensatorem. Czy jest coś jeszcze podpięte do pinów RXD/TXD tej płytki? Czy jest ktoś w stanie podejrzeć oscyloskopem te sygnały? Cytuj Link do komentarza Share on other sites More sharing options...
kaczakat Październik 9, 2018 Udostępnij Październik 9, 2018 @Kucharskov przeczytaj więcej niż 1 linijkę, co? Magia nie magia. Mam MEGA z Atmegą 16U i pętla działa, mam również konwertery USB/UART z chipami FTDI, CH340 (i parę innych) i oczywiście pętla działa. W UNO i NANO z CH340 nie działa. Magia może się nazywać HALF DUPLEX. Nie wiem czemu Kucharskov wyciągnął błędne wnioski. Nie działa tylko test pętli. DZIAŁA JAKO KONWERTER USB-UART, przecież nikt tego nie używa w pętli! @marek1707, pofatygowałem się i sprawdziłem, na kilku terminalach, w różnych ustawieniach, opisałem, zrób to samo i opisz wnioski. Teoretycznie spodziewałem się uzyskać taki efekt jak Ty oczekujesz w sprawnych płytkach. Wszystkie testy na prędkości 115200. Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Październik 9, 2018 Udostępnij Październik 9, 2018 Problem nie wynika z działania CH340, ale samego projektu płytki, czyli tego prawie-arduino. Testowałem na dwa sposoby - podłączając analizator logiczny do RX/TX oraz brutalnie zwierając piny 2 i 3 CH340. Jeśli zewrzemy 2 i 3, loopback działa pięknie, na terminalu pojawiają się wysłane znaki i nawet procka nie trzeba resetować - niewiele może popsuć. Okazuje się, że projekt jest dość ciekawy - szeregowo z RX oraz TX są podłączone rezystory 1k - to w sumie dobrze, bo nigdy nie wiadomo co użyszkodnik podłączy i zewrze. Z drugiej strony mamy też diody sygnalizujące transmisję - one też mają 1k rezystor oraz podciągnięcie do 5V. Ktoś to sobie policzył i mu wyszło, że taki dzielnik (dwa rezystory i LED) zadziała. Niestety jak robimy loopbacka, to mamy dwie diody równolegle i już przestaje działać. Wniosek jest taki, że trzeba czytać schemat płytki, sama komunikacja powinna działać - a jeśli nie to najlepiej wywalić diody lub rezystory. No chyba że chcemy się loopbackiem bawić, a wtedy najlepiej zwierać piny 2 i 3. 2 Cytuj Link do komentarza Share on other sites More sharing options...
kaczakat Październik 9, 2018 Udostępnij Październik 9, 2018 Dzięki za wyjaśnienie efektu, wylutowywać raczej nic nie trzeba, chyba że komuś zależy na pętli. Cytuj Link do komentarza Share on other sites More sharing options...
Kucharskov Październik 9, 2018 Autor tematu Udostępnij Październik 9, 2018 (edytowany) Moje wnioski, że "nie działa" wynikają z tego, że potrzebuję konwertera do wgrania bootloadera na płytkę BluePill z STM32F103 na pokładzie. Podpinam poprawnie zasilanie oraz RX i TX Arduino-Konwertera do STM32. Niestety program firmy STMicroelectronics - Flash Loader Demonstrator nie umie poprzez taki Arduino-Konwerer nawiązać połączenia z płytką pomimo poprawnego podpięcia i odpowiedniego poustawiania zworek. Widzę, że temat dla Was ciekawy, to może wspólnymi siłami udałoby się wgrać bootloader do tego STMowego ustrojstwa? Edit @Elvis ma przeświętą rację - zwarłem na prędce 2 i 3 pin układu opisanego na płytce jako CH340G i znaki zaczęły pojawiać się na konsoli! Edytowano Październik 9, 2018 przez Kucharskov Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Październik 9, 2018 Udostępnij Październik 9, 2018 To może pytanie pomocnicze - jakie napięcia pojawiają się na tym Arduino-konwerterze, a jakie wykorzystuje STM32? Cytuj Link do komentarza Share on other sites More sharing options...
Kucharskov Październik 9, 2018 Autor tematu Udostępnij Październik 9, 2018 Nie jestem orłem z elektroniki ale zmierzyłem napięcie RX - GND i TX - GND i są w okolicach 4.9 - 4.7 V. Kontroler zaś zgodnie z opisem dostępnym na obrazku pokazuje, że piny RX i TX są "5V tolerant" - PA9 i PA10. Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Październik 9, 2018 Udostępnij Październik 9, 2018 Fakt, może to była zła podpowiedź 🙂 W każdym razie widać, że dzielniki przy diodach były policzone na określone warunki pracy - stąd moje pierwsze skojarzenie, skoro 3.3V to może dzielnik już nie działa poprawnie. Cytuj Link do komentarza Share on other sites More sharing options...
kaczakat Październik 9, 2018 Udostępnij Październik 9, 2018 Co masz na myśli "poprawnie RX i TX"? Czytałeś co pisałem wcześniej o RX-RX? Pamiętasz o wspólnej masie? Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!