DS18B20 hőmérséklet-érzékelő ismeretek bemutatása
A DS18B20 egy általánosan használt digitális hőmérséklet -érzékelő. Digitális jeleket ad ki, kis méret jellemzőivel rendelkezik, alacsony hardver, erős anti-interferencia képesség, nagy pontosságú, és széles körben használják.
A DS18B20 hőmérséklet-érzékelő bemutatása
Műszaki jellemzők:
①. Egyedi egyvezetékes interfész mód. Amikor a DS18B20 csatlakozik egy mikroprocesszorhoz, csak 1 vezetékre van szükség a mikroprocesszor és a DS18B20 közötti kétirányú kommunikáció megvalósításához.
②. Hőmérséklet mérési tartomány -55℃~+125℃, belső hőmérséklet mérési hiba 1 ℃.
③. Támogassa a többpontos hálózati funkciót. Több DS18B20 párhuzamosan csatlakoztatható az egyetlen három vezetéknél, és maximum 8 párhuzamosan csatlakoztatható a többpontos hőmérsékleti mérés megvalósításához. Ha a szám túl nagy, A tápegység feszültsége túl alacsony lesz, ami instabil jelátvitelt eredményez.
④. Működő tápegység: 3.0~ 5,5 V/DC (Adatvonal parazita tápegység használható).
⑤. A használat során nincs szükség perifériás alkatrészekre.
⑥. A mérési eredményeket 9-12 bites digitális formában sorosan továbbítják.
⑦. A rozsdamentes acél védőcső átmérője φ6.
⑧. Alkalmas különféle DN15-25 közepes ipari csővezetékek hőmérsékletmérésére, DN40~DN250 és szűk helyeken lévő berendezések.
⑨. Szabványos beépítési menetek M10X1, M12X1.5, A G1/2” nem kötelező.
⑩. A PVC kábel közvetlenül vagy német golyós csatlakozódoboz csatlakoztatva van, amely kényelmesen csatlakoztatható más elektromos berendezésekhez.
A DS18B20 olvasási és írási időzítés és hőmérsékletmérés elve:
A DS18B20 hőmérséklet mérési elve az ábrán látható 1. Az ábrán látható alacsony hőmérsékleti együtthatójú kristályoszcillátor rezgési frekvenciáját a hőmérséklet kevéssé befolyásolja, és egy fix frekvenciájú impulzusjel generálására szolgál, amelyet a számlálóhoz kell küldeni 1. A magas hőmérsékleti együtthatójú kristályoszcillátor rezgési frekvenciája jelentősen változik a hőmérséklettel, és a generált jelet a számláló impulzusbemeneteként használjuk 2. Ellen 1 és a hőmérsékletregiszter előre be van állítva -55 ℃-nak megfelelő alapértékre. Ellen 1 levonja az alacsony hőmérsékleti együtthatójú kristályoszcillátor által generált impulzusjelet. Amikor a számláló előre beállított értéke 1 -re redukálódik 0, a hőmérsékletregiszter értéke eggyel nő 1, és a számláló előre beállított értéke 1 újra lesz töltve. Ellen 1 újraindul, hogy megszámolja az alacsony hőmérsékleti együtthatójú kristályoszcillátor által generált impulzusjelet, és a ciklus a számlálóig folytatódik 2 számít 0, a hőmérsékleti regiszterérték felhalmozódásának leállítása. Ebben az időben, a hőmérséklet-regiszterben szereplő érték a mért hőmérséklet. A lejtős akkumulátor a nemlinearitás kompenzálására és korrigálására szolgál a hőmérsékletmérés folyamatában, kimenete pedig a számláló előre beállított értékének korrigálására szolgál 1.
Ábra 1 a következő:
2. DS18B20 és MCU csatlakozási rajz
3. DS18B20 tű definíció:
DQ: Adatbevitel/kimenet. Nyissa meg a lefolyó 1 vezetékes interfészt. Ezenkívül tápellátást is biztosíthat az eszköz számára, ha VDD parazita üzemmódban használják: pozitív tápegység GND: tápföld 4. DS18B20 belső elemzés bevezetése:
A fenti ábra a DS18B20 blokkvázlatát mutatja, a 64 bites ROM pedig az eszköz egyedi sorozatkódját tárolja. A puffer memória tartalmaz 2 bájt hőmérséklet-regiszterek, amelyek a hőmérséklet-érzékelő digitális kimenetét tárolják. Ezen kívül, a puffermemória hozzáférést biztosít az 1 bájtos felső és alsó riasztási trigger regiszterekhez (TH és TL) és 1 bájtos konfigurációs regiszterek. A konfigurációs regiszter lehetővé teszi a felhasználó számára, hogy beállítsa a hőmérséklet felbontását digitális átalakításra 9, 10, 11, vagy 12 bitek. TH, TL, és a konfigurációs regiszterek nem felejtők (EEPROM), így megőrzik az adatokat, amikor az eszközt kikapcsolják. A DS18B20 a Maxim egyedi 1 vezetékes buszprotokollját használja, amely vezérlőjelet használ. A vezérlővezeték gyenge felhúzó ellenállást igényel, mivel minden eszköz egy 3 állapotú vagy nyílt leeresztő porton keresztül csatlakozik a buszhoz (DQ tű a DS18B20 esetében). Ebben a buszrendszerben a mikroprocesszor (fő-) egyedi 64 bites kódot használ minden eszközhöz. Mert minden eszköznek egyedi kódja van, az egy buszon címezhető eszközök száma gyakorlatilag korlátlan.
Hőmérséklet-nyilvántartási formátum
Hőmérséklet/adat kapcsolat
Üzemeltetési riasztási jelzés
Miután a DS18B20 hőmérséklet-átalakítást végez, összehasonlítja a hőmérsékleti értéket az 1 bájtos TH és TL regiszterekben tárolt két komplement riasztási trigger értékével.. Az előjelbit jelzi, hogy az érték pozitív vagy negatív: pozitív S=0, negatív S=1. A TH és TL regiszterek nem felejtők (EEPROM) és ezért nem illékonyak, amikor a készülék ki van kapcsolva. A TH és a TL bájton keresztül érhető el 2 és 3 az emlékről.
TH és TL regiszter formátum:
A DS18B20 külső tápegységről történő táplálásának vázlata
64-bit lézer csak olvasható memóriakód:
Minden DS18B20 egyedi 64 bites kódot tartalmaz a ROM-ban. A legkevésbé jelentős 8 A ROM kód bitjei a DS18B20 egyvezetékes családkódját tartalmazzák: 28h. A következő 48 A bitek egyedi sorozatszámot tartalmaznak. A legjelentősebb 8 bitek ciklikus redundancia ellenőrzést tartalmaznak (CRC) byte, amelyet az elsőtől számítanak ki 56 a ROM kód bitjeit.
DS18B20 memóriatérkép
Konfigurációs nyilvántartás:
Ábra 2
Byte 4 a memória tartalmazza a konfigurációs regisztert, amely az ábrán látható módon van elrendezve 2. A felhasználó itt beállíthatja a DS18B20 konverziós felbontását az R0 és R1 bitek használatával, a táblázat szerint. 2. Ezeknek a biteknek a bekapcsolási alapértékei: R0 = 1 és R1 = 1 (12-bit felbontás). Vegye figyelembe, hogy közvetlen kapcsolat van a felbontás és a konverziós idő között. Bit 7 és bitek 0 hogy 4 a konfigurációs regiszterben az eszköz belső használatra vannak fenntartva, és nem írhatók felül.
Táblázat 2 A hőmérő felbontásának beállítása
CRC generáció
A CRC bájt a DS18B20 64 bites ROM kód része, és a jegyzettömb 9. bájtjában található. A CRC ROM kódot az elsőtől számítjuk 56 bitjei a ROM kódnak, és a ROM legjelentősebb bájtjában található. A scratchpad CRC kiszámítása a jegyzettömbben tárolt adatok alapján történik, tehát megváltozik, ha a jegyzettömbben lévő adatok módosulnak. A CRC egy adatellenőrzési módszert biztosít a buszgazda számára, amikor adatokat olvas ki a DS18B20-ról. Az adatok helyes beolvasásának ellenőrzése után, a buszmasternek újra kell számítania a CRC-t a kapott adatokból, majd össze kell hasonlítania ezt az értéket a CRC ROM kóddal (ROM olvasásához) vagy a scratchpad CRC (a jegyzettömb olvasásához). Ha a számított CRC megegyezik az olvasott CRC-vel, az adatok helyesen érkeztek. A CRC értékek összehasonlítása és a továbblépés döntése teljes mértékben a buszmester belátása szerint történik. A DS18B20 belsejében nincs olyan áramkör, amely megakadályozná egy parancssorozat végrehajtását, ha:
A DS18B20 CRC (ROM vagy scratchpad) nem egyezik a busmaster által generált értékkel.
A CRC ekvivalens polinomfüggvénye az:
CRC = X8 + X5 + X4 + 1
A buszmester újra tudja számítani a CRC-t és összehasonlítani a DS18B20 CRC értékével.:
ábrán látható a polinomgenerátor 3. Az áramkör tartalmaz egy váltóregisztert és yihuo kapukat, és az eltolási regiszter bitjeit inicializáljuk 0. A ROM kód legkisebb jelentőségű bitje vagy a bájt legkisebb jelentőségű bitje 0 a jegyzettömbben egyenként kell áthelyezni a műszakregiszterbe. Bit váltás után 56 a ROM-ból vagy a bájt legjelentősebb bitjéből 7 a jegyzettömbről, a polinomgenerátor az újraszámított CRC-t fogja tartalmazni. Következő, a 8 bites ROM kódot vagy a CRC jelet a DS18B20 scratchpadban át kell tolni az áramkörbe. Ezen a ponton, ha az újraszámított CRC helyes, a műszakregiszter csupa 0 lesz.
Ábra 3: CRC generátor
V. Hozzáférés a DS18B20-hoz:
A DS18B20 elérésének sorrendje a következő:
Lépés 1. Inicializálás;
Lépés 2. ROM parancs (ezt követi a szükséges adatcsere);
Lépés 3. DS18B20 funkcióparancs (ezt követi a szükséges adatcsere);
Jegyzet: Ezt a sorrendet követi minden alkalommal, amikor hozzáfér a DS18B20-hoz, mert a DS18B20 nem válaszol, ha a szekvencia bármely lépése hiányzik vagy nem működik. Ez alól a szabály alól kivétel a Search ROM [F0h] és Riasztáskeresés [Ech] parancsokat. A két ROM-parancs kiadása után, a házigazdának vissza kell térnie a lépéshez 1 sorban.
(A fenti bevezető a hivatalos kézikönyvből van lefordítva)
ROM parancs
1, Olvassa el a ROM-ot [33h]
2, Match ROM [55h]
3, ROM kihagyása [CCh]
4, Riasztás keresése [Ech]
DS18B20 Funkcióparancs
1, Hőmérséklet konvertálása [44h]
2, Írjon Firkálótömböt (Memória) [4Eh]
3, Olvassa el a Firkálótömböt (Memória) [BEh]
4, Firkálótömb másolása (Memória [48h]
5, Ébressze újra az E2-t [B8h]
6, Olvassa el a Powert [B4h]
(A fenti parancsok részletes leírása, lásd a hivatalos kézikönyvet)
VI. Hozzáférés a DS18B20 időzítéshez
Az inicializálási folyamat során, a buszmester nullázási impulzust küld (TX) alacsony szinten legalább 480 µs-ig az 1-Wire busz meghúzásával. Majd, a buszmester feloldja a buszt és vételi módba lép (RX). A busz elengedése után, az 5kΩ-os felhúzó ellenállás magasra húzza az 1 vezetékes buszt. Amikor a DS18B20 érzékeli ezt a felfutó élt, vár 15 µs-tól 60 µs-ig, majd jelenléti impulzust küld az 1 vezetékes busz alacsony szintre húzásával 60 µs és 240 µs között.
Inicializálás időzítése:
Kétféle írási időrés létezik: “Írj 1” idősávok és “Írj 0-t” idősávok. A busz Write-t használ 1 időrés egy logika írásához 1 a DS18B20 és egy Write 0 időrés egy logika írásához 0 a DS18B20-hoz. Minden írási időrésnek legalább 60 µs hosszúságúnak kell lennie, és az egyes írási időrések között legalább 1 µs helyreállítási időnek kell lennie. Mindkét típusú írási időrést úgy kezdeményezi, hogy a mester lehúzza az 1-vezetékes buszt (lásd ábra 14). Írás létrehozásához 1 időrés, miután alacsonyra húzta az 1 vezetékes buszt, a buszmesternek 15µs-on belül ki kell engednie az 1-vezetékes buszt. A busz elengedése után, az 5kΩ-os felhúzó ellenállás magasra húzza a buszt. Generáljon a
Írj 0 időrés, miután alacsonyra húzta az 1 vezetékes vezetéket, a buszmesternek továbbra is alacsonyan kell tartania a buszt az időrés időtartama alatt (legalább 60 µs). A DS18B20 mintát vesz az 1 vezetékes buszról 15 µs és 60 µs közötti ablakon belül, miután a master kezdeményezi az írási időrést. Ha a busz magasan van a mintavételi ablak alatt, a 1 a DS18B20-ra van írva. Ha alacsony a vonal, a 0 a DS18B20-ra van írva.
Jegyzet: Az időrés az időrés-információk soros önmultiplexálásának egy része, amely egyetlen csatornára vonatkozik.
Ábra 14 a következő:
Olvasási idősáv:
A DS18B20 csak akkor tud adatokat küldeni a gazdagépnek, ha a gazdagép olvasási időrést ad ki. Ezért, a gazdagépnek azonnal létre kell hoznia egy olvasási időrést az olvasási memóriaparancs kiadása után [BEh] vagy Read Power Supply [B4h] parancsot, hogy a DS18B20 megadja a szükséges adatokat. Alternatív megoldásként, a gazdagép olvasási időrést generálhat a Convert T kiadása után [44h] vagy hívja vissza az E2-t [B8h] parancsot, hogy megtudja az állapotot. Minden olvasási időrésnek legalább 60 µs hosszúságúnak kell lennie, az időrések közötti minimális helyreállítási idővel pedig 1 µs. Az olvasási időrést úgy kezdeményezi a mester, hogy alacsonyra húzza az 1 vezetékes buszt, hogy legalább 1 µs-ig alacsonyan tartsa, majd elengedi a buszt (lásd ábra 14). Miután a mester olvasási időrést kezdeményez, a DS18B20 1-eket vagy 0-kat kezd küldeni a buszon. A DS18B20 küld a 1 a busz magasra tartásával és elküldi a 0 alacsonyra húzva a buszt. Amikor a 0 elküldik, a DS18B20 felszabadítja a buszt a busz magasra tartásával. Az időrés véget ér, és a buszt a felhúzó ellenállás visszahúzza a magas üresjárati állapotba.
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt
















