26.9. Описание регистров
26.9.1 CTRLA - регистр А управления модулем DAC
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x00 |
- |
- |
- |
IDOEN |
CH1EN |
CH0EN |
- |
ENABLE |
|
CTRLA |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:5 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 4 - IDOEN: разрешение внутреннего выхода ЦАП
После установки данного бита выходное напряжение ЦАП подается на входы мультиплексоров АЦП и аналогового компаратора.
- Бит 3 - CH1EN: разрешение выхода канала 1 ЦАП
Установка данного бита приведет к появлению выходного напряжения канала 1 на выводе МК, а после сброса этого бита, канал 1 может использоваться только внутренне.
- Бит 2 - CH0EN: разрешение выхода канала 0 ЦАП
Установка данного бита приведет к появлению выходного напряжения канала 0 на выводе МК, а после сброса этого бита, канал 0 может использоваться только внутренне.
- Бит 1 - Res - резервные биты
Данный бит не используется и зарезервирован для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
- Бит 0 - ENABLE: разрешение работы ЦАП
Установка данного бита разрешает работу всего модуля DAC.
26.9.2. CTRLB - регистр В управления модулем DAC
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x01 |
- |
CHSEL[1:0] |
- |
- |
- |
CH1TRIG |
CH0TRIG |
|
CTRLB |
Чтение/запись |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Бит 7 - Res: резервный бит
Данный бит не используется и зарезервирован для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
- Биты 6:5 - CHSEL[1:0]: выбор канала ЦАП
От настройки данных бит зависит, будет работать ЦАП с одним выходом или с двумя выходами. Доступные настройки показаны в таблице 26.1.
Таблица 26.1. Настройка канала ЦАП
CHSEL[1:0] |
Описание |
00 |
Одноканальная работа (канал 0) |
01 |
(резерв) |
10 |
Двухканальная работа (каналы 0 и 1 с выборкой хранением) |
11 |
(резерв) |
- Биты 4:2 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в данный регистр, всегда записывайте нули в резервные биты.
- Бит 1 - CH1TRIG: режим автоматического запуска преобразования в канале 1
Когда данный бит равен единице, преобразование в канале АЦП 1 будет запускаться автоматически после записи нового значения в старший байт регистра данных CH1DATA при поступлении заданного регистром EVCTRL события.
- Бит 0 - CH0TRIG: режим автоматического запуска преобразования в канале 0
Когда данный бит равен единице, преобразование в канале АЦП 0 будет запускаться автоматически после записи нового значения в старший байт регистра данных CH0DATA при поступлении заданного регистром EVCTRL события.
26.9.3. CTRLC - регистр С управления ЦАП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x02 |
- |
- |
- |
REFSEL[1:0] |
- |
- |
LEFTADJ |
|
CTRLC |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:5 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 4:3 - REFSEL[1:0]: выбор опорного напряжения ЦАП
Данные биты предназначены для выбора источника опорного напряжения и задания диапазона преобразования ЦАП. Доступные опции представлены в таблице 26.2.
Таблица 26.2. Выбор опорного напряжения ЦАП
REFSEL[1:0] |
Групповая конфигурация |
Описание |
00 |
INT1V |
Внутреннее напряжение 1.00В |
01 |
AVCC |
AVCC |
10 |
AREFA |
Вывод AREF порта А |
11 |
AREFB |
Вывод AREF порта В |
- Биты 2:1 - Res: резервные биты
Данные биты не используются и зарезервирован для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 0 - LEFTADJ: активизация левого выравнивания
Если данный бит равен единице, значения CH0DATA и CH1DATA имеют левое выравнивание.
26.9.4. EVCTRL - регистр управления событиями
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x03 |
|
EVCTRL |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:3 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 2:1 - EVSEL[2:0]: настройка входа событий модуля ЦАП
От данных бит зависит, какой канал системы событий используется для запуска преобразований ЦАП. Возможные варианты настроек показаны в таблице 26.3.
Таблица 26.3. Выбор входа события ЦАП
EVSEL[2:0] |
Групповая конфигурация |
Вход события ЦАП |
000 |
0 |
Канал события 0 |
001 |
1 |
Канал события 1 |
010 |
2 |
Канал события 2 |
011 |
3 |
Канал события 3 |
100 |
4 |
Канал события 4 |
101 |
5 |
Канал события 5 |
110 |
6 |
Канал события 6 |
111 |
7 |
Канал события 7 |
26.9.5. TIMCTRL - регистр задания временных характеристик ЦАП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x04 |
- |
CONINTVAL[2:0] |
REFRESH[3:0] |
|
TIMCTRL |
Чтение/запись |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт.Зап./td>
| Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
- Бит 7 - Res: резервный бит
Данный бит является резервным и зарезервирован для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
- Биты 6:4 - [2:0]: - CONINTVAL - интервал преобразований ЦАП
Данные биты предназначены для задания минимального интервала между двумя подряд преобразованиями. Величина интервала задается кратно периоду сигнала синхронизации УВВ (CLKPER). Он необходим для гарантирования невозможности запуска нового преобразования до установления выходного напряжения предыдущего преобразования. Интервал преобразований не может быть меньше 1 мкс в одноканальном режиме и 1.5 мкс в двухканальном режиме (с выборкой-хранением). Возможные настройки интервала преобразований, заданные числом периодов CLKPER, показаны в таблице 26.4. При переходе в двухканальный режим интервал преобразований автоматически увеличивается на 50%.
Таблица 26.4. Интервал преобразований ЦАП
CONINTCAL[2:0] |
Групповая конфигурация |
Количество циклов CLKPER (одноканальный режим) |
Количество циклов CLKPER (двухканальный режим) |
000 |
1CLK |
1 CLK |
1 CLK |
001 |
2CLK |
2 CLK |
3 CLK |
010 |
4CLK |
4 CLK |
6 CLK |
011 |
8CLK |
8 CLK |
12 CLK |
100 |
16CLK |
16 CLK |
24 CLK |
101 |
32CLK |
32 CLK |
48 CLK |
110 |
64CLK |
64 CLK |
96 CLK |
111 |
128CLK |
128 CLK |
192 CLK |
Минимальное значение интервала преобразований равно произведению выбранного количества циклов на величину периода синхронизации УВВ (CLKPER).
- Биты 3:0 - REFRESH[3:0]: управление периодичностью обновления канала ЦАП
Данные биты предназначены для задания интервала обновления каждого канала в двухканальном режиме. Величина интервала задается кратно периоду сигнала синхронизации УВВ. Чрезмерное снижение интервала обновления может негативно отразиться на точности выходного напряжения. Доступные настройки интервала обновления представлены в таблице 26.5.
Таблица 26.5. Настройка периодичности обновления канала ЦАП
REFRESH[3:0] |
Групповая конфигурация |
Число циклов CLKPER в интервале обновления |
0000 |
16CLK |
16 CLK |
0001 |
32CLK |
32 CLK |
0010 |
64CLK |
64 CLK |
0011 |
128CLK |
128 CLK |
0100 |
256CLK |
256 CLK |
0101 |
512CLK |
512 CLK |
0110 |
1024CLK |
1024 CLK |
0111 |
2048CLK |
2048 CLK |
1000 |
4096CLK |
4096 CLK |
1001 |
8192CLK |
8192 CLK |
1010 |
16384CLK |
16384 CLK |
1011 |
32768CLK |
32768 CLK |
1100 |
65536CLK |
65536 CLK |
1101 |
|
(резерв) |
1110 |
|
(резерв) |
1111 |
OFF |
Автоматическое обновление отключено |
Интервал обновления равен произведению выбранного количества циклов на величину периода синхронизации УВВ (CLKPER).
26.9.6. STATUS - регистр статуса ЦАП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x05 |
- |
- |
- |
- |
- |
- |
CH1DRE |
CH0DRE |
|
STATUS |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:2 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 1 - CH1DRE: флаг пустоты регистра данных канала ЦАП 1
Данный бит предназначен для сигнализации пустоты регистра данных канала 1, что указывает на возможность записи нового значения для преобразования. Равенство данного бита нулю предупреждает о том, что запись в регистр данных может привести к потере преобразуемого значения. Данный бит напрямую используется в качестве DMA-запроса.
- Бит 0 - CH0DRE: флаг пустоты регистра данных канала ЦАП 0
Данный бит предназначен для сигнализации пустоты регистра данных канала 0, что указывает на возможность записи нового значения для преобразования. Равенство данного бита нулю предупреждает о том, что запись в регистр данных может привести к потере преобразуемого значения. Данный бит напрямую используется в качестве DMA-запроса.
26.9.7. CH0DATAH - старший регистр данных канала ЦАП 0
В регистрах CHnDATAH и CHnDATAL хранится старший и младший байт, соответственно, 12-битного значения CHnDATA, подлежащего преобразованию в аналоговое напряжение на выходе канала ЦАП n. По умолчанию, 12 бит разделяются на 8 бит в регистре CHnDATAL и 4 бита в 4 младших битах регистра CHnDATAH (правое выравнивание). При необходимости можно активизировать левое выравнивание. Для этого необходимо установить бит LEFTADJ в регистре CTRLC.
Левое выравнивание выгодно использовать, когда достаточно возможностей 8-битного преобразования. В таком случае, для инициации преобразования достаточно выполнить запись только в один в регистр CHnDATAH.
Выравнивание |
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
правое |
+0x19 |
|
левое |
|
|
правое |
Чтение/ запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
левое |
Чтение/ запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
правое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
левое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
26.9.7.1. Правое выравнивание
- Биты 7:4 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 3:0 - CHDATA[11:8]: 4 старших бита регистра данных канала ЦАП 0
Данные биты являются четырьмя старшими битами 12-битного значения, подлежащего преобразованию в канале ЦАП 0, работающего с правым выравниванием.
26.9.7.2. Левое выравнивание
- Биты 7:0 - CHDATA[11:4]: 8 старших бит регистра данных канала ЦАП 0
Данные биты являются восемью старшими битами 12-битного значения, подлежащего преобразованию в канале ЦАП 0, работающего с левым выравниванием.
26.9.8. CH0DATAL - младший регистр данных канала ЦАП 0
Выравнивание |
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
правое |
+0x18 |
|
левое |
|
|
правое |
Чтение/ запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
левое |
Чтение/ запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт. |
Чт. |
Чт. |
Чт. |
правое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
левое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
26.9.8.1. Правое выравнивание
- Биты 7:0 - CHDATA[7:0]: 8 младших бит регистра данных канала ЦАП 0
Данные биты являются восемью младшими битами 12-битного значения, подлежащего преобразованию в канале 0, работающего с правым выравниванием.
26.9.8.2. Левое выравнивание
- Биты 7:4 - CHDATA[3:0]: 4 младших бита регистра данных канала ЦАП 0
Данные биты являются четырьмя младшими битами 12-битного значения, подлежащего преобразованию в канале 0, работающего с левым выравниванием.
- Биты 3:0 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
26.9.9. CH1DATAH - старший регистр данных канала ЦАП 1
Выравнивание |
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
правое |
+0x1B |
|
левое |
|
|
правое |
Чтение/ запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
левое |
Чтение/ запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
правое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
левое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
26.9.9.1. Правое выравнивание
- Биты 7:4 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 3:0 - CHDATA[11:8]: 4 старших бита регистра данных канала ЦАП 1
Данные биты являются четырьмя старшими битами 12-битного значения, подлежащего преобразованию в канале ЦАП 1, работающего с правым выравниванием.
26.9.9.2. Левое выравнивание
- Биты 7:0 - CHDATA[11:4]: 8 старших бит регистра данных канала ЦАП 1
Данные биты являются восемью старшими битами 12-битного значения, подлежащего преобразованию в канале ЦАП 1, работающего с левым выравниванием.
26.9.10. CH1DATAL - младший регистр данных канала ЦАП 1
Выравнивание |
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
правое |
+0x1A |
|
левое |
|
|
правое |
Чтение/ запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
левое |
Чтение/ запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт. |
Чт. |
Чт. |
Чт. |
правое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
левое |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
26.9.10.1. Правое выравнивание
- Биты 7:0 - CHDATA[7:0]: 8 младших бит регистра данных канала ЦАП 1
Данные биты являются восемью младшими битами 12-битного значения, подлежащего преобразованию в канале 1, работающего с правым выравниванием.
26.9.10.2. Левое выравнивание
- Биты 7:4 - CHDATA[3:0]: 4 младших бита регистра данных канала ЦАП 1
Данные биты являются четырьмя младшими битами 12-битного значения, подлежащего преобразованию в канале 1, работающего с левым выравниванием.
- Биты 3:0 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
26.9.11. GAINCAL - регистр калибровки коэффициента передачи ЦАП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x08 |
|
GAINCAL |
Чтение/запись |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Бит 7 - Res: резервный бит
Данный бит не используется и зарезервирован для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
- Биты 6:0 - GAINCAL[6:0]: значение для калибровки коэффициента передачи ЦАП
Данные биты предназначены для компенсации разброса коэффициента передачи ЦАП. Более детально о калибровке коэффициента передачи см. в 26.8 "Калибровка".
26.9.12. OFFSETCAL - регистр калибровки смещения ЦАП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x09 |
|
OFFSETCAL |
Чтение/запись |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Бит 7 - Res: резервный бит
Данный бит не используется и зарезервирован для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
- Биты 6:0 - OFFSETCAL[6:0]: значение для калибровки коэффициента передачи ЦАП
Данные биты предназначены для компенсации разброса коэффициента передачи ЦАП. Более детально о калибровке коэффициента передачи см. в 26.8 "Калибровка".
26.10. Обзор регистров
Представленный ниже обзор регистров относится к стандартной конфигурации ЦАП, работающего с правым выравниванием 12-битного значения. Обзор регистров при работе ЦАП с левым выравниванием идентичен этому, за исключением структуры регистров данных CHnDATAL и CHnDATAH.
Адрес |
Наименование |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
+0x00 |
CTRLA |
- |
- |
- |
- |
CH1EN |
CH0EN |
LPMODE |
ENABLE |
+0x01 |
CTRLB |
- |
CHSEL[1:0] |
- |
- |
- |
CH1TRIG |
CH0TRIG |
+0x02 |
CTRLC |
- |
- |
- |
REFSEL[1:0] |
- |
- |
LEFTADJ |
+0x03 |
EVCTRL |
- |
- |
- |
- |
- |
EVSEL[2:0] |
+0x04 |
TIMCTRL |
- |
CONINTVAL[2:0] |
REFRESH[3:0] |
+0x05 |
STATUS |
- |
- |
- |
- |
- |
- |
CH1DRE |
CH0DRE |
+0x06 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x07 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x08 |
GAINCAL |
- |
GAINCAL[6:0] |
+0x09 |
OFFSETCAL |
- |
OFFSETCAL[6:0] |
+0x10 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x11 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x12 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x13 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x14 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x15 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x16 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x17 |
(резерв) |
- |
- |
- |
- |
- |
- |
- |
- |
+0x18 |
CH0DATAL |
CHDATA[7:0] |
+0x19 |
CH0DATAH |
- |
- |
- |
- |
CHDATA[11:8] |
+0x1A |
CH1DATAL |
CHDATA[7:0] |
+0x1B |
CH1DATAH |
|
|
|
|
CHDATA[11:8] |
|