уга живлення від +3 до +5.5 В. У режимі очікування споживаний струм близький до нуля (менше 1мкА), а під час перетворення температури він дорівнює приблизно 1мА. Процес перетворення триває максимум 750мс. p> Принцип дії цифрових датчиків температури фірми DALLAS заснований на підрахунку кількості імпульсів, що виробляються генератором з низьким температурним коефіцієнтом у тимчасовому інтервалі, який формується генератором з великим температурним коефіцієнтом. Лічильник инициализируется значенням, відповідним -55 В° C (мінімальної вимірюваної температурі). Якщо лічильник досягає нуля перед тим, як закінчується часовий інтервал (це означає, що температура більше -55 В° C), то регістр температури, який також инициализирован значенням -55 В° C, инкрементируется. Одночасно лічильник передвстановлюють новим значенням, яке задається схемою формування нахилу характеристики. Ця схема потрібна для компенсації параболічної залежності частот генераторів від температури. Лічильник знову починає працювати, і якщо він знову досягає нуля, коли інтервал ще не закінчений, процес повторюється знову. Схема формування нахилу завантажує лічильник значеннями, які відповідають кількості імпульсів генератора на один градус Цельсія для кожного конкретного значення температури. По закінченню процесу перетворення регістр температури буде містити значення температури. p> Для DS18S20 температура представляється у вигляді 9-бітного значення в додатковому коді. Оскільки це значення займає 2 байти, всі розряди старшого байта дорівнюють знакової розряду. Дискретність представлення температури складає 0.5 В° C. Залежність вихідного коду від температури наведена в таблиці:
Температура
Вихідний код (Binary)
Вихідний код (Hex)
Ст. байт
Мол. байт
+125 В° C
0000 0000
1111 1010
00FAh
+25 В° C
0000 0000
0011 0010
0032h
+0.5 В° C
0000 0000
0000 0001
0001h
0 В° C
0000 0000
0000 0000
0000h
-0.5 В° C
1111 1111
1111 1111
FFFFh
-25 В° C
1111 1111
1100 1110
FFCEh
-55 В° C
1111 1111
1001 0010
FF92h
Більш висока роздільна здатність може бути отримана, якщо провести додаткові обчислення на основі значень COUNT_REMAIN (значення, що залишився в лічильнику в Наприкінці виміру) і COUNT_PER_C (кількість імпульсів на один градус для даної температури), які доступні. Для обчислень потрібно взяти лічену значення температури і відкинути молодший біт. Отримане значення назвемо TEMP_READ. Тепер дійсне значення температури може бути обчислене за формулою:
TEMPERATURE = TEMP_READ-0.25 + (COUNT_PER_C - COUNT_REMAIN)/COUNT_PER_C
У нашому випадку такий розрахунок дозволяє отримати дискретність представлення температури 0.1 В° C. p> Кожен екземпляр DS18S20 має унікальний 48-бітний номер, записаний за допомогою лазера в ПЗП в процесі виробництва. Цей номер використовується для адресації пристроїв. Крім серійного номера в ПЗП міститься код сімейства (для DS18S20 це 10h) і контрольна сума. p> Крім ПЗУ DS18S20 має проміжне ОЗУ об'ємом 8 байт, плюс два байти незалежній пам'яті. Карта пам'яті DS18S20 показана на малюнку:
В
Байти TH і TL являють собою температурні пороги, з якими порівнюються 8 біт кожного виміряного значення температури (молодший біт відкидається). За допомогою спеціальної команди можна організувати сигналізацію виходу температури за межі цих порогів. Якщо така функція не потрібна, байти TH і TL можна використовувати для зберігання будь-яких даних користувача. p> Зчитування значення виміряної температури, а також передача команди початку перетворення та інших команд проводиться за допомогою 1-провідного інтерфейсу (1-WireTM) фірми DALLAS. На основі цього інтерфейсу фірма DALLAS навіть створила мережу, звану microLAN (або ОјLAN). Для роботи в цій мережі випускається цілий ряд пристроїв, таких як адрес...