3. Если за время преобразования не произойдут другие прерывания, по окончанию преобразования процессор выйдет из режима холостого хода и выполнит прерывание по окончанию преобразования.
РЕГИСТР УПРАВЛЕНИЯ МУЛЬТИПЛЕКСОРОМ АЦП – AMUX
07h(27h) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- | ADCBG | - | - | - | MUX2 | MUX1 | MUX0 | |
R\W | R | R | R\W | R\W | R\W | R\W | R\W | |
Начальное значение | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Бит 7 - зарезервирован; в AT90S2333/4433 этот бит зарезервирован и при записи должен устанавливаться в 0.
Бит 6 - ADCBG - выбор опорного напряжения АЦП - при установке этого бита на вход АЦП подается фиксированное напряжение 1.22+-0.05В, когда бит сброшен, вход АЦП подключается к одному из внешних входов согласно установке битов MUX2..MUX0.
Биты 5..3 - зарезервированы. В AT90S2333/4433 эти биты зарезервированы и при записи должны устанавливаться в 0.
Биты 2..0 - MUX2..MUX0 - выбор аналогового входа. Содержимое этих бит определяет какой из аналоговых входов подключен на вход АЦП.
РЕГИСТР УПРАВЛЕНИЯ И СОСТОЯНИЯ АЦП – ADCSR
ADCSR
06h(26h) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADEN | ADSC | ADFR | ADIF | ADIE | ADPS2 | ADPS1 | ADPS0 | |
R\W | R\W | R\W | R\W | R\W | R\W | R\W | R\W | |
Начальное значение | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Бит 7 - ADEN - Разрешение АЦП. - При записи логической "1" в этот бит разрешается работа АЦП. При установке бита в "0" АЦП выключается. При выключении АЦП до окончания преобразования, преобразование не завершается.
Бит 6 - ADSC - Запуск преобразования АЦП. - В режиме одиночного преобразования для запуска преобразования в этот бит должна быть записана "1". При запуске преобразования битом ADSC время преобразования отчитывается ль начала следующего периода частоты на выходе делителя. При установке ADSC после разрешения АЦП или при одновременном разрешении АЦП и установке ADSC, первому преобразованию предшествует "пустой" цикл преобразования. Во время этого цикла происходит инициализация АЦП. Во время преобразования бит ADSC остается установленным и сбрасывается при завершении преобразования, но до того, как результат переписывается в регистр данных АЦП. Это позволяет запустить новое преобразование до того как завершится текущее. Новое преобразование будет запущено сразу по окончанию текущего. Если преобразованию предшествует "пустой" цикл, бит ADSC остается установленным пока не будет завершено реальное преобразование. Запись 0 в этот бит не дает результата.
Бит 5 - ADFR - Выбор непрерывного преобразования АЦП. - Когда этот бит установлен, включается режим непрерывного преобразования АЦП. В этом режиме АЦП непрерывно производит выборки сигнала и обновляет регистр данных. При сбросе этого бита режим непрерывного преобразования отключается.
Бит 4 - ADIF - Флаг прерывания АЦП. - Этот флаг устанавливается когда завершается цикл преобразования АЦП и обновляется регистр данных АЦП. Если установлены флаг глобального разрешения прерываний (I в
SREG) и бит ADIE, по завершению преобразования выполняется прерывание.
Флаг ADIF сбрасывается аппаратно при выполнении соответствующего прерывания. Другой способ сбросить флаг - записать в него "1". Необходимо предостеречь, что при чтении-модификации-записи ADCSR может быть запрещено отложенное прерывание. Это же касается и команд SBI и CBI.
Бит 3 - ADIE - Разрешение прерывания от АЦП. - При установке этого бита и бита I в регистре SREG разрешены прерывания по окончанию преобразования АЦП.
Биты 2..0 - ADPS2..ADPS0 - биты установки предварительного делителя. - Эти биты задают коэффициент деления тактовой частоты процессора и задают тактовую частоту работы АЦП.
Таблица 20. Выбор коэффициента деления АЦП
ADPS2 | ADPS1 | ADPS0 | Коэф.деления | ADPS2 | ADPS1 | ADPS0 | Коэф.деления |
0 | 0 | 0 | 2 | 1 | 0 | 0 | 16 |
0 | 0 | 1 | 2 | 1 | 0 | 1 | 32 |
0 | 1 | 0 | 4 | 1 | 1 | 0 | 64 |
0 | 1 | 1 | 8 | 1 | 1 | 1 | 128 |
РЕГИСТР ДАННЫХ АЦП - ADCL И ADCH
ADCH
05h(25h) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- | - | - | - | - | MSB | |||
R | R | R | R | R | R | R | R | |
Начальное значение | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ADCL
04h(24h) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LSB | ||||||||
R | R | R | R | R | R | R | R | |
Начальное значение | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Сканирование аналоговых каналов
Поскольку смена аналоговых каналов всегда происходит после завершения преобразования, для переключения каналов преобразователя можно использовать режим непрерывного преобразования. Обычно для переключения каналов используется прерывание по завершению преобразования. Однако пользователь должен принимать во внимание следующие факторы:
- в режиме непрерывного преобразования, цикл выборки-хранения следующего преобразования начинается через полтора тактовых цикла после того как результат текущего преобразования записывается в регистр данных АЦП и устанавливается флаг ADIF. Если канал АЦП переключится до того как произойдет операция выборки-хранения, результат преобразования будет отражать новое состояние мультиплексора, если ADMUX изменится после выборки-хранения, следующий результат будет использовать прежнее значение входного канала. Новый подключенный канал будет обслужен в следующем цикле преобразования. При чтении регистра ADMUX всегда возвращается последнее записанное в него число, независимо от того, какой канал используется для текущего преобразования.
Техника подавления шума АЦП
Цифровые схемы внутри и снаружи AT90S2333/4433 генерируют электромагнитные излучения, которые могут повлиять на точность аналоговых измерений. Если точность преобразования важна, уровень ума может быть понижен при помощи следующей техники:
1. Аналоговая часть процессора и все аналоговые компоненты устройства должны иметь отдельно разведенную на печатной плате землю. Аналоговая земля должна соединяться с цифровой только в одной точке печатной платы.
2. Путь прохождения аналогового сигнала должен быть коротким насколько можно. Старайтесь отделять аналоговые дорожки от цифровых аналоговой землей и проводить их как можно дальше от высокоскоростных цифровых сигналов.
3. Вывод AVcc должен подключаться к источнику Vcc через RC цепочку, как показано на рисунке:
4. Для уменьшения шума наводимого процессором используйте функцию подавления шума.
5. Если какие-то выводы порта С используются для вывода цифровых сигналов, они не должны переключаться во время преобразования.