One wire komunikace

Martin Záruba swz na volny.cz
Pátek Červenec 22 11:45:11 CEST 2016


Zapomínáte ještě na to, že vše probíhá v čase a že sběrnice (1-wire) je 
typu otevřený kolektor. Jakmile master uvolní sběrnici, čte z ní. Slave 
podle toho, že sběrnice přešla do 1 pozná, že nyní je na řadě on. Pokud 
chce poslat 1, prostě nedělá nic. Pokud chce poslat 0, stáhne na 
definovanou dobu sběrnici do 0.

Mnohem větší sranda je, že sběrnice není přizpůsobená. Většina 1-wire 
jsou značně odolné proti nekorektnímu časování, dokonce i při fantomovém 
napájení. Jediné co naprosto nesnášejí, je záporné napětí na sběrnici. 
Pokud u slave dáte antiparalelně shotkyho diodu a master nedělá příliš 
strmé hrany (není to třeba). Pokud je moc tvrdý (výstupní pin MCU), je 
dobré mu dát do série odpor. U 1-wire se mi osvědčilo 56ohmů. Pak mi 
DS18B20 chodila na 200m kabelu. Pulzy u čidla vypadaly strašně, ale i 
tak to chodilo.

Martin Záruba

Dne 22.7.2016 v 11:27 Ondrej napsal(a):
> Zdravím
>
>
> mám dotaz na zdejší odborníky ohledně "one wire" komunikace - po 
> jednom drátě obousměrně. Klidně berme pro jednoduchost, že master i 
> slave má napájení. Je to komunikace ze senzoru proprietární protokol.
>
> Master udělá na sběrnici pulz 0 -> 1 a poté uvolní sběrnici. Slave 
> stáhne sběrnici do 0 nebo 1, podle toho, o která data se jedná.
>
> Mě by zajímalo, jak ten slave detekuje, že sběrnice byla uvolněna. 
> Ještě si to umím představit, když chce vyslat 0, ale pokud vysílá 1, 
> tak je sběrnice vlastně stále v log. 1.
>
> Něco podobného mají i některé obvody, kdy konfigurační pin (např. IIC 
> adresa) může být buď v 0, 1 nebo nechán nepřipojen.
>
>
> Díky za vysvětlení
>
> Ondřej
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>



Další informace o konferenci Hw-list