Микросхема аналого-цифрового преобразователя AD7680 компании Analog Devices обладает следующими основными возможностями:
• Скорость оцифровки 100 kSPS (100 тысяч выборок/сек), 16 бит на выборку • Может работать в диапазоне напряжений питания VDD от 2.5V до 5.5V • Потребляет небольшое количество энергии: 3 мВт на частоте опроса 100 kSPS и питании 2.5V 3.9 мВт на частоте опроса 100 kSPS и питании 3V 16.7 мВт на частоте опроса 100 kSPS и питании 5V В режиме Standby максимальное потребление 0.5μA • Широкая входная полоса частот: отношение сигнал/шум (SNR) 86 dB на входной частоте 10 кГц • Гибкое управление питанием / тактовой частотой • Отсутствие задержки конвейеризации • Высокоскоростной последовательный интерфейс (совместимый с SPI®/QSPI™/μWire/DSP) • Поставляется в 6-выводном корпусе SOT-23 и 8-выводном корпусе MSOP
Основное применение:
• Системы с питанием от батареи (медицина, мобильные приложения и т. п.) • Системы управления и контроля в промышленности • Системы удаленного сбора данных • Высокоскоростные модемы • Оптические сенсоры
Примечание: это перевод даташита [1]. Все незнакомые термины и сокращения см. во врезке "Терминология" и разделе "Словарик" в конце статьи.
[Общее описание]
AD7680 является быстрым, экономичным, 16-битным АЦП, построенным по принципу последовательного приближения (successive approximation ADC). Устройство работает в диапазоне напряжений питания 2.5V .. 5.5V, и может оцифровывать со скоростью до 100 kSPS (киловыборок/сек). Имеется встроенный малошумящий и широкополосный усилитель со схемой выборки/хранения, который может обработать входные частоты свыше 7 МГц.
Процесс преобразования и оцифровка данных управляется с помощью сигнала выборки ~CS и последовательных тактов SCLK, что позволяет легко подключить АЦП к микроконтроллеру или процессору DSP. Входной сигнал защелкивается по спаду сигнала ~CS, и в этот момент начинается процесс конверсии. В микросхеме нет никаких задержек конвейеризации.
AD7680 использует продвинутый дизайн, чтобы достичь очень низкой рассеиваемой мощности на высоких скоростях обмена. Опорное напряжение берется с вывода питания VDD. Таким образом, входной диапазон оцифровываемых напряжений составляет 0 .. VDD вольт. Скорость оцифровки определяется тактовой частотой SCLK. Таким образом, время преобразования можно уменьшить, если увеличить скорость тактов последовательного интерфейса. Уменьшение времени преобразования позволяет снизить среднее энергопотребление АЦП, когда используется режим выключения питания (power-down mode). Имеется также режим shutdown, позволяющий максимально увеличить эффективность в потреблении энергии на низких скоростях обмена.
Рис. 1. Функциональная блок-схема AD7680.
Таблица 1. Некоторые типы АЦП PulSAR в корпусах MSOP/SOT-23.
Таблица 2. VDD=4.5..5.5V, fSCLK=2.5 МГц, fSAMPLE=100kSPS, если не указано нечто иное. TA = TMIN..TMAX, если не указано нечто иное.
Параметр
Версии A, B1
Ед.
Условия тестирования, комментарии
Динамические параметры SINAD2
SNR2
THD2 SFDR2 IMD2 второго порядка IMD2 третьего порядка Задержка апертуры Джиттер апертуры Полная полоса пропускания
83 85 84 86 -97 -95 -94 -100 20 30 8 2.2
dB, min dB, typ dB, min dB, typ dB, typ dB, typ dB, typ dB, typ nS, max ps, max МГц, typ МГц, typ
fIN = 10 кГц, синус
@ -3 dB @ -0.1 dB
Точность по постоянному напряжению Разрядов без пропуска кода Интегральная нелинейность (INL)2 Ошибка смещения2 Ошибка усиления2
15 ±4 ±1.68 ±0.038
бит, typ LSB, typ mV, max % FS max
Аналоговые входы Диапазон входных напряжений Постоянный ток утечки Входное сопротивление
0..VDD ±0.3 30
V μA, max pF, typ
Цифровые входы Уровень лог. 1, VINH Уровень лог. 0, VINL Входной ток, IIN Входная емкость, CIN2, 3
2.8 0.4 ±0.3 10
V, min V, max μA, max pF, max
Обычно IIN=10 nA при VIN=0 или VDD.
Цифровые выходы Уровень лог. 1, V0H Уровень лог. 0, V0L Ток утечки 3-го состояния Выходная емкость 3-го состояния2, 3
VDD-0.2 0.4 ±0.3 10
V, min V, max μA, max pF, max
ISOURCE=200μA ISINK=200μA
Скорость преобразования Время преобразования
Время захвата схемы выборки-хранения
Пропускная способность
8 9.6 1.5 400 100
μs, max μs, max μs, max ns, max kSPS
20 тактов SCLK=2.5МГц 24 такта SCLK=2.5МГц
на входе синус ≤ 10кГц см. "Последовательный интерфейс"
Требования к питанию VDD IDD Режим Normal (статичный) Режим Normal (рабочий) Полностью выкл. (Power-Down) Рассеиваемая мощность4 Режим Normal (рабочий) Полностью выкл. (Power-Down)
4.5..5.5 5.2 4.8 0.5 26.4 2.75
V, min..max mA, max mA, max μA, max mW, max μW, max
Изменения входного сигнала 0..VDD SCLK в лог. 0 или лог. 1, VDD=5.5V fSAMPLE=100kSPS, VDD=5.5V; 3.3mA typ SCLK в лог. 0 или лог. 1, VDD=5.5V VDD=5.5V fSAMPLE=100kSPS
Примечания:
1 Температурный диапазон для версий A, B: -40..+85 °C. 2 См. врезку "Терминология". 3 Выборка тестировалась во время начального релиза, чтобы гарантировать совместимость. 4 См. раздел "Соотношение потребляемой мощности и скорости оцифровки".
V, min..max mA, max mA, max mA, max mA, max μA, max mW, max mW, max mW, typ μW, max μW, max
Изменения входного сигнала 0..VDD SCLK в лог. 0 или лог. 1, VDD=4.096V SCLK в лог. 0 или лог. 1, VDD=3.6V fSAMPLE=100kSPS, VDD=4.096V; 1.75mA typ fSAMPLE=100kSPS, VDD=3.6V; 1.29mA typ SCLK в лог. 0 или лог. 1
1 Температурный диапазон для версий A, B: -40..+85 °C. 2 См. врезку "Терминология". 3 Выборка тестировалась во время начального релиза, чтобы гарантировать совместимость. 4 См. раздел "Соотношение потребляемой мощности и скорости оцифровки".
Таблица 4. VDD=2.5..5.5V; TA=TMIN..TMAX, если не указано нечто иное.
Параметр
Предел при TMIN, TMAX
Ед.
Описание
3V
5V
fSCLK2
tCONVERT tQUET
t1 t2 t33 t43 t5 t6 t7 t84 tPOWER-UP5
250 2.5 20 x tSCLK 100
10 10 48 120 0.4 tSCLK 0.4 tSCLK 10 45 1
250 2.5 20 x tSCLK 100
10 10 35 80 0.4 tSCLK 0.4 tSCLK 10 35 1
кГц, min МГц, max min ns, min
ns, min ns, min ns, max ns, max ns, min ns, min ns, min ns, max μS, typ
Мин. время тишины между оставлением шины и началом следующего преобразования Мин. ширина импульса ~CS Время перехода от ~CS к SCLK Задержка от ~CS до выхода SDATA из неактивного состояния Время доступа после спада SCLK Длительность лог. 0 SCLK Длительность лог. 1 SCLK Время удержания SCLK до достоверных данных Время от спада SCLK до перехода SDATA в третье состояние Время выхода из режима полного выключения (power down)
Примечания:
1 Выборка тестировалась во время начального релиза для гарантирования совместимости. Все входные сигналы указаны для tr = tf = 5 ns (переход уровня от 10% до 90% VDD) и оценивались при уровне напряжения 1.6V. 2 Соотношение длительностей лог. 0 и лог. 1 от 40/60 до 60/40. 3 Измерено для нагрузочной схемы на рис. 2, и определено как время, требуемое для перехода выхода от уровня 0.8V к уровню 2.0V. 4 t8 вычисленная форма измеренного времени, взятого от изменения выхода 0.5V, когда схема нагружена в соответствии с рис. 2. Измеренное число затем было экстраполировано обратно, чтобы устранить эффекты заряда или разряда конденсатора 50 pF. Это означает, что время t8 соответствует характеристикам времени реального освобождения шины микросхемой, и не зависит от нагруженности шины. 5 См. раздел "Соотношение потребляемой мощности и скорости оцифровки".
Рис. 2. Нагрузочная схема для спецификации временных характеристик цифрового выхода.
Стрессовые условия, указанные в таблице, или их значения, которые больше чем в таблице, могут необратимо повредить устройство. Поэтому параметры указаны только в качестве стрессового рейтинга; не подразумевается работа устройства в этих условиях или в условиях с превышением этих значений параметров. Работа возле этих максимальных рабочих условий в течение длительного времени может отрицательно повлиять на надежность устройства.
Таблица 5. TA = 25°C, если не указано нечто иное.
Параметр
Предельные значения
Напряжение VDD относительно GND Аналоговое входное напряжение относительно GND Цифровое входное напряжение относительно GND Цифровое выходное напряжение относительно GND Входной ток через любой вывод, кроме выводов питания1 Диапазон температур: рабочий для коммерческой версии (версия B) для хранения Температура кристалла Рассеиваемая мощность для корпуса SOT-23 Термосопротивление ΘJA Термосопротивление ΘJC Рассеиваемая мощность для корпуса MSOP Термосопротивление ΘJA Термосопротивление ΘJC Температура пайки выводов Фаза конденсации (60 сек) Фаза инфракрасного прогрева (15 сек) ESD
Примечание 1: переходные токи до 100 mA не приводят к защелкиванию SCR.
[Статическое электричество]
Микросхема чувствительна к статическому электричеству, ESD (electrostatic discharge). Электростатические заряды напряжением порядка 4000V могут накапливаться на теле человека и на тестовом оборудовании, после чего могут незаметно разрядиться через выводы микросхемы (если не принять меры предосторожности). Хотя эта микросхема снабжена некоторыми проприетарными схемами защиты от ESD, электростатический разряд с высокой энергией может необратимо повредить микросхему. Таким образом, рекомендуется предпринимать меры защиты от ESD, чтобы избежать потерь производительности или выхода из строя микросхем.
[Цоколевка корпуса и описание выводов AD7680]
Рис. 3. Корпус SOT-23.
Рис. 4. Корпус MSOP.
Таблица 6. Функциональное описание выводов.
№ вывода
Мнемоника
Функция
SOT-23
MSOP
1
1
VDD
Вход для напряжения питания и одновременно опорного напряжения. Диапазон для VDD допускается от 2.5V до 5.5V.
2
2, 3
GND
Аналоговая земля. Опорная точка для всех схем AD7680. Все сигналы должны поступать относительно шины GND.
3
4
VIN
Аналоговый вход. Однополярный вход АЦП. Диапазон оцифровываемого входного напряжения находится в пределах от 0 до VDD.
4
5
SCLK
Последовательные такты, логический цифровой вход. Эти такты предоставляются хостом для доступа к результатам оцифровки АЦП. Также сигнал SCLK используется как тактовый вход для процесса оцифровки AD7680.
5
7
SDATA
Биты данных выдвигаются из микросхемы по спаду логического уровня SCLK. Поток данных состоит из 4 начальных нулей, за которыми идут 16 бит данных, в потоке бит MSB идет первым. За 16 битами данных могут следовать 4 завершающих нуля, если ~CS удерживается в состоянии лог. 0 на время действия 24 тактовых перепадов SCLK. Подробнее см. раздел "Последовательный интерфейс".
6
8
~CS
Сигнал chip select (выборка кристалла). Активный уровень лог. 0. Этот вход предоставляет двойную функцию - запускает преобразование и управляет фреймом потока последовательных данных.
-
6
NC
No Connect. Этот вывод должен быть оставлен не подключенным.
Integral Nonlinearity, INL (интегральная нелинейность). Это максимальное отклонение от прямой линии, проходящей через крайние точки функции преобразования АЦП. Конечные точки находятся на нулевой шкале, точка на 1/2 LSB ниже первого перехода кода, и на полной шкале, на 1/2 LSB выше последнего перехода кода.
Differential Nonlinearity, DNL (дифференциальная нелинейность). Это разница между измеренным и идеальным изменением 1 LSB между двумя соседними выходными кодами ADC.
Offset Error (ошибка смещения). Это отклонение от первого перехода кода (00...000) к (00...001) от идеального, например AGND + 1 LSB.
Gain Error (ошибка усиления). Это отклонение последнего перехода кода (111 ... 110) к (111...111) от идеального (например, VREF − 1 LSB) после того как ошибка смещения была скорректирована.
Track-and-Hold Acquisition Time (время захвата схемы выборки-хранения). Усилитель схемы выборки-хранения возвращается в режим отслеживания сигнала по окончании преобразования. Время захвата схемы выборки-хранения это время, которое требуется, чтобы выход усилителя схемы выборки-хранения достиг конечной величины, в пределах ±1 LSB после окончания преобразования. Подробнее см. раздел "Последовательный интерфейс".
Signal-to-(Noise + Distortion) Ratio (SNR, SINAD). Измеренное соотношение сигнал/шум (это SNR) или сигнал/(шум+искажения) (это SINAD) на выходе АЦП. Сигнал это среднеквадратическая амплитуда (RMS, root mean square) основной измеряемой величины. Шум это сумма всех не основных сигналов, частота которых меньше половины частоты дискретизации (fS/2, исключая постоянное напряжение). Соотношение зависит от количества уровней квантования в процессе оцифровки сигнала; чем больше уровней, тем меньше шум квантования. Теоретическое соотношение SNR (SINAD) для идеального N-разрядного преобразователя вычисляется по формуле
Signal-to-(Noise + Distortion) = (6.02 N + 1.76) dB
Таким образом, для 16-битного преобразователя этот параметр равен 98 dB.
Total Harmonic Distortion, THD (общие гармонические искажения). THD это соотношение суммы rms гармоник к основному сигналу. Для AD7680 оно определено как
где V1 это амплитуда rms основной частоты и V2, V3, V4, V5 и V6 это амплитуды rms гармоник от второй до шестой.
Peak Harmonic or Spurious Noise (пиковая гармоника или случайный шум). Соотношение значения следующего наибольшего компонента переменного напряжения в выходном спектре (до fS/2, исключая постоянную составляющую) к значению rms основного сигнала. Обычно это значение определяется по самой большой гармонике в спектре, но для АЦП, где гармоника похоронена на фоне шумов, это будет пиковый шум.
Intermodulation Distortion, IMD (интермодуляционные искажения). Когда на входе присутствуют 2 синусоидальных сигнала с 2 частотами fa и fb, то любое активное устройство, у которого есть нелинейность, создает искажения как сумму и разность частот mfa ± nfb, где m, n = 0, 1, 2, 3. Условия интермодуляционных искажений - когда ни m, ни n не равны 0. Например, условия второго порядка включают (fa + fb) и (fa − fb), тогда как условия третьего порядка включают (2fa + fb), (2fa − fb), (fa + 2fb) и (fa −2fb).
AD7680 был протестирован по стандарту CCIF, где использовались две входные частоты, близкие к концу полосы пропускания по входу. В этом случае условие второго порядка обычно находится на расстоянии от оригинальных входных частот, и условие третьего порядка обычно по частоте близко к входным частотам. В результате условия второго и третьего порядка указаны отдельно. Вычисление интермодуляционного искажения сделано как в спецификации THD, где это соотношение суммы rms продуктов искажений к сумме амплитуд rms основного сигнала, выраженное в dB (децибелы).
Spurious-Free Dynamic Range, SFDR. Соотношение основного полезного сигнала к самому сильном побочному (помеха). Определяет рабочий диапазон АЦП.
[Типовые характеристики, связанные с производительностью]
На рис. 5 показан типичный график FFT (быстрое преобразование Фурье) для AD7680 на скорости оцифровки 100 kSPS и входной частоте 10 кГц. Рис. 6 показывает зависимость соотношения сигнал/шум (signal-to-noise, SNR) и сигнал/искажения (signal-to-distortion, SND) от входной частоты для разных напряжений питания при скорости оцифровки 100 kSPS и частоте тактов SCLK 2.5 МГц.
Рис. 5. Динамическая характеристика AD7680 на скорости оцифровки 100 kSPS.
Рис. 6. AD7680 SINAD в зависимости от аналоговой входной частоты для различных напряжений питания и скорости оцифровки 100 kSPS.
На рис. 7 показан граф зависимости общих гармонических искажений от входной аналоговой частоты для различных напряжений питания. Рис. 8 показывает граф зависимости общих гармонических искажений от аналоговой входной частоты для различных сопротивлений источника сигнала (см. раздел "Аналоговый вход"). Рис. 9 и 10 показывают типичные графики INL и DNL для АЦП AD7680.
Рис. 7. Зависимость AD7680 THD от аналоговой входной частоты для различных напряжений питания и скорости оцифровки 100 kSPS.
Рис. 8. Зависимость AD7680 THD аналоговой входной частоты для различных выходных сопротивлений источника сигнала.
Рис. 9. Типичный INL для AD7680.
Рис. 10. Типичный DNL для AD7680.
[Внутренняя схемотехника]
AD7680 является быстрым, малопотребляющим 16-битным ADC с одиночным питанием. Микросхема может работать от источника питания с напряжением в диапазоне 2.5V .. 5.5V, и может при этом обеспечить скорость оцифровки 100 kSPS на частоте тактов интерфейса 2.5 МГц.
AD7680 предоставляет встроенную в кристалл перед АЦП схему выборки-хранения и последовательный интерфейс - и все это в маленьком 6-выводном корпусе SOT-23 или 8-выводном корпусе MSOP, что дает пользователю преимущество при разработке печатной платы в сравнении с альтернативными решениями. Вход для тактов последовательного интерфейса SCLK одновременно предоставляет тактовый сигнал для схемы АЦП последовательного приближения. Диапазон входных оцифровываемых напряжений для AD7680 находится в пределах от 0V до VDD. Внешнее отдельное опорное напряжение не требуется, поскольку оно берется от вывода подачи питания VDD.
AD7680 также имеет опцию выключения питания (power-down), позволяющую экономить энергию источника питания между преобразованиями. Эта возможность реализована на основе стандартного последовательного интерфейса, и подробнее описана в разделе "Режимы работы".
Как работает преобразование АЦП. AD7680 является 16-битным АЦП, работающим по принципу последовательного приближения на базе ЦАП на конденсаторах (capacitive DAC). AD7680 может оцифровывать аналоговые входные сигналы в диапазоне от 0V до VDD. Рис. 11 и 12 упрощенно показывают схемотехнику АЦП. В неё входит управляющая логика, SAR и емкостной DAC. Рис. 11 показывает ADC в фазе захвата входного сигнала (acquisition). SW2 замкнут, и SW1 находится в положении A. Компаратор удерживается в сбалансированном состоянии и конденсатор для хранения выборки сигнала захватывает уровень на входе VIN.
Рис. 11. Фаза захвата входного сигнала АЦП (ADC Acquisition Phase).
Когда ADC начинает преобразование, ключ SW2 открывается и SW1 переключается в положение B, что приводит к разбалансировке компаратора (рис. 12). Логика управления и ёмкостный DAC используются для прибавления и вычитания фиксированного количества заряд из конденсатора захвата, пытаясь перевести компаратор в состояние баланса. Когда компаратор проходит все стадии балансировки, преобразование считается завершенной. Управляющая логика генерирует выходной код ADC (см. раздел "Передаточная функция АЦП").
Рис. 12. Фаза оцифровки сигнала АЦП (ADC Conversion Phase).
[Аналоговый вход]
На рис. 13 показана эквивалентная схема структуры аналогового входа AD7680. Два диода D1 и D2 предоставляют защиту ESD для аналогового входа. Следует заботиться о том, чтобы уровень входного сигнала не выходил за пределы диапазона GND-0.3V .. VCC+0.3V. Причина понятна - вне этого диапазона диоды открываются, и через них потечет входной ток. Максимальный допустимый ток, после которого они могут повредиться, составляет 10 мА. Конденсатор C1 на рис. 13 имеет обычно емкость около 5 пФ, и он отражает емкость вывода микросхемы. Резистор R1 является составным компонентом, в который входит входное сопротивление ключа схемы выборки/хранения (сопротивление этого резистора около 25Ω). Емкость C2 это конденсатор выборки ADC, и у него типичная емкость порядка 25 пФ. Для приложений, где нужна оцифровка переменного напряжения, рекомендуется вырезать высокочастотную составляющую из аналогового входного сигнала, используя ФНЧ на резисторах и конденсаторах (RC low-pass filter), подключенный к аналоговому входу. В приложениях, где критичны гармонические искажения и соотношение сигнал/шум, аналоговый вход должен быть подключен к источнику сигнала с низким выходным сопротивлением. Большое сопротивление источника сигнала значительно влияет на качество оцифровки входного переменного сигнала ADC. Для этого может потребоваться использовать входной буферный усилитель. Выбор операционного усилителя зависит от конкретного приложения. Когда усилитель не используется, выходное сопротивление источника сигнала должно быть низким. Максимальное сопротивление источника сигнала зависит от допустимой величины общих гармонических искажений (total harmonic distortion, THD). THD увеличивается, когда увеличивается выходное сопротивление источника сигнала, и ухудшается производительность АЦП (см. рис. 8).
Выходное значение кода AD7680 имеет обычный прямой двоичный формат. Переходы кода происходят в последовательных целочисленных значениях LSB, т. е., 1 LSB, 2 LSB. Вес младшего разряда составляет VDD/65536. Идеальная переходная характеристика для AD7680 показана на рис. 14.
Рис. 14. Характеристика преобразования AD7680.
[Типовая схема подключения]
Рис. 15. Обычная схема подключения AD7680.
Опорное напряжение для АЦП VREF берется от вывода питания VDD, так что оно должно быть хорошо развязано от помех. Результат преобразования на выходе представлен как 24-битное слово, или альтернативно все 16 бит конверсии результата могут быть получены с использованием минимум 20 тактов SCLK. Этот 20-/24-битный поток данных состоит из 4 начальных нулей, за которыми идут 16 бит данных преобразования, за которыми идут еще 4 завершающих нуля, если используется пачка из 24 тактов SCLK. Для приложений, где важна экономия в потреблении энергии, должен использоваться режим power-down между преобразованиями, или между пачками из нескольких преобразований (см. раздел "Режимы работы").
Фактически, поскольку требуемый ток потребления AD7680 мал, в качестве источника питания для VDD можно использовать точный источник опорного напряжения. Например, можно использовать микросхему генератора опорного напряжения REF19x (REF195 для 5V или REF193 для 3 V) или AD780, чтобы подать требуемое напряжение на ADC (см. рис. 15). Такая конфигурация особенно полезна, когда напряжение питания слишком зашумлено, или если напряжения питания в системе сильно отличаются от рабочего напряжения AD7680, например есть напряжение питания 15V. Выход REF19x или AD780 вполне подходит для VDD AD7680. Для фильтрации VDD рекомендуется использовать развязывающие керамические конденсаторы емкостью порядка 100 нФ с низким ESR (Farnell 335-1816) и 10μF танталовый конденсатор с низким ESR (Farnell 197-130).
Цифровые выводы. Для цифровых входов AD7680 действуют совсем другие ограничения, отличающиеся от аналогового входа. На цифровой вход можно подать уровень до 7V, т. е. здесь нет ограничения VDD+0.3V, какое действует для аналогового входа inputs. Например, если AD7680 работает с VDD=3V, можно использовать цифровые логические уровни 5V. Однако следует помнить, что на выходе SDATA будет все еще уровень 3V для лог. 1, когда VDD=3V.
Другое преимущество такой организации цифровых входов SCLK ~CS (уровни на них не ограничены VDD+0.3V) состоит в том, что можно избежать проблем, связанных с последовательностью подачи напряжений питания при включении. Если уровень на этих цифровых входах установится раньше, чем появится напряжение VDD, нет риска повреждения цифровых входов из-за защелкивания полупроводниковых структур, как могло бы произойти с аналоговым входом, если бы к нему было приложено напряжение уровнем на 0.3V выше, чем подано напряжение на VDD.
[Режимы работы]
Режим работы AD7680 выбирается управлением логическим состоянием сигнала CS во время преобразования. Может быть 2 возможных режима работы, normal и power-down. Момент, в котором ~CS переводится в лог. 1 после инициирования преобразования, определяет, войдет или нет AD7680 в режим power-down. Подобным образом, если AD7680 уже в режиме power-down, ~CS может управлять, вернется ли микросхема в режим normal, или останется в режиме power-down. Эти режимы работы разработаны с целью предоставить возможность гибкого управления энергопотреблением. Такая возможность позволяет оптимизировать соотношение рассеиваемая мощность / скорость преобразования для различных требований приложения.
Режим normal. Этот режим предоставляет самую большую пропускную способность, поскольку пользователь не беспокоится по поводу интервалов времени power-up, AD7680 всегда остается в активном режиме. Рис. 16 показывает основную диаграмму работы AD7680 в этом режиме.
Рис. 16. Нормальный режим работы (Normal).
Преобразование инициируется спадом уровня на входе ~CS. Чтобы гарантировать, что микросхема останется всегда полностью запитанной, вывод выборки ~CS последовательного интерфейса должен оставаться в состоянии лог. 0 как минимум спадов 10 SCLK, которые должны пройти после спада в лог. 0 уровня ~CS. Если ~CS перейдет в лог. 1 в любой момент после прохождения 10-того спада SCLK, но перед 20-тым спадом SCLK, микросхема останется запитанной, но преобразование будет прервано и выход SDATA вернется обратно в третье (отключенное) состояние. Требуется как минимум 20 тактов последовательного интерфейса SCLK, чтобы выполнить полное преобразование и получить полный результат. Если будет выданы дополнительно тактовые импульсы до общего количества 24 тактов SCLK, то через SDATA будут переданы 4 завершающих нуля. ~CS может оставаться в лог. 1 до следующего преобразования, или может оставаться в лог. 0 до момента, когда ~CS вернется в состояние лог. 1 перед следующим преобразованием.
Как только завершится передача данных (выход SDATA вернулся в третье состояние), может быть инициировано другое преобразование после "времени тишины" tQUIET, путем повторного перевода сигнала ~CS в лог. 0.
Режим power-down. Этот режим предназначен для использования в приложениях, где можно снизить скорость потока данных. Либо ADC выключается между каждым преобразованием, либо делается пачка из нескольких преобразований с высокой скоростью, после чего ADC выключается на относительно большой интервал времени между этими пакетными преобразованиями. Когда AD7680 в отключенном режиме (power-down), все его аналоговые схемы выключаются.
Для входа в режим power-down, процесс преобразования должен быть прерван путем перевода ~CS в лог. 1 после 2-го спада на SCLK и перед 10-ым спадом SCLK, как показано на рис. 17. Как только ~CS перейдет в состояние лог. 1 в этом окне тактовых импульсов SCLK, микросхема перейдет в режим power-down, инициированное спадом ~CS преобразование будет прервано, и выход SDATA перейдет обратно в третье состояние. Если CS перейдет в лог. 1 перед вторым спадом SCLK, микросхема останется в режиме normal и не выключится. Это предотвратит случайные выключения микросхемы из-за возможных импульсов на выводе ~CS.
Рис. 17. Вход в режим выключения (Power-Down).
Чтобы выйти из этого режима работы и снова запитать AD7680, должна быть выполнена пустая операция преобразования (dummy conversion). По спаду ~CS устройство начнет включаться, и останется включенным, пока ~CS удерживается в лог. 0 до 10-го спада SCLK. Микросхема полностью включается, как только пройдут минимум 16 тактов SCLK (или примерно 6 μs), и достоверные данные оцифровки могут быть получены при следующем преобразовании, как это показано на рис. 18. Если ~CS перейдет в лог. 1 перед 10-ым спадом уровня SCLK, независимо от частоты SCLK, AD7680 снова вернется в состояние power-down. Это позволит избежать случайного включения из-за импульсов помех на сигнале ~CS, или непреднамеренного пакета из 8 тактовых перепадов SCLK, пока ~CS находится в лог. 0. Так что хотя устройство может начать включение после спада на ~CS, оно снова выключится по фронту нарастания ~CS, как это произойдет перед 10-ым спадом SCLK.
Figure 18. Выход из режима выключения (Power-Down).
[Соотношение потребляемой мощности и скорости оцифровки]
Если использовать режим power-down, когда AD7680 не оцифровывает сигнал, можно уменьшить среднее энергопотребление ADC, когда используется низкие скорости оцифровки. Рис. 19 показывает, как уменьшается скорость оцифровки, и пропорционально увеличению времени, когда микросхема ADC находится в выключенном состоянии, снижается среднее энергопотребление.
Например, если AD7680 работает в режиме постоянной оцифровки, оцифровывая данные с частотой 10 kSPS и тактовой частотой SCLK 2.5 МГц (при напряжении питания VDD=3.6V), и между преобразованиями микросхема помещается в режим power-down, энергопотребление вычисляется следующим образом. Максимальное потребление в режиме normal составляет 6.84 мВт (при VDD=3.6V). Если время включения (время выхода из состояния power-down) равно 1 μs, и оставшееся время преобразования составляет 8 μs (при использовании передачи с 20 тактами SCLK), то AD7680 может рассеивать 6.84 mW для 9 μs во время каждого цикла преобразования. На скорости оцифровки 10 kSPS время цикла составит 100 μs.
На оставшееся от преобразований время 91 μs микросхема остается в режиме power-down. AD7680 может потреблять 1.08 μW за эти 91 μs между циклами оцифровки. Таким образом, при скорости оцифровки 10 kSPS средняя рассеиваемая мощность составит в каждом цикле:
(9/100) x (6.84 mW) + (91/100) x (1.08 μW) = 0.62 mW
Рис. 19. Зависимость энергопотребления от скорости оцифровки с переходами в Power-Down между преобразованиями (передача 20 SCLK, питание VDD=3.6V).
[Последовательный интерфейс]
Рис. 20 показывает подробную диаграмму времени для последовательного интерфейса подключения AD7680. Тактовый сигнал предоставляет такты для преобразования, и также управляет передачей информации от AD7680 во время преобразования.
Как уже упоминалось, сигнал ~CS инициирует передачу данных и процесс преобразования. Спад ~CS переводит узел выборки/хранения в режим удержания, выводит выходной сигнал из третьего состояния, и делает выборку сигнала с аналогового входа. В этот момент также начинается процесс преобразования, и требуется как минимум 20 тактов SCLK для завершения преобразования. Как только пройдет 17-й импульс спада SCLK, схема выборки/хранения перейдет обратно в режим отслеживания сигнала на следующем импульсе нарастания SCLK. На рис. 20 показана передача на 24 импульсах SCLK, которая позволяет достичь скорости оцифровки 100 kSPS. На 24-том спаде SCLK, выход SDATA не возвращается в третье состояние. Если фронт нарастания ~CS произошел перед прохождением 24 тактов SCLK, преобразование будет прервано и выход SDATA перейдет обратно в третье состояние; иначе SDATA перейдет в третье состояние на 24-том спаде SCLK, как это показано на рис. 20.
Рис. 20. Диаграмма времени последовательного интерфейса AD7680 при передаче, управляемой 24 тактами SCLK.
Требуется минимум 20 тактов последовательного интерфейса, чтобы выполнить процесс преобразования и получить данные от AD7680. В момент перехода ~CS в лог. 0 представляется первый начальный 0 для чтения микроконтроллером или DSP. Остальные данные выдвигаются последующими спадами сигнала SCLK, начиная со второго начального нуля; таким образом, первый спад тактов предоставляет первый начальный 0, и также выдвигает второй начальный 0. Если используется передача с 24 тактами SCLK, как это показано на рис. 20, передача данных состоит из 4 начальных нулей, за которыми идут 16 бит данных, завершаемые 4-мя завершающими нулями. Последний бит (четвертый последний 0) в передаче данных будет достоверным на 24-том спаде SCLK, он был выдвинут предыдущим (23-им) спадом SCLK. Если используется передача из 20 импульсов SCLK, как это показано на рис. 21, выходной поток данных состоит только из 4 начальных нулей, за которыми идут 16 бит данных, где последний бит будет достоверным на 20-том спаде SCLK. Передача с 20 SCLK позволяет уменьшить время полного цикла, и таким образом достичь более высокой скорости оцифровки.
Рис. 21. Диаграмма времени последовательного интерфейса AD7680 при передаче, управляемой 20 тактами SCLK.
Можно также получить достоверные данные на каждом фронте нарастания SCLK, а не на спадах SCLK, поскольку время цикла SCLK достаточно продолжительное, чтобы данные были в готовности на фронте нарастания SCLK. Однако первый начальный 0 будет все еще доступен по спаду ~CS, так что его можно получить только по первому спаду сигнала SCLK. Это можно игнорировать, и первый импульс нарастания SCLK после спада ~CS даст чтение второго начального 0, и 23-ий фронт нарастания SCLK даст последний завершающий 0. Этот метод может не работать с большинством микроконтроллеров/DSP, но его можно использовать совместно с микросхемами программируемой логики FPGA и ASIC.
Семейство ADSP-218x процессоров DSP может быть напрямую подключено к AD7680 без каких-либо промежуточных логических схем. Регистр управления SPORT должен быть настроен следующим образом:
TFSW = RFSW = 1, Alternate Framing (альтернативный формат фрейма) INVRFS = INVTFS = 1, Active Low Frame Signal (для сигнала фрейма активный уровень лог. 0) DTYPE = 00, Right Justify Data (правое выравнивание данных) SLEN = 0111, 8-Bit Data-Words (8-битные слова данных) ISCLK = 1, Internal Serial Clock (внутренние последовательные такты) TFSR = RFSR = 0, Frame First Word (фрейм первого слова) IRFS = 0 ITFS = 1
Для реализации режима power-down поле SLEN должно быть установлено в значение 0111, чтобы выдать пакет 8-бит SCLK. Схема соединений показана на рис. 22. Сигналы TFS и RFS порта SPORT процессора ADSP-218x соединены друг с другом, и TFS настроен как выход и RFS настроен как вход. DSP работает в режиме альтернативного фрейма, и регистр управления SPORT настроен соответствующим образом, как показано выше. Используется автобуферизация передачи и приема, чтобы получить передачу из 24 импульсов SCLK. Каждый буфер содержит три 8-битных слова. Сигнал синхронизации фрейма генерируется на TFS, подключенном к ~CS, и как требуется во всех системах цифровой обработки сигнала, для оцифровки нужна выборка с регулярными интервалами. В этом примере используется прерывание таймера, чтобы управлять частотой опроса ADC.
Рис. 22. Пример подключения к ADSP-218x.
Регистр таймера загружается значением, которое предоставляет прерывание на требуемом интервале между выборками. Когда произошло прерывание, значения в автобуфере передачи начинают передаваться, и генерируется сигнал TFS. TFS используется для управления RFS, и таким образом осуществляется чтение данных. Данные сохраняются в автобуфере приема для последующей обработки. Частота последовательных тактов устанавливается в регистре SCLKDIV. Когда выдается инструкция для передачи с TFS, например TX0 = AX0, проверяется состояние SCLK. DSP ждет, пока SCLK не перейдет в лог. 1, лог. 0, и снова в лог. 1 перед тем, как начнется передача. Если таймер и значения SCLK выбраны так, что инструкция для передачи происходит близко к фронту нарастания SCLK, данные могут быть переданы или могут ожидать следующего перепада тактов.
В этом примере процессор Blackfin ADSP-BF538 подключен к АЦП AD7680 через последовательный порт SPI2 (подробнее описание порта SPI см. в [3]). Регистр управления SPI2_CTL должен быть настроен следующим образом:
SPE = 1, разрешить работу SPI WOM = 0, обычный двухтактный буфер MSTR = 1, Blackfin работает как главное устройство на шине SPI SPOL = 1, настройка полярности сигнала тактов SCK CPHA = 0, фаза сигнала тактов SCK SIZE = 1, выбирает 16-битный формат фрейма EMISO = 0, выход MISO используется как вход PSSE = 0, аппаратный выход выборки ~SPI2SS не используется GM = 0, в случае переполнения приема данные будут отбрасываться TIMOD = 01, транзакция порта SPI начинается записью в регистр передачи SPI2_TDBR
*pSPI2_CTL = SPE|MSTR|CPOL|SIZE|TDBR_CORE;
Пример подключения к ADSP-BF538.
Порт SPI Blackfin может за один фрейм аппаратно сгенерировать либо 8, либо 16 тактовых импульсов (в зависимости от выбранной ширины фрейма 8 или 16 бит). Но для опроса AD7680 нужно сформировать как минимум 20 тактовых перепадов. Можно применить 2 альтернативных решения:
1. Запрограммировать прием DMA на три 8-битных фрейма подряд, в результате получится 24 тактовых перепада SCLK. Принятое 24-битное число сдвинуть вправо на 4 разряда, получится результат оцифровки.
2. Выполнить программное формирование первых 4 тактовых перепада SCLK (дергая ножкой SCK2 как портом GPIO). Затем переключить ножку SCK2 на периферийное устройство SPI2, и запустить транзакцию SPI на ширину фрейма 16 бит. В результате получим нужные 20 тактовых перепадов сигнала SCLK, и в регистре приема SPI2_RDBR можно прочитать готовый результат оцифровки.
В обоих случаях выборкой АЦП (сигналом ~CS) можно управлять программно.
В результате был выбран 2 вариант. На скриншоте осциллографа Tektronix MSO 2014 можно посмотреть, какие получились диаграммы сигналов интерфейса:
Как можно увидеть из оциллограммы, SPI запущен на частоте тактов 5.4 МГц, хотя по даташиту предельно допустимая частота 2.5 МГц. Несмотря на повышенную частоту, АЦП AD7680 все равно показал нормальный результат работы. Кроме того, не получилось сформировать стабильную последовательность из 20 перепадов SCLK. Однако неравномерность периодов тактового сигнала и его повышенная частота не повлияли на корректность оцифровки и чтения разультатов из АЦП.
Ниже приведен код подпрограмм настройки SPI2 и чтения результата для работы с АЦП AD7680.
Заголовочный файл AD7680.h:
#ifndef __AD7680__
#define __AD7680__
//Опорное напряжение 3.3V:
#define AD7680_REF 3.3
//16-битный результат преобразования:
extern u16 accvoltage16;
//Функция настройки порта SPI2, должна быть вызвана
// 1 раз перед входом в главный цикл main:
voidAD7680_InitCom (void);
//Не блокирующая функция обработки чтения АЦП, её вызов
// должен быть вставлен в тело цикла main:
voidAD7680handler (void);
#endif //__AD7680__
Модуль AD7680.cpp:
#include "pins.h"
#include "delay.h"
#include "uart/BfDebugger.h"
#include "AD7680.h"
u16 accvoltage16;
voidAD7680_InitCom (void)
{
//Настройка ножки выборки:*pPORTDIO_FER |= portCSpwr;
*pPORTDIO_DIR |= portCSpwr;
*pPORTDIO_SET = portCSpwr;
//Настройки ножки для тактов:*pPORTDIO_FER |= portSCKpwr;
*pPORTDIO_DIR |= portSCKpwr;
*pPORTDIO_SET = portSCKpwr;
*pSPI2_BAUD =3; //Настройка SPI1 на 5.4 МГц.//Настройка порта SPI2. Что тут настроено:// SPE разрешить SPE// MSTR главное устройство// CPOL определяет полярность SCK// CPHA определяет фазу SCK// LSBF = 0, старший бит идет первым// SIZE выбирает 16-битный формат читаемого слова// TDBR_CORE определяет, что передача начинается записью SPI2_TDBR// со стороны ядра (значение поля TIMOD).*pSPI2_CTL = SPE|MSTR|CPOL/*|CPHA*/|SIZE|TDBR_CORE;
}
static voidAD7680_StartConversion (void)
{
//Выбрать АЦП:*pPORTDIO_FER |= portSCKpwr; //переключение ножки SCLK в режим GPIO*pPORTDIO_CLEAR = portCSpwr; //~CS=0 (активная выборка AD7680)//4 раза дернуть ножкой SCK для прохождения 4 нулей:for (u8 bitcnt=0; bitcnt<4; bitcnt++)
{
*pPORTDIO_CLEAR = portSCKpwr;
ssync();
csync();
*pPORTDIO_SET = portSCKpwr;
ssync();
csync();
}
//Переключение ножки SCLK в аппаратный режим:*pPORTDIO_FER &=~portSCKpwr;
//Запуск передачи (и одновременно приема) SPI.*pSPI2_TDBR =0;
}
voidAD7680handler (void)
{
static u8 state = AD7680_START;
staticclock_t waittimeout =0;
switch (state)
{
case AD7680_START:
AD7680_StartConversion();
state = AD7680_READ;
break;
case AD7680_READ:
if (AD7680_Read(&accvoltage16))
{
waittimeout = clock() +100*MS_TICKS;
DEBUG(1, "%0.2f ", AD7680_REF * accvoltage16 /65535);
state = AD7680_WAIT;
}
break;
case AD7680_WAIT:
if(waittimeout < clock())
state = AD7680_START;
break;
}
}
Чтобы избежать лишнего блокирования основного цикла программы, последовательность чтения разделена на 3 фазы: фаза запуска оцифровки (AD7680_START), фаза чтения (AD7680_READ) и фаза паузы между преобразованиями (AD7680_WAIT).
На фазе запуска оцифровки генерируется спад в лог. 0 сигнала выборки ~CS, затем программно формируются 4 тактовых перепада SCLK, ножка тактов переключается в аппаратный режим, после чего записью буфера передачи запускается транзакция приема/передачи фрейма SPI. Все это делает функция AD7680_StartConversion.
На фазе чтения ожидается появление флага RXS, сигнализирующего о заполнении буфера приема. Как только флаг RXS взведен, результат оцифровки вычитывается из буфера приема и помещается в глобальную переменную accvoltage16. Чтение результата выполняет функция AD7680_Read. После этого запускается отсчет таймаута паузы (в данном примере между оцифровками выдерживается пауза в 100 мс).
На фазе ожидания не выполняется никаких действий, кроме отслеживания истечения таймаута. Как только таймаут истек, снова инициализируется переход в фазу запуска оцифровки.
[Советы по применению]
Заземление и разводка платы. Печатная плата прибора, на которой установлена микросхема AD7680, должна быть разработана так, чтобы цепи аналоговых и цифровых сигналов были разделены, и ограничены определенными областями платы. Это упрощает использование плоскостей земли, которые можно разделить при разводке. Использование минимального зазора травления для заливок земли даст самый лучший результат, поскольку при этом получается самое лучшее экранирование. Заливки земли цифровых цепей и аналоговых цепей должны быть соединены друг с другом только в одном месте. Если AD7680 находится в системе, где несколько устройств требуют подключения AGND к DGND, соединение все равно должно быть сделано только в одной точке, и точка соединений звезды должны находиться как можно ближе к AD7680.
Избегайте прокладки цифровых сигнальных линий под корпусом микросхемы, потому что это может порождать паразитные наводки. Аналоговая земля должна быть размещена под AD7680, чтобы уменьшить шумовые наводки. Цепи питания AD7680 должны использовать как можно более толстые проводники, чтобы уменьшить их сопротивление и индуктивность, и тем самым уменьшить влияние импульсов выбросов по питанию. Сигналы, переключающиеся с высокой частотой, такие как тактовые, должны быть экранированы цифровой землей, чтобы избежать наводок а другие секции платы, и тактовые сигналы не должны проходить рядом с аналоговыми входами. Избегайте пересечения цифровых и аналоговых сигналов. Трассы на противоположных сторонах платы должны проходить друг к другу под прямым углом, это уменьшит эффект взаимного влияния сигналов на плате. Техника microstrip скорее всего будет лучшей, но её не всегда можно осуществить для двухслойной платы. По этой технике сторона компонентов платы используется для экранирования (максимально залита проводником земли), а разводка всех цепей сигналов выполнена на обратной стороне платы (так называемая нижняя сторона, или "сторона пайки", последний термин не всегда оправдывает свое название в случае применения поверхностного монтажа).
Хорошая развязка питания также очень важна. Все аналоговые цепи питания должны быть развязаны танталовыми конденсаторами 10 μF и включенными параллельно им керамическими конденсаторами 0.1 μF на AGND, как это обсуждалось в разделе "Типовая схема подключения". Чтобы достичь наилучшей эффективности от применения развязывающих компонентов, пользователь должен постараться выдерживать минимальное расстояние между конденсаторами развязки и выводами VDD и GND, с применением как можно коротких проводников для соединения конденсаторов с соответствующими выводами микросхемы.
INL Integral Nonlinearity Error, интегрированная ошибка нелинейности.
kSPS KiloSamples Per Second, тысяча выборок в секунду.
LSB Least Significant Bit, самый младший по значимости бит.
MSB Most Significant Bit, самый старший по значимости бит.
Oversampled имеется в виду передискретизация, т. е. вместо одной выборки сигнала делается несколько выборок, от которых потом берется среднее значение. Точность (динамический диапазон) при этом увеличивается.
ppm Parts Per Million, т. е. количество миллионных частей от какой-то величины.
REF сокращение от reference, в этом контексте имеется в виду опорное напряжение.
RFS Receive Frame Synchronization, сигнал синхронизации фрейма приема. Термин относится к интерфейсу SPORT процессоров DSP компании Analog Devices.
SFDR Spurious-Free Dynamic Range, отношение основного сигнала к самому мощному побочному (подробнее см. Википедию).