slawek7
Guest
Fri Dec 10, 2010 1:26 pm
Mam 4 takie same układy które pobierają tylko dane z RS232 TTL, na uC
AVR Atmega8.
Protokół wyglada tak ze dane wysyłane są w ramkach z adresem i kazdy
"wie" ze dana ramka jest dla niego.
Jest jesen sterownik też na AVR który tylko nadaje.
Czyli mam połączenie linia danych i GND. Kazdy z tych układów ma
własny stabilizator 7805 i jest zasilany ze wspólnego zasilacza.
I teraz mam zagwozdkę. chciłbym sterowane tych układów połaczyć
kaskadowo czyli ze sterownika linie danych połączyć po kolei do
kazdego z odbiorników oraz tak samo z masą. Wejscia Rxt AVRa sa
podciągniete do zasilania i czy jak zewre linia sygnałową je ze sobą
to cos dziwnego może się stać i tak samo z masą bo tu chyba zrobi się
pęla? Chodzi o to że sygnał z "nadajnika" ma trafić do każdego z
odbiorników bo szyna danych jest wspólna.
Sławek
Pszemol
Guest
Fri Dec 10, 2010 5:03 pm
"slawek7" <sholojda@wp.pl> wrote in message
news:e030ffa2-7a10-43cc-a46f-e2348b1e401c@n10g2000yqd.googlegroups.com...
Quote:
Mam 4 takie same układy które pobierają tylko dane z RS232 TTL,
na uC AVR Atmega8.
Protokół wyglada tak ze dane wysyłane są w ramkach z adresem
i kazdy "wie" ze dana ramka jest dla niego.
Jest jesen sterownik też na AVR który tylko nadaje.
Czyli mam połączenie linia danych i GND. Kazdy z tych układów ma
własny stabilizator 7805 i jest zasilany ze wspólnego zasilacza.
I teraz mam zagwozdkę. chciłbym sterowane tych układów połaczyć
kaskadowo czyli ze sterownika linie danych połączyć po kolei do
kazdego z odbiorników oraz tak samo z masą. Wejscia Rxt AVRa sa
podciągniete do zasilania i czy jak zewre linia sygnałową je ze sobą
to cos dziwnego może się stać i tak samo z masą bo tu chyba zrobi
się pęla? Chodzi o to że sygnał z "nadajnika" ma trafić do każdego z
odbiorników bo szyna danych jest wspólna.
Sławku, nie wiem czy dobrze Cię zrozumiałem...
Jeśli nie to popraw:
Masz sterownik (master) i cztery czujniki/odbiorniki (slaves).
Sterownik jest odpowiedzialny za wysyłanie paczek z adresem,
czujniki nasłuchują cały czas na tej samej prędkości nadawania
i odpowiadają tylko wtedy, gdy znajdą w paczce swój adres...
Po pierwsze - standard TTL nie przewiduje ciągnięcia długich kabli
od urządzenia do urządzenia - po to są protokoły typu RS232, RS485
czy RS422. Jeśli upierasz się przy TTL to zadbaj chociaż o dobre
zabezpieczenie układów przed ESD. Wyjście ze sterownika możesz
podłączyć bezpośrednio do wejść odbiorników. Tu nie ma problemu.
Natomiast to co zrobisz z wyjściami odbiorników zalezy od konstrukcji
tych wyjść. Bo TTL może występować w standardzie push-pull, czyli
masz dwa tranzystory, lub open-drain/open-collector i wtedy masz
jeden tranzystor podciągnięty do zasilania opornikiem "pull-up".
Sprawdź co masz na wyjściach odbiorników - jeśli są typu open drain
to możesz je spiąć razem bez problemów, dobierzesz tylko jeden
opornik pull-up tak aby nie przekroczyć prądu maksymalnego
tranzystora na wyjściach odbiorników ale na tyle mocnego aby
zapewnić szybie zbocza narastające sygnału.
Jeśli wyjścia są typu push-pull to nie możesz ich razem zewrzeć.
Musisz zastosować pośredniczący stopień z 4-wejściową bramką OR.
Napisz coś więcej o tym co siedzi w "odbiorniku" na wyjściach, jakie
scalaki, jaki układ tam jest wstawiony na wyjściu z portu szeregowego.
entroper
Guest
Fri Dec 10, 2010 5:46 pm
Użytkownik "slawek7" <sholojda@wp.pl> napisał w wiadomości
news:e030ffa2-7a10-43cc-a46f-e2348b1e401c@n10g2000yqd.googlegroups.com...
Quote:
Wejscia Rxt AVRa sa
podciągniete do zasilania i czy jak zewre linia sygnałową je ze sobą
to cos dziwnego może się stać i tak samo z masą bo tu chyba zrobi się
pęla?
zwarcie wejść danych spowoduje równoległe połączenie podciągów a więc
przez nadajnik będzie płynął większy prąd. Pamiętaj, że utrata zasilania
jednego z układów aktywuje diodę w strukturze procesora i grozi to co
najmniej utratą transmisji (a może i ubiciem scalaków, gdy nadajnik na
linii danych wymusi silną "1"). Z masą masz ewidentną pętlę i nie wiadomo
jak się prąd podzieli a spadki napięć będą się dodawać do użytecznego
sygnału. Ewentualnie te AVR-y będą Ci się ciągle wieszać od zakłóceń.
Generalnie jest to zrobione źle. Polecam użyć RS485 (bez linii masy, tylko
AB), wielka przeróbka to nie będzie.
e.
J.F.
Guest
Fri Dec 10, 2010 5:49 pm
Użytkownik "slawek7" <sholojda@wp.pl> napisał w
Quote:
Mam 4 takie same układy które pobierają tylko dane z RS232 TTL, na
uC
AVR Atmega8.
Protokół wyglada tak ze dane wysyłane są w ramkach z adresem i
kazdy
"wie" ze dana ramka jest dla niego.
Jest jesen sterownik też na AVR który tylko nadaje.
Czyli mam połączenie linia danych i GND. Kazdy z tych układów ma
własny stabilizator 7805 i jest zasilany ze wspólnego zasilacza.
I teraz mam zagwozdkę. chciłbym sterowane tych układów połaczyć
kaskadowo czyli ze sterownika linie danych połączyć po kolei do
kazdego z odbiorników oraz tak samo z masą.
I ile rozumiem to nie tyle kaskadowo, co magistralnie, rownolegle
czy jak to tam zwac.
Quote:
Wejscia Rxt AVRa sa
podciągniete do zasilania i czy jak zewre linia sygnałową je ze
sobą
to cos dziwnego może się stać
Tylko z tego faktu nie. Ale ten jeden "master" bedzie musial cztery
pull-upy pokonac.
No i co w druga strone ? Linie TxD na tych 4 sa typu OC ?
Quote:
i tak samo z masą bo tu chyba zrobi się pęla?
Petla to ci sie moze zrobic jesli masa w tych urzadzonkach jest
jeszcze do czegos zewnetrznego podlaczona.
Wtedy przez mase kabla transmisji danych bedzie sobie plynal prad
wyrownawczy. A jak bedzie duzy, to i zaklocenia w transmisji moga
sie pojawic .. albo sciezki odparuja.
J.
Michoo
Guest
Fri Dec 10, 2010 7:06 pm
W dniu 10.12.2010 12:26, slawek7 pisze:
Quote:
Mam 4 takie same układy które pobierają tylko dane z RS232 TTL, na uC
AVR Atmega8.
Skoro to są takie same układu, to czemu nie wykorzystasz wbudowanego
TWI, które jest właśnie do takiej sytuacji przystosowane, tylko rzeźbisz
coś własnego?
--
Pozdrawiam
Michoo
slawek7
Guest
Sun Dec 12, 2010 5:47 pm
Widzę że nie było to oczywiste wiec, układy odbiorcze - slave- są
gotowe nie mam wpływu na oprogramowanie. Zauważyłem że jednak nie są
podciagniete do szyny zasilajacej. wisza w powietrzu.
jedyne co moge to wyslac po rs232 odpowiednia ramke, ktora kazdy uklad
ma odbrac i zadzialac zgodnie z poleceniem w ramce.
nie chce tez dodawac dodatkowych ukladow bo nie mam miejsca. zreszta
uklady odbiorcze sa max 5cm od pierwszego odbiornika a same odbiorniki
sa od siebie max 3cm.
wymyslilem cos takiego. wszystkie wejscia odbiornikow lacze ze soba
nasztywno a do samego mastera podlaczam z szeregowym rezystorem 1,5k.
na razie dziala.
Co wy na to?