Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 13 gru 2017, o 11:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 5 gru 2017, o 22:04 
Offline
Użytkownik

Dołączył(a): 16 lis 2013
Posty: 139
Pomógł: 0

Potrzebuję podłączyć do mikrokontrolera 5x 8 segmentów wyświetlaczy (płytka już gotowa), 49 przekaźników. Miałbym prośbę, żeby ktoś podpowiedział mi w jaki sposób ogarnąć to sprzętowo.
Myślałem żeby zrobić to na 74HC595, ale niby można połączyć maksymalnie 8 sztuk, a mi wychodzi 12. Czytałem coś o zastosowaniu expanderów, które też mają ograniczoną ilość przy łączeniu szeregowym. Może rozdzielić to na dwie grupy i rejestry wyświetlaczy zrobić na I2C (odświeżanie jakie mnie interesuje to 50Hz), a rejestry od przekaźników przez SPI (im szybciej/ dokładniej tym lepiej). A może do rejestrów przekaźników dać osobny AVR i połączyć go z głównym przez np. RS232 - z tym że główny mikrokontroler będzie wykorzystywał osobny przesył danych przez RS485.
Nie wiem jak to rozwiązać, więc prosiłbym o nakierowanie, żebym mógł doczytać i ruszyć dalej z projektem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 gru 2017, o 07:59 
Offline
Tech-support
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1192
Lokalizacja: okolice Warszawa
Pomógł: 109

kRetman4 napisał(a):
....
Myślałem żeby zrobić to na 74HC595, ale niby można połączyć maksymalnie 8 sztuk, a...


Witam,
Zastanawiam się dlaczego nie można wysłać kilka bajtów a po nich dopiero zatrzasnąć rejestry.
W jednym bajcie bity odpowiadały by za część przekaźników a w kolejnych za następne.
hmmm. ?

Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka

_________________
_pomóżmy_naszemu_koledze



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 gru 2017, o 19:14 
Offline
Użytkownik

Dołączył(a): 16 lis 2013
Posty: 139
Pomógł: 0

Jeśli dobrze rozumiem pytanie, to chyba odpowiedziałem na nie pytając ;) Przejrzałem datasheet od 74HC595 ale nie znalazłem tam nic, że można szeregowo maksymalnie 8 połączyć. Jeśli można złączyć 12 sztuk to byłoby to dla mnie chyba najprostsze rozwiązanie.

Chodzi o to żeby wysłać np 5 bajtów dla wyświetlaczy, zatrzasnąć rejestry i wysłać bajty 6-12 dla przekaźników i znów zatrzasnąć? Dobrze rozumiem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 gru 2017, o 21:34 
Offline
Tech-support
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1192
Lokalizacja: okolice Warszawa
Pomógł: 109

To teraz jeżeli dobrze rozumiem ja... :)
to chyba najpierw wysłać to co najdalej ma zostać w rejestrach,
czyli bity od ostatniego w ostatnim bajcie, :) (jeżeli ostatnie są przekaźniki, to wysłać od 12 -> 6, potem od 5 -> 1, i teraz jeżeli wszystko jest już na swoim miejscu - zatrzasnąć. 12 rejestrów. )
Należy pamiętać że bity są 'wsuwane' do rejestrów od ostatniego zaczynając.
Pierwszy podany bit będzie 'przepchnięty' przez kolejne na koniec. :)

_________________
_pomóżmy_naszemu_koledze



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 gru 2017, o 22:08 
Offline
Użytkownik

Dołączył(a): 16 lis 2013
Posty: 139
Pomógł: 0

Faktycznie! Kompletnie zapomniałem o takiej podstawowej kwestii. Czyli muszę wszystkie rejestry podłączyć 'od końca', żeby wyświetlacze zapalały się od początku :D a przekaźniki będą się załączać jako pierwsze. Rozumiem, że linie SCK i SS łączę równolegle do wszystkich rejestrów?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO