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

- Magistrala 1-wire na stm32

Wodzirej 14 Maj 2013 15:01 2007 7
  • #1 14 Maj 2013 15:01
    Wodzirej
    Poziom 11  

    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

    0 7
  • #2 14 Maj 2013 15:05
    Freddie Chopin
    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!!

    0
  • #3 14 Maj 2013 20:09
    94075
    Użytkownik usunął konto  
  • #4 14 Maj 2013 20:44
    Wodzirej
    Poziom 11  

    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

    0
  • #5 14 Maj 2013 22:59
    Jado_one
    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?

    0
  • #6 15 Maj 2013 07:10
    Wodzirej
    Poziom 11  

    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.

    0
  • #7 15 Maj 2013 08:21
    michalko12
    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.

    0
  • #8 15 Maj 2013 08:31
    mmacura
    Poziom 17  

    Zobacz układ DS2482-800 firmy Maxim (Dallas) - jest to konwerter I2C na 8 x magistrala 1-wire.

    Marek

    0