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

Материал из MIK32 микроконтроллер
Строка 189: Строка 189:
* 1 – сенсор включен
* 1 – сенсор включен


===== TSENS_TRESHOLD Смещение: 0x20 - пороговый регистр. Значение после подачи сброса: 0x00000000; =====
===== TSENS_TRESHOLD =====
Смещение: 0x20 - пороговый регистр. Значение после подачи сброса: 0x00000000;
{| class="wikitable"
{| class="wikitable"
|31
|31

Версия от 16:14, 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 Регистр пороговых значений 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 – сенсор включен
TSENS_TRESHOLD

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

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Зарезервировано Low_ Threshold
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
Low_ Threshold Hi_ Threshold
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw ro

Биты 19:10 Low_ Threshold - При значении выхода сенсора менее  Low_Threshold  будет формироваться прерывание. Значение по умолчанию соответсвует температуре 125  оС. Начальное значение 387.

Бит 9:0 Hi_ Threshold - При значении выхода сенсора больше  Hi_Threshold  будет формироваться прерывание. Значение по умолчанию соответсвует температуре 125  оС. Начальное значение 658.

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 - Коэффициент настройки напряжения