====== 1-Wire ====== {{tag>busz 1-wire}} A Dallas Semiconductor Corp. által fejlesztett 1-wire egy olyan eszközkommunikációs buszrendszer, mely alacsony adatátviteli sebesség mellett a jelátvitelt és a tápellátást is biztosítani tudja egy vezetéken keresztül. Az 1-vezetékes koncepció hasonló az [[hu:comm:bus_i2c#i2c|I²C]]-hez, de alacsonyabb adatsebességgel és hosszabb hatótávolsággal valósítja meg a kommunikációt. Jellemzően rövid és egyszerű eszközök között alkalmazzák (melyek relativ kevés jelet forgalmaznak), mint például digitális hőmérők és időjárásmérő eszközök. A 1-wire eszközök és a hozzá tartozó master eszköz [[hu:comm:start#microlan|MicroLAN]] hálózatot alkot. A 64 bites címzés mellett maximum 75 alegységet képes lekérdezni a busz másodpercenként. Az átvitel sebessége nagyjából 16.3 kbit/s. A busz egyik sajátossága, hogy az un. "parazita" módban csak két vezetéket használ: adat és föld. A tápellátást ilyenkor az adatvezetéken keresztül biztosítja a egységeknek. Ennek elérése érdekében a 1-wire eszközök egy 800 pF kondenzátort tartalmaznak a töltés tárolására és ezt addig tudják feltölteni, míg az adatvonal aktív. ==== 1-wire címzés ==== A 1-wire-en minden résztvevő egy egyedileg kódolt, 64 bites azonosítóval rendelkezik: {{:wiki:comm:1_wire_addr.png|1-wire ID}} A ellenőrzőkód egy 8-bites [[hu:comm:start#crc|CRC]], a termékkódok közül pedig néhány: 28 - DS18B20 Thermometer \\ 26 - DS2438 Smart Battery Monitor \\ 20 - DS2450 Quad A/D-Converter \\ 1D - DS2423 Counter \\ 29 - DS2408 8-Channel Switch \\ 12 - DS2406 2-Channel Switch ==== Parazita / normál mód ==== ^Normál mód^Parazita mód| |{{:wiki:arduino:ds18b20_normal_mode.png?300|Normál mód}}|{{:wiki:arduino:ds18b20_parasite_mode.png?300|Parazita mód}}| |Normál, 3-vezetékes módban a tápellátást a Vdd felől az IC-k Vdd lábaira kötött vezeték látja el|Parazita, 2-vezetékes módban az IC-k Vdd lábait a GND-re kell lekötni, a tápellátás a Data vezetéken kerül megvalósításra.| A fenti példán a [[hu:arduino:temperature#ds18b20|DS18B20 digitális hőmérséklet-érzékelő szenzor]] parazita / normál módjának az alkalmazása látható. ==== Kommunikáció ==== A buszon minden esetben a master kezdeményezi a kommunikációt. Általában egy reset után az azonosító lekérdezéssel kezd, majd az egységek azonosítása után sorban és ciklikusan lekérdezi azokat. Telegramm-ütközést követően a master ismételt resetet ad ki, mellyel minden slave alapállapotba áll vissza, majd előröl kezdi a folyamatot. A gyártók ettől az "ajánlástól" természetesen eltérhetnek. {{:wiki:comm:1wire_ex.png|1-Wire kommunikáció}} ==== 1-Wire alkalmazása ==== [[hu:arduino:comm_example#arduino_1_wire_com|Arduino 1-wire kommunikáció]] \\ ==== Források ==== https://en.wikipedia.org/wiki/1-Wire