Úvod do znalostí snímače teploty DS18B20
DS18B20 je běžně používaný senzor digitální teploty. Vydává digitální signály, má vlastnosti malé velikosti, Nízký hardwarový režijní náklady, silná schopnost proti rušení, vysoká přesnost, a je široce používán.
Úvod k teplotnímu senzoru DS18B20
Technické vlastnosti:
①. Jedinečný režim jednodrátového rozhraní. Když je DS18B20 připojen k mikroprocesoru, pouze 1 drát je potřeba k realizaci obousměrné komunikace mezi mikroprocesorem a DS18B20.
②. Rozsah měření teploty -55℃~+125℃, vlastní chyba měření teploty 1℃.
③. Podpora vícebodové síťové funkce. Více DS18B20 může být připojeno paralelně pouze na tři vodiče, a maximálně 8 lze připojit paralelně pro realizaci vícebodového měření teploty. Pokud je číslo příliš velké, napájecí napětí bude příliš nízké, což má za následek nestabilní přenos signálu.
④. Provozní napájecí zdroj: 3.0~5,5V/DC (lze použít parazitní napájení datové linky).
⑤. Při používání nejsou potřeba žádné periferní komponenty.
⑥. Výsledky měření jsou přenášeny sériově v 9~12bitové digitální formě.
⑦. Průměr nerezové ochranné trubky je Φ6.
⑧. Je vhodný pro měření teploty různých středních průmyslových potrubí DN15~25, DN40~DN250 a zařízení v úzkých prostorách.
⑨. Standardní montážní závity M10X1, M12X1,5, G1/2” jsou volitelné.
⑩. Kabel PVC je připojen přímo nebo je připojena německá spojovací krabice kulového typu, který je vhodný pro spojení s jiným elektrickým zařízením.
DS18B20 princip časování čtení a zápisu a měření teploty:
Princip měření teploty DS18B20 je znázorněn na obrázku 1. Frekvence oscilací krystalového oscilátoru s nízkým teplotním koeficientem na obrázku je málo ovlivněna teplotou, a používá se ke generování pulzního signálu s pevnou frekvencí, který má být odeslán do čítače 1. Frekvence oscilací krystalového oscilátoru s vysokým teplotním koeficientem se významně mění s teplotou, a generovaný signál je použit jako impulsní vstup čítače 2. Čelit 1 a teplotní registr jsou přednastaveny na základní hodnotu odpovídající -55℃. Čelit 1 odečítá pulzní signál generovaný krystalovým oscilátorem s nízkým teplotním koeficientem. Když je přednastavená hodnota čítače 1 se redukuje na 0, hodnota teplotního registru se zvýší o 1, a přednastavení počítadla 1 bude znovu načten. Čelit 1 restartuje se, aby počítal pulzní signál generovaný krystalovým oscilátorem s nízkým teplotním koeficientem, a cyklus pokračuje až do čítače 2 počítá do 0, zastavení akumulace hodnoty teplotního registru. V tuto chvíli, hodnota v teplotním registru je naměřená teplota. Spádový akumulátor se používá ke kompenzaci a korekci nelinearity v procesu měření teploty, a jeho výstup slouží ke korekci přednastavené hodnoty čítače 1.
Postava 1 je následující:
2. Schéma zapojení DS18B20 a MCU
3. Definice pinů DS18B20:
DQ: Vstup/výstup dat. Otevřete vypouštěcí 1-vodičové rozhraní. Může také poskytovat napájení zařízení při použití v režimu parazitního napájení VDD: kladné napájení GND: napájecí zem 4. Úvod do interní analýzy DS18B20:
Výše uvedený obrázek ukazuje blokové schéma DS18B20, a 64bitová ROM uchovává jedinečný sériový kód zařízení. Vyrovnávací paměť obsahuje 2 bajtů teplotních registrů, které ukládají digitální výstup teplotního čidla. Navíc, vyrovnávací paměť poskytuje přístup k 1bajtovým horním a dolním registrům spouštění alarmů (TH a TL) a 1bajtové konfigurační registry. Konfigurační registr umožňuje uživateli nastavit rozlišení teploty na digitální převod na 9, 10, 11, nebo 12 bitů. TH, TL, a konfigurační registry jsou energeticky nezávislé (EEPROM), takže budou uchovávat data, když je zařízení vypnuto. DS18B20 využívá jedinečný 1-wire bus protokol Maxim, který využívá řídicí signál. Řídicí vedení vyžaduje slabý pull-up rezistor, protože všechna zařízení jsou připojena ke sběrnici přes 3stavový nebo otevřený port (DQ pin v případě DS18B20). V tomto sběrnicovém systému mikroprocesor (zvládnout) používá jedinečný 64bitový kód pro každé zařízení. Protože každé zařízení má jedinečný kód, počet zařízení, která lze adresovat na jedné sběrnici, je prakticky neomezený.
Formát registru teploty
Vztah mezi teplotou a daty
Provozní poplachový signál
Poté, co DS18B20 provede konverzi teploty, porovnává hodnotu teploty s uživatelsky definovanými dvěma hodnotami spouštění alarmu komplementu uloženými v 1bajtových registrech TH a TL. Znaménkový bit udává, zda je hodnota kladná nebo záporná: kladné S=0, negativní S=1. Registry TH a TL jsou energeticky nezávislé (EEPROM) a proto nejsou těkavé, když je zařízení vypnuté. K TH a TL lze přistupovat prostřednictvím bajtů 2 a 3 paměti.
Formát registrů TH a TL:
Schematické schéma napájení DS18B20 pomocí externího zdroje
64-bitový laserový kód paměti pouze pro čtení:
Každý DS18B20 obsahuje jedinečný 64bitový kód uložený v paměti ROM. Nejméně významné 8 bity kódu ROM obsahují jednodrátový kód rodiny DS18B20: 28h. Další 48 bity obsahují jedinečné sériové číslo. Nejvýznamnější 8 bity obsahují cyklickou kontrolu redundance (CRC) byte, který se počítá od prvního 56 bitů kódu ROM.
Paměťová mapa DS18B20
Registr konfigurace:
Postava 2
Byte 4 paměti obsahuje konfigurační registr, který je uspořádán tak, jak je znázorněno na obrázku 2. Uživatel zde může nastavit rozlišení převodu DS18B20 pomocí bitů R0 a R1, jak je uvedeno v tabulce 2. Výchozí nastavení při zapnutí pro tyto bity je R0 = 1 a R1= 1 (12-bitové rozlišení). Všimněte si, že existuje přímý vztah mezi rozlišením a časem převodu. Bit 7 a bitů 0 na 4 v konfiguračním registru jsou vyhrazeny pro interní použití zařízení a nelze je přepsat.
Tabulka 2 Konfigurace rozlišení teploměru
Generace CRC
Bajt CRC je součástí 64bitového kódu ROM DS18B20 a je uveden v 9. bajtu zápisníku.. Kód ROM CRC se vypočítává z prvního 56 bitů kódu ROM a je obsažen v nejvýznamnějším bytu ROM. CRC zápisníku se vypočítá na základě dat uložených v zápisníku, takže se změní, když se změní data v zápisníku. CRC poskytuje hostiteli sběrnice metodu ověřování dat při čtení dat z DS18B20. Po ověření, že data byla načtena správně, master sběrnice musí přepočítat CRC z přijatých dat a poté tuto hodnotu porovnat s ROM kódem CRC (pro čtení ROM) nebo zápisník CRC (pro čtení zápisníku). Pokud se vypočtený CRC shoduje s přečteným CRC, data byla přijata správně. Rozhodnutí porovnat hodnoty CRC a pokračovat je zcela na uvážení správce sběrnice. Uvnitř DS18B20 nejsou žádné obvody, které by bránily provedení sekvence příkazů, pokud:
DS18B20 CRC (ROM nebo zápisník) neodpovídá hodnotě generované masterem sběrnice.
Ekvivalentní polynomiální funkce pro CRC je:
CRC = X8 + X5 + X4 + 1
Řídicí jednotka sběrnice může přepočítat CRC a porovnat ji s hodnotou CRC DS18B20 pomocí:
Generátor polynomů je znázorněn na obrázku 3. Obvod obsahuje posuvný registr a hradla yihuo, a bity posuvného registru jsou inicializovány 0. Nejméně významný bit kódu ROM nebo nejméně významný bit bajtu 0 v zápisníku by se měly posouvat do posuvného registru jeden po druhém. Po posunutí v bit 56 z ROM nebo nejvýznamnějšího bitu bajtu 7 ze zápisníku, generátor polynomů bude obsahovat přepočtené CRC. Další, 8bitový kód ROM nebo signál CRC v zápisníku DS18B20 musí být posunut do obvodu. V tuto chvíli, jestli je přepočtený CRC správný, posuvný registr bude mít všechny 0s.
Postava 3: Generátor CRC
PROTI. Přístup k DS18B20:
Pořadí pro přístup k DS18B20 je následující:
Krok 1. Inicializace;
Krok 2. příkaz ROM (následuje jakákoli nezbytná výměna dat);
Krok 3. Příkaz funkce DS18B20 (následuje jakákoli nezbytná výměna dat);
Poznámka: Tato sekvence je dodržována při každém přístupu k DS18B20, protože DS18B20 nebude reagovat, pokud některý krok v sekvenci chybí nebo je mimo provoz. Výjimkou z tohoto pravidla je Search ROM [F0h] a Hledání alarmů [Ech] příkazy. Po vydání těchto dvou příkazů ROM, hostitel se musí vrátit na krok 1 v pořadí.
(Výše uvedený úvod je přeložen z oficiální příručky)
Příkaz ROM
1, Přečtěte si ROM [33h]
2, Zápas ROM [55h]
3, Přeskočit ROM [CCh]
4, Hledání alarmů [Ech]
Příkaz funkce DS18B20
1, Převést teplotu [44h]
2, Napište Zápisník (Paměť) [4Eh]
3, Přečtěte si Zápisník (Paměť) [BEh]
4, Kopírovat Zápisník (Paměť [48h]
5, Znovu probudit E2 [B8h]
6, Přečtěte si Power [B4h]
(Pro podrobný popis výše uvedených příkazů, viz oficiální manuál)
VI. Přístup k časování DS18B20
Během procesu inicializace, sběrnice master vyšle resetovací impuls (TX) nízkou úroveň po dobu alespoň 480 µs vytažením sběrnice 1-Wire. Pak, master sběrnice uvolní sběrnici a přejde do režimu příjmu (RX). Po uvolnění autobusu, 5kΩ pull-up rezistor vytáhne 1-Wire sběrnici vysoko. Když DS18B20 detekuje tuto stoupající hranu, čeká 15 µs až 60 µs a poté odešle puls přítomnosti stažením 1-Wire sběrnice na nízkou úroveň po dobu 60 µs až 240 µs.
Časování inicializace:
Existují dva typy časových slotů zápisu: “Napište 1” časové úseky a “Napište 0” časové úseky. Sběrnice používá zápis 1 časový úsek pro napsání logiky 1 na DS18B20 a zápis 0 časový úsek pro napsání logiky 0 na DS18B20. Všechny sloty času zápisu musí trvat alespoň 60 µs s dobou obnovy alespoň 1 µs mezi jednotlivými sloty času zápisu. Oba typy slotů času zápisu jsou iniciovány masterem, který stáhne 1-Wire sběrnici na nízkou úroveň (viz obrázek 14). Chcete-li vygenerovat zápis 1 časový úsek, po stažení sběrnice 1-Wire nízko, sběrnice master musí uvolnit 1-Wire sběrnici do 15 µs. Po uvolnění autobusu, 5kΩ pull-up rezistor táhne sběrnici vysoko. Vygenerovat a
Napsat 0 časový úsek, po stažení 1-Wire vedení nízko, sběrnice master musí i nadále udržovat sběrnici nízko po dobu trvání časového slotu (alespoň 60 µs). DS18B20 vzorkuje 1-Wire sběrnici v okně 15 µs až 60 µs poté, co master inicializuje časový slot zápisu. Pokud je sběrnice vysoká během vzorkovacího okna, A 1 je zapsán na DS18B20. Pokud je linka nízká, A 0 je zapsán na DS18B20.
Poznámka: Timeslot je část sériového self-multiplexování informací o časovém slotu vyhrazené pro jeden kanál.
Postava 14 je následující:
Přečtěte si časový úsek:
DS18B20 může odesílat data hostiteli pouze tehdy, když hostitel vydá časový slot pro čtení. Proto, hostitel musí vygenerovat časový úsek čtení ihned po vydání příkazu čtení paměti [BEh] nebo zdroj napájení pro čtení [B4h] aby DS18B20 poskytl požadovaná data. Alternativně, hostitel může vygenerovat časový úsek čtení po vydání Convert T [44h] nebo Odvolání E2 [B8h] příkaz ke zjištění stavu. Všechny časové úseky čtení musí trvat alespoň 60 µs s minimální dobou obnovy 1 µs mezi časovými úseky. Časový slot čtení je iniciován tak, že master stáhne 1-Wire sběrnici nízko, aby ji udržela nízko po dobu alespoň 1 µs, a pak sběrnici uvolní (viz obrázek 14). Poté, co master inicializuje časový úsek čtení, DS18B20 začne na sběrnici posílat buď 1s nebo 0s. DS18B20 posílá a 1 držením autobusu vysoko a posílá a 0 tažením autobusu nízko. Když a 0 je odeslána, DS18B20 uvolní sběrnici přidržením sběrnice vysoko. Časový slot končí a sběrnice je tažena zpět do vysokého klidového stavu pomocí pull-up rezistoru.
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
















