НТЦ по электронным компонентам и современным технологиям. Autex SPb Мы с Вами еще не знакомы ЭМС-EMC-учитесь учитывать ВСЕ
Что Вы ищете
    Главная    О фирме    Контакты    Библиотека   


MicroConverter - Ответы на вопросы по ADuC812
¬Перечень вопросов
¬MicroConverter™
¬Компоненты Analog Devices

Вопросы по АЦП ADuC812
[!] Могу ли я подсоединить аналоговый источник с высоким импедансом напрямую к одному из входов ADuC812? Или я должен вначале буферизировать сигнал?
Основное ограничение по источникам с высоким импедансом это ток утечки на аналоговых выводах ADuC812, который составляет в среднем +1 мкА. Этот электрический ток через внутреннее сопротивление источника 610 Ом создаст ошибку в 610 мкВ. При напряжении 2.5 В, это составляет 1LSB (или 2.5 В/4096). Поэтому, внутреннее сопротивление источника большее 610 Ом может потенциально вызвать измеряемые ошибки DC.
[!] Некоторые описания возможностей содержат свойство "автокалибровки" ADuC812. Как я могу использовать эту возможность?
"Автокалибровка" ADuC812 заключается в использовании программной утилиты, описанной в техническом замечании по последовательной загрузке ADuC812.
[!] Какое время обнаружения необходимо ADuC812? Как я должен выбирать значения времени обнаружения в регистре ADCCON1?
В общем случае, время обнаружения одного такта АЦП (ADCCON1.2=0, ADCCON1.3=0) обеспечивает достаточное время ADuC812 для обнаружения сигнала перед переключением внутреннего следящего запоминающего усилителя в режим фиксации. Единственное исключение составляет источник с высоким импедансом, но он в любом случае должен быть предварительно буферизирован, так как внутреннее сопротивление источника большее 610 Ом может вызвать DC ошибки.
[!] Как я могу выбрать время преобразования в регистре ADuC812 ADCCON1? Что означают биты деления тактовой частоты?
АЦП последовательного приближения ADuC812 работает от деленной тактовой частоты генератора. Для обеспечения правильной операции АЦП, частота АЦП должна быть между 400 КГц и 4 МГц, а оптимальная производительность достигается АЦП при частоте между 400 КГц и 3 МГц. Частоты этого диапазона могут быть достигнуты с тактовыми частотами от 400 КГц до 16 Мгц с помощью четырех делителей АЦП. Например, с тактовой частотой генератора 12 МГц, установите делитель 4 (ADCCLK = MCLK/4 = 3 Мгц) с помощью изменения значений регистра ADCCON1 (ADCCON1.5=1, ADCCON1.4=0).
Полное время преобразования составляет 15 тактов АЦП, плюс 1 такт АЦП на синхронизацию, плюс выбранное время обнаружения (от 1 до 4 тактов АЦП). Например, для приведенного ранее примера, полное время преобразования составит 17 тактов АЦП (или 5.67 мкс при 3 МГц частоты АЦП).
[!] Как я могу определить частоту выборки ADuC812 в режиме непрерывного преобразования?
В режиме непрерывного преобразования, новый цикл преобразования начинается сразу же по завершению предыдущего. Частота может быть рассчитана, как обратная величина полному времени преобразования. Для приведенного выше примера, например, она составит 176.5 КГц.
[!] Что такое апертурная задержка (aperture delay) в аппаратном режиме CONVST? Что за апертурную неопределенность (aperture uncertainty) я могу наблюдать?
В аппаратном режиме CONVST для инициирования АЦП используется внешний логический вход. Апертурная задержка ADuC812 - это время от нарастающего фронта этого внешнего триггера до момента, когда следящий запоминающий усилитель переходит в режим фиксации. Это время составляет время обнаружения (выбирается через ADCCON1) + время синхронизации между 0.5 и 1.5 такта АЦП.
Когда триггер CONVST асинхронен по отношению к частоте АЦП, это выражается в апертурной неопределенности в 1 такт АЦП. Эта апертурная неопределенность может быть устранена путем синхронизации внешнего CONVST сигнала с тактовой частотой АЦП. Так как тактовая частота АЦП рассчитывается через делитель тактовой частоты генератора, это невозможно сделать напрямую. Поэтому, для синхронизации сигнала CONVST с частотой АЦП, вы должны синхронизировать его с деленной частотой задающего генератора, где делитель выбирается с помощью регистра ADCCON1.
[!] Что происходит, когда ADuC812 принимает второй триггер CONVST (программный SCONV, триггер Timer2 или аппаратный триггер CONVST) во время преобразования, которое не закончено?
Он будет проигнорирован. В этой ситуации, событие от второго триггера будет потеряно. Для избежания потери данных убедитесь, что ваша программа проверяет флаг состояния АЦП (ADCCON3.7) перед началом преобразования. В режимах преобразования по таймеру или аппаратного управления, убедитесь, что значение переполнения таймера или значение входного фронта больше, чем время преобразования АЦП + время обнаружения.
 
Вопросы по опорному напряжению ADuC812
[!] Я использую внутренний источник опорного напряжения. Что я должен сделать с контактами VREF и CREF?
Подключите оба контакта к "земле" используя бескорпусные конденсаторы 0.1 мкФ с небольшие соединительные линии.
[!] Я хочу запустить другую схему от внутреннего источника опорного напряжения ADuC812. Должен ли я брать напряжение с контакта VREF или CREF? Какие характеристики по источнику/нагрузке тока по этим контактам?
Используйте VREF. Контакт CREF является внутренним соединением с буфером. Его напряжение не равно VREF. Что касается характеристик контакта VREF по источнику тока и нагрузке по току, то он их не имеет. Он имеет эффективное напряжение 2.5 В с номинальным источником сопротивления 50 КОм. Вы должны буферизировать напряжение на этом контакте для управления другой микросхемой. Конечно, заземлите контакты VREF и CREF с беспроводным конденсатором.
[!] Могу ли использовать внешний источник опорного напряжения для ADuC812?
Да. Просто соедините контакт VREF с источником внешнего опорного напряжения. Это будет выглядеть как 50 КОм нагрузка к 2.5 В. В зависимости от источника опорного напряжения, который вы выберете, вы должны или не должны заземлить линию VREF через конденсатор. В любом случае, заземлите контакт CREF с беспроводным конденсатором.
[!] Как я должен разрешить и запретить внутренний источник опорного напряжения на ADuC812? Как долго, после разрешения внутреннего источника опорного напряжения, длится время установления опорного напряжения?
Внутреннее опорное напряжение ADuC812 автоматически включается при включении АЦП (через регистр ADCCON1) или ЦАП (через регистр DACCON). При включении, источнику опорного напряжения необходимо 65 мс для установки в точное значение.
 
Различные вопросы по ADuC812
[!] Должен ли я обеспечивать свою разработку внешней микросхемой генератора сброса?
Необходимо реализовать внешнюю схему начального сброса для управления выводом RESET на ADuC812. Ваша схема должна поддерживать высокий уровень сигнала на выводе RESET, если напряжение питания (AVDD или DVDD) ниже 2.5 В. Дополнительно, напряжение VDD должно оставаться выше 2.5 В не менее 10 мс, прежде чем уровень сигнала на выводе RESET упадет. Внешняя схема начального сброса должна быть рабочей до 1.2 В ил меньше. Смотрите спецификацию ADuC812 для уточнения деталей.
[!] Как я могу одновременно обновлять оба ЦАП для получения новых значений напряжения.
ADuC812 имеет бит синхронного обновления (в DACCON), который может быть использован для обеспечения одновременного изменения значений двух ЦАП. Для использования этой возможности необходимо очистить бит перед загрузкой новых значений в регистры ЦАП. Как только новые данные будут загружены в оба регистра, установите бит обратно в "единицу". Оба ЦАП одновременно выведут новые значения.
[!] Для чего используются ETIM регистры?
Время выполнения операций очистки и программирования FLASH/EE памяти зависят от тактовой частоты. При использовании тактовых импульсов с частотой 11.0592 МГц вам не нужно настраивать регистры ETIM.
Однако, при использовании другой тактовой частоты (FCLK), необходимо изменить значения регистров ETIM1 и ETIM2 для избежания потери данных и возможности длительного хранения. ETIM1 и ETIM2 образуют 16-разрядное слово, при этом ETIM2 это старший байт, а ETIM1 младший. Значение 16-разрядного слова должно быть установлено по следующему условию, для обеспечения оптимальной продолжительности и сохранности данных в FLASH/EE памяти.
ETIM2:ETIM1 = 100 мкс * FCLK
ETIM3 должен всегда содержать значение по умолчанию - 201 (С9h)
[!] При использовании сторожевого таймера, в спецификации написано, что я должен установить оба бита обновления для сброса таймера. Должен ли я устанавливать их в особой последовательности? Должен ли я очистить каждый бит, после их установления?
Для обновления сторожевого таймера необходимо только установить два бита, WDR1 и WDR2. Чтение этих битов будет всегда возвращать "ноль". Порядок, в котором необходимо установить биты - сначала WDR1, а непосредственно за ним WDR2. Пример этого приводится в коде "WDtimer.asm", включенного в библиотеку примеров.
[!] Кто-то рассказал мне, что ADuC812 имеет секретные биты для ограниченного доступа к FLASH/EE памяти программ и данных. Почему я не могу найти ссылку на эту информацию?
Эти секретные биты существуют в ADuC812, но они не работают корректно. Поэтому, они не анонсированы как дополнительная возможность микросхемы. Они расположены на странице 160 (AOh) FLASH/EE памяти данных, тогда как номера документированных страниц имеют номера с 0 по 159. Необходимо избегать записи в недокументированную страницу 160, так как это может случайно блокировать чип (см. описание ошибок и аномалий для деталей).
[!] Как я должен использовать встроенную возможность MicroConverter - температурный датчик?
Температурный датчик на каждом MicroConverter выводит напряжение, которое обратно пропорционально температуре кварца. При температуре 25?С это напряжение приблизительно равно 600 мВ. Когда температура изменяется, напряжение меняется со скоростью 0.3 мВ/?С. Так, при повышении температуры, выходное напряжение температурного датчика уменьшается. При этом АЦП используется для преобразования напряжения на температурном датчике в цифровое значение. Смотрите техническое замечание, которое описывает, как достигнуть наибольшей абсолютной точности от температурного датчика MicroConverter. Запомните, что встроенный температурный датчик измеряет температуру кварца, а не окружающей среды, поэтому не забудьте фактор саморазогревания, если хотите рассчитать температуру окружающей среды.
[!] Как я могу рассчитать полное потребление мощности ADuC812 при данном наборе условий?
Ниже приведена таблица, позволяющая произвести простой подсчет потребляемого тока. Все значения являются средними. Просуммируйте потребление тока всех подключенных к ядру периферийных устройств (нормальный режим) с учетом тактовой частоты генератора (MCLK).

 VDD = 5BVDD = 3B
Ядро (нормальный режим)1.6 мкс·MCLK + 5 мА0.8 мкс·MCLK + 1.5 мА
Ядро (спящий режим)0.75 мкс·MCLK + 5 мА0.25 мкс·MCLK + 1.5 мА
АЦП1.3 мА1 мА
ЦАП250 мкА200 мкА
Опорное напряжение200 мкА150 мкА
[!] ADuC812 имеет разделенные контакты для аналогового и цифрового электроснабжения. Могу ли я работать с разделенным источником питания, например 3.3В DVDD и 5В AVDD?
Нет. Вы не можете запускать ADuC812 с разделенного источника питания. Абсолютная максимальная разница между DVDD и AVDD равна +0.3В. По этой причине лучше запускать ADuC812 от одного источника питания. Наибольшее, что может разделять эти источники питания - небольшая ферритовая шайба и небольшой резистор. Конечно, разъедините каждый контакт с земляным слоем бескорпусным конденсатором 0.1 пФ, соединенным коротким проводником, и убедитесь, что имеется электролитный накопительный конденсатор, соединяющий источник питания с земляным слоем на плате. Если есть разделенный источник питания с ферритовой шайбой и небольшим резистором, убедитесь, что локальный накопительный конденсатор и электролит имеются на каждой стороне.
[!] Насколько я могу увеличить частоту тактового генератора?
Стандартное ядро MicroConverter, совместимое с 8051, способно работать без ошибок на тактовой частоте значительно большей, чем номинальная в 16МГц. Тем не менее, тактовая частота большая этой спецификации может уменьшить аналоговую производительность. Поэтому, мы не рекомендуем использовать кварц или генератор тактовой частоты больший, чем 16МГц.
[!] Поддерживается ли ADuC812 статическое ядро MCU? Могу ли я замедлить генератор тактовых импульсов?
Да, ADuC812 поддерживает статическое ядро 8051. Ядро может работать на тактовой частоте от DC. Тем не менее, тактовая частота АЦП выводится из частоты тактового генератора, и производительность АЦП уменьшается до очень медленных тактовых частот. Минимальная тактовая частота АЦП для достоверной производительности АЦП - 400 КГц. Тактовая частота АЦП равна частоте тактового генератора с делителями 1, 2, 4, 8 (выбирается через регистр ADCCON1), поэтому минимальная тактовая частота для надежных операций с АЦП также 400 КГц.
[!] Порт 1 ADuC812 изначально используется для аналогового входа. Могу ли я использовать контакты Порта 1 для цифрового ввода/вывода. Если да, то как?
Контакты Порта 1 могут быть использованы или как аналоговый вход, или как цифровой вход, но не как цифровой выход. Конфигурация всех контактов Порта 1 по умолчанию настроена на аналоговый вход. В этом состоянии регистр Порта 1 содержит значение FFh (все единицы). Для настройки Порта 1 как цифровой вход, очистите соответствующие разряды в регистре Порта 1 (Р1).
 
Вопросы по реализации протокола I2C ADuC812
[!] Когда я запускаю программу обе линии и SDATA, и SCLOCK стоят на низком уровне?
Проверьте наличие внешних нагрузочных резисторов (3.9 КОм) и их подключение к питанию +5В
[!] Ведущий передает адрес ведомого, но не получает от него ответа?
Проверьте корректность настройки регистра I2CADD в программе ведомого.
[!] В программе ведомого регистр I2CADD содержит значение 44H, ведущий передает значение 44H, но ведомый не подтверждает его?
Из-за 7-разрядности адреса, ведущий должен передавать значение 88H или 89H (в зависимости от режима чтения/записи). Для получения подробной информации смотрите техническое замечание по реализации протокола I2C.
[!] Ведущий передает адрес ведомого и получает подтверждение, но ведомый периодически держит SCLOCK на низком уровне?
Каждый раз, когда ведомый получает или передает данные, устанавливается бит прерывания I2CI и в программе ведомого вызывается подпрограмма прерывания. В этой подпрограмме бит прерывания должен быть очищен (установлен в ноль), иначе линия SCLOCK будет находиться на низком уровне.
[!] Ведущий передает адрес, но похоже, что в программе ведомого не вызывается подпрограмма прерывания?
Проверьте конфигурацию регистров прерывания IE и IE2.
IE = 80H разрешение всех прерываний.
IE2 = 01H разрешение прерывания I2C.