Термосенсор: различия между версиями

Материал из MIK32 микроконтроллер
Строка 73: Строка 73:
|Регистр запуска непрерываного измерения
|Регистр запуска непрерываного измерения
|WO
|WO
|-
|REF_CLB
|0x38
|0x01
|Управление калибруемыми источниками тока и напряжения
|RW
|}
|}


==== Описание регистров ====
==== Описание регистров ====


===== TSENS_CFG   =====
===== TSENS_CFG =====
Смещение: 0x1C - регистр настройки термодатчика. Значение после подачи сброса: 0x00000000;
{| class="wikitable"
|31
|30
|29
|28
|27
|26
|25
|24
|23
|22
|21
|20
|19
|18
|17
|16
|-
| colspan="8" |Зарезервировано
| colspan="8" |Div
|-
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|}
{| class="wikitable"
|15
|14
|13
|12
|11
|10
|9
|8
|7
|6
|5
|4
|3
|2
|1
|0
|-
| colspan="2" |Div
| colspan="3" |Clk_mux
| colspan="8" |Trim
|Rn
|Npd_Clk
|Npd
|-
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|}Биты 23:14  '''Div''' - Значение делителя тактового сигнала. Частота сенсора определяется как  T<sub>SENS</sub> = F<sub>IN</sub>/(Div + 1)
 
Биты 13:11  '''Clk_mux''' - Выбор источника тактирвоания сенсора (F<sub>IN</sub>):
 
* 0x0 – системная частота (sys_clk);
* 0x1 – частота шины AHB (hclk);
* 0x2 – частота внешнего осцилятора 32 МГц;
* 0x3 – частота HSI32M;
* 0x4 – частота внешнего осцилятора 32 кГц;
* 0x5 – частота LSI32K
 
Биты 10:3  '''Trim''' - Колибровочный коэфициент
 
Бит 2  '''Rn''' - Управление сбросом сенсора, активный уровень «0»
 
Бит 1  '''Npd_Clk''' - Управление тактированием сенсора:
 
* 0 – тактирование сенсора выключено;
* 1 –  тактирование сенсора включено
 
Бит 0  '''Npd''' - Управление питанием сенсора:
 
* 0 – сенсор выключен;
* 1 – сенсор включен
 
 
===== REF_CLB =====
Смещение: 0x38 - регистр калибровочных данных. Значение после подачи сброса: 0x00000100;
{| class="wikitable"
|31
|30
|29
|28
|27
|26
|25
|24
|23
|22
|21
|20
|19
|18
|17
|16
|-
| colspan="15" |Зарезервировано
|
|-
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|}
{| class="wikitable"
|15
|14
|13
|12
|11
|10
|9
|8
|7
|6
|5
|4
|3
|2
|1
|0
|-
| colspan="7" |Зарезервировано
|EN
| colspan="4" |Coef_RefIclb
| colspan="4" |Coef_RefVclb
|-
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|ro
|}Бит 8  '''EN''' - Включение калибровки настройки опорного
 
Бит 7:4  '''Coef_RefIclb''' - Коэффициент настройки тока
===== Бит 3:0  '''Coef_RefVclb''' - Коэффициент настройки напряжения  =====

Версия от 16:08, 12 мая 2023

Введение

Сенсор преобразует электрические величины, прямо пропорционально зависящие от температуры кристалла, в двоичное представление этой температуры.

Технические характеристики:

  • точность измерения температуры ±0,1 ℃;
  • погрешность измерения температуры в диапазоне [–40 °C; 125 °C] не превышает 1 %;
  • наличие спящего режима с пониженным потреблением тока;
  • функция подстройки для уменьшения влияния разброса техпроцесса.
  • Тактовая частота 32КГц-100КГц

Состав и принцип работы сенсора

Структурная схема представлена на рисунке ниже. Сенсор состоит из блока формирования опорного тока, блока формирования двух напряжений база-эмиттер, сигма-дельта АЦП и регистра накопления результатов АЦП.

Структурная схема сенсора
Структурная схема сенсора

Блок сенсора основан на биполярных транзисторах, так как их технологический разброс параметров мал по сравнению с альтернативами. Для генерации данных о температуре достаточно всего двух транзисторов в диодном включении, управляемых разными токами. Напряжение база-эмиттер Vbe обратно пропорционально температуре (CTAT), а разница напряжений ΔVbe прямо пропорциональна (PTAT). Эти напряжения линейны, а линейная комбинация создает температурно-независимое постоянное напряжение Vref (рисунок и формулы далее), соответствующее ширине запрещенной зоны.

TEMP3.png
Принцип работы сенсора
Принцип работы сенсора

Основное преимущество такой схемы, что формируемое PTAT напряжение не зависимо от технологического процесса и  вычисляется по формуле:

TEMP4.png

Эти напряжения переводятся в базис заряда и используются сигма-дельта АЦП на переключающихся конденсаторах. Плотность потока на выходе АЦП меняется от 0 до 1 в зависимости от температуры и равна согласно равенству зарядов по формуле 16. Сама температура вычисляется в градусах Цельсия по формуле 17, при A= 619,2 и В= -273,15 (константы, следующие из формул далее)

TEMP5.png

Регистры управления

Список регистров

Регистры управления температурным сенсором
Обозначение Смещение Начальное значение Назначение Доступ
TSENS_CFG 0x1C 0x0 Регистр настроек RW
TSENS_TRESHOLD 0x20 0x0 Регистр пороговых значений RW
TSENS_IRQ 0x24 0x0 Регистр прерываний RW
TSENS_CLEAR_IRQ 0x28 0x0 Регистр сброса прерываний W1C
TSENS_VALUE 0x2C 0x0 Регистр данных RO
TSENS_SINGLE 0x30 0x0 Регистр запуска однократного измерения WO
TSENS_ CONTINIUS 0x34 0x0 Регистр запуска непрерываного измерения WO
REF_CLB 0x38 0x01 Управление калибруемыми источниками тока и напряжения RW

Описание регистров

TSENS_CFG

Смещение: 0x1C - регистр настройки термодатчика. Значение после подачи сброса: 0x00000000;

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Зарезервировано Div
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Div Clk_mux Trim Rn Npd_Clk Npd
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw

Биты 23:14 Div - Значение делителя тактового сигнала. Частота сенсора определяется как  TSENS = FIN/(Div + 1)

Биты 13:11 Clk_mux - Выбор источника тактирвоания сенсора (FIN):

  • 0x0 – системная частота (sys_clk);
  • 0x1 – частота шины AHB (hclk);
  • 0x2 – частота внешнего осцилятора 32 МГц;
  • 0x3 – частота HSI32M;
  • 0x4 – частота внешнего осцилятора 32 кГц;
  • 0x5 – частота LSI32K

Биты 10:3 Trim - Колибровочный коэфициент

Бит 2 Rn - Управление сбросом сенсора, активный уровень «0»

Бит 1 Npd_Clk - Управление тактированием сенсора:

  • 0 – тактирование сенсора выключено;
  • 1 –  тактирование сенсора включено

Бит 0 Npd - Управление питанием сенсора:

  • 0 – сенсор выключен;
  • 1 – сенсор включен


REF_CLB

Смещение: 0x38 - регистр калибровочных данных. Значение после подачи сброса: 0x00000100;

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Зарезервировано
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Зарезервировано EN Coef_RefIclb Coef_RefVclb
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw ro

Бит 8 EN - Включение калибровки настройки опорного

Бит 7:4 Coef_RefIclb - Коэффициент настройки тока

Бит 3:0 Coef_RefVclb - Коэффициент настройки напряжения