Zbernica 1-Wire: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 53: | Riadok 53: | ||
:- 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. | :- 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. | ||
[[Súbor: | [[Súbor:Reset_Pulse.png]] | ||
: | : | ||
'''VYSIELANIE''' | '''VYSIELANIE''' | ||
Riadok 66: | Riadok 65: | ||
: - uvoľnenie zbernice. | : - uvoľnenie zbernice. | ||
: - dĺžka slotu pre zápis je v rozsahu 60 až 120us. | : - dĺžka slotu pre zápis je v rozsahu 60 až 120us. | ||
'''ČÍTANIE''' | '''ČÍTANIE''' | ||
: - čítanie je inicializované mástrom. Ten najprv stiahne zbernicu po dobu minimálne 1us, následne ju uvoľní. | : - čítanie je inicializované mástrom. Ten najprv stiahne zbernicu po dobu minimálne 1us, následne ju uvoľní. | ||
Riadok 74: | Riadok 72: | ||
: - ak slave chce vyslať log 0, ztiahne zbernicu (master prečíta log 0 - ztiahnutá 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. | : - celková dĺžka slotu čítania je 60 až 120us. | ||
[[Súbor: | [[Súbor:Zapis_Citanie_1wire.png]] | ||
V našom prípade sme pracovali so snímačmi teploty s označením DS18B20. | V našom prípade sme pracovali so snímačmi teploty s označením DS18B20. | ||
Riadok 80: | Riadok 78: | ||
[[Súbor:reset_1_wire.png]] | |||
[[Súbor:vysielanie_na_1_wire.png]] | |||
[[Súbor:Citanie_z_1_wire.png]] | |||
<source lang="c"> | <source lang="c"> | ||
</source> | </source> |
Verzia z 14:36, 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é
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
Spôsob komunikácie:
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.
Zapojenie:
Zariadenia sú trvalo pripojené na napájacie napätie „PullUp“ rezistor obr.1
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.
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.
V našom prípade sme pracovali so snímačmi teploty s označením DS18B20. Pre lepšie pochopenie komunikácie na zbernici je priožený obrázok nižšie.