logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wysterowanie 256 wejść układów logicznych z portu Atmegi

speecu 19 Sty 2011 18:49 2641 8
  • #1 9028330
    speecu
    Poziom 11  
    Witam!

    Przymierzam się do wykonania baneru LED 16x128 punktów, sterowanych przy użyciu 2 pełnych portów Atmegi.
    Jeden port pełniłby rolę 8-bitowego wyjścia danych, drugi port poprzez układ multiplekserów sterowałby po kolei wejściami LE 256 układów 74HC573.

    1 moduł steruje 16 diodami LED poprzez 2 układy 74HC573
    1 panel zawiera 16 modułów
    1 baner zawiera 8 paneli.
    Częstotliwość odświerzania 25 Hz.
    Taktowanie portu danych 256*25Hz = 6400 Hz.

    Schemat poglądowy bez układu multipleksera.
    Wysterowanie 256 wejść układów logicznych z portu Atmegi

    Jeżeli chodzi o układ multiplekserów to żadne z wyjść nie steruje więcej niż zalecane 10 wejść kolejnych "stopni" układu, więc tu raczej nie będzie problemu.
    Problem zaczyna się gdy będę chciał podłączyć wejścia danych wszystkich układów 74HC573 do portu wyjścia danych w Atmedze.

    Z różnych źródeł wyczytałem, że mogę użyć buffer/line driver (np.: 74hc125, 74hc244) w celu wzmocnienia sygnału z portu Atmegi, lub tranzystora jako wzmacniacza, jednak będąc bardziej programistą niż elektronikiem nie wiem które rozwiązanie będzie skuteczne, a może jeszcze coś innego (np 2x L298 zamiast 8 tranzystorów).

    Wysterowanie 256 wejść układów logicznych z portu Atmegi

    W związku z powyższym mam takie pytania.
    1. Ile praktycznie (nie teoretycznie) wejść mogę wysterować z jednego wyjścia buffer/line driver'a?
    2. Jaki typ T1 i wartości R1 użyć aby wysterować wszystkie 256 wejść i czy taki układ zadziała czy trzeba coś do niego dodać?
    3. Jeżeli oba rozwiązania są do bani to co byście proponowali?
    4. Nie mogę zrozumieć, dlaczego pomimo bardzo małego prądu na wejściu bramki logicznej (wg not kilka uA) w porównaniu do wyjścia (kilkanaście mA) można podłączyć tak mało wejść do jednego wyjścia. Czy winna jest pojemność bramki i ścieżek czy też inne czynniki.

    Na wszelkie dodatkowe pytania chętnie odpowiem.

    Pozdrawiam i z góry dziękuję za konstruktywne odpowiedzi.
  • #2 9030757
    Konto nie istnieje
    Konto nie istnieje  
  • #3 9031997
    speecu
    Poziom 11  
    Dzięki za odpowiedź.
    Jeżeli chodzi o pytanie o praktyczną ilość wejść miałem na myśli mniej niż teoretyczną. Mam świadomość, że długie ścieżki itp. zmniejszają ich liczbę.
    Więc trochę inaczej.
    1. Czy Atmega wysteruje bezpośrednio 8 wejść 74HC244 z jednego pinu na długości ścieżki rzędu 1,5 m, czy też będę musiał zastosować powyższy układzik w celu wzmocnienia sygnału?
    2. Czy jeden 74HC244 wysteruje 32 wejścia na odcinku ok 40 cm, czy trzeba ich więcej?
    3. Jaka jest praktyczna różnica w działaniu (oprócz maksymalnej wartości prądu i możliwości ustawienia większego napięcia na wyjściu) pomiędzy wyjściem L298 a wyjściem zwykłej bramki. Wg not schematy ideowe wyjścia są podobne, więc i zasada działania powinna być podobna (chyba). Czy dałoby radę przy pomocy L298 wysterować wszystkie 256 bramki na raz?

    Bardzo zależy mi na tych informacjach ponieważ ze względu na dość dużą liczbę elementów nie będę wykonywał PCB sam tylko zamówię w firmie wykonującej takie układy i każda zmiana projektu po ich wykonaniu, dość znacznie zwiększy koszta, a tego chcę uniknąć.

    Pozdrawiam
  • #4 9033095
    _Robak_
    Poziom 33  
    Jak chcesz sterować z jednego wyjścia tyloma wejściami to musisz przy każdym scalaku dać solidne kondensatory. Jeśli już chcesz sterować tyloma scalakami z jednego wyjścia to też bym każdy opóźnił względem poprzedniego, będziesz miał takie szpile na zasilaniu że możesz sobie z tym nie poradzić. Dodatkowo dochodzi do tego indukcyjność ścieżek i wyprowadzeń która przy jednoczesnej zmianie stanu na kilku(set?) pinach może doprowadzić do katastrofy. Z tego względu dodałbym opóźnienia. Tak jak pisał albertb dobrym rozwiązaniem będzie CPLD, na tym układzie sobie zaimplementujesz wszystko tka jak będziesz chciał:)
  • #5 9033280
    asembler
    Poziom 32  
    Nie rozumiem tego odświeżania.
    Tu chyba sterowanie statyczne masz tak?
  • #6 9034604
    speecu
    Poziom 11  
    Witam!
    @_Robak_
    Jeżeli chodzi o te opóźnienia to czy podłączenie w poniższy sposób da oczekiwany efekt?
    Wysterowanie 256 wejść układów logicznych z portu Atmegi

    Jeżeli dobrze kombinuję każda kolejna bramka wprowadzi pewne opóźnienie o długości czasu propagacji i jednocześnie przełączy się tylko kilka (w tym przypadku 9) bramek. Dodatkowo ustawianie każdego bitu po kolei w porcie Atmegi też powinno ograniczyć ilość równoczesnych zmian.
    Gdzieś kiedyś czytałem, że kondensatory >=100nF przy pinach zasilania układów logicznych są obowiązkiem i we wszystkich projektach je stosuję. Czy tu mogą być za małe?
    Czy zastosowanie oddzielnej linii zasilania do tych układów ograniczy zakłócenia i czy można tak zrobić?

    Jeżeli chodzi o CPLD to obecny poziom mojej wiedzy w tym temacie ogranicza się do tego, że wiem, że można je programować. Ale nic poza tym.:cry:

    @asembler
    Oczywiście masz rację, że sterowanie jest statyczne.
    W kwestii częstotliwości odświerzania miałem na myśli prędkość zmian całości banera np. w przypadku scrollowania wyświetlanego tekstu. 25 "klatek"/s powinno zapewnić dość płynną animację. Jeżeli całość będzie się zmieniać co kilka sekund, nie ma sensu odświerzać częściej. Dodatkowo ten sposób sterowania umożliwia zmianę określonej części banera, gdyż poprzez układ multipleksera mogę zaadresować dowolny zestaw 8 diód LED.

    Dzięki za sugestie. Pozdrawiam
  • #7 9035419
    _Robak_
    Poziom 33  
    Teoretycznie o coś takiego chodzi. Oczywiście trzeba by się zastanowić czy jedna bramka da dostateczne opóźnienie. 100nF są jak najbardziej obowiązkiem, ale co kilka układów też daje się elektrolita bądź tantala z 10uF. Tutaj nikt Ci nie powie że musisz dać co drugi układ 10uF i będzie git. Trzeba by zobaczyć jak to na PCB wygląda:)
  • #8 9035461
    asembler
    Poziom 32  
    A dlaczego nie chcesz zastosować układów szeregowo równoległych?
    Upraszcza to znacznie elektronikę a do wysterowania wystarczy attiny13
  • #9 9035490
    speecu
    Poziom 11  
    Bardzo dziękuję za konstruktywne odpowiedzi.
    Biorę się za robotę i przerobię projekt tak, abym mógł zamówić moduły z LED'ami w wytwórni PCB, a część sterującą wejściem danych można było niewielkim nakładem finansowym modyfikować.

    Temat zamykam.

    Pozdrawiam
REKLAMA