ЦАП
Микросхема в своем составе содержит 12-разрядный R-2R ЦАП.
Алгоритм работы
Процедура работы с ЦАП:
- в регистре DAC_CFG установить выравнивание данных в регистрах DAC_VALUE1 и DAC_VALUE0 битом SHIFT;
- в регистре DAC_CTRL разрешить подачу синхросигнала на ЦАП битом EN;
- отправлять данные на преобразование в регистры DAC_VALUE1 и DAC_VALUE0 (12 бит данных обновятся на входе ЦАП после записи в регистр DAC_VALUE1);
- выключить ЦАП битом EN или продолжить работу записав новые данные.
Регистры модуля «ЦАП»
№ | Аббревиатура | Доступ | Описание |
---|---|---|---|
3000h | DAC_CTRL | RW | Регистр управления |
3004h | DAC_CFG | RW | Регистр конфигурации |
3008h | DAC_VALUE0 | RW | Данные на преобразование 0 |
3009h | DAC_VALUE1 | RW | Данные на преобразование 1 |
DAC_CTRL
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | Резерв | EN | ||||||
Начальное значение | 0 |
EN – включение ЦАП:
- 1 – ЦАП включен;
- 0 – ЦАП выключен.
DAC_CFG
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | Резерв | SHIFT | ||||||
Начальное значение | 0 |
SHIFT – выравнивание 12-бит данных в регистрах DAC_VALUE1 и DAC_VALUE0 по левому или правому краю (соответственно младшие или старшие 4 бита не будут иметь значения):
- 1 – выравнивание по правому краю;
- 0 – выравнивание по левому краю.
DAC_VALUE0
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | VALUE | |||||||
Начальное значение | 0 |
VALUE – данные на преобразование, младшая часть.
В зависимости от 0 бита (SHIFT) в регистре DAC_CFG младший бит входного кода (D0) находится в бите 4 (SHIFT = 0), либо в бите 0 (SHIFT = 1).
DAC_VALUE1
Данные обновятся на входе ЦАП после записи в регистр DAC_VALUE1.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | VALUE | |||||||
Начальное значение | 0 |
VALUE – данные на преобразование, старшая часть.
В зависимости от 0 бита (SHIFT) в регистре DAC_CFG старший бит входного кода (D11) находится в бите 7 (SHIFT = 0), либо в бите 3 (SHIFT = 1).