Технологија сензора температуре

Дизајн функције мерења температуре дигиталног температурног сензора ДС18Б20

функција мерења температуре дигиталног температурног сензора ДС18Б20

ДС18Б20 је 1-жични дигитални температурни сензор који производи ДАЛЛАС, са 3-пинским ТО-92 малим пакетом. Опсег мерења температуре је -55℃~+125℃, и може се програмирати на тачност А/Д конверзије од 9-12 бита. Резолуција мерења температуре може да достигне 0,0625 ℃, а измерена температура се серијски излази у облику 16-битне дигиталне величине са проширењем предзнака. Његово радно напајање може бити уведено на удаљеном крају или генерисано паразитским напајањем. Више ДС18Б20 може се повезати паралелно са 3 или 2 линије. ЦПУ-у је потребна само једна линија порта за комуникацију са многим ДС18Б20, заузимају мање портова микропроцесора, што може уштедети много извода и логичких кола. Горе наведене карактеристике чине ДС18Б20 веома погодним за системе за детекцију температуре са више тачака на даљину.

функција мерења температуре дигиталног температурног сензора ДС18Б20

функција мерења температуре дигиталног температурног сензора ДС18Б20

2. Унутрашња структура шеме кола ДС18Б20 дс18б20
Унутрашња структура ДС18Б20 је приказана на слици 1, који се углавном састоји од 4 делови: 64-бит РОМ, сензор температуре, неиспарљиви температурни аларм окида ТХ и ТЛ, и конфигурационих регистара. Распоред пинова ДС18Б20 је приказан на слици 2. ДК је терминал за улаз/излаз дигиталног сигнала; ГНД је уземљење за напајање; ВДД је улазни терминал екстерног напајања (уземљен у режиму паразитског напајања, види слику 4).

64-битни серијски број у РОМ-у је фотоурезан пре изласка из фабрике. Може се сматрати кодом адресне секвенце ДС18Б20. 64-битни серијски број сваког ДС18Б20 је другачији. Код за проверу цикличне редундансе (ЦРЦ=Кс8+Кс5+Кс4+1) 64-битног РОМ-а је уређен. Улога РОМ-а је да сваки ДС18Б20 учини другачијим, тако да се више ДС18Б20 може повезати на једну магистралу.

Унутрашња структура ДС18Б20 чипа

Унутрашња структура ДС18Б20 чипа

Слика 1, унутрашња структура ДС18Б20

Сензор температуре у ДС18Б20 завршава мерење температуре, који је обезбеђен у облику 16-битних читања бинарног комплемента са проширеним знаком, изражено у облику 0,0625℃/ЛСБ, где је С бит предзнака. На пример, дигитални излаз од +125℃ је 07Д0Х, дигитални излаз од +25,0625℃ је 0191Х, дигитални излаз од -25,0625℃ је ФФ6ФХ, а дигитални излаз од -55 ℃ је ФЦ90Х.

23
22
21
20
2-1
2-2
2-3
2-4

Нижи бајт вредности температуре
МСБЛСБ
С
С
С
С
С
22
25
24

Високи бајт вредности температуре
Аларм високе и ниске температуре активира ТХ и ТЛ, и конфигурациони регистар се састоје од једног бајта ЕЕПРОМ-а. Команда меморијске функције се може користити за писање у ТХ, ТЛ, или регистар конфигурације. Формат конфигурационог регистра је следећи:

0
Р1
Р0
1
1
1
1
1
МСБЛСБ

Р1 и Р0 одређују број цифара прецизности за конверзију температуре: Р1Р0 = “00”, 9-битна прецизност, максимално време конверзије је 93,75 мс; Р1Р0 = “01”, 10-битна прецизност, максимално време конверзије је 187,5 мс. Р1Р0 = “10”, 11-битна прецизност, максимално време конверзије је 375мс. Р1Р0 = “11”, 12-битна прецизност, максимално време конверзије је 750мс. Подразумевана је 12-битна прецизност када није програмирана.

Регистар велике брзине је 9-бајтна меморија. Прва два бајта садрже дигиталну информацију о измереној температури; тхе 3рд, 4тх, а 5. бајтови су привремене копије ТХ, ТЛ, и конфигурационих регистара, односно, и освежавају се сваки пут када дође до ресетовања по укључењу; 6, 7тх, и 8. бајтови се не користе и представљају се као све логичке 1; 9. бајт чита ЦРЦ код свих претходних 8 бајтова, који се може користити за обезбеђивање коректне комуникације.

3. ДС18Б20 радни редослед
Ток радног протокола прве линије ДС18Б20 је: иницијализација → упутство за рад са РОМ → упутство за рад са меморијом → пренос података. Његова радна секвенца укључује секвенцу иницијализације, редослед писања и редослед читања, Као што је приказано на слици 3 (а) (б) (ц).

(а) Секвенца иницијализације
(ц) Прочитајте секвенцу

Типична шема повезивања ДС18Б20 и микропроцесора

Типична шема повезивања ДС18Б20 и микропроцесора

Слика 3, ДС18Б20 дијаграм редоследа рада

4. Типичан дизајн интерфејса ДС18Б20 и микрорачунара са једним чипом
Слика 4 узима МЦС-51 серију микрорачунара са једним чипом као пример да нацрта типичну везу између ДС18Б20 и микропроцесора. На слици 4 (а), ДС18Б20 усваја паразитски режим напајања, а његови ВДД и ГНД терминали су уземљени. На слици 4 (б), ДС18Б20 усваја режим екстерног напајања, а његов ВДД терминал се напаја путем напајања од 3В~5.5В.

а) Паразитски режим рада напајања
(б) Режим рада екстерног напајања

ДС18Б20 радни временски дијаграм

ДС18Б20 радни временски дијаграм

Слика 4 Типични дијаграм повезивања ДС18Б20 и микропроцесора

Под претпоставком да је фреквенција кристала коју користи микрорачунарски систем са једним чипом 12МХз, три потпрограма су написана према времену иницијализације, време писања и време читања ДС18Б20: ИНИТ је потпрограм за иницијализацију; ВРИТЕ је писање (команду или податке) потпрограм; РЕАД је потпрограм за читање података. Читање и писање свих података почиње од најнижег бита.

ДАТЕКУП1.0
……
ИНИТ:ЦЛРЕА
ИНИ10:СЕТБДАТ
МОВР2,#200
ИНИ11:Цлрдат
ДЈНЗР2,ИНИ11; Домаћин шаље импулс за ресетовање за 3μс×200=600μс
СЕТБДАТ; Домаћин пушта аутобус, а линија порта се мења у улаз
МОВР2,#30
ИН12:ДЈНЗР2,ИНИ12; ДС18Б20 чека 2μс×30=60μс
ЦЛРЦ
Орлц,ТО; Да ли је линија података ДС18Б20 ниска (пулс постоји)?
ЈЦИНИ10; ДС18Б20 није спреман, поново иницијализовати
МОВР6, #80
ИНИ13: Орлц, ТО
ЈЦИНИ14; ДС18Б20 линија података иде високо, иницијализација је успешна
ДЈНЗР6, ИНИ13; низак ниво линије података може трајати 3μс × 80 = 240μс
СИМПИНИ10; иницијализација није успела, рестарт
ИНИ14: МОВР2, #240
ИН15: ДЈНЗР2, ИНИ15; ДС18Б20 одговара најмање 2 μс × 240 = 48 0μс
РЕТ

;-------------------------
ВРИТЕ:ЦЛРЕА
МОВР3,#8;Лооп 8 пролаз, написати бајт
ВР11:СЕТБДАТ
МОВР4,#8
РРЦА;Бит писања се помера из А у ЦИ
Цлрдат
ВР12:ДЈНЗР4,ВР12
;Сачекајте 16 μс
МОВДАТ,Ц;Командна реч се шаље на ДС18Б20 бит по бит
МОВР4,#20
ВР13:ДЈНЗР4,ВР1 3
; Уверите се да процес писања траје 60 μс
ДЈНЗР3,ВР11
; Наставите пре него што пошаљете бајт
СЕТБДАТ
РЕТ

;------------------------
ПРОЧИТАЈТЕ:ЦЛРЕА
МОВР6,#8; Лооп 8 пролаз, прочитај бајт
РД11:Цлрдат
МОВР4,#4
НОП; Низак ниво траје 2 μс
СЕТБДАТ; Поставите линију порта на улаз
РД12:ДЈНЗР4,РД12
; Сачекајте 8 μс
МОВЦ,ИЗ Т
;Домаћин чита податке ДС18Б20 бит по бит
РРЦА;Очитани подаци се премештају у А
МОВР5,#30
РД13:ДЈНЗР5,РД13
;Уверите се да процес читања траје 60 μс
ДЈНЗР6,РД11
;Након читања бајта података, чувати у А
СЕТБДАТ
РЕТ
;-------------------------
Домаћин мора проћи кроз три корака да би контролисао ДС18Б20 да би завршио конверзију температуре: иницијализација, РОМ упутства за рад, и упутства за рад са меморијом. ДС18Б20 се мора покренути да би започео конверзију пре очитавања вредности конверзије температуре. Под претпоставком да је само један чип повезан на једну линију, користи се подразумевана 12-битна тачност конверзије, а користи се екстерно напајање, може се написати потпрограм ГЕТВД да заврши конверзију и прочита вредност температуре.

Дарован:ЛЦАЛЛИНИТ
МОВЕ,#0ЦЦХ
ЛЦАЛЛВРИТЕ; пошаљи наредбу прескочи РОМ
МОВЕ,#44Х
ЛЦАЛЛВРИТЕ; послати наредбу за покретање конверзије
ЛЦАЛЛИНИТ
МОВЕ,#0ЦЦХ; пошаљи наредбу прескочи РОМ
ЛЦАЛЛВРИТЕ
МОВЕ,#0 БЕХ; послати наредбу за читање меморије
ЛЦАЛЛВРИТЕ
ЛЦАЛЛРЕАД
МОВВДЛСБ,А
; послати ниски бајт вредности температуре у ВДЛСБ
ЛЦАЛЛРЕАД
МОВВДМСБ,А
; послати високи бајт вредности температуре у ВДМСБ
РЕТ
……

Високи бајт вредности температуре коју је прочитала потпрограм ГЕТВД шаље се ВДМСБ јединици, а нижи бајт се шаље на ВДЛСБ јединицу. Затим према формату репрезентације бајта вредности температуре и његовог предзнака, стварна вредност температуре може се добити једноставном трансформацијом.

Ако је више ДС18Б20 повезано на једну линију, усвојен је режим повезивања паразитног напајања, конфигурација тачности конверзије, аларм високе и ниске границе, итд. су обавезни. Тада ће писање потпрограма ГЕТВД бити компликованије. Због ограничења простора, овај одељак неће бити детаљно описан. Молимо погледајте релевантни садржај.

Успешно смо применили ДС18Б20 на “купатило за грејање домаћинства” контролни систем који смо развили. Његова велика брзина конверзије, висока тачност конверзије, и једноставан интерфејс са микропроцесором донели су велику погодност у раду на дизајну хардвера, ефективно смањење трошкова и скраћивање развојних циклуса.