Projekt

Obecné

Profil

OWI » Historie » Verze 1

Jednatel J.H., 2017-08-27 17:43

1 1 Jednatel J.H.
h1. One Wire Interface [[OWI]]
2
3
Sběrnice [[OWI]], navržená firmou [[pk|ProKyber]], umožňuje připojit několik zařízení k řídící jednotce prostřednictvím pouhých dvou vodičů. [[OWI]] je implementována jako základní komunikační technologie (nejnižší úroveň) paralelně se všemi vyššími komunikačními technologiemi (vyšší úrovně) jako jsou [[TWI]], [[SPI]], [[UART]]. Kromě vlastní datové a řídicí komunikace je [[OWI]] využíváno k diagnostice komunikačních problémů výše uvedených komunikačních technologií.
4
 
5
h2. Základní informace
6
7
Sběrnice má jeden řídící obvod (master) a jeden či více ovládaných zařízení (slave). Všechny obvody jsou zapojeny jednak na společnou zem, jednak paralelně na společný datový vodič. Tento datový vodič je připojen přes odpor cca 5 kΩ na napájecí napětí a "zdvihá" tak sběrnici do log. 1.
8
9
Komunikaci zahajuje vždy master reset pulsem. Nejprve "stáhne" datový vodič do log. 0 (uzemní ho) a drží ho na této úrovni po dobu resetovacího pulzu která odpovídá délce 8 bitů. Pak sběrnici uvolní a naslouchá. Odpor zatím vrátí sběrnici zpět do log. 1. Pokud je na sběrnici připojené nějaké 1-Wire zařízení, tak detekuje tuto vzestupnou hranu a po prodlevě 1 bitu stáhne sběrnici k log. 0 po dobu resetovacího pulzu.
10
11
Pokud se zařízení správně ohlásí, může master začít vysílat a přijímat data. Data jsou vysílána v tzv. "time slotech", česky bychom řekli nejspíš v "časových okénkách". Slot je dlouhý osminu resetovacího pulzu a během jednoho slotu je vyslán nebo přijat jeden bit informace.
12
13
Existují 4 druhy slotů: Zápis 1, Zápis 0, Čtení 1 a Čtení 0. Zápisové sloty slouží k tomu, aby master vyslal data do zařízení. Zápis 0 probíhá tak, že master stáhne sběrnici k nule po délku celého slotu. Zápis 1 probíhá tak, že Master nastaví sběrnici k 1 a ponechá ji tak po celý slot. Zařízení, tedy slave čeká na přerušení.
14
15
Pokud Master nevysílá, může se slave ohlásit a vyvolat požadavek na komunikaci. Master vždy začíná komunikaci voláním adresy zařízení. Slave komunikuje pouze pokud dostane svoji adresu. Slave s adresou 0 je nově připojený. Kolizně přiřazené adresy si řeší zařízení mezi sebou s dotazem o novou adresu na Master. Alternativně řeší kolize master pomocí [[UUID]] připojených zařízení.
16
17
Komunikace probíhá po bajtech a vždy se vysílá bit 0 (nejmenší) jako první a bit 7 jako poslední.