Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Praca Inżynier Elektronik
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Własna prosta niezawodna przejściówka USB-RS232 (AVR)

mirekk36 02 Sty 2010 18:25 225244 449
  • #361 02 Sty 2010 18:25
    mirekk36
    Poziom 42  

    polprzewodnikowy napisał:
    A mnie dziwi dlaczego nikt nie robi przejściówek na PL2303.


    1. bo są ciężko dostępne
    2. bo to taka trochę "bida wersja" ;) scalaka FT232RL
    3. bp FT232RL zakupisz bez problemu wszędzie i w miarę tanio
    4. bo są lepsze drivery
    5. bo FT232RL można wykorzystać także do całkiem innych celów niż przejściówka RS232/USB
    6. bo mają FT232RL mają lepiej przemyślane rozwiązania jeśli chodzi o zasilanie
    7. bo FT232RL mają wbudowany EEPROM i można go spokojnie rekonfigurować

    itd
    itd

    a tak na poważnie to też bym może i czasem użył PL2303 - ale zawsze jak kiedyś próbowałem go poszukać gdzieś w sprzedaży to była totalna lipa

  • Praca InĹźynier Elektronik
  • #362 02 Sty 2010 18:45
    polprzewodnikowy
    Poziom 26  

    Tego PL2303 łatwo można znaleźć w kablach do komórek na USB. A tak przy okazji, czy układy FT232 i PL2303 współpracują z każdym urządzeniem na RS-232? Czy wszystkie piny tak samo działają jak w wbudowanym RS-232?

  • Praca InĹźynier Elektronik
  • #363 02 Sty 2010 18:59
    mirekk36
    Poziom 42  

    polprzewodnikowy napisał:
    Tego PL2303 łatwo można znaleźć w kablach do komórek na USB.


    a co to ma wspólnego z chęcią zakupu do serii urządzeń zawsze takiego samego sterownika/przejściówki?

    a co to ma wspólnego z nowymi nieużywanymi układami, które łatwo można gdzieś wlutować?

    Ty mówisz o jakimś tam odzysku tych scalaków z jakichś tam kabelków. Raz ci się trafi w takim kabelku taki scalak a raz inny, raz uda się go ładnie odlutować a czasem się uszkodzi przy demontażu - więc to jest zabawa w celu zrobienia sobie jakiejś jednej tam przejściówki do własnych celów. Reasumując jeśli potrzebuję zrobić choćby 10 własnych urządzeń a potem ew jeszcze kolejnych 10??? to co? zaprojektuję płytki pod PL2303 i będę polował na odpowiednie kabelki. Nawet jak trafię 10szt to za kilka miesięcy gdy kolejne osoby zgłoszą się po urządzenie to nagle okaże się , że teraz nie można trafić na te same kabelki i LIPA ;)


    polprzewodnikowy napisał:

    A tak przy okazji, czy układy FT232 i PL2303 współpracują z każdym urządzeniem na RS-232? Czy wszystkie piny tak samo działają jak w wbudowanym RS-232?


    Jeśli chodzi o FT232 - to możesz być pewien, że zawsze ale to zawsze będzie działał ładnie i zawsze w 100% zgodnie ze standardem RS232 (choć podejrzewam że te PL2303 podobnie - tyle że jak sobie zajrzysz w notę FT232 to zobaczysz że poza wszystkimi sygnałami potrzebnymi dla pełnego RS232 masz jeszcze ileś pinów, które możesz wykorzystać na zasadzie własnego widzi-mi-się

  • #364 02 Sty 2010 19:38
    SunRiver
    Poziom 13  

    Tak FT232 to fajny chip pod wzgledem pełnego suportu RS232 i wielu innych ale to polecam w nocie poczytać,

    Co do PL2303 jest spory problem czesto nie działaja prawidłowo brak powtarzalnosci i tyle wersji aplikacyjnych ilu chińczyków szkoda czasu na zastanawianie sie czy ta konkretna partia bedzie działać czy nie, ofszem trai sie czasem doibra przejściówka na PL2303 ale z wyższej półki , tymczasem FT232 jest dostepny łatwo i bez problemu ma dobry sterownik , oprogramowanie MProg pozwala na łatwe zarzadzanie układem i dodatkowymi portami
    Musze sie postarac by w szufladze zawsze sie znalazło parę sztuk , podobnie jak ATMeg różnynych :)


    Narazie jednak myślę że tu niema sensu sie spierac FT232 czy PL2303 bo temat jest o USB-UART na AVR , a skoro projekt nie jest może doskonały , ale do prostych zastosowań potrzebujących tylko lini RX/TX sie nadaje i zdaje egzamin , można zmontować szybko i dokonać zmian wiec Chwała dla Autora TEMATU za wykopanie projektu w tej górze śmieci jaką teraz stał sie internet i jego wykonanie , przetestowanie i przedstawienie innym .

    AMEN

  • #365 04 Cze 2010 14:21
    _jacenty_
    Poziom 10  

    Witam.
    Polutowałem ową przejściówkę na ATMega16. Załadowałem soft. System wykrył urządzenie komunikacyje, zainstalowałem defaultowy sterownik w/g dołączonego pliku .inf ale ..... sam RS232 nie działa.
    API "windziane" do poru szeregowego zwraca , że wszystko wykonuje się ok tzn. np. otwarcie portu, ustawienie parametrów transmisji i wysyłka danych ale nic sie nie dzieje na lini TX procka. Zrobiłem pętlę programową na PC wysyłajacą 1 bajt, czekanie 1ms i znowu jeden bajt itd. Nic jednak na wyjściu TX nie ma tzn. nie badałm na razie oscyloskopem ale mam na tyle dobry mierni, że to powinno byc widoczne przez zmianę średniego napięcia na pinie TX. Tak zawsze robiłem i to działało. Co może być przyczyną, że RS232 świetnie działa ale tylko "wewnętrznie" ?

    Pozdr.
    Jacek

  • Praca InĹźynier Elektronik
  • #366 04 Cze 2010 14:37
    prokopcio
    Poziom 29  

    spróbuj odpalić terminala windows (sprawdzone) i wyłącz w konfiguracji sterowanie przepływem. Jak zewrzesz RX z TX to powinieneś na ekranie terminala widzieć znaki pisane z klawiatury. Oczywiście po uprzednim kliknięciu "połącz" :) powinno działać. z drogiej strony jak ja się bawiłem to nie było wsadu do atmegi16 tylko atmegi8 - nie jestem pewien czy to bez znaczenia.

  • #367 04 Cze 2010 19:13
    _jacenty_
    Poziom 10  

    prokopcio napisał:
    spróbuj odpalić terminala windows (sprawdzone) i wyłącz w konfiguracji sterowanie przepływem. Jak zewrzesz RX z TX to powinieneś na ekranie terminala widzieć znaki pisane z klawiatury. Oczywiście po uprzednim kliknięciu "połącz" :) powinno działać. z drogiej strony jak ja się bawiłem to nie było wsadu do atmegi16 tylko atmegi8 - nie jestem pewien czy to bez znaczenia.

    Cześć.
    ATmega16 , z punktu widzenia softu nie rózni się od ATMega8 ( hardwareowo jest bardziej wypasiony a dzięki dodatkowym nóżkom można z tego skorzystać ) gdyż kluczowe piny są takie same i znacza to samo czyli :
    PD0 to RXD w obu prockach
    PD1 to TXd w obu prockach
    PD2 to INT0 w obu prockach
    PD3 to INT1 w obu prockach.

    Oczywiście zasilanie i kwarc musiałem podpiąć inaczej. O tym , że USB dział ajka powinien świadczy to , że się zainstalował i tak naprawdę przyjmuje komendy API pory szeregowego dla windows i co ciekawe zwraca ok. Nic się nie dzieje na liniach ( lini ) serialowej czyli TXD. Test robiłem oczywiście w zapętleniu i o ile wysyłka czyli z poziomu API windows :

    WriteFile( hPort ,wBuffer, 1 ,&IOResult,NULL);

    zwraca ok ,

    to niestety ja nic nie widzę na lini TXD a próba odczytu lini RXD :

    ReadFile( hPort,rBuffer, 1, &IOResult,NULL);

    kończy się time-outem.

    Wydaje się , że coś jest nie tak z wewnętrzną obsługą portu szeregowego w ATMega.
    A jaki program terminala na XP miałeś na myśli ?

    Pozdr.
    Jacek

  • #368 04 Cze 2010 20:04
    prokopcio
    Poziom 29  

    coś kolega kit ciśnie ... jak się nie różnią z punktu widzenia softu ? Choćby adresy przerwań (w tym transmisji układu USART czyli rs232) są inne, i wiele innych rzeczy. Przemyśl to. Możliwe oczywiście, że to nie będzie miało wpływu akurat na Twój przypadek jednak stwierdzenie, że są to identyczne ukłądy z punktu widzenia softu - nie jest prawdziwe.

    ps. Tak na myśli miałem HyperTerminal w windows XP lub dowolny inny... ważne aby wyłączyć sterowanie przepływem.

    Hyper Terminal standardowo w XP jest w start->aplikacje->komunikacja

  • #369 04 Cze 2010 20:13
    mirekk36
    Poziom 42  

    _jacenty_ napisał:
    ATmega16 , z punktu widzenia softu nie rózni się od ATMega8 ( hardwareowo jest bardziej wypasiony a dzięki dodatkowym nóżkom można z tego skorzystać ) gdyż kluczowe piny są takie same i znacza to samo czyli :
    PD0 to RXD w obu prockach
    PD1 to TXd w obu prockach
    PD2 to INT0 w obu prockach
    PD3 to INT1 w obu prockach.


    Nieeee, noo, nieee - wgrywanie wsadu z jednego procka do drugiego jak popadnie to już masakra ;) ..... Skąd kolega, takie teorie wyssał ?

    Toż wystarczy sobie spojrzeć chociażby na adres wektora przerwań odpowiedzialnych za UART ale nie tylko i wszystko staje się jasne!!! że różnice pomiędzy prockami są ogromne jeśli chodzi o przenoszenie wsadu ot tak wprost.

    Chyba się coś koledze pomyliło z łatwością jeśli chodzi o przenośność kodu pomiędzy prockami AVR ...... ALE gdy się ma kod źródłowy i można sobie przekompilować.

    Jak już - to można byłoby próbować wsad z procka ATmega16 odpalać na ATmega32 - bo te są rzeczywiście podobne.... ale nie na innym - tym bardziej tak różniącym się pinologią.

    Gdyby tak było jak piszesz to co za problem byłby wgrać ten twój wsad do np ATmega128 - przecież to jeszcze bardziej wypasiony AVR - i co z tego???

    Więc zamiast próbować nasłuchiwać oscyloskopem czegokolwiek na wyjściach TxD - zamień procki albo przekompiluj źródła.

  • #370 04 Cze 2010 20:19
    _jacenty_
    Poziom 10  

    prokopcio napisał:
    coś kolega kit ciśnie ... jak się nie różnią z punktu widzenia softu ? Choćby adresy przerwań (w tym transmisji układu USART czyli rs232) są inne, i wiele innych rzeczy. Przemyśl to. Możliwe oczywiście, że to nie będzie miało wpływu akurat na Twój przypadek jednak stwierdzenie, że są to identyczne ukłądy z punktu widzenia softu - nie jest prawdziwe.

    To był oczywiście skrót myślowy dostyczący tylko tego przypadku chociaż przyznaję nie sprawdziłem jak to się ma z przerwaniami od USART'a chociaż o ile zdążyłem się zorientować to wysyłka po serialu nie jest na przerwaniach a odbiór zależy od conditionala USE_UART_RXD_INTERRUPT a ten też nie jest aktywny czyli wyglada na to , że USART nie używa przerwań. Jeszcze podrążę.
    Dzięki za krytykę :)

    Pozdr.
    Jacek

    Dodano po 4 [minuty]:

    [quote="mirekk36"]
    _jacenty_ napisał:

    Więc zamiast próbować nasłuchiwać oscyloskopem czegokolwiek na wyjściach TxD - zamień procki albo przekompiluj źródła.


    Hej.
    No chyba mnie nie doceniasz :)
    Oczywiście chodzi u mnie przekompilowana wersja
    A co do przerwań od USARTA to może się mylę ale standardowa konfiguracja raczej ich nie używa bo nie widzę aby uart-asm.s miał zdefiniowaną obsługę od przerwania z nadajnika natomiast odbiór na przrwaniach zalaezy zdaje się od flagi USE_UART_RXD_INTERRUPT a ona nie jest defaultowo aktywna.

    Pozdr.
    Jacek

  • #371 04 Cze 2010 20:32
    mirekk36
    Poziom 42  

    _jacenty_ ---> nie, no nie chodzi o to, że nie doceniam, bo najpierw napisałeś, że po prostu wgrałeś wsad do ATmega16. Później dopiero zobaczyłem, że piszesz iż widzisz, że obsługa RS232 nie korzysta z przerwań ;) ... no to już musisz zaglądać w źródła a nie w HEX'a .....

    Nic nie napisałeś na początku, że właśnie kompilowałeś żródła - stąd to nieporozumienie.

    Z drugiej strony - to bardziej powinieneś otworzyć nowy wątek z pytaniem czy ktoś próbował bawić się z przenoszeniem takiego kodu ;) .... bo to już czysta zabawa i dłubanina. Ja nawet nie pokusiłem się do grzebania w źródłach bo i tak - tego typu przejściówka nawet na właściwym procku bez kombinacji pozostawia wiele do życzenia w porównaniu do układu FT232RL .... o czym już niejednokrotnie pisałem w tym temacie.

    I niejednokrotnie odżegnywałem się nogami i rękami od tworzenia takich przejściówek, które nie dość że felerne jeśli chodzi o transmisję RS232 to jeszcze kicha z driverami itp itp itp

    Zaglądałeś kiedyś do noty aplikacyjnej FT232RL ???? - toż ten układ nie wymaga ŻADNYCH elementów zewnętrznych poza gniazdem USB i kondensatorkiem filtrującycm a masz w TTL'u wszystkie sygnały w RS232, działa super, bezbłędnie, drivery zawsze OK, do każdego systemu - no aż szkoda się wciąż powtarzać. Nie wspomnę o cenie takiego układu - grosze.

  • #372 04 Cze 2010 20:39
    _jacenty_
    Poziom 10  

    mirekk36 napisał:
    Zaglądałeś kiedyś do noty aplikacyjnej FT232RL ???? - toż ten układ nie wymaga ŻADNYCH elementów zewnętrznych poza gniazdem USB i kondensatorkiem filtrującycm a masz w TTL'u wszystkie sygnały w RS232, działa super, bezbłędnie, drivery zawsze OK, do każdego systemu - no aż szkoda się wciąż powtarzać. Nie wspomnę o cenie takiego układu - grosze.

    Wiem , wiem ale ja już w zasadzie miałem części a przejściówki tej potrzebuję w sporadycznych i raczej specyficznych przypadkach, więc nie musi byc jakaś wypaśna. Ale jak się wkurzę....to zrobię na FTxxxx pod wraunikem , że będą go mieli u nas w sklepie.

    Pozdr.
    Jacek

  • #373 04 Cze 2010 20:52
    mirekk36
    Poziom 42  

    _jacenty_ napisał:

    Wiem , wiem ale ja już w zasadzie miałem części a przejściówki tej potrzebuję w sporadycznych i raczej specyficznych przypadkach, więc nie musi byc jakaś wypaśna.


    No widzisz, to wg mnie tym bardziej przydałaby ci się przejściówka, która zawsze w różnych warunkach tak samo będzie działać, a nie za każdym razem szukanie dziury tzn co się dzieje, że układ nie działa hmm a może drivery, a może to? a może tamto???

    Wcale nie chodzi o wypas tego scalaczka - tylko właśnie o niezawodność w każdych warunkach i 100% powtarzalność jeśli chodzi o uruchomienia. Więc polecam ci się choć trochę "wkurzyć" ;) i to zrobić choć w sklepach to rzadko mają takie scalaczki. Za to w necie prawie wszędzie można go kupić.

    (jeszcze raz cię "zanęcę" ;) wyobraź sobie - cały układ to tylko scalak i gniazdo USB - a zawsze działa ;) )

  • #374 04 Cze 2010 21:08
    _jacenty_
    Poziom 10  

    [quote="mirekk36"]

    _jacenty_ napisał:

    (jeszcze raz cię "zanęcę" ;) wyobraź sobie - cały układ to tylko scalak i gniazdo USB - a zawsze działa ;) )

    No wiem, notę aplikacyjną znam :) .
    W sumie całe moje "pudełeczko" ze złączkami i max232 na pokładzie jest gotowe a zamiast ATmega16 mógłbym po prostu w odpowiednie "dziurki" podstawki podłączyć nóżki FT232xxx a co się nie da to podrucikować. Mało roboty to prawda tylko ja lubie dłubać a tutaj po raz pierwszy w celach poznawczych ( software'owy USB ) podrutowałęm ten układ.
    Poczekaj no , jeszcze go zrobię tak by działał :)))
    Mam w sumie jedno urządzenie własnej konstrukcji gdzie firmware upgrade'uje przez RS232 a że nie chce mi się włączać hałaśliwej "krowy " czyli kompa stacjonarnego to pomyślałem , że użyję laptopa. Stąd cały "zamęt"
    Przy okazji. Patrzę w te źródła i mam mieszane uczucia. Czy kompilowałeś u siebie pod atmega8 czy użyłeś gotowego hex'a z pakietu ?

    Jacek

  • #375 04 Cze 2010 22:07
    mirekk36
    Poziom 42  

    Nie, nie - zdecydowanie nie chciało mi się grzebać w tych źródłach ;) - korzystałem już z gotowego wsadu kiedyś gdy to robiłem.

  • #376 05 Cze 2010 08:13
    prokopcio
    Poziom 29  

    ja grzebałem (bez znajomości C ) bo potrzebowałem sterować kierunkiem konwertera RS485, musiałbym odgrzebać temat ale z tego co sobie przypominam to jest tam pełna obsługa przerwaniowa, nie wyobrażam sobie zbytnio oczekiwania w pętli na nadejście znaku czy oczekiwanie w pętli na jego wysłanie aby móc wysłać następny.

    Co do wypowiedzi mirkka36 to się zgodzę częściowo z tym FT232RL w w porównaniu do CDC na atmedze8.

    1. + Wyciągają o wiele większe prędkości transmisji.
    2. + Nie wymaga zewnętrznego rezonatora
    3. + "Pełny" port UART (lub nawet więcej)
    4. = niezawodność działania porównywalna przy prędkościach do 56k
    5. - do każdego nowo przyłączanego scalaka sę wykonywane nowe wpisy do rejestru (każdy jest na nowo wykrywany i instalowany przez system automatycznie) - mam już ich ponad 200
    6. - oczywiście cena - około 3-4 razy wyższa co przy dużej ilości może mieć znaczenie
    7. - brak możliwości rozbudowania/modyfikacji programu.

    Dodano po 11 [minuty]:

    zapomniałem dodać, że to są doświadczenia z dawniejszych lat gdzie cena FT232XX była znacząco wyższa - obecnie w swoich układach stosuję tylko i wyłącznie FT232RL więc to nie jest "reklama CDC" spotykana często przez osoby, które chwalą tylko to, czego używają a innych rzeczy nie widziały na oczy :) gdyby nie ograniczona prędkość transmisji to pewnie nadal używałbym CDC ponieważ nie miałem z nimi problemów (poza zakłóceniami które przez kabel ekranowany usb made in china zbierał również FTDI), zawsze kilka złotówek w kieszeni.

  • #377 06 Cze 2010 12:23
    _jacenty_
    Poziom 10  

    Witam.
    Sukces został osiągnięty ale niestety na razie zasługi mojej w tym nie ma :(
    Ze strony http://www.recursion.jp/avrcdc/download.html
    ściągnąłęm najnowszy driver ( niestety jest dodatkowy driver lowcdc.sys oprócz dostępnego w systemie na dzień dobry usbser.sys ) oraz co mnie ucieszyło gotowy plik .hex dla ATMega16. Poszło od razu. Chodzi nawet dla 115200 czyli tak jak było mi potrzebne. Coś nie za bardzo działają time-out'y ustawiane dla portu szeregowego. Czy ktoś mógłby to potwierdzić ? Chodzi mi o to, że po wysyłce paczki do urządzenia muszę odczekać robiąc systemowego sleep'a żeby potem odczytać odpowiedź od urządzenia bo inaczej zwracany mam błąd , że nic się nie odczytało. Ten czas czekania dobrałęm eksperymentalnie i wygląda na to, że musi byc nieco większy niż czas wysyłki całej paczki. W moim przypadku paczka miała 256 bajtów, 115200, 1 bit stopu, bez parzystości. Daje to cazs ponad 20ms. Mój time-out ustawiłem na 30ms.
    Przy poprawnie działających time-outach na porcie szeregowym załatwia się czekanie funkcją systemową SetCommTimeouts(...). Wygląda na to, że nie działa.

    Jacek

  • #378 06 Cze 2010 15:14
    prokopcio
    Poziom 29  

    Jak to niema Twojej zasługi ?
    Czyżby ktoś uruchomił ten układ za Ciebie ? Chyba nie.

    prędkość 115200 działa wyśmienicie i bezbłędnie. Powyżej jest już problem ze względu na niedopasowanie prędkości wynikającej z zastosowanego kwarcu - za to jeśli w urządzeniu komunikacyjnym zastosujesz taki sam kwarc (błędy będą identyczne i się zniwelują do 0% ) lub transmisja przebiegnie pomiędzy dwoma identycznymi przejściówkami (pomiędzy dwoma komputerami) to działa również z prędkością 1M !!!

  • #379 06 Cze 2010 18:47
    _jacenty_
    Poziom 10  

    prokopcio napisał:
    Jak to niema Twojej zasługi ?
    Czyżby ktoś uruchomił ten układ za Ciebie ? Chyba nie.

    No tak, z tego punktu widzenia to faktycznie udowodniłem , że to działa :D
    Swoja drogą ciekawe dlaczego wersja pierwotna czyli przytoczona przez autora wątku z 2007 roku nie chce poprawnie działać z ATMega16 ? W źródłach i tamtych i tych najświeższych nie widzę rozróżnienia między różnymi "ATMegami" i tylko przełącznik dla kompilatora 'mmcu = atmega16' obecny w pliku Makefile wersji najnowszej pozwala poprawnie skompilować źródła pod ten procesor ale to tylko tyle i nic więcej. Tak zrobiłem i dla starych źródeł i samo USB wydaje się chodzić ok natomiast nie działa część odpowiedzialna za RS232.
    Czy jest możliwe aby na moim kompie nie poszła rówież starsza wersja pod ATMega8 ?
    Ciekawostką jest to, że po zainstalowaniu sterownika do starej wersji ( dla nowej nie sprawdzałem bo działa ) i wypięciu konwertera , można spokojnie otworzyć port szeregowy i nawet coś wysłać. I wszystko bez błędu z systemu !

    Pozdr.
    Jacek

  • #380 20 Cze 2010 18:27
    darres1
    Poziom 12  

    Do mirekk36,
    Czy atmega sterująca wyświetlaczem jest taktowana zewnętrznym kwarcem ?
    Pytam o to, ponieważ w moim układzie transmisja działa bez błędów, tylko z PC, a gdy wysyłam coś na terminal, to są błędy ???

  • #381 09 Paź 2010 16:54
    piotrek700
    Poziom 13  

    Zbudowałem tą przejściówkę i pojawił się pewien problem, gdy ustawiam prędkość transmisji na amtedze8 na 9600 to poprawny dobór w terminalu mam na Baud 600. Zaznaczam że w przejściówce:Atmega88, 12Mhz kwarc, dzielnik zegara wyłączony. W nadajniku Atmega8, kwarc 16Mhz. Poniżej fragment kodu, inicjalizacja i definicje z nadajnika:

    Code:

    #define F_CPU 16000000
    #define RS_BAUD 9600
    #define RS_UBRR F_CPU / 16 / RS_BAUD - 1

    void uart_init(unsigned int ubrr){
           
       UBRRH = (unsigned char)(ubrr>>8);
       UBRRL = (unsigned char)ubrr;
       UCSRB |= (1 << TXEN)|(1 << RXEN);      // Włączenie nadajnika i odbiornika
       UCSRC  = (1 << UCSZ0) | (1 << UCSZ1);  //Format ramki 8 bitów danych, 1 bit stopu, brak parzystości
    }

    Czy ktoś wie co może być nie tak?

  • #382 09 Paź 2010 19:09
    prokopcio
    Poziom 29  

    #define RS_UBRR F_CPU / 16 / RS_BAUD - 1

    masz w tej linijce jasno /16 ? Właśnie tym dzielisz 9600 / 16 = 600. Wszystko się zgadza. Jak chcesz 9600 to nie dziel przez 16 !

  • #383 23 Paź 2010 16:27
    KD93
    Poziom 12  

    Witam. Zbudowałem sobie przejściówkę na Attiny45 wg aktualnego schematu na stronie http://www.recursion.jp/avrcdc/.. Procesor zaprogramowałem przez ISP Programer, pozmieniałem wszystkie fuse bity, zostawiłem tylko domyślne taktowanie 8MHz, ale wyłączyłem dzielenie przez 8. Próbuję odpalić na Windows 2000 i XP, na 2000 od razu po podłączeniu daje komunikat że brak sterownika funkcji, na XP że nieznane urządzenie. W zasadzie mój problem wygląda tak samo jak tutaj. Próbowałem zamieniać miejscami linie danych, na procesorze jest napięcie 3,3V.

    Przypuszczam, że jest to efekt mojej niezbyt dobrej znajomości angielskiego i nie zrozumiałem czegoś z instrukcji. Zastanawia mnie jedna rzecz dotycząca fuse bitów. W pliku Readme pisze:

    Cytat:

    Fuse bits

    ATtiny45/85 FF CE-F1

    SPIEN=0, WDTON=0, CKOPT(mega8)=0,
    Crystal: Ex.8MHz/PLL(45,461), BOD: 1.8-2.7V


    Po takim ustawieniu fuse bitów włączam zewnętrzne taktowanie, a przecież na schemacie nie ma zewnętrznego rezonatora, tam gdzie się go podłącza są podłączone linie D+ i D-. Czy poza wgraniem programu i ustawieniem fuse bitów powinienem jeszcze coś zrobić? Czy budował ktoś tą przejściówkę przy użyciu aktualnych wsadów i schematów? Czy może to być wina za długiego przewodu do USB (chociaż USB ASP na nim działał prawidłowo)?

  • #384 21 Gru 2010 21:41
    SunRiver
    Poziom 13  

    W przypadku ATiny nie ma kwarcu bo nie ma gdzie już go podłaczyć , tez miałem problem z tą wersja CDC dlatego ostatecznie zostało wykonanych pare szt z M8 w TQFP (chodziło o rozmiary) a M8 smd mam całkiem spore zapasy :)

    Jednak teraz chetniej używam układu MCP2200 f-my Microchip , to taki odpowiednik FT232RL tyle że wymaga kwarcu do działania , ale mam ich stadko i zawsze działaja bezbłędnie , Mirek pewnie powie że się uparłem z tym Microchipem :) Może i Tak , a może i nie - FT232 jes świetny też zawsze mam pod ręka parę szt , ale dla MCP2200 mam własnego VID-a i PID-a , nadanego przez Microchipa co jest dla mnie wygodne :)

    Wspomniałem o MCP2200 jako alternatywie dla FT232 bo parametry takie same

    Charakterystyka MCP2200-i so

    - Obsługa Full-Speed USB (12 Mb / s)
    - Implementacja protokołu USB Composite Device Device CDC (łączności i sterowania). - Klasa 02h - CDC USB-UART komunikacji i I / O - 03h Class - HID: I / O kontrola dostępu, EEPROM i wstępnej konfiguracji
    -128 bajtowy bufor do obsługi przesyłu danych w każdej prędkości transmisji UART
    - W pełni konfigurowalny VID i PID
    - Bus Powered lub Self Powered USB
    - Sterowniki Virtual Com Port (VCP) - Windows XP (SP2 lub nowszy) / Vista / 7
    - Darmowe narzędzie konfiguracji
    - Obsługa prędkości transmisji: 300 - 1000k (baud)
    - Sprzętowe sterowanie przepływem
    - Opcja polaryzacji synałów UART
    - 8 uniwersalnych sygnałów I/O
    - 256 bajtów wewnętrznej pamięci EEPROM
    - Wyjścia LED (TxLED i RxLED)
    - Wyjście SSPND
    - Wyjście ULOAD (wskazuje na wniosek obecnych było dozwolone).
    - Napięcie pracy: 3.0 - 5.5 V
    - Oscylator 12 MHz
    - ESD > 4kV HBM
    - Przemysłowa Temperatura pracy: -40C do +85C

  • #385 21 Gru 2010 23:31
    mirekk36
    Poziom 42  

    SunRiver napisał:
    Mirek pewnie powie że się uparłem z tym Microchipem :)


    Wcale tak nie powie. Ja jedynie się upieram w tym moim długaśnym już temacie tylko przy jednym ;) że z uwagi na takie układy jak FT232RL ale też na te o których piszesz Microchipa i są jeszcze te PLxxxx (nie pamiętam symbolu) - nie polecam budowania takich przejściówek CDC na AVR i to już od dawna ;)

    Toż takie układziki w tym ten który opisujesz są milion razy bardziej niezawodne nie mówiąc o prostocie wykonania i mniejszym nakładzie pracy nawet jeśli trzeba kwarc jakiś dołożyć ;)

    Wszystko! tylko proszę już - wszystko tylko nie przejściówki na avr ;)

  • #386 22 Gru 2010 21:27
    SunRiver
    Poziom 13  

    W sumie masz całkowitą racje Mirku swoja wykonałem dlatego że akurat avrów zawsze trochę było pod ręka , obecnie w zaciszu moich szufladek zawsze znajdę jakieś parę szt FT232RL i MCP2200 są wygodniejsze mniejsze i zawsze działają poprawnie dodatkowo dają pełny port..

    Dlatego dopowiem tylko tyle ...

    Nie popełniajcie CDC na AVR uwolnijcie je do innych projektów ... jak juz chcecie to budujcie CDC na ARMACH :) żartowałem

    polecam zarówno FT232RL / BL ja też MCP2200 cena jest podobna do megi8 a sporo dostajecie w zamian miast problemów i małej szybkości działania o stabilności nie wspomnę :)

    Dla zainteresowanych dokumentacja FT232RL oraz MCP2200

  • #387 06 Lut 2011 17:55
    mihauecheq
    Poziom 9  

    acid12 napisał:

    Prawde mowiąc to wiele ułatwi, bo mam w planach zrobić
    na jednej Atmedze8 zarówno przejściówkę jak i programator USBasp, wybór zworką bądź kluczem, bo wkońcu flasha jest dużo, wolne port są, a jeden program nie przeszkadzałby drugiemu bo byłby w ogóle nie wykonywany w trakcie gdy ten pierwszy śmiga, jedynie jeden warunek IF, który kod ma się uruchomić, tylko muszę się wgryźć troche w kod tej przejściówki no i jakoś to rozsądnie rozplanować na płytce, a czasu tak brakuje :(


    Bardzo ciekawy pomysł. Może ktoś by się podjął próby zintegrowania programu USBasp (http://www.fischl.de/usbasp/) i przejściówki pana Tamura (http://www.recursion.jp/avrcdc/download.html , CDC-232) w jeden program do Atmega8?
    Sprzętowo wystarczy dodać zworkę do przełączania trybu i zwarcie pinów PD3,PB0.

    Sam nie potrafię dobrze programować, więc zajeło by mi to wieki. Fajnie by było jak ktoś "ogarnięty" w temacie sprawdził czy taka implementacja jest możliwa, np. ze względu na rozmiar itp.

    Pozdrawiam
    Michał

  • #388 19 Mar 2011 21:51
    strazak_1
    Poziom 2  

    Witam
    Poproszę o schemat takiej przejściówki to sobie ja wykonam i sposób jej uruchomienia ponieważ nie jestem aż takim "ogarniaczem" jak wy.

  • #389 19 Mar 2011 22:24
    mirekk36
    Poziom 42  

    strazak_1 napisał:
    Witam
    Poproszę o schemat takiej przejściówki to sobie ja wykonam i sposób jej uruchomienia ponieważ nie jestem aż takim "ogarniaczem" jak wy.


    Zajrzyj sobie do noty PDF układu FT232RL - tam masz dokładny schemat. Ogarniesz.

  • #390 22 Mar 2011 19:54
    tomo321
    Poziom 1  

    Witam.

    Mam pytanie. Czy może ktoś z Forumowiczów wie czy jest możliwa integracja oprogramowania CDC-232 oraz CDC-IO Pana Tamury? Chodzi mi o to czy jest możliwość uzyskania działającego konwertera USB-RS jednocześnie z dostępem do pozostałych portów przy użyciu uC ATmega8?

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo