Sterowanie '595 przez multiplekser
Masz problem? Zapytaj na forum elektroda.pl
From: Mateusz Majchrzycki <spam_at_nospam_spam.spam>
Subject: Sterowanie '595 przez multiplekser
Date: Mon, 24 Jan 2005 20:37:30 +0000 (UTC)
Mam kilka płytek, na których jest po ok. 10 sztuk rejestrów '595
połączonych w szereg. Całe urządzenie-płytka ma wyprowadzone wspólne
linie sterujace. Wszystko to będzie popędzane przez ATmegę128. I teraz
mam dylemat. Czy połączyć wszystkie '595 ze wszsystkich urządzeń w
jeden dłuuugi łąńcuch (rzaem będzie tego ok. 30-40 szt.), czy (co IMHO
lepsze) każdym urzadzeniem sterować osobno za pomocą multipleksera. To
znaczy ATmega wybiera przez jakis multiplekser do jakiego urządzenia
wysyła dane i rozpoczyna transmisję. Sposób ten wydaje mi się o tyle
dobry, że w razie jakiejkolwiek awarii łatwiej zlokalizować przyczynę
itp.
Tylko jeżleli wybiorę sposób multipleksowania, to pojawia mi się
dylemat, jaki sygnał multipleksować. SHcp? Ds? STcp? Czy może wszystkie
naraz? I przedewszystkim jakiego multpileksera (a właściwie
demulitpleksera) użyć? Transmisja będzie latała na ok. 8MHz.
Z góry dziękuję za wszelką pomoc :)
--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: Sterowanie '595 przez multiplekser
Date: Mon, 24 Jan 2005 22:44:26 +0100
Użytkownik "Mateusz Majchrzycki" <spam_at_nospam_spam.spam> napisał w wiadomości
news:Xns95E8C9A88785FXNSMateoM_at_nospam_192.168.0.1
Mam kilka płytek, na których jest po ok. 10 sztuk rejestrów '595
połączonych w szereg. Całe urządzenie-płytka ma wyprowadzone wspólne
linie sterujace. Wszystko to będzie popędzane przez ATmegę128. I teraz
mam dylemat. Czy połączyć wszystkie '595 ze wszsystkich urządzeń w
jeden dłuuugi łąńcuch (rzaem będzie tego ok. 30-40 szt.),
To jeszcze całkiem niewiele ;-)
http://www.google.pl/groups?threadm=GCEELCNNHEGDKMODCEPBAEHIHMAA.zielpro%40p
oczta.onet.pl
(zresztą zobacz cały wątek)
--
Marek Dzwonnik, GG: #2061027 - zwykle jako 'niewidoczny'
(Uwaga Gadu-Gadulcowicze: Nie odpowiadam na anonimy.)
From: Waldemar Krzok <waldemar.krzok_at_nospam_charite.de>
Subject: Re: Sterowanie '595 przez multiplekser
Date: Tue, 25 Jan 2005 09:07:29 +0100
Mateusz Majchrzycki wrote:
Mam kilka płytek, na których jest po ok. 10 sztuk rejestrów '595
połączonych w szereg. Całe urządzenie-płytka ma wyprowadzone wspólne
linie sterujace. Wszystko to będzie popędzane przez ATmegę128. I teraz
mam dylemat. Czy połączyć wszystkie '595 ze wszsystkich urządzeń w
jeden dłuuugi łąńcuch (rzaem będzie tego ok. 30-40 szt.), czy (co IMHO
lepsze) każdym urzadzeniem sterować osobno za pomocą multipleksera. To
znaczy ATmega wybiera przez jakis multiplekser do jakiego urządzenia
wysyła dane i rozpoczyna transmisję. Sposób ten wydaje mi się o tyle
dobry, że w razie jakiejkolwiek awarii łatwiej zlokalizować przyczynę
itp.
Tylko jeżleli wybiorę sposób multipleksowania, to pojawia mi się
dylemat, jaki sygnał multipleksować. SHcp? Ds? STcp? Czy może wszystkie
naraz? I przedewszystkim jakiego multpileksera (a właściwie
demulitpleksera) użyć? Transmisja będzie latała na ok. 8MHz.
Z góry dziękuję za wszelką pomoc :)
zależy, jak szybko się dane w rejestrach muszą znaleźć. Łączenie w
szereg ma tą zaletę, że zajmujesz góra dwa porty, multiplekser musisz
gdzieś też wstawić. Da się co prawda też bez zajmowania dodatkowych
portów (choćby dodatkowy 595 w charakterze dekodera adresu), ale
komplikuje niepotrzebnie sprawę, jak tylko np. LEDy chcesz tym załączać.
Przy 40 595 i 8MHz masz częstotliwość odświeżania 25kHz, co raczej jest
wystarczające. Jak masz więcej nóg wolnych, to możesz dać takt każdego
łańcucha na jedną nogę i wspólną linię danych. Mniej "robactwa" na
płytce i programowo też łatwo zrobić.
Waldek
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Sterowanie '595 przez multiplekser
Date: Tue, 25 Jan 2005 11:53:56 +0100
On Mon, 24 Jan 2005 20:37:30 +0000 (UTC), Mateusz Majchrzycki wrote:
Mam kilka płytek, na których jest po ok. 10 sztuk rejestrów '595
połączonych w szereg. Całe urządzenie-płytka ma wyprowadzone wspólne
linie sterujace. Wszystko to będzie popędzane przez ATmegę128. I teraz
mam dylemat. Czy połączyć wszystkie '595 ze wszsystkich urządzeń w
jeden dłuuugi łąńcuch (rzaem będzie tego ok. 30-40 szt.), czy (co IMHO
40 sztuk to jeszcze znow nie tak duzo , a przy 8MHz nawet nie tak
wolno. Biorac pod uwage stopien skomplikowania - moze sie okazac ze
inne rozwiazania wcale nie sa duzo szybsze :-)
lepsze) każdym urzadzeniem sterować osobno za pomocą multipleksera. To
znaczy ATmega wybiera przez jakis multiplekser do jakiego urządzenia
wysyła dane i rozpoczyna transmisję.
Wysylasz do wszystkich [clk i data rownolegle],
a tylko do wybranego wysylasz impuls przeladowania ST_CP
zakladajac brak 40 wolnych portow w procku na sterowanie
poszczegolnymi kostkami musisz odpowiedni dekoder.
Na 40 wyjsc to dosc sporo i conajmniej 6 bitow adresujacych, ktorych
tez pewnie nie ma :-)
Sugerowalbym polaczyc 595 w lancuchy po 5 sztuk, dodac jeden 595
na poczatku do zapamietania adresu. Moze nawet bez dekoderow
sie obejdzie - jesli to HC595, na wyjsciach tego pierwszego
dokladasz rezystory do pull-down, ladujesz do niego tylko jedna
jedynke, przeladowujesz rej. sz. na wyjscie .. wlaczasz na chwile
OE - i powstaje impuls przeladowujacy jeden z 8 lancuchow.
Sposób ten wydaje mi się o tyle dobry, że w razie jakiejkolwiek
awarii łatwiej zlokalizować przyczynę itp.
Eee .. do awarii to podlaczasz wyjscie z tych 40 do procka,
w selftescie sprawdzasz czy caly lancuch sprawny.
A do diagnostyki to wysylasz na przemian 0/1 i sprawdzasz gdzie
zanika ..
J.