Sterowanie '595 przez multiplekser

Jan 24, 2005 3 Replies

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 :)


U¿ytkownik "Mateusz Majchrzycki" snipped-for-privacy@spam.spam napisa³ w wiadomo¶ci news:Xns95E8C9A88785FXNSMateoM@192.168.0.1

To jeszcze ca³kiem niewiele ;-)

formatting link
(zreszt± zobacz ca³y w±tek)

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

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 :-)

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.

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.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required