Раздел: Документация
0 ... 132 133 134 135 136 137 138 ... 195 Следует отметить, что предварительный усилитель, используемый каналами с дифференциальным входом, имеет встроенную схему коррекции смещения. Оставшаяся после коррекции величина смещения может быть учтена программным способом. Для этого следует оба входа дифференциального усилителя подключить к одному и тому же выводу микроконтроллера (Табл. 9.7 и Табл. 9.8), а затем вычитать полученное значение из результата последующих преобразований. Таким образом, ошибка смещения может быть снижена до величины, меньшей 1 LSB. Состояние битов MUX5...MUX0 можно изменить в любой момент, однако если это будет сделано во время цикла преобразования, то смена канала произойдет только после завершения преобразования. Благодаря этому в режиме непрерывного преобразования можно легко осуществлять последовательное преобразование сигналов нескольких каналов. Отдельно следует сказать о каналах с дифференциальным входом. После смены таких каналов первое измерение следует производить не ранее чем через 125 мкс после выбора канала. Указанное время требуется для установления значения коэффициента усиления предусилителя. Соответственно, значения, измеренные до истечения этого срока, не могут считаться достоверными. Кроме того, при переключении на канал с изменяемым коэффициентом усиления результат первого преобразования может иметь пониженную точность из-за времени установления автоматической схемы коррекции смещения. Поэтому будет лучше считать результат первого преобразования некорректным. В новых микроконтроллерах, а именно в ATmega48x/88x/168x, ATmega 164х/324х/644х, ATmega 165х, ATmega325x/3250x/645x/6450x и ATmega640x/1280x/1281x/2560x/2561x, имеется возможность отключения входных цифровых буферов на выводах ADC0...ADC15 в случае, если соответствующие выводы используются только для считывания аналоговых сигналов. При отключенных цифровых буферах уменьшается общий ток потребления микроконтроллера, а соответствующие биты регистров PINjc всегда читаются как 0. Отключение цифровых буферов на входах ADC0...ADC7 осуществляется записью лог. 1 соответственно в биты ADC0D...ADC7D регистра DIDR0, расположенного по адресу ($7Е). А отключение буферов на входах ADC8...ADC15 (модели ATmega640x/1280x/2560x) осуществляется записью лог. 1 в биты ADC8D...ADC15D регистра DIDR2, расположенного по адресу ($7D). Формат этих регистров приведен на Рис. 9.8. Как уже было отмечено, в модуле АЦП могут использоваться различные источники опорного напряжения (ИОН). Выбор конкретного источника опорного напряжения осуществляется с помощью битов REFS1:REFS0 регистра ADMUX (см. Табл. 9.9).
6) Puc. 9.8. Формат регистров DIDRO (a) и DIDR2 (6) Таблица 9.9. Выбор источника опорного напряжения
Поскольку внутренний ИОН соединяется с выводом AREF микроконтроллера, при его использовании к выводу AREF желательно подключить внешний фильтрующий конденсатор для повышения помехозащищенности. Кроме того, при использовании канала с дифференциальным входом первое измерение после смены источника опорного напряжения следует производить не ранее чем через 125 мкс. Указанное время требуется для установления значения коэффициента усиления предусилителя. 9.3. Результат преобразования После завершения преобразования (при установке в 1 флага ADIF регистра ADCSR) его результат сохраняется в регистре данных АЦП. Поскольку АЦП — 10-битный, этот регистр физически размещен в двух регистрах ввода/вывода ADCH:ADCL, доступных только для чтения. Эти регистры расположены по адресам $05:$04 ($25:$24) в моделях ATmega8535x, ATmega8x/16x/32x/64x/128x и ($79:$78) в остальных моделях. При включении микроконтроллера в регистре данных АЦП содержится значение $0000. По умолчанию результат преобразования выравнивается вправо (старшие 6 битов регистра ADCH — незначащие). Однако он может выравниваться и влево (младшие 6 битов регистра ADCL — незначащие). Для управления выравниванием результата преобразования служит бит ADLAR регистра ADMUX. Если этот бит установлен в 1, результат преобразования выравнивается по левой границе 16-битного слова, если сброшен в 0 — по правой границе. Обращение к регистрам ADCH и ADCL для получения результата преобразования должно выполняться в определенной последовательности: сначала необходимо прочитать регистр ADCL, а затем ADCH. Это требование связано с тем, что после обращения к регистру ADCL процессор блокирует доступ к регистрам данных со стороны АЦП до тех пор, пока не будет прочитан регистр ADCH. Благодаря этому можно быть уверенным, что при чтении регистров в них будут находиться составляющие одного и того же результата. Соответственно, если очередное преобразование завершится до обращения к регистру ADCH, результат преобразования будет потерян. С другой стороны, если результат преобразования выравнивается влево и достаточно 8-битной точности, то для получения результата можно прочитать только содержимое регистра ADCH. Для каналов с несимметричным входом результат преобразования определяется выражением KREF где KIN — значение входного напряжения, a KREF — величина опорного напряжения. Для каналов с дифференциальным входом результат преобразования определяется выражением 0 ... 132 133 134 135 136 137 138 ... 195
|