logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[C] 1.AVR + 1.ENTHERNET <-> 2.ENTHERNET + 2.AVR

narasta 22 Cze 2009 22:31 2122 14
  • #1 6690662
    narasta
    Poziom 21  
    Witam. Pomyślałem sobie, że chyba już do tego, żeby zająć się modułami ethernet'owymi sterowanymi z AVR'a. Nie wiem jednak od czego zacząć. Od czego Wy zaczynaliście? Jakiego typu moduły były by najlepsze na początek? Da się jakiś moduł zrobić samemu, czy raczej już trzeba raczej kupić gotowce, bo procesory eth są raczej tylko w smd?

    Docelowo chciałbym zrealizować coś w rodzaju mostka pomiędzy dwoma procesorami w taki sposób:
    1.AVR + 1.ENTHERNET <-> 2.ENTHERNET + 2.AVR
  • #2 6692382
    pidpawel
    Poziom 26  
    Pisze się ethernet :) Osobiście twierdzę, że jest to rozwiązanie dość drogie. Jeśli chodzi o komunikację 2 urządzeń to najlepiej przez uart po prostu.
  • #3 6692735
    narasta
    Poziom 21  
    Jak potrafisz zapewnić mi UART na ponad 100 metrów to gratuluję :]
  • Pomocny post
    #4 6692852
    snow
    Poziom 31  
    To zrób na RS485. Wtedy masz Uart nawet na 1km.
  • #5 6693064
    narasta
    Poziom 21  
    Pomyślę nad tym, ale też zależy mi , żeby cały system miał dostęp do neta. Chciałem zrobić zapisywanie niektórych danych na serwerze.

    Mógłbyś coś więcej powiedzieć o realizacji UARTA na rs-485? Ciężko jest używać RS-485 w miejsce RS-232?
  • Pomocny post
    #6 6693194
    snow
    Poziom 31  
    Tak samo jak zwykły uart, dochodzi jedynie sterowanie kierunkiem czy aktualnie dany procesor ma odbierać czy nadawać dane.
  • #7 6693293
    irutkows
    Poziom 13  
    narasta napisał:
    Pomyślałem sobie, że chyba już do tego, żeby zająć się modułami ethernet'owymi sterowanymi z AVR'a.


    Może jednak lepiej na ARMach?
  • #8 6693672
    narasta
    Poziom 21  
    Raczej nie ma sensu pchać się w army. Swojego czasu programowałem tam jakieś ARMY serii LPC2xxx (PHILIPS).

    Do AVRów 8-bitowych jestem bardzo przywiązany i programuje mi się je wyjątkowo przyjemnie. Znam dobrze ich architekturę, rejestry... Z resztą to już oftop.

    Z tego co widziałem to np MAX491 ma wbudowany zarówno nadajnik jak i odbiornik, więc mamy full duplex na 4 przewodach (2 pary różnicowe). Ciężko jest go jednak chyba dostać.

    Rozumiem w takim razie, że do takiego modułu max485 wystarczy po prostu podpiąć Rx i Tx i w odpowiedniej chwili ustawić RE + DE w zależności od kierunku danych? Dla modułu full-duplex można na stałe ustawić w jednym RE + DE na 1 a w drugim na 0?
  • Pomocny post
    #9 6693776
    Citek
    Poziom 22  
    narasta napisał:

    Rozumiem w takim razie, że do takiego modułu max485 wystarczy po prostu podpiąć Rx i Tx i w odpowiedniej chwili ustawić RE + DE w zależności od kierunku danych? Dla modułu full-duplex można na stałe ustawić w jednym RE + DE na 1 a w drugim na 0?


    Dokładnie tak jak mówisz, stosując np. dwa SN75176 (układ odpowiedzialny za RS485) uzyskasz full-duplex. Oczywiście nie osiągniesz takich prędkości jak przy Ethernecie (chyba, że się mylę)
  • #10 6693788
    narasta
    Poziom 21  
    Ale na jednym SN75176 nie da się uzyskać full-duplexu. Nie da się jednocześnie odbierać i nadawać. do tego potrzebne są już dwa takie układy
  • Pomocny post
    #11 6693850
    piter2313
    Poziom 11  
    narasta napisał:
    Da się jakiś moduł zrobić samemu, czy raczej już trzeba raczej kupić gotowce, bo procesory eth są raczej tylko w smd?


    Witam, jeżeli chodzi o najbardziej popularne układy do Ethernetu to
    dla standardu 10Base-T będą to m.in.: ENC28J60 i RTL8019AS.

    Pierwszy z nich można kupić w obudowie przewlekanej (jeżeli jest to dla Ciebie istotne). Ma zaledwie 28 wyprowadzeń i magistralę SPI (3 piny) poprzez którą komunikuje się mikrokontroler. Łatwo zaprojektować obwody, wystarczy kilka biernych elementów i gniazdko RJ45 z odpowiednim trafo.
    Czy dobry na początek? nie wiem, ja się trochę tym bawiłem ale miałem problemy przy większych prędkościach i szybko się poddałem. W każdym razie polecam od razu ściągnąć ostatnią erratę - wiele rzeczy w tym układzie nie działa tak jak to sobie pierwotnie producent wyobrażał ;]

    Drugi z nich, RTL8019AS występuje jedynie w obudowie SMD i ma aż 100 wyprowadzeń, do tego potrzebne jest trafo np. 20F001NG plus zwykłe gniazdko RJ45. Do komunikacji mikrokontroler musi wykorzystać aż 8+5+3 piny, więc zaprojektowanie obwodów będzie trudniejsze.
    Ten układ udało mi się uruchomić bez problemów.
    Istnieją gotowe moduły tj. AVT1443, MMLAN02 wyposarzone w RTL8019AS. Ja ostatnio zakupiłem AVT1443 i podłączyłem go do interfejsu XMEM, przez co komunikacja jest równie prosta jak przez SPI.
  • #12 6694004
    narasta
    Poziom 21  
    Hm.. To ENC28J60 to ciekawy wybór bo łatwo go podłączyć i jest dość tani (20-25zł).

    Teraz chyba i tak skupię się bardziej an RS-485 bo jest o wiele tańszy i prostszy w obsłudze. W momencie kiedy będę potrzebował już logowania danych na serwerze zajmę się ethernetem.
  • #13 6694286
    pidpawel
    Poziom 26  
    Ja właśnie pracuję nad urządzonkiem - zamiast ethernetu w AVR mam USART - więc robię właśnie transmisję do komputera - i tam wszystkie dane będą rejestrowane. Serwer i tak działa - kamery i reszta więc nie będzie to marnotrawstwo.
  • #14 6694807
    arrevalk
    Poziom 25  
    snow napisał:
    To zrób na RS485. Wtedy masz Uart nawet na 1km.

    Tak ale wraz ze wzrostem odległości zmniejsza się maksymalna prędkość transmisji. I to znacznie. Dodatkowo na takie odległości trzeba się meczyć z izolacją galwaniczną (ze względu na dużą różnice potencjałów).
    I całą masą innych problemów. Więc prostsze(i tańsze) jest zastosowanie ethernetu w takim wypadku.
  • #15 6698948
    narasta
    Poziom 21  
    Nie no spokojnie... :D I tak nie zamierzam ciągnąć tego na 1km :D A nawet jeśli odległość była by większa, to zawsze gdzieś po drodze można dać repeat'er. Z tego co widzę, to SN75176 wytrzymuje napięcia od -10 do +15V na A lub B.


    Ja myślę, że można by to tak zrealizować:

    [C] 1.AVR + 1.ENTHERNET <-> 2.ENTHERNET + 2.AVR

    Jeśli chodzi o ciągnięcie napięcia po całej długości to myślę, że całość można by zasilać np +12V i w każdym module dawać np stab 5V. Dzięki temu ewentualne spadki napięć na przewodach będą rekompensowane różnicą napięć pomiędzy +12V i +5V(+ spadek napięcia na stabilizatorze). Wychodzi, że napięcie może spokojnie spaść do 8 V na linii (tak aby dalej dało się je wystabilizować do +5V).

    Zależy mi na tym aby linia była zasilana, bo po drugiej stronie będzie się znajdował uP jako slave, który też musi być zasilany.
REKLAMA