Ako pripojit 1Wire/iButon k MCU

Pokiaľ hľadáte jednoduchú zbernicu ktorá zvládne aj väčšiu vzdialenosť. Pravdepodobne sa dostanete k 1wire. Ale ako pripojiť takéto zariadenie k MCU? Je niekoľko možností …..

Napájanie

1wire zariadenia môžu fungovať bud z vlastným napájaním alebo parazitickým. iButon Funguje len v parazitickom móde.

Ako prvé si ukážeme zapojenie pri použití 2 portou MCU z vlastným napájaním.

  • OC buffer je možné nahradiť diódou či tranzistorom.
  • R1 je v rozsahu 10k=1k čím menší tým môže byť zariadenie vzdialenejšie.

Vysielanie z MCU je jednoduché dáta sa posielajú na výstupný pin.  A číta sa z vstupného pinu. žiadne záludnosti ani veľké cvičenia.

Ako druhé tu máme zapojenie pre zariadenia z parazitickým napájaním.

Oproti predchádzajúcemu zapojeniu nám pribudol ďalší pin. Tým spíname napájanie po dátovom vodiči.

Rozdiel práce je v tom že na začiatku komunikácie treba zapnúť parazitické napájanie. A vypínať ho len v čase keď komunikujeme.

Výhodou tohto zapojenia je nižšia spotreba ktorá je ale vykúpená nemožnosťou pracovať z ďalšími zariadeniami na zbernici počas vykonávania príkazu. Krásnym príkladom sú teplotné čidlá. Tie počas merania teploty  potrebujú napájanie.Takže zbernica sa počas potrebnej doby musí udržovať pod napätím. Na druhú stranu je to jediný spôsob ako obsluhovať iButon zariadenia.

1wire zbernica len z jedným pinom.

Jednoduchosť tohto zapojená je vykúpená zložitejšou obsluhou. A využitím možností IO výstupov moderných MCU.

  • čítanie je rovnaké ako v predchádzajúcich prípadov.
  • Pri zápise musíme simulovať OC výstup
    • Na výstup zapíšeme L tým u AVR tiež vypneme interný pull-up odpor.
    • A  dáta posielame ovládaním smeru portu.
      • H vsupný port
      • L Výstupný port-
  • Tiež je možné simulovať Parazitické napájanie. V závislosti možností IO portu.
    • Na port zapíšeme H
    • Port nastavíme ako výstupný

 

Print Friendly, PDF & Email