See artikkel ootab keeletoimetamist. |
1-Wire on järjestikport hulga seadmete ühendamiseks ainult ühe juhtmepaariga. Seejuures võivad seadmed tööks tarvis mineva voolu saada samast juhtmepaarist (parasiittoide).
Selle pordi töötas välja firma Dallas Semiconductor, mille koos kaubamärgiga 1-Wire™ omandas hiljem Maxim Integrated Products, Inc
Algselt oli see liides mõeldud lähimaarakendusteks, näiteks mikroprotsessorile mälu lisamiseks, kasutades selleks ainult ühte sisend-väljundviiku. Kõige levinum rakendus on iButtoni pakendis andmekogujad ja elektroonilised võtmed.[1]
Tüüpilises rakenduses on ühe juhtmepaariga ühendatud üks ülemseade (master) ja üks kuni mitu alamseadet (slave). Ülemseadmeks on näiteks mikrokontroller ja alamseadmeteks võivad olla näiteks temperatuuri, voolutugevuse, pinge jt andurid või muud kombineeritud seadmed. 1-Wire liides kasutab andmesideks kahte juhet, millest üks on nulljuhe ja teine täidab kahte ülesannet: andmeside ja alamseadmete vooluga varustamine. Eraldi nulljuhtmest võib paljudel juhtudel loobuda, kasutades selle funktsiooni täitmiseks ühist nulli, varjestust või seadme metallkesta. 1-Wire protokoll sobib juhtudel, kui vajalik andmemaht on väike, kaugus anduritest suur ja anduri enda voolutarve väike.
Andmevahetust algatab ja juhib ülemseade. Ooteseisundis on andmesiin "kõrgel", tüüpiliselt 2,8–5,25 V, pakkudes ka alamseadmetele vajalikku toitevoolu. Andmesideks tõmmatakse liinipinge lühiajaliselt nulli. Sel ajal saab alamseade tööks vajaliku voolu kas kondensaatorist või sisseehitatud patareist.
Standardijärgsel alamseadmel on tehases määratud 64-bitine ühene identifitseerimiskood, millest 8 bitti (perekood) kirjeldab seadme tüüpi ja funktsiooni ning 48 bitti on määratud järjekorranumbriks. Seetõttu ei teki liinil seadmete vahel konflikte ning alamseadmeid on võimalik ka käigu pealt lisada või vahetada.
Andmesidekiirus on lühikesel siinil maksimaalselt 125 kbit/s (overdrive mode), normaalselt aga 15,4 kbit/s. See andmesidekiirus on siinil leiduvate seadmete vahel jagatud. Töökindla siini pikkus sõltub tugevalt kasutatavatest lülitustest ja alamseadmete hulgast ja omadustest, jäädes vahemikku 100–500 meetrit.[1]
Protokoll on ajakriitiline. Signaalliinist (clock) loobumise tõttu peavad alamseadmed sisaldama rudimentaarset ajaarvestuslülitust. Suur täpsus ei ole siiski tarvilik, mistõttu piisab lihtsast võnkeringist.[1] Ajaaken (T) on standardkiiruse korral 60 µs pikkune.
Andmesidesessioon on kolmeastmeline, ja algab "RESET"-käsuga, mis seab kõik alamseadmed töövalmis. Selleks tõmmatakse signaal nulli 480–640 mikrosekundiks (umbes 10T). Alamseadmed teavitavad oma valmisolekust omapoolse nullistamisega.
Teiseks annab ülemseade teada, millise seadmega ta suhtlema hakkab. Teised seadmed lähevad seniks passiivsesse ooteseisundisse.
Kolmandaks toimub andmevahetus. Alamseade hakkab aega arvestama sel hetkel, kui ülemseade liinipinge alla tõmbab. Binaarne "1" antakse alamseadmele edasi kui lühiajaline pingekatkestus (kuni 15 µs), mis ajaakna möödumisel on lastud jälle kõrgele tasemele. Binaarne "0" kestab vähemalt 60 µs, ja on ajaakna möödumisel veel madalas olekus. Alamseade mõõdab liini olekut sõltuvalt oma täpsusest ajahetkel 20–50 µs.
Andmete lugemine toimub analoogselt: ülemseade annab algatuseks lühikese null-impulsi. Kui alamseade soovib saata binaarset "1"-te, siis ta ei tee midagi, ja liin on ajaakna möödumisel kõrges olekus. Binaarse "0" saatmiseks aga peab alamseade liini 60ks mikrosekundiks madalale tõmbama.
iButton on Maximi kaubamärk, mis tähistab 16 mm läbimõõduga, roostevabast terasest kellapatarei sarnast pakendit (nööpi), millel on kaks kontakti. Selline pakend on väga vastupidav keskkonnamõjudele. iButton võib olla lihtsalt passiivne identifikaator, näiteks kaubakasti küljes, aga ta võib sisaldada ka EEPROM-i, SHA-1 protsessorit krüpteeritud andmesideks, erinevaid sensoreid ja palju muud. Näiteks Hygrochron™ iButton on kasutusel peamiselt kauba kvaliteedi tagamisel. Nööpi on integreeritud 1-wire lülitus, termomeeter, hügromeeter, kell, patarei ja 8 kB EEPROM-mälu mõõtmistulemuste salvestamiseks. Seade võib lugemeid võtta ajavahemikuga ühest sekundist kuni 273 tunnini.[3]
Suhtelise odavuse, lihtsuse ja häirekindluse tõttu on 1-wire protokoll kasutuses ka hobielektroonikas, näiteks koduilmajaamade ja koduautomaatikaga suhtlemiseks. Tõsi, I²C on riistvaraliselt lihtsam ja levinum, kuid vajab kahte lisajuhet (takt ja toide). Saadaval on 1-wire protokolli toetavaid laienduskaarte ja tarkvarateeke Raspberry Pi'le, Arduinole ja teistele mikrokontrolleritele, kuigi lihtsamal juhul saab ka ilma spetsiaalse kiibita hakkama. [4] [5] [6] PC-tüüpi arvutiga ühendamiseks on võimalik kasutada kas jada- või USB-pordi 1-wire adaptereid.
{{netiviide}}
: CS1 hooldus: tundmatu keel (link)
{{netiviide}}
: CS1 hooldus: tundmatu keel (link)
{{netiviide}}
: CS1 hooldus: tundmatu keel (link)
{{netiviide}}
: CS1 hooldus: tundmatu keel (link)
{{netiviide}}
: CS1 hooldus: tundmatu keel (link)