Fórum Root.cz
Hlavní témata => Hardware => Téma založeno: Jacob 01. 03. 2013, 15:28:13
-
Na internetu jsem našel jednoduchý návod jak uvedu do provozu čidlo DS1820 pomocí IWIRE.
kod je zde:http://www.mcselec.com/index.php?option=com_content&task=view&id=39&Itemid=57 (http://www.mcselec.com/index.php?option=com_content&task=view&id=39&Itemid=57)
datsheet je zde: http://www.datasheetcatalog.org/datasheet/maxim/DS1820-DS1820S.pdf (http://www.datasheetcatalog.org/datasheet/maxim/DS1820-DS1820S.pdf)
jazyk:bascom
Co mi ale není jasné je tohle:
1wwrite &hcc ' read internal RAM
1wwrite &Hbe ' read 9 data bytest
Jasně asi je to totálně stupidní dotaz, ale může mi prosím někdo vysvětlit kde v datasheetu zjistím, že adresa &hcc čte ram? Jak přesně se k tomuto údaji mohu dopídit? Popřípadě přepčítat :'(
Jak na sběrnici určím(rozliším) adresu čidla(či více čidel)?
-
No nie som expert, ale skutocne je to i2c? V dshite sa sice pise ze je to 1-wire co nepoznam, ale i2c potrebuje aj CLOCK a to tam nevidim.
-
Jak na sběrnici určím(rozliším) adresu čidla(či více čidel)?
Pokial ide o i2c, tak kazdy slave na zbernici ma svoju adresu v rozsahu 1-126 adresa 127 sluzi ako broadcast (Master tymto moze oslovit vsetky slave na zbernici) adresa jednotlivych slavov by sa mala dat zmenit.
-
V datasheetu obvodu DS18B20 je kapitola ROM COMMANDS a v ni je popis tech "zahadnych" cisel :)
SKIP ROM [CCh]
READ SCRATCHPAD [BEh]
-
Pavle moc děkuju!
Jenom ještě jak se pak řeší ta adresace ostatních čidel?
-
No v první řadě zapoměň na I2C. 1-wire má s I2C společné akorát to, že taky běhá po drátech (ale má jich o 1 míň).
S adresováním se to má tak, že každé zařízení má 64 bitovou adresu. Když jsem s tím kdysi dělal, tak byla ta adresa uvedená přímo na tom zařízení (Dallas iButton) nebo se z té věci tá vyčíst (povel Read ROM / 33h) v momentě, kdy na sběrnici není jiné zařízení. Master vždy v rámci povelu posílá před vlastním kódem povelu adresu (těch 64 bitů) příslušného adresáta - viz třeba example 1 na straně 17 toho datasheetu, co se na něj odkazuješ. Případně ještě strany 15 a 16 tamtéž. Je ovšem třeba dodržet celou sekvenci včetně různých restovacích pulzů a tak.
Z.
-
Tak ja to jeste musim upresnit, protoze zde nekteri pisou blbosti :)
I2C a 1-wire jsou dve ruzne rozhrani - tak si je prosim neplette.
DS18B20 je 1-wire zarizeni, ktere nese v sobe svoji unikatni adresu. Pokud techto zarizeni date na sbernici vice, lze s nima pracovat pokud implementujete "multidrop" funkce (zjistovani seznamu pripojenych adres binarnim vetvenim, posilani adresy pred prikazem). Pokud mate jen 1 zarizeni, lze mu rovnou poslat prikaz.
Co se tyce samotneho teplomeru - je nutno pouzit bud maly pullup odpor, nebo jeste lepe implementovat "strong-pullup" (zapinani napajeni na signalni drat), kvuli vetsi spotrebe pri prevodu.
-
Pokud se chces s DS1820 bavit pres I2C tak muzes: pozij DS2482 (http://www.maximintegrated.com/datasheet/index.mvp/id/4382 (http://www.maximintegrated.com/datasheet/index.mvp/id/4382)) coz je bridge mezi I2C a 1-wire.