F60-67 (1041605), страница 16
Текст из файла (страница 16)
Этот бит должен быть сброшен программно.Бит 1: DMA0EOE: Бит разрешения прерываний при окончании операции.0: Прерывания при окончании операции запрещены.1: Прерывания при окончании операции разрешены.Бит 0: DMA0EO: Флаг окончания операции.0: Команда «окончание операции» не получена.1: Команда «окончание операции» получена. Этот бит должен быть сброшен программно.81Ред. 1.2C8051F060/1/2/3/4/5/6/7Рисунок 6.6.
DMA0IPT: Регистр адреса команд DMA0R-R-R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xDDSFR страница: 300000000Биты 7-6: Не используются.Биты 5-0: Адрес команды DMA0. При чтении/записи регистра DMA0IDT содержимое регистра DMA0IPTинкрементируется и после этого будет указывать на адрес следующей команды.Рисунок 6.7. DMA0IDT: Регистр данных команд DMA0R/WCCNVR/WDIFFSELR/WADC1ENR/WADC0ENR/W-R/W-R/W-R/W-Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе*:ххххххххSFR Адрес: 0xDESFR страница: 3Бит 7: CCNV: Непрерывное преобразование.0: Непрерывное преобразование запрещено.1: Непрерывное преобразование разрешено.
Значение счетчика повторений игнорируется ипреобразования будут продолжаться.Бит 6: DIFFSEL: Ожидание данных в дифференциальном режиме.0: Дифференциальные данные не будут собираться.1: Осуществляется ожидание дифференциальных данных и сохранение их в памяти XRAM.Бит 5: ADC1EN: Ожидание данных от АЦП1.0: Данные от АЦП1 не будут собираться.1: Осуществляется ожидание данных от АЦП1 и сохранение их в памяти XRAM.Бит 4: ADC0EN: Ожидание данных от АЦП0.0: Данные от АЦП0 не будут собираться.1: Осуществляется ожидание данных от АЦП0 и сохранение их в памяти XRAM.
Если DIFFSEL = 1,то будут сохраняться только дифференциальные данные.Биты 3-0: Зарезервированы: необходимо записать 0000b.Более подробная информация о командах DMA приведена в разделе 6.2.* : Этот регистр указывает на специальную ячейку ОЗУ и его значение при сбросе является неопределенным.Ред.
1.282C8051F060/1/2/3/4/5/6/7Рисунок 6.8. DMA0BND: Регистр границы команд DMA0R/W-R/W-Бит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xFDSFR страница: 300000000Бит 5Биты 7-6: Не используются.Биты 5-0: Адрес команды DMA0, с которого начинается выполнение команд DMA.Рисунок 6.9. DMA0ISW: Регистр состояния команд DMA0R/W-R/W-Бит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xFESFR страница: 300000000Бит 5Биты 7-6: Не используются.Биты 5-0: Адрес выполняемой в данный момент команды DMA0.83Ред. 1.2C8051F060/1/2/3/4/5/6/7Рисунок 6.10.
DMA0DAH: Регистр старшего байта начального адреса данных DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xDASFR страница: 300000000Бит 5Биты 7-0: Старшие биты начального адреса данных DMA0.Рисунок 6.11. DMA0DAL: Регистр младшего байта начального адреса данных DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xD9SFR страница: 300000000Бит 5Биты 7-0: Младшие биты начального адреса данных DMA0.Рисунок 6.12.
DMA0DSH: Регистр старшего байта указателя адреса данных DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xDCSFR страница: 300000000Бит 5Биты 7-0: Старшие биты указателя адреса данных DMA0.Рисунок 6.13. DMA0DSL: Регистр младшего байта указателя адреса данных DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xDBSFR страница: 300000000Бит 5Биты 7-0: Младшие биты указателя адреса данных DMA0.Ред. 1.284C8051F060/1/2/3/4/5/6/7Рисунок 6.14. DMA0CTH: Регистр старшего байта границы счетчика повторениймодуля DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xFASFR страница: 300000000Бит 5Биты 7-0: Старшие биты границы счетчика повторений DMA0.Рисунок 6.15. DMA0CTL: Регистр младшего байта границы счетчика повторениймодуля DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xF9SFR страница: 300000000Бит 5Биты 7-0: Младшие биты границы счетчика повторений DMA0.Рисунок 6.16.
DMA0CSH: Регистр старшего байта счетчика повторений DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xFCSFR страница: 300000000Бит 5Биты 7-0: Старшие биты счетчика повторений DMA0.Рисунок 6.17. DMA0CSL: Регистр младшего байта счетчика повторений DMA0.R/WR/WБит 7Бит 6R/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0xFBSFR страница: 300000000Бит 5Биты 7-0: Младшие биты счетчика повторений DMA0.85Ред. 1.2C8051F060/1/2/3/4/5/6/7Ред.
1.286C8051F060/1/2/3/4/5/6/77. 10-разрядный АЦП (АЦП2, C8051F060/1/2/3)Модуль АЦП2 МК C8051F060/1/2/3 состоит из аналогового мультиплексора (обозначаемого далее какAMUX2) и 10-разрядного АЦП последовательного приближения (обеспечивающего производительность до 200тыс. преобразований в секунду) с устройством выборки-хранения (УВХ) и программируемым детекторомдиапазона (см. рис.7.1). AMUX2, режимы преобразования и детектор диапазона настраиваются программнымпутем при помощи регистров специального назначения (см. рис.7.1).
АЦП2 работает как в однофазном, так и вдифференциальном режимах, и может быть настроен для измерения сигнала на любом выводе Порта 1 илисигнала с выхода датчика температуры. Модуль АЦП2 включен только тогда, когда бит AD2EN регистрауправления АЦП2 (ADC2CN) установлен в 1. Сброс этого бита в 0 переводит АЦП2 в режим пониженногоэнергопотребления.Рисунок 7.1.
Функциональная схема 10-разрядного АЦП2ADC2GTLADC2LTHADC2LTL20AIN2.4AIN2.5AIN2.6AIN2.7REF10ADC2HAIN2.310-разр. АЦПпоследовательногоприближенияAD2CMДатчиктемпературы87AMX2SLADC2CFРед. 1.2AD2ENAD2TMAD2INTAD2BUSYAD2CM1AD2CM0AD2WINTAD2LJSTAD2SC4AD2SC3AD2SC2AD2SC1AD2SC0AMX2AD3AMX2AD2AMX2AD1AMX2AD0AIN67ICAIN45ICAIN23ICAIN01ICAGNDAMX2CFAD2WINT10ADC2LAIN2.2AD2EN(однофазный или дифференциальный)9-канальныйаналоговый мультиплексорAIN2.1SYSCLKAV+AIN2.0Комб.логикаADC2CN00Запускпреобразования 01Установка бита AD2BUSYПереполнение Таймера 310Вход CNVSTR211Переполнение Таймера 2AD2CMADC2GTHC8051F060/1/2/3/4/5/6/77.1. Аналоговый мультиплексорАналоговый мультиплексор (AMUX2) позволяет подавать аналоговые сигналы на АЦП с выводовПорта 1. Каждая пара входов AMUX могут быть запрограммированы на работу в однофазном илидифференциальном режимах.
Кроме этого, выходной сигнал встроенного датчика температуры можно выбратьв качестве входного однофазного сигнала АЦП2. Выбор входных каналов АЦП2 и их настройкаосуществляются с помощью регистров AMX2CF (см. рис.7.5) и AMX2SL (см. рис.7.6). В однофазном режименапряжение сигнала на выбранном выводе измеряется относительно вывода AGND. В дифференциальномрежиме измеряется напряжение дифференциального сигнала между выбранными выводами.
Полярностьдифференциального измерения зависит от состояния бит AMX2AD3-0 регистра AMX2SL. Например, есливыводы AIN2.0 и AIN2.1 настроены как пара дифференциальных входов (AIN01IC = 1), и AMX2AD3-0 = 0000b,то АЦП будет измерять напряжение (AIN2.0 - AIN2.1). Если значение бит AMX2AD3-0 сделать равным 0001b,то АЦП будет измерять то же самое напряжение, но с противоположной полярностью (AIN2.1 - AIN2.0).Формат результата преобразования различен для однофазного и дифференциального режимов.
Послеокончания каждого преобразования регистры ADC2H и ADC2L будут содержать старший и младший байтырезультата преобразования АЦП. При этом данные могут быть выровнены вправо или влево, в зависимости отсостояния бита AD2LJST (ADC2CN.0). В однофазном режиме результат преобразования представлен в виде 10разрядного целого числа без знака.
Диапазон измерения входного сигнала – от 0 до VREF * (1023/1024). Нижеприведены примеры выровненных вправо и влево результатов преобразований. Неиспользуемые биты врегистрах ADC2H и ADC2L устанавливаются в 0.Входное напряжениеVREF * 1023/1024VREF * 512/1024VREF * 256/10240Выровненные вправо данныеADC2H:ADC2L (AD2LJST = 0)0x03FF0x02000x01000x0000Выровненные влево данныеADC2H:ADC2L (AD2LJST = 1)0xFFC00x80000x40000x0000В дифференциальном режиме результат преобразования представлен в виде 10-разрядного числа вдополнительном коде со знаком. Диапазон измерения входного сигнала – от - VREF до VREF * (511/512). Нижеприведены примеры выровненных вправо и влево результатов преобразований.
Для выровненных вправоданных неиспользуемые старшие разряды регистра ADC2H являются знаковым расширением слова данных.Для выровненных влево данных неиспользуемые младшие разряды регистра ADC2L устанавливаются в 0.Входное напряжениеVREF * 511/512VREF * 256/5120-VREF * 256/512- VREFВыровненные вправо данныеADC2H:ADC2L (AD2LJST = 0)0x01FF0x01000x00000xFF000xFE00Выровненные влево данныеADC2H:ADC2L (AD2LJST = 1)0x7FC00x40000x00000xC0000x8000Важное замечание относительно конфигурации входов АЦП2: Если выводы порта 1 выбраны вкачестве входов АЦП2, то их следует настроить как аналоговые входы.
Чтобы настроить вывод Порта 1 каканалоговый вход, необходимо установить в 1 соответствующий бит в регистре P1MDIN. Выводы Порта 1,используемые в качестве входов АЦП2, будут пропускаться коммутирующей матрицей при назначениивыводов периферийным модулям. Подробная информация о настройке портов ввода/вывода приведена вразделе 18.Передаточная функция датчика температуры показана на рис.7.2. Если датчик температуры выбранбитами AMX2AD3-0 в регистре AMX2SL, то выходное напряжение датчика температуры (VTEMP) будет поданона вход АЦП2 как однофазный входной сигнал.
Типичные значения крутизны характеристики и коэффициентасмещения приведены в табл.7.1.Ред. 1.288C8051F060/1/2/3/4/5/6/7Рисунок 7.2. Передаточная функция датчика температуры.НапряжениеКрутизна характеристики (В / ºC)Смещение (В при 0ºС)VTEMP = (Крутизна x TempC) + СмещениеTempC = (VTEMP - Смещение) / Крутизна-50050100Температура (ºС)7.2. Режимы работы АЦПМаксимальная скорость преобразования АЦП2 – 200 тыс.