Цифро-аналоговый преобразователь (ЦАП): различия между версиями

Материал из MIK32 микроконтроллер
Нет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
=== Введение. ===
=== Введение. ===
Аналого–цифровой преобразователь (АЦП) предназначен для формирования 12-битного цифрового кода, пропорционального аналоговому входному напряжению.
Модуль состоит из резистивного ЦАП, входного буфера/делителя внешнего опорного напряжения на 2,  внутреннего ратиометрического  источника опорного напряжения, выходного буфера с коэффициентом усиления два,  а также дополнительных резисторов, ключей и цифровой управляющей логики. Схема с делением опорного напряжения пополам и последующего умножения напряжения на 2 выбрана для того, чтобы использовать только «тонкие» N-транзисторы в ключах, которые обеспечивают требуемое сопротивление в диапазоне напряжений от 0 до 0.6В при небольших размерах ключей, что позволяет минимизировать набросы при отсутствии буферизации между каскадами резистивной матрицы. Структурная схема представлена на рисунке
[[Файл:DAC1.png|альт=Схема ЦАП|центр|мини|Схема ЦАП]]
Резистивный ЦАП  состоит из двух каскадов, каждый из которых обеспечивает разрешение шесть бит. Каждый единичный элемент каскада состоит одного резистора. Топологически эти элементы расположены симметрично относительно центра (common centroid) для уменьшения разброса параметров. Выходы первого каскада не буферизируются, поэтому для уменьшения систематической ошибки единичные элементы второго каскада имеют значительно большее сопротивление (1625 Ом по сравнению с 200 Ом).


=== Состав и принцип работы ===
Выходной буфер представляет собой неинвертирующий операционный усилитель (ОУ) с коэффициентом усиления два. В остальных случаях – неинвертирующий ОУ с коэффициентом усиления один. Типичный ток потребления ОУ составляет 200мкА (не учитывая выходной ток). В выключенном состоянии типичный ток потребления ОУ составляет 30нА.
Модуль представляет собой АЦП последовательного приближения и входного мультиплексора 8 в 1 с дешифратором 3 в 8. Структурная схема представлена на рисунке
[[Файл:ADC1.png|центр|мини|Схема АЦП]]
АЦП последовательного приближения состоит из резистивного ЦАП, модуля SAR14, SAH (УВХ), компаратора, модуля тестирования выхода ЦАП, а также модулей дерева clock и цифровой управляющей логики.


Аналоговое входное напряжение хранится в блоке УВХ (SAH). Исполнение алгоритма последовательного приближения обеспечивает блок SAR. Выходы ЦАП выставляются согласно значению из регистра SAR. Компаратор выполняет сравнение значений напряжений из УВХ и ЦАП и результат сравнения подается на вход SAR.
=== Регистры управления ===
Для управления ЦАП используются регистры блока управления аналоговой подсистемой. Состав регистров управления ЦАП представлен  в таблице ниже.


Резистивный ЦАП  состоит из двух каскадов, каждый из которых обеспечивает разрешение 6 бит. Каждый единичный элемент каскада состоит из одного резистора. Топологически эти элементы расположены симметрично относительно центра (common centroid) для уменьшения разброса параметров. Выходы первого каскада не буферизируются, поэтому для уменьшения систематической ошибки единичные элементы второго каскада имеют большее сопротивление (300 Ом по сравнению с  75 Ом).
==== Общий список регистров ====
 
Выходной буфер представляет собой неинвертирущий ОУ с коэффициентом усиления один. Формирователь внутреннего опорного напряжения от источника аналогового напряжения 1,8 В обеспечивает напряжение 1,2 В при Uист = 1,8 В.Типичный ток потребления ОУ составляет 250 мкА (не учитывая выходной ток). В выключенном состоянии типичный ток потребления ОУ составляет 30 нА.
 
Аналоговое входное напряжение, Vin, хранится в устройстве выборки/хранения  SAH/УВХ. Данные записываются по сигналу Start передним фронтом clock половинной частоты и хранятся с течение цикла преобразования на конденсаторе.
 
Входная частота делится на 28 и на 2, с формированием дополнительного синхросигнала с фазой, сдвинутой на 90 градусов (блок CLK_div). По сигналу Start в соответствии с прямым и смещенным синхросигналами формируются сигналы сброса установки SAR.
 
Входной мультиплексор данных включает в себя регистр выбора адреса входных данных, дешифратор 3 в 8 и проходные ключи. Адрес записывается в регистр по сигналу CK, формируемому в блоке SAR и сохраняется до следующего CK, что позволяет закончить цикл преобразования данных с текущего входа, даже если адрес сменился. До появления первого сигнала CK по сигналу сброса по умолчанию устанавливается вход данных DIN<0>.
 
=== Управление АЦП ===
В начале каждого цикла преобразования SAR по сигналу Start и переднему фронту сигнала CLK N-разрядный регистр в составе SAR сначала сбрасывается в 0, а затем устанавливается в значение, равное половине шкалы преобразования, N’b100…00, где MSB - лог. «1». При этом выход ЦАП устанавливается в ½ опорного напряжения (VRF). После этого компаратор сравнивает Vin(выход УВХ) и VDAC . Если   Vin больше, чем VDAC , выход компаратора устанавливается в лог. «1», при этом MSB  N-разрядного регистра остается в «1»; Если   Vin меньше, чем VDAC , выход компаратора устанавливается в лог. «0», при этом  MSB сбрасывается в «0». Следующий по старшинству разряд устанавливается в «1» и процесс сравнения повторяется. Последовательность повторяется для всех разрядов, вплоть до LSB. В конце цикла преобразования вырабатывается сигнал EOC, преобразование завершается, данные из регистра SAR могут быть считаны внешней логикой. Временная диаграмма цикла преобразования  приведена на рисунке 70. Вместе со сбросом/установкой и циклом записи данных в УВХ преобразование занимает 40 тактов сигнала CLK (12 тактов записи данных в УВХ и 28 тактов собственно преобразование). Поэтому для обеспечения частоты сэмплирования 0.8МГц требуется входной тактовый сигнал частотой не менее 32МГц. Для корректной работы входного мультиплексора данные дешифратора выбора соответствующего входа данных записываются во внутренний регистр адреса по завершении двух из 28 внутренних тактов преобразования. Таким образом,  в SAH данные по новому входу записываются в начале следующего цикла преобразования, позволяя завершить текущий. Сигнал Start должен подаваться на АЦП и защёлкиваться по переднему фронту CLK. При этом его длительность должна быть не менее 12 тактов CLK при заданных параметрах входа данных.
 
Считывание цифровых данных осуществляется по заднему фронту CLK в такте C1_27 или  по переднему фронту CLK в такте C0_0 следующего цикла конвертации при активной «1» на выходе EOC.
 
В общем случае сигнал EOC формируется по переднему фронту CLK с задержкой порядка 8ns и имеет длительность порядка 2/Fclk. Активный уровень сигнала EOC на выходе блока всегда заканчивается позже переднего фронта сигнала CLK, при этом данное соотношение не гарантируется вне блока.
[[Файл:ADC2.png|центр|мини|Вменная диаграмма цикла преобразования]]
Для управления АЦП используются регистры блока управления аналоговой подсистемой. Состав регистров управления АЦП представлен  в таблице 146.
 
=== Регистры ===
 
==== Список регистров ====
{| class="wikitable"
{| class="wikitable"
|+Регистры управления АЦП
|+Регистры управления ЦАП
|Обозначение
|Обозначение
|Смещение
|Смещение
Строка 39: Строка 18:
|Доступ
|Доступ
|-
|-
|ADC_CONFIG
|DAC1_CFG
|0x3C
|0x00
|0x0
|0x0
|Регистр настроек
|Регистр настойки ЦАП1
|RW
|RW
|-
|-
|ADC_CONTINUOUS
|DAC2_CFG
|0x40
|0x04
|0x0
|0x0
|Управление непрерывным  измерением
|Регистр настойки ЦАП2
|RW
|RW
|-
|-
|ADC_SINGLE
|DAC1_VALUE
|0x44
|0x08
|0x0
|0x0
|Управление однократным  измерением
|Входные данные для ЦАП1
|WO
|WO
|-
|-
|ADC_VALID
|DAC2_VALUE
|0x48
|0x0С
|0x0
|0x0
|Регистр статуса
|Входные данные для ЦАП2
|
|WO
|}
 
==== Описание регистров ====
 
===== DACx_CFG =====
Смещение: 0x00+x*4 - конфигурационный регистр. Значение после подачи сброса: 0x00000000;
{| class="wikitable"
|31
|30
|29
|28
|27
|26
|25
|24
|23
|22
|21
|20
|19
|18
|17
|16
|-
|-
|ADC_VALUE
| colspan="15" |Зарезервировано
|0x4C
|
|0x0
|Регистр данных
|
|-
|-
|REF_CLB
|rw
|0x38
|rw
|0x01
|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="4" |Зарезервировано
|Ext_Clb
|ExtRef
| colspan="8" |Div
|Rn
|EN
|-
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|ro
|}Бит 11  '''Ext_Clb''' - Выбор источника внешнего опорного напряжения:
* 1 - внешний вывод;
* 0 - настраиваемый ОИН
Бит 10  '''ExtRef''' - Выбор источника опорного напряжения:
* 1 - внешний;
* 0 - встроенный
Биты 9:2  '''Div''' - Значение делителя тактового сигнала. Частота определяется как  F<sub>ЦАП</sub>=F<sub>IN</sub>/(Div+1)
Бит 1  '''Rn''' - Управление сбросом ЦАП, активный уровень «0»:
* 1 - сброс деактивирован;
* 0 - сброс активирован
Бит 0  '''EN''' - Управление питанием ЦАП:


==== Описание регистров ====
* 0 – выключен;
* 1 – включен


===== ADC_CONFIG =====
===== DACx_VALUE =====
Смещение: 0x08+x*4 - регистр данных. Значение после подачи сброса: 0x00000000;
{| 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="4" |Зарезервировано
| colspan="12" |Data
|-
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|rw
|ro
|}Бит 11:0  '''Data''' - Входные данные для преобразования в аналоговый сигнал

Текущая версия от 15:46, 12 мая 2023

Введение.

Модуль состоит из резистивного ЦАП, входного буфера/делителя внешнего опорного напряжения на 2,  внутреннего ратиометрического  источника опорного напряжения, выходного буфера с коэффициентом усиления два,  а также дополнительных резисторов, ключей и цифровой управляющей логики. Схема с делением опорного напряжения пополам и последующего умножения напряжения на 2 выбрана для того, чтобы использовать только «тонкие» N-транзисторы в ключах, которые обеспечивают требуемое сопротивление в диапазоне напряжений от 0 до 0.6В при небольших размерах ключей, что позволяет минимизировать набросы при отсутствии буферизации между каскадами резистивной матрицы. Структурная схема представлена на рисунке

Схема ЦАП
Схема ЦАП

Резистивный ЦАП  состоит из двух каскадов, каждый из которых обеспечивает разрешение шесть бит. Каждый единичный элемент каскада состоит одного резистора. Топологически эти элементы расположены симметрично относительно центра (common centroid) для уменьшения разброса параметров. Выходы первого каскада не буферизируются, поэтому для уменьшения систематической ошибки единичные элементы второго каскада имеют значительно большее сопротивление (1625 Ом по сравнению с 200 Ом).

Выходной буфер представляет собой неинвертирующий операционный усилитель (ОУ) с коэффициентом усиления два. В остальных случаях – неинвертирующий ОУ с коэффициентом усиления один. Типичный ток потребления ОУ составляет 200мкА (не учитывая выходной ток). В выключенном состоянии типичный ток потребления ОУ составляет 30нА.

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

Для управления ЦАП используются регистры блока управления аналоговой подсистемой. Состав регистров управления ЦАП представлен  в таблице ниже.

Общий список регистров

Регистры управления ЦАП
Обозначение Смещение Начальное значение Назначение Доступ
DAC1_CFG 0x00 0x0 Регистр настойки ЦАП1 RW
DAC2_CFG 0x04 0x0 Регистр настойки ЦАП2 RW
DAC1_VALUE 0x08 0x0 Входные данные для ЦАП1 WO
DAC2_VALUE 0x0С 0x0 Входные данные для ЦАП2 WO

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

DACx_CFG

Смещение: 0x00+x*4 - конфигурационный регистр. Значение после подачи сброса: 0x00000000;

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
Зарезервировано Ext_Clb ExtRef Div Rn EN
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw ro

Бит 11 Ext_Clb - Выбор источника внешнего опорного напряжения:

  • 1 - внешний вывод;
  • 0 - настраиваемый ОИН

Бит 10 ExtRef - Выбор источника опорного напряжения:

  • 1 - внешний;
  • 0 - встроенный

Биты 9:2 Div - Значение делителя тактового сигнала. Частота определяется как  FЦАП=FIN/(Div+1)

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

  • 1 - сброс деактивирован;
  • 0 - сброс активирован

Бит 0 EN - Управление питанием ЦАП:

  • 0 – выключен;
  • 1 – включен
DACx_VALUE

Смещение: 0x08+x*4 - регистр данных. Значение после подачи сброса: 0x00000000;

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
Зарезервировано Data
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw ro

Бит 11:0 Data - Входные данные для преобразования в аналоговый сигнал