Goto page 1, 2 Next
Krzysiek S
Guest
Sun Oct 03, 2004 2:44 pm
Mam taki problem. Potrzebuje umożliwić komunikacje po rs232 między
komputerem pc a budowanym przeze mnie urządzeniem. Zależy mina tym aby
szybkośc napływu danych z pc była ograniczna w sposób sprzętowy przez
moje urządzenie. I tu mam takie pytanie - czy podany niżej sposób
połaczeń umożliwi mi to ?
pc urz
sg --------- sg
RxD --------- TxD
TxD --------- RxD
RTS --------- CTS
CTS --------- RTS
DSR --------- DTR - podpiety na stale do +12V
Czy ma to szanse zadziałać ? Mam nadzieje że dzięki temu na podstawie
RTS i CTS jestem w stanie sterowac sobie przepływem danych do mojego
urządzenia.
voice
Guest
Sun Oct 03, 2004 3:42 pm
Krzysiek S napisał:
Do kontroli przepływu (z urządzenia) potrzebna Ci tylko linia
pc urządzenie
CTS <---- RTS
Wystawisz na RTS 0 -- komp może wysyłać, na RTS 1 -- komp nie może
wysyłać.
Licz się z tym, że po wystawieniu 1 na RTS, komp będzie jeszcze
wysyłał przez jakiś czas. Gdzieś kiedyś widziałem, jak ktoś robił
takie testy... wyszło, że transmisja trwała jeszcze przez ok. 18 ms.
Pozdrawiam, voice
--
unsigned int gg = 2627828;
Krzysiek S
Guest
Sun Oct 03, 2004 4:34 pm
voice wrote:
Wydawało mi się że linie sterujące ( w odróżnieniu od lini danych )
opisane sa za pomoca logiki dodatniej więc myślałem że gdt RTS=1 komp
może wysyłać a gdy RTS=0 jest zablokowany.
Pozdrawiam i dziękuje za odpowiedz
Krzysiek
Quote:
Krzysiek S napisał:
Do kontroli przepływu (z urządzenia) potrzebna Ci tylko linia
pc urządzenie
CTS <---- RTS
Wystawisz na RTS 0 -- komp może wysyłać, na RTS 1 -- komp nie może
wysyłać.
Licz się z tym, że po wystawieniu 1 na RTS, komp będzie jeszcze
wysyłał przez jakiś czas. Gdzieś kiedyś widziałem, jak ktoś robił
takie testy... wyszło, że transmisja trwała jeszcze przez ok. 18 ms.
Pozdrawiam, voice
J.F.
Guest
Sun Oct 03, 2004 7:01 pm
On Sun, 03 Oct 2004 18:42:29 +0200, voice wrote:
Quote:
Licz się z tym, że po wystawieniu 1 na RTS, komp będzie jeszcze
wysyłał przez jakiś czas. Gdzieś kiedyś widziałem, jak ktoś robił
takie testy... wyszło, że transmisja trwała jeszcze przez ok. 18 ms.
A jaka byla predkosc ?
Software o zmianie RTS powinien dowiedziec sie szybko i szybko
zareagowac .. ale w dzisiejszym pececie FIFO ma 16 bajtow, co na 19600
faktycznie moze ~18ms potrwac
J.
voice
Guest
Sun Oct 03, 2004 7:18 pm
J.F napisał:
Quote:
Licz się z tym, że po wystawieniu 1 na RTS, komp będzie jeszcze
wysyłał przez jakiś czas. Gdzieś kiedyś widziałem, jak ktoś robił
takie testy... wyszło, że transmisja trwała jeszcze przez ok. 18 ms.
A jaka byla predkosc ?
Software o zmianie RTS powinien dowiedziec sie szybko i szybko zareagowac
.. ale w dzisiejszym pececie FIFO ma 16 bajtow, co na 19600 faktycznie
moze ~18ms potrwac
Znalazłem... to był projekt BTnode (więcej info w sieci).
Kawałek avr128_uart1.c:
#v+
// experiments w/ linux and minicom @ 57.6 showed that after RTS, the
// PC uart still sends for another ~18 ms, that is 112 bytes
#v-
Pozdrawiam,
voice
--
unsigned int gg = 2627828;
J.F.
Guest
Sun Oct 03, 2004 8:10 pm
On Sun, 03 Oct 2004 22:18:06 +0200, voice wrote:
Quote:
Kawałek avr128_uart1.c:
// experiments w/ linux and minicom @ 57.6 showed that after RTS, the
// PC uart still sends for another ~18 ms, that is 112 bytes
No to troszke duzo.
Ciekawe co to .. jakis lepszy pecet, windows pokazuje co potrafi,
czy kiepskie oprogramowanie transmisji ..
J.
william
Guest
Sun Oct 03, 2004 8:23 pm
Użytkownik "J.F." <jfox_nospam@poczta.onet.pl> napisał w wiadomości
news:i3i0m0dglc8rnfftcgiusugs8krgs5gcg5@4ax.com...
Quote:
On Sun, 03 Oct 2004 18:42:29 +0200, voice wrote:
Licz się z tym, że po wystawieniu 1 na RTS, komp będzie jeszcze
wysyłał przez jakiś czas. Gdzieś kiedyś widziałem, jak ktoś robił
takie testy... wyszło, że transmisja trwała jeszcze przez ok. 18 ms.
A jaka byla predkosc ?
Software o zmianie RTS powinien dowiedziec sie szybko i szybko
zareagowac .. ale w dzisiejszym pececie FIFO ma 16 bajtow, co na 19600
faktycznie moze ~18ms potrwac
Tylko że to bez sensu .... Po wstrzymaniu RTS UART powinien nie nadać już
tego co ma w FIFO i wypuścić to dopiero po wznowieniu RTS. Gdyby było
odwrotnie, maksuymalna wielkośc bufora (a co za tym idzie porcji która może
jeszcze nadejsc) musiała by być zestandaryzowana a tak nie jest.
Krzysiek S
Guest
Sun Oct 03, 2004 8:51 pm
Prędkośc transmisji nie będzie duża - 9600 lub co bardziej prawdopodobne
4800. Jednym słowem transmisje będzie należało "przydusić" jeszcze przed
przepełnieniem pamięci odbiornika
Quote:
A jaka byla predkosc ?
Software o zmianie RTS powinien dowiedziec sie szybko i szybko
zareagowac .. ale w dzisiejszym pececie FIFO ma 16 bajtow, co na 19600
faktycznie moze ~18ms potrwac
J.
Kmail
Guest
Mon Oct 04, 2004 6:38 am
o ile mnie panmiec niemyli ( w zaleznosci o sposobie sterowania przeplywem)
RTS wystawia sie gdy bufor odbiornika zapelniony jest w 2/3. Wiec dopuszcza
sie jeszcze ze jeszcze niwielka porcja moze poleciec.
Krzysztof Rudnik
Guest
Mon Oct 04, 2004 8:21 pm
Kmail wrote:
Quote:
o ile mnie panmiec niemyli ( w zaleznosci o sposobie sterowania
przeplywem) RTS wystawia sie gdy bufor odbiornika zapelniony jest w 2/3.
Wiec dopuszcza sie jeszcze ze jeszcze niwielka porcja moze poleciec.
Zalezy jaki duzy jest ten bufor odbiornika. Jesli to nie jest PC
a jakis mikrokontroler z malym buforem to moze byc problem.
Krzysiek Rudnik
Jurek Szczesiul
Guest
Mon Oct 04, 2004 8:26 pm
Sun, 03 Oct 2004 23:51:24 +0200, na pl.misc.elektronika, Krzysiek S
napisał(a):
Quote:
Prędkośc transmisji nie będzie duża - 9600 lub co bardziej prawdopodobne
4800. Jednym słowem transmisje będzie należało "przydusić" jeszcze przed
przepełnieniem pamięci odbiornika
To moize zrób zupełnie inaczej - transmisja na żądanie
czyli np. zmiana stanu RTS jest dla PC poleceniem wysłania
określonej ramki, którą na pewno odbiornik pomieści.
--
Pozdrowienia
Jurek Szczesiul
william
Guest
Tue Oct 05, 2004 2:34 pm
Quote:
o ile mnie panmiec niemyli ( w zaleznosci o sposobie sterowania
przeplywem) RTS wystawia sie gdy bufor odbiornika zapelniony jest w 2/3.
Wiec dopuszcza sie jeszcze ze jeszcze niwielka porcja moze poleciec.
Ale jesli nadajnik ma bufor X to bufor odbiornika i tak musi byc > 3*X
bajtów. z ciekawosci chyba wypróbuje, czy w pececie faktycznie tak jest, ze
RTS nie wstrymuje wyslania bajtów z bufora ....
J.F.
Guest
Tue Oct 05, 2004 3:26 pm
On Tue, 5 Oct 2004 17:34:57 +0200, william wrote:
Quote:
o ile mnie panmiec niemyli ( w zaleznosci o sposobie sterowania
przeplywem) RTS wystawia sie gdy bufor odbiornika zapelniony jest w 2/3.
Wiec dopuszcza sie jeszcze ze jeszcze niwielka porcja moze poleciec.
Ale jesli nadajnik ma bufor X to bufor odbiornika i tak musi byc > 3*X
Raczej X+N. N wynikle z czasu reakcji.
Quote:
bajtów. z ciekawosci chyba wypróbuje, czy w pececie faktycznie tak jest, ze
RTS nie wstrymuje wyslania bajtów z bufora ....
UART 8250 na bank nie wstrzymuje. Reszta to sprawa softu .. i byc moze
jakis nowych opcji uarta, ktory juz dawno jest w innych kosciach.
J.
ziel
Guest
Tue Oct 05, 2004 6:43 pm
On Behalf Of william
Quote:
RTS nie wstrymuje wyslania bajtów z bufora ....
Zalezy od programu wysylajacego dane z peceta.
Pecet zawsze wysyla dane do opróznienia bufora
nadawczego. Jesli program ignoruje RTS, to ...
pzdr
Artur
--
Archiwum grupy:
http://niusy.onet.pl/pl.misc.elektronika
Piotr Galka
Guest
Wed Oct 06, 2004 5:57 am
Uzytkownik "ziel" <zielpro@poczta.onet.pl> napisal w wiadomosci
news:GCEELCNNHEGDKMODCEPBAENNICAA.zielpro@poczta.onet.pl...
Quote:
On Behalf Of william
RTS nie wstrymuje wyslania bajtów z bufora ....
Zalezy od programu wysylajacego dane z peceta.
Pecet zawsze wysyla dane do opróznienia bufora
nadawczego. Jesli program ignoruje RTS, to ...
I od tego kiedy sie dowie, ze jest zmiana na RTS. Ktos kiedys mi
klarowal, ze jak sie wlozy dyskietke, to wszystkie inne programy sa
zamrozone na 3s.
Wydaje mi sie, ze przerwania z RTS nie trafiaja prosto do tego kto ich
potrzebuje, tylko jakis driver zamienia je na Windows Messages i do
normalnej kolejki zadan (ale sie nie znam).
P.G.
Goto page 1, 2 Next