Operácie

Zbernica 1-Wire: Rozdiel medzi revíziami

Z SensorWiki

(Teplotný Senzor DS18B20)
(Teplotný Senzor DS18B20)
Riadok 87: Riadok 87:
 
* rozsah meranej teploty od –55°C do +125°C (-67°F do +257°F)
 
* rozsah meranej teploty od –55°C do +125°C (-67°F do +257°F)
 
* presnosť 0,5°C v rozmedzí –10°C do +85°C
 
* presnosť 0,5°C v rozmedzí –10°C do +85°C
 
+
* rozlíšenie senzora je voliteľné v rozsahu 9 až 12 bit
  
 
[[Súbor:reset_1_wire.png]]
 
[[Súbor:reset_1_wire.png]]

Verzia zo dňa a času 15:37, 5. január 2013

1-WireZbernica


Ako už z názvu vyplýva ide o jednovodičové sériove rozhranie s možnosťou polo duplexnej obojsmernej komunikácie. Zbernica sa skladá v podstate z dvoch vodičov a to dátového a zemiaceho. Dátový vodič slúži zároveň na napájanie zariadeni pripojených na tuto zbernicu.

Oblasti použitia napr:

- identifikačné systémy

- senzory (teploty, vlhkosti a podobne )

- digitálne potenciometre a iné

1Wire.gif


Vlastnosti:

- dĺžka vodiča až 100m

- na jednu linku je možné pripojiť do 150 zariadení s unikátnym sériovým číslom

- zabezpečenie pomocou 8-bitového CRC kódu

- obojsmerná poloduplexná prevádzka

- identifikácia zariadenia na základe 8-bajtového sériového čísla a 1-bajtovej informácie o type zariadenia

- realizácia prepojenia je pomocou skrútenej dvojlinky – twisted pair


Zapojenie: Zariadenia sú trvalo pripojené na napájacie napätie „PullUp“ rezistor obr.1

Blokova.jpg


Komunikacia

Komunikácia je inicializovaná mikropočítačom zmenou úrovne napätia na zbernici na 0 V. Komunikácia je založená na takzvaných „časových slotoch“, čiže od závislosti doby trvania poklesu úrovne napätia je slave zariadením identifikovaný typ operácie (zápis log.1 alebo log.0, čítanie log.1 alebo log.0, reset a identifikácia zariadenia).

Inicializácia

- Na začiatku uPC (master) ztiahne zbernicu k zemi (cez pull up rezistor) na minimálne 480us, potom ju uvoľní.
- Na uvoľnenie zbernice a vrátenie do kľudového stavu je potrebných 60us. Po tejto dobe je možné prečítať stav zbernice.
- Ak je na zbernici pripojené nejaké zariadenie, odpovedá ztiahnutím zbernice na dobu 60 až 240 us. Ak sa na zbernici nenacháda žiadne zariadenie, zbernica ostáva po celú dobu v kľudovom stave.
- Celková dĺžka trvania inicializačného procesu je minimálne 2x480us, teda až po dobe 960us môže prísť ďalší signál od mástra.

Reset Pulse.png

Vysielanie

Log 1
- stiahnutie zbernice po dobu mnimálne 1us.
- uvoľnenie zbernice.
- dĺžka slotu pre zápis je v rozsahu 60 až 120us.
Log 0
- stiahnutie zbernice po dobu mnimálne 60us.
- uvoľnenie zbernice.
- dĺžka slotu pre zápis je v rozsahu 60 až 120us.

Čítanie

- čítanie je inicializované mástrom. Ten najprv stiahne zbernicu po dobu minimálne 1us, následne ju uvoľní.
- následuje čítanie zbernice mástrom. To je inicializované po minimálne 15us od začiatku slotu (ten je určený počiatkom stiahnutia zbernice mastrom).
- ak slave chce vyslať log 1, ponechá zbernicu uvoľnenú až do konca slotu (master prečíta log 1 - uvoľnená zbernica).
- ak slave chce vyslať log 0, ztiahne zbernicu (master prečíta log 0 - ztiahnutá zbernica).
- celková dĺžka slotu čítania je 60 až 120us.

Zapis Citanie 1wire.png


Priebeh komunikacie na zbernici 1Wire

Každé zariadenie obsahuje výrobcom nastavenú 64-bitovú informáciu v internej ROM pamäti. Prvých horných 8 bitov slúži na zabezpečenie CRC kódom, potom nasleduje 48-bitové sériové číslo zariadenia a dolných 8 bitov tvorí kód identifikujúci typ zariadenia. Táto 64-bitová informácia je unikátna pre každé vyrobené zariadenie s možnosťou tak jednoznačnej identifikácie aj viacerých zariadení rovnakého typu pripojených na jednu linku. Master vyšle resetovací impulz a Slave mu odpovie

Ramec1Wire.png


V našom prípade sme pracovali so snímačmi teploty s označením DS18B20. Preto sú na obrázkoch vyššie použité pre lepšie pochopenie komunikácie na zbernici informácie z datasheetu snímača DS18B20 [[1]].

Teplotný Senzor DS18B20

Popis

  • napájanie je 3,0V – 5,5V
  • rozsah meranej teploty od –55°C do +125°C (-67°F do +257°F)
  • presnosť 0,5°C v rozmedzí –10°C do +85°C
  • rozlíšenie senzora je voliteľné v rozsahu 9 až 12 bit

Reset 1 wire.png

Vysielanie na 1 wire.png

Citanie z 1 wire.png