Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

- Magistrala 1-wire na stm32

14 Maj 2013 15:01 2337 7
  • Poziom 12  
    Cześć
    Chce zrobić komunikację pomiędzy urządzeniami(podlączanymi i odłączanymi podczas pracy systemu mikroprocesorowego) a mikrokontrolerem stm32 z wykorzystaniem magistrali 1-wire. Problemem jest to, że muszę też wiedzieć gdzie dane urządzenie jest aktualnie podłączone, więc wspólna magistrala np przy pomocy USART'a odpada. Czy zrobienie oddzielnych magistral z wykorzytaniem GPIO i obsluga protokołu komunikacyjnego za pomocą timera ma sens?

    Za pomoc dziękuję

    pozdrawiam
  • Specjalista - Mikrokontrolery
    A czemu któryś z "typowych" sposobów identyfikacji Ci nie odpowiada? Np podłączanie urządzeń po kolei, przypisywanie im funkcji w programie (przez użytkownika) na podstawie dowolnego sposobu identyfikacji (np. podgrzewasz termometr -> widzisz który odczyt się zmienia -> wiesz który to czujnik).

    4\/3!!
  • Użytkownik usunął konto  
  • Poziom 12  
    Dziękuję za zainteresowanie
    W układzie są 4 identyczne gniazda do podłączenia zewnętrznych urządzeń. Każde z tych urządzeń jest obsługiwane w inny sposób. Dlatego poza tym, że otrzymuje unikatowe ID urządzenia muszę też wiedzieć w które gniazdo zostało aktualnie podłączone. Został mi wolny tylko jeden USART. Nie widzę możliwości rozróżnienia urządzeń podłączonych pod wspólną magistrale. Tak jak napisał Albert jedna z możliwości to multiplexer inną możliwością jest właśnie timer i 4 niezależne magistrale. Stąd moje pytanie do bardziej doświadczonych kolegów czy opcja z timerem będzie się nadawała w tym konkretnych rozwiązaniu?

    pozdrawiam
  • Poziom 22  
    A w jaki sposób zidentyfikujesz, że dane urządzenie jest podłączone do konkretnego gniazda? (skoro po numerze ID urządzenia jak piszesz nie da się tego zrobić)?
    Chyba tylko na zasadzie "ja wiem co w które gniazdo wkładam i zaraz odp. ustawię setup urządzenia, żeby wiedziało gdzie co jest".
    No bo innym rozwiązaniem byłoby użycie gniazd, które oprócz standardowych złącz magistrali posiadałyby jeszcze styki na dodatkowe zworki (tzn. we wtyczce urządzenia byłaby odp. zwora - rózna dla róznego typu urządzenia).

    BTW. To jest "projekt dostosowawczy do istniejącego już urządzenia" czy nowy od zera?
  • Poziom 12  
    To jest projekt do juz istniejacego urzadzenia.
    Jak bede mial oddzielną magistrale do kazdego gniazda to będe wiedzial w ktorym gniezdzie siedzi jakie urzadzenie.
    Dodam jeszcze, że mam dwa przerwania w jednym siedzi bardzo krociutko a w drugim niestety 50us co 300us.
  • Specjalista - Mikrokontrolery
    Wodzirej napisał:
    To jest projekt do juz istniejacego urzadzenia.


    To nie wiele mówi bo z wcześniejszych wypowiedzi wynika, że kwestia interfejsu, gniazd, itp jest otwarta i jakby do zrobienia od podstaw. Nic nie napisałeś jaką magistralę mają urządzenia lub czy to też jest do opracowania.
  • Poziom 17  
    Zobacz układ DS2482-800 firmy Maxim (Dallas) - jest to konwerter I2C na 8 x magistrala 1-wire.

    Marek