-
Data: 2017-09-23 05:05:41
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 in message
news:1tvazsspi3kcn.gpnzmmyx3ujw.dlg@40tude.net...
> Dnia Fri, 22 Sep 2017 22:10:25 -0000 (UTC), Pszemol napisał(a):
>> J.F. <j...@p...onet.pl> wrote:
>>> 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.
>
> Ale 16550 chyba jeszcze tego nie ma.
> Wiec malo ktory program ma :-(
Ficzerek ten się nazywa "RS-485 half duplex direction control".
Chyba masz rację, oryginalny 16C550 tego jeszcze nie miał,
miały to późniejsze chipy EXARa - od lat jestem jak widać rozpieszczony
używając uartów klasy XR16C850 i podobnych która mają właśnie taki
ficzerek i nie zdawałem sobie nawet sprawy jaki szczęściarz ze mnie ;-)
4.18 Feature Control Register (FCTR) - Read/Write
This register controls the XR16C2850 new functions that are not available in
ST16C550 or ST16C650A.
FCTR[1:0]: Auto RTS Hysteresis
User selectable RTS# hysteresis levels for hardware flow control
application. After reset, these bits are set to
"0" to select the next trigger level for hardware flow control. See Table 5
for more details.
FCTR[2]: IrDa RX Inversion
. Logic 0 = Select RX input as encoded IrDa data (Idle state will be logic
0).
. Logic 1 = Select RX input as inverted encoded IrDa data (Idle state will
be logic 1).
FCTR[3]: Auto RS-485 Direction Control
. Logic 0 = Standard ST16C550 mode. Transmitter generates an interrupt when
transmit holding register
becomes empty and transmit shift register is shifting data out.
. Logic 1 = Enable Auto RS485 Direction Control function. The direction
control signal, RS485 pin, changes
its output logic state from low to high one bit time after the last stop bit
of the last character is shifted out.
Also, the Transmit interrupt generation is delayed until the transmitter
shift register becomes empty. The
RS485 output pin will automatically return to a logic low when a data byte
is loaded into the TX FIFO.
https://www.exar.com/ds/16c850-231-080905.pdf
No piknie.
>> 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.
>
> tylko TEMT przerwania nie zglasza.
> wiec musisz procesor zmarnowac na pilnowanie, albo jakies
> przerwanie/timer dobrac do predkosci :-P
No tak, lepiej mieć ficzerek opisany wyżej :-)
Następne wpisy z tego wątku
- 23.09.17 08:28 J.F.
- 23.09.17 10:21 Dariusz Dorochowicz
- 23.09.17 11:19 Piotr Gałka
- 23.09.17 15:24 J.F.
- 23.09.17 17:18 Piotr Gałka
- 25.09.17 11:55 J.F.
- 25.09.17 14:48 Dariusz Dorochowicz
- 25.09.17 16:44 Piotr Gałka
- 25.09.17 17:13 J.F.
- 25.09.17 19:14 Piotr Gałka
- 25.09.17 19:26 J.F.
- 26.09.17 04:38 Pszemol
- 26.09.17 08:39 Dariusz Dorochowicz
- 26.09.17 10:09 J.F.
- 26.09.17 10:16 Piotr Gałka
Najnowsze wątki z tej grupy
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
Najnowsze wątki
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO