Elektroda.pl
Elektroda.pl
X
Elektroda.pl
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Konwerter USB <-> RS-232 (Wirtualny RS-232)

mirley 08 Mar 2009 19:34 17934 31
  • Konwerter USB <-> RS-232 (Wirtualny RS-232)

    Witam

    Chciałbym przedstawić konwerter USB <-> RS-232 zbudowany na mikrokontrolerze ATTiny2313 lub ATTiny45. Projekt powstał na podstawie opracowania ze strony http://www.recursion.jp/avrcdc/, skąd pochodzą oprogramowanie dla mikrokontrolera i sterowniki portu wirtualnego dla systemu Windows. Ta prosta przejściówka wprowadzi możliwość komunikacji za pomocą portu USB, jednocześnie od strony systemu mikroprocesorowego będzie widziana dalej jako RS-232. Konwerter z powodzeniem pracuje w systemie Windows XP.

    Schemat pierwszej wersji:
    Konwerter USB <-> RS-232 (Wirtualny RS-232)

    Oraz jej wykonanie:
    Konwerter USB <-> RS-232 (Wirtualny RS-232)

    Schemat wersji Mini:
    Konwerter USB <-> RS-232 (Wirtualny RS-232)

    Oraz jej wykonanie:
    Konwerter USB <-> RS-232 (Wirtualny RS-232)


    W projekcie przewidziałem jeszcze wersję Mikro na mikrokontrolerze ATTiny45, jednak nie mogę go aktualnie nigdzie dostać, więc do trzeciej wersji jest narazie tylko projekt i płytka. Dokładnie nie opisuję tego układu bo wszystko już dokładnie opisałem na stronie: http://mirley.firlej.org/wirtualny_port_rs232

    Pomysł ze strony http://www.recursion.jp/avrcdc/ był już wielokrotnie opisywany na forum, jednak przedstawiam kompletny układ z płytką do Waszej opinii. Układ nie jest rozwiązaniem profesjonalnym ale znakomicie nadaje się do współpracy z mikrokontrolerami. Czasami trzeba wysłać tylko kilka bajtów, w takiej sytuacji prędkość 9600 jest wystarczająca. Koszt układu jest niewielki a w profesjonalnym zastosowaniu zawsze można uzyć układu FTDI lub podobnego.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • PCBway
  • #2
    OldSkull
    Poziom 27  
    Na stronce projektu jest podane, żę osiąga prędkość 38kbps. Sprawdzałeś może samemu do jakich prędkości dochodzi?
  • PCBway
  • #4
    lorak17
    Poziom 15  
    Całkiem ładne wykonanie, szkoda że nie jest to 100% port RS232
    zainstalował bym jeszcze konwerter napięć np: MAX3243E i wyprowadził pozostałe linie sygnałowe, nie było by wtedy problemów ze konwerter z czymś działa a z czymś innym już nie. Tak bywa właśnie z interfejsami VAG na takich 'niekompletnych' przejściówkach.

    Szkoda ze nie wiedziałem o takim projekcie na AVR, sam coś podobnego uruchamiam i swoją przejściówkę oparłem o CP2101 i wspomniany wyżej MAX3243E.

    Jak uruchomię to się pochwalę;)
  • #5
    mirley
    Poziom 17  
    Nie sprawdzałem jaką prędkość wyciąga gdyż używam i będę używał w przyszłości tych przejściówek do prostych układów mikroprocesorowych. Przeważnie potrzebuje wysłać kilka/kilkadziesiąt bajtów na sekundę (konfiguracja urządzenia, odczyt parametrów) więc duża szybkość nie jest mi potrzebna. Wybrałem wersję na ATTiny ze względu na mniejsze rozmiary, a poza tym to moja pierwsza płytka w technologii SMD więc przedstawiam do opinii :)

    Czytałem wcześniej temat https://www.elektroda.pl/rtvforum/topic827115.html . Tam też znalazłem link do orginalnej strony projektu. Na atmega8 i 88 jeszcze nie próbowałem tego zrobić ale pewnie powstanie czwarta wersja :)

    Pozdrawiam
  • #6
    robi667
    Poziom 17  
    Też to cudo zbudowałem kiedyś, piękna sprawa. Wiecie może, czy śmiga prawidłowo pod Vistą?
  • #7
    mirley
    Poziom 17  
    Pod tym adresem znajduje się instrukcja uruchomienia pod Vistą:
    http://www.recursion.jp/avrcdc/lowbulk.html
    Niestety nie mam aktualnie dostępu do tego systemu więc tego nie sprawdzę
  • #8
    eedy
    Poziom 14  
    Witam
    Jeżeli autor ma taką możliwość to proszę o sprawdzenie jak interface zachowuje się z programem flip podczas programowania procesorow np AT89C51RD2
  • #9
    matylda
    Poziom 10  
    Wszystkie tego typu projekty mają jedną wspólną wadę - nie ma (i pewnie nie będzie) dla nich sterowników 64 bitowych. A kto dziś kupi urządzenie którego nie wykorzysta na nowym komputerze ?
  • #11
    markosik20
    Poziom 33  
    robi667 napisał:
    Też to cudo zbudowałem kiedyś, piękna sprawa. Wiecie może, czy śmiga prawidłowo pod Vistą?



    Tak, "śmiga" :wink:.

    matylda napisał:
    Wszystkie tego typu projekty mają jedną wspólną wadę - nie ma (i pewnie nie będzie) dla nich sterowników 64 bitowych. A kto dziś kupi urządzenie którego nie wykorzysta na nowym komputerze ?


    I dlatego dla "64-bitowców" zostają droższe rozwiązania :wink:.
  • #12
    mirley
    Poziom 17  
    Witam

    Dziękuje z informacje odnośnie pracy pod systemem 64-bitowym. Walczyłem długo z modułami pod Archlinux 64 bez żadnego skutku :)
    W takim razie muszę popracować na układem FT232BM i opracować jakiś swój moduł komunikacyjny.
    Ps. Nie wiem czemu nie ma zdjęć, które wczoraj jeszcze były. A może mam coś z przeglądarką :)

    Pozdrawiam
  • #13
    maly_elektronik
    Poziom 23  
    Naprawde rozwiązania tego typu nie działaja na kompach 64 bitowych :?:
    Bo właśnie zbudowałem takie urządzenie w technologii smd i mi nie działa (a z projektu pcb wygląda na to że wszystko powinno być OK):(
  • #14
    mickemaster
    Poziom 27  
    Czy na takiej przejściówce będzie pracował np. X-prog, Si-prog czy JDM ?
  • #15
    mirley
    Poziom 17  
    Witam

    Ten konwerter (przejściówka) symuluje tylko linie danych TxD i Rxd więc nie będzie działać z urządzeniami wykorzystującymi pełny port RS-232. Układ ten znakomicie nadaje się do współpracy z tylko mikrokontrolerami i urządzeniami wykorzystującymi transmisję bez sprzętowej kontroli przepływu danych.
  • #16
    pgoral
    Poziom 25  
    Można dorobić kontrolę sprzętową linii w oprogramowaniu w AVR. Ja tak osobiście do własnego użycia dorabiałem. Ale to będzie taki standardowy RS. Jeżeli jakaś aplikacja używa tych linii w niestandardowy sposób to nie będzie działać - chyba, że timingi nie grają specjalnej roli.
  • #17
    mickemaster
    Poziom 27  
    Dziękuję za rzeczowe wytłumaczenie, choć miałem nadzieję, że bedę mógł pozbyć się com-a :)
  • #18
    pgoral
    Poziom 25  
    Profilic ma bardzo dobry chip do emulacji seriala. Działa z wieloma programami. Ale nie ze wszystkimi.
  • #19
    manekinen
    Poziom 29  
    Na stronie autora Osamu Tamura, na schemacie wersji z tiny2313 są dwie zworki do wyboru prędkości, nie załączone dają właśnie 9600bps. Czemu nie umieściłes tych zworek na swojej płytce? Ładnie by weszły obok złącza programowania, a funkcjonalnośc rośnie.
  • #20
    mirley
    Poziom 17  
    Układ ten projektowałem do współpracy z aktualnie opracowywanym "Mirley Ambilight" i tam wymagane jest przesłanie tylko kilku bajtów na sekundę. Trafne spostrzeżenie odnośnie wyboru prędkości, jak będę drugą wersję płytki projektował to wprowadzę odpowiednie opcje :)
  • #21
    maly.borkowo
    Poziom 15  
    Zastanawia mnie jedno - dlaczego w jednej wersji jest zastosowany MAX232 a w drugiej nie? Skoro nie jest on potrzebny to dlaczego występuje w pierwszej wersji?

    Sorry za ciemnotę :D
  • #22
    mirley
    Poziom 17  
    Wersja mini jest przystosowana typowo do pracy z mikrokontrolerem a ta większa do zastosowania wszędzie tam gdzie urządzenie ma już na wyjściu konwerter napięć i/lub odległość między urządzeniami jest duża

    Pozdrawiam
  • #24
    lok56
    Poziom 12  
    Witam !
    Wykonałem konwerter USB <-> RS-232 zbudowany na mikrokontrolerze ATTiny2313 ,wszystko ok. system go" widzi". problem polega na tym ze został zainstalowany jako
    virtual port COM 12. moje pytanie -czy można to zmienic na
    niższy np.com 4-6.
  • #25
    mirley
    Poziom 17  
    Nigdy nie zastanawiałem się jak to można zmienić. Myślę że zależy to od systemu operacyjnego. U mnie w zależności od portu USB do którego podłącze tą przejściówkę system przypisuje inny numer ale zawsze są to niższe numery 5, 6, 7 ....

    Próbowałeś na innym USB? A tak wogóle to ma to jakieś znaczenie jaki numer został przypisany? Do obsługi transmisji używasz jakiegoś szczególnego programu, który nie obsługuje COM12 ?

    --------
    Dobra już wiem. W menadżerze urządzeń dajesz właściwości portu-> Zakładka ustawienia potu -> Zaawansowane. Tutaj możesz zmienić numer portu na dowolny inny nie będący w użyciu
  • #26
    Yaro126
    Poziom 20  
    Witam!
    Panowie mam taki problem, że jak chcę wysłać jakiś znak w terminalu za pomocą tego konwertera to albo terminal się wiesza albo system wysyła błąd win32... Z zaprogramowaniem attiny 2313 nie było problemu, windows po podłączeniu do usb też go normalnie widzi, sterowniki się poprawnie zainstalowały i już nie wiem co jest grane...
  • #27
    elektronik999
    Poziom 26  
    Witam. A da się tak zrobić zeby sterownik sam się instalował? Takie Plug and Play?
  • #28
    mirley
    Poziom 17  
    Czy chodzi Ci o instalacja na pierwszym razem automatyczną? bo jak juz zainstalujesz sterowniki to potem możesz sobie wpinać do kompa ten konwerter i automatycznie go wykrywa.
  • #29
    elektronik999
    Poziom 26  
    Tak, chodzi mi o automatyczną instalację za pierwszym razem
  • #30
    PF
    Poziom 19  
    Witam !!!

    Czy posiada ktoś schemat albo namiar gdzie znaleźć pełny RS 232 [ ze wszystkimi liniami ]. Pełnią szczęścia było by USB - 232.
    Dzięki za podpowiedź .