eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaIzolowany konwerter zrobić z RS232 na RS485Re: Izolowany konwerter zrobić z RS232 na RS485
  • Data: 2017-09-23 00:10:25
    Temat: Re: Izolowany konwerter zrobić z RS232 na RS485
    Od: Pszemol <P...@P...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    J.F. <j...@p...onet.pl> wrote:
    > Dnia Fri, 22 Sep 2017 19:33:04 -0000 (UTC), Pszemol napisał(a):
    >> J.F. <j...@p...onet.pl> wrote:
    >>> Dnia Fri, 22 Sep 2017 17:43:27 -0000 (UTC), Pszemol napisał(a):
    >>>> Nie musisz mieć swojego procka - wszystkie porty RS232 mają linię RTS która
    >>>> była historycznie używana zawsze do sterowania kierunkiem nadawania RS485.
    >>>
    >>> Tak mniej wiecej do 1980, bo potem przyszedl IBM i olal.
    >>> A moze nie musial olewac, bo wczesniej producenci modemow olali.
    >>>
    >>> Potem jeszcze producenci UARTow olali i malo kto (tzn malo ktory
    >>> system) to prawidlowo ustawia w swiecie pecetow.
    >>>
    >> A co Ty wygadujesz... uarty sie od dawna nie zmieniaja. W
    >> najpopularniejszych 16C550 to masz a reszta to wariacje tego ukladu z
    >> roznymi wielkosciami fifo.
    >
    > Nie o to chodzi.
    > 8250 o ile pamietam mial 2 bajty bufora wyjsciowego.
    > Wpisujesz bajt1 do wyslania, a on go zaczyna wysylac, ale ... od razu
    > mowi ze nadajnik gotowy do wyslania kolejnego znaku i generuje
    > stosowne przerwanie od nadajnika.
    > Wpisujesz bajt2 - tym razem rejestr statusu mowi, ze nadajnik zajety.
    > Jak skonczy wysylac bajt1, to zaczyna wysylac bajt2, ale od razu
    > status mowi ze bufor nadajnika wolny i generuje przerwanie.
    > Wpisujesz bajt3, sytuacja sie powtarza.
    > UART konczy wysylac bajt2, zaczyna wysylac bajt3, zglasza przerwanie -
    > a program stwierdza, ze nie ma nic wiecej do nadania, wiec konczy
    > obsluge. A uklad ciagle wysyla kolejne bity.
    > Wysylanie bajtu3 sie konczy, 8250 ustawia stosowny bit statusu, ze juz
    > sie nadawanie zakonczylo ... ale przerwania juz nie zglasza.
    >
    > Czyli program wysylajacy jak juz stwierdzi ze nie ma nic do wyslania,
    > to musi aktywnie sprawdzac kiedy to wysylanie sie zakonczylo, i kiedy
    > moze wylaczyc RTS. Mamy np 100MHz procesor a przy 9600 musimy prawie
    > 1ms czekac i sprawdzac czy juz mozna przestawic RTS, zamiast inna
    > pozyteczna robote robic.
    >
    > 16550 to juz nie pamietam - problem rozwiazano, czy sie zaostrzyl,bo
    > kolejka dluzsza.
    >
    Ja piszę o automatycznym machaniu RTSem przez uarta odpowiednio
    ustawionego.
    Jest to funkcja uarta dedykowana właśnie do zastosowania w
    RS485.

    Oczywiście, że machanie tą linią programowo jest uciążliwe, ale i to jest
    do zrobienia bo nowoczesne uarty mają dwa bity obsługujące nadajnik: ten co
    Ty opisałeś nazywa się "transmitter holding register empty" THRE a jest
    jeszcze "transmitter empty" TEMT.


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: