Руководство пользователя MSP430 (1041606), страница 39
Текст из файла (страница 39)
19.2.7 Использование ЦАП12 с контроллером DMA
Устройства MSP430 с интегрированным контроллером DMA могут автоматически перемещать данные в регистр DAC12_xDAT. DMA-переносы выполняются без вмешательства ЦПУ и независимо от любого режима пониженного энергопотребления. Контроллер DMA увеличивает пропускную способность модуля ЦАП12 и расширяет область приложений с малым потреблением, поскольку ЦПУ во время выполнения переноса данных остается выключенным.
Приложения, нуждающиеся в генерации периодических колебаний, могут получить преимущества от использования контроллера DMA с ЦАП12. К примеру, приложение, вырабатывающее синусоидальное колебание может сохранит значения синуса в таблице. Контроллер DMA может непрерывно автоматически переносить эти значения в ЦАП12 через заданные интервалы, создавая синусоиду без участия ЦПУ. См раздел «Контроллер DMA» для получения большей информации о контроллере DMA.
Примечание: Время установки ЦАП12 |
19.2.8 Прерывания ЦАП12
Вектор прерываний ЦАП12 является общим с контроллером DMA. Программное обеспечение должно проверять флаги DAC12IFG и DMAIFG для определения источника прерывания.
Бит DAC12IFG устанавливается, когда DAC12xLSELx>0 и данные ЦАП12 защелкнуты от регистра DAC12_xDAT в защелке данных. Когда DAC12xLSELx=0, флаг DAC12IFG не устанавливается.
Установленный бит DAC12IFG показывает, что ЦАП12 готов для приема новых данных. Если установлены оба бита DAC12IE и GIE, DAC12IFG генерирует запрос прерывания. Флаг DAC12IFG не сбрасывается автоматически. Его должно сбрасывать программное обеспечение.
19.3 Регистры ЦАП12
Регистры ЦАП12 приведены в таблице 19-2.
Таблица 19-2. Регистры ЦАП12
Регистр | Краткое | Тип | Адрес | Исходное |
Управление DAC12_0 | DAC12_0CTL | Чтение/запись | 01C0h | Сброс с POR |
Данные DAC12_0 | DAC12_0DAT | Чтение/запись | 01C8h | Сброс с POR |
Управление DAC12_1 | DAC12_1CTL | Чтение/запись | 01C2h | Сброс с POR |
Данные DAC12_1 | DAC12_1DAT | Чтение/запись | 01CAh | Сброс с POR |
DAC12_xCTL, управляющий регистр ЦАП12
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Резерв | DAC12SREFx | DAC12RES | DAC12LSELx | DAC12 | DAC12IR |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DAC12AMPx | DAC12DF | DAC12IE | DAC12IFG | DAC12ENC | DAC12 | GRP* |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) |
Модифицируется, только когда DAC12ENC=0
* Не используется в устройствах MSP430x15x и MSP430x16x
Зарезервирован | Бит 15 | Зарезервирован | |||||||||||||||||||||||||||
DAC12 | Биты | Выбор опорного напряжения ЦАП12 | |||||||||||||||||||||||||||
DAC12RES | Бит 12 | Выбор разрешения ЦАП12 | |||||||||||||||||||||||||||
DAC12 | Биты | Выбор загрузки ЦАП12. Выбирается сигнал запуска загрузки защелки ЦАП12. Для обновления ЦАП должен быть установлен DAC12ENC, за исключением случая, когда DAC12LSELx=0. | |||||||||||||||||||||||||||
DAC12 | Бит 9 | Включение калибровки ЦАП12. Этот бит инициирует последовательность калибровки смещения ЦАП12 и сбрасывается автоматически после завершения калибровки. | |||||||||||||||||||||||||||
DAC12IR | Бит 8 | Входной диапазон ЦАП12. Этот бит устанавливает диапазон входного опорного напряжения и выходного напряжения. | |||||||||||||||||||||||||||
DAC12 | Биты | Настройка усилителя ЦАП12. Эти биты выбирают время установки в зависимости от потребляемого тока для входного и выходного усилителей ЦАП12
| |||||||||||||||||||||||||||
DAC12DF | Бит 4 | Формат данных ЦАП12 | |||||||||||||||||||||||||||
DAC12IE | Бит 3 | Разрешение прерывания от ЦАП12 | |||||||||||||||||||||||||||
DAC12IFG | Бит 2 | Флаг прерывания ЦАП12 | |||||||||||||||||||||||||||
DAC12ENC | Бит 1 | Включение преобразования ЦАП12. Этот бит включает модуль ЦАП12, когда DAC12LSELx>0. Когда DAC12LSELx=0, бит DAC12ENC игнорируется. | |||||||||||||||||||||||||||
DAC12GRP | Бит 0 | Группировка ЦАП12. Группируется DAC12_x с DAC12_х, имеющий следующий более высокий порядковый номер. |
DAC12_xDAT, регистр данных ЦАП12
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
0 | 0 | 0 | 0 | Данные ЦАП12 |
r(0) | r(0) | r(0) | r(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Данные ЦАП12 |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) |
Не используется | Биты | Не используется. Эти биты всегда равны 0 и не влияют на ядро ЦАП12. | ||||||||||
Данные ЦАП12 | Биты | Данные ЦАП12
|
Замечания по ошибкам в оригинале MSP430
№ п/п | Местонахождение в оригинале | В оригинале | Должно быть | Комментарий |
1 | стр.74, строка 11 снизу | «range EDE to EDE+0FEh» | «range EDE to EDE+01FСh» (в тексте переводе это не исправлено) | В этом примере выполняется обработка 255 слов, поэтому диапазон «неперекрытия» должен быть в два раза больше (сравните с примером обработки 255 байт для предыдущей команды ) |
2 | стр.97, строка 4 сверху | «RRC dst» | «RRC.B dst» |
|
3 | стр.98, строка 1 и 2 сверху | «Subtract source and borrow/.NOT. carry from destination» | «Subtract borrow/.NOT. carry from destination» |
|
4 | стр.103, строка 1 сверху | «SUBC[.W]SBB[.W]» | «SUBC[.W], SBB[.W]» |
|
5 | стр.105, строка 3 снизу | «R7 is then added to R6» |
| Эта строка не относится ни к чему. Её быть не должно. |
6 | стр.115, строка 1 сверху | «Figure 4–2. Basic Clock Block Diagram» | «Figure 4–1. Basic Clock Block Diagram» | Т.к. Figure 4-1 в тексте вообще отсутствует, а ссылка на него производится (стр.114), нумерация рисунков в оригинале смещена. В тексте перевода смещение устранено для всех рисунков. |
7 | стр.206, Абзац 1 сверху | Читаем перевод: |
260