Программируемые аналоговые интегральные схемы ИС Anadigm: применение конфигурируемых аналоговых модулей в составе программы Anadigm Designer2

№ 12’2007
PDF версия
Статья посвящена описанию принципов работы программируемых аналоговых схем (ПАИС), описанию конфигурируемых аналоговых модулей, распространяемых в составе программы AnadigmDesigner2, и способах загрузки конфигурационных данных в ПАИС.

Статья посвящена описанию принципов работы программируемых аналоговых схем (ПАИС), описанию конфигурируемых аналоговых модулей, распространяемых в составе программы AnadigmDesigner2, и способах загрузки конфигурационных данных в ПАИС.

Введение

Традиционно схемы аналоговой обработки сигналов выполняются на дискретных компонентах — операционных усилителях, компараторах, мультиплексорах и т. п. При этом в ряде случаев аналоговая часть занимает большую часть площади печатной платы и имеет высокую стоимость. Решить проблему создания разнообразных аналоговых устройств, снизив стоимость и габариты, позволяет использование программируемых аналоговых интегральных схем — ПАИС (FPAA), лидером в производстве которых является компания Anadigm (компания Anadigm была выделена из состава компании Motorola в 2000 году). Обработка сигнала внутри ПАИС осуществляется схемами на переключаемых конденсаторах. В отличие от цифровых систем, где сигнал дискретен по времени и квантован по уровню, в дискретно-аналоговых системах сигнал дискретен только по времени (рис. 1), в силу этого выходной аналоговый сигнал можно восстановить без искажений по его выборкам [1]. Так, при входном сигнале 1 мВ точность преобразования будет не хуже ±0,1%.

Представление процесса аналоговой и цифровой дискретизации
Рис. 1. Представление процесса аналоговой и цифровой дискретизации

Компания Anadigm производит два типа ПАИС — динамически и статически конфигурируемые. В отличие от статически программируемых схем, где конфигурационные данные загружаются при включении ПАИС и остаются неизменными во время ее работы, динамически конфигурируемая схема позволяет изменять полностью или частично функциональную структуру в реальном времени в работающем устройстве, что дает возможность создавать уникальные схемы аналоговой обработки сигналов.

Архитектура ПАИС

Основу ПАИС составляют четыре конфигурируемых аналоговых блока (КАБ), каждый из которых содержит наборы элементов — 8 программируемых конденсаторов, 2 операционных усилителя, 1 компаратор и 1 регистр последовательного приближения (рис. 2). Используя этот набор элементов, можно создавать конфигурируемые аналоговые модули (КАМ): усилители, выпрямители, интеграторы, дифференциаторы, сумматоры, перемножители и т. п. Необходимо отметить, что на базе одного КАБ можно создать несколько КАМ.

Структура КАБ
Рис. 2. Структура КАБ

Программируемые конденсаторы, применяемые в КАБ, могут принимать относительное значение емкости от 0 до 255 единиц. В отличие от традиционных аналоговых схем, в схемах на переключаемых конденсаторах не важны абсолютные значения емкости, а только соотношение между ними, которое выдерживается с точностью не хуже 0,1%. При этом параметры таких схем практически не будут зависеть от времени работы (старение) или изменения температуры окружающей среды, так как отношение емкостей останется неизменным. Каждый КАБ содержит статические и динамические ключи. Динамические ключи управляются входными и тактовыми сигналами, а также логикой регистра последовательного приближения. Статические ключи определяют общие схемы коммутации блоков, значения емкости конденсаторов, подключение входов. Замена резисторов конденсаторами позволяет повысить точность и уменьшить количество подключаемых к микросхеме внешних элементов. В качестве примера можно привести замещение схемы инвертирующего усилителя схемой на переключаемых конденсаторах (рис. 3).

Инвертирующий усилитель на переключаемых конденсаторах
Рис. 3. Инвертирующий усилитель на переключаемых конденсаторах

Конфигурируемые аналоговые модули

Библиотеки конфигурируемых аналоговых модулей распространяются в составе программы AnadigmDesigner2 бесплатно. Программа имеет интуитивно понятный интерфейс (рис. 4).

Окно интерфейса программы AnadigmDesigner2 для проектирования схем на базе ПАИС
Рис. 4. Окно интерфейса программы AnadigmDesigner2 для проектирования схем на базе ПАИС

Таблицу конфигурируемых аналоговых модулей (CAM Browser) можно вызвать в AnadigmDesigner2 с помощью горячей клавиши «M». Более подробно о работе интерфейса AnadigmDesigner2 можно прочитать в статьях, опубликованных ранее [2].

Аналогово-цифровой преобразователь (ADC-SAR)

КАМ создает 8-разрядный аналогово-цифровой преобразователь (АЦП) последовательного приближения со встроенным источником опорного напряжения. Используется две тактовые частоты: CLOCKA (частота выборки) и CLOCKB (частота последовательного приближения). Входное дифференциальное напряжение в диапазоне от –3 до +3 В АЦП преобразовывается в 8-разрядный последовательный код. По желанию одна из ячеек входа/выхода может быть настроена на передачу тактовых сигналов (CLOCKA и CLOCKB) (рис. 5).

Осциллограмма и условное обозначение аналогово/цифрового преобразователя
Рис. 5. Осциллограмма и условное обозначение аналогово/цифрового преобразователя

Компаратор (Comparator)

КАМ создает компаратор с различными программируемыми параметрами и гистерезисом (Hysterysis) 0 или 10 мВ. Доступны три различных конфигурации: нуль-индикатор (Signal Ground) (рис. 6а), с двумя входами (Dual Input) (рис. 6б) и с управляемым источником опорного напряжения (Variable Reference) (рис. 6в).

Условное обозначение компаратора
Рис. 6. Условное обозначение компаратора

Дифференциатор (Differentiator)

Выходное напряжение на выходе КАМ (рис. 7) будет пропорционально скорости изменения входного напряжения в течение одной фазы тактового импульса CLOCKА (Phase):

где Uвх — входное напряжение; Uвых — входное напряжение; К — постоянная времени дифференциатора; Δt — половина периода тактовой частоты CLOCKА.

Осциллограмма и условное обозначение дифференциатора
Рис. 7. Осциллограмма и условное обозначение дифференциатора

Делитель (Divider)

КАМ извлекает частное двух входных сигналов. Напряжение на входе X (левый вход) делится на напряжение на входе Y (нижний вход) (рис. 8, 9). Для работы КАМ используется АЦП, поэтому напряжение на входе Y квантовано в диапазоне от –3 до +3 В с шагом ~0,0235 В. Коэффициент нормирования D (Divisor Factor) может быть выбран из диапазона от 0,33 до 4,0:

Условное обозначение делителя
Рис. 8. Условное обозначение делителя
Пример реализации функции ctg(x), входные синусоидальные сигналы сдвинуты по фазе на 90° относительно друг друга с помощью фазового фильтра
Рис. 9. Пример реализации функции ctg(x), входные синусоидальные сигналы сдвинуты по фазе на 90° относительно друг друга с помощью фазового фильтра

Билинейный фильтр (FilterBilinear)

На базе этого КАМ можно создать (рис. 10): билинейный фильтр (6 дБ/окт) низких (Low Pass) и высоких (High Pass) частот, фазовый (All Pass) и полюсной (Pole and Zero) фильтр. Частота среза (Corner Frequency) может быть установлена пользователем в широком диапазоне значений. Пользователю доступно поле с коэффициентом передачи фильтра (Gain) (рис. 11).

Условное обозначение билинейного фильтра
Рис. 10. Условное обозначение билинейного фильтра: а) низких частот; б) высоких частот; в) фазового фильтра; г) полюсного фильтра
Окно настройки билинейного фильтра
Рис. 11. Окно настройки билинейного фильтра

Биквадратичный фильтр (FilterBiquad)

На базе этого КАМ можно создать: биквадратичный фильтр (12 дБ/окт) низких частот (Low Pass), высоких частот (High Pass), полосовой (Band Pass), режекторный (Band Stop) и полюсной фильтр (Pole and Zero) (рис. 12). Настройки аналогичны настройкам билинейных фильтров, за исключением дополнительного поля Quality, которое влияет на АЧХ фильтра.

Условное обозначение биквадратичных фильтров
Рис. 12. Условное обозначение биквадратичных фильтров: а) низких частот; б) высоких частот; в) полосовой фильтр; г) режекторный фильтр; д) полюсной фильтр

Билинейный фильтр низкой частоты с внешними конденсаторами (FilterLowFreqBilinear)

На базе этого КАМ можно создавать фильтры низких частот с экстремально низкой частотой среза с помощью внешних конденсаторов. Так как обработка сигнала внутри ПАИС полностью дифференциальная, то для построения фильтра используется пара идентичных конденсаторов. Входной порт должен быть сконфигурирован для работы в режиме Bypass. Подключение конденсаторов к ПАИС следующее: один конденсатор подключается между позитивным входом и негативным выходом, а второй между негативным входом и позитивным выходом (рис. 13).

Условное обозначение и схема включения билинейного фильтра низкой частоты с внешними конденсаторами
Рис. 13. Условное обозначение и схема включения билинейного фильтра низкой частоты с внешними конденсаторами

Необходимо отметить, что AnadigmDesigner2 не имеет инструмента для моделирования внешних компонентов, подключаемых к ПАИС, в частности конденсаторов, поэтому для того чтобы симулятор не выдавал ошибки во время моделирования работы микросхемы, необходимо подключить генератор сигналов к верхнему входу фильтра (рис. 14). Настройки этого сигнального генератора могут быть любыми, они не повлияют на форму сигнала и работу фильтра (рис. 15).

Схема включения для корректной симуляции работы фильтра и осциллограмма
Рис. 14. Схема включения для корректной симуляции работы фильтра и осциллограмма работы fвх = 1 Гц, CLOCKA = 250 кГц, Gain = 1, Coner Frequency = 1 Гц, External Cap Value = 29,4 нФ
Окно настройки билинейного фильтра низкой частоты с внешними конденсаторами
Рис. 15. Окно настройки билинейного фильтра низкой частоты с внешними конденсаторами

Однофазный усилитель (GainHalf)

Этот КАМ усиливает входной сигнал в течение одной фазы (Ф2) тактового импульса (Input Sampling Phase), в течение второй фазы (Ф1) тактового импульса напряжение на выходе усилителя будет равно напряжению внутренней земли ПАИС (рис. 16).

Осциллограмма и условное обозначение однофазного усилителя
Рис. 16. Осциллограмма и условное обозначение однофазного усилителя

КАМ может работать в качестве инвертирующего усилителя (Inverting). Коэффициент усиления (G) задается в поле Gain:

Усилитель с защелкой (GainHold)

КАМ создает инвертирующий усилитель с программируемым коэффициентом усиления. Входной сигнал усиливается в течение одной фазы и остается «замороженным» в течение второй фазы тактового импульса (рис. 17). Как видно из рисунка, осциллограмма становится более «зубчатой», так как сигнал на выходе КАМ остается одинаковой амплитуды в течение двух фаз тактового сигнала. Фактически частота дискретизации уменьшается в два раза. Достоинством КАМ является меньший расход ресурсов ПАИС.

Осциллограмма и условное обозначение усилителя с защелкой
Рис. 17. Осциллограмма и условное обозначение усилителя с защелкой

Инвертирующий усилитель (GainInv)

КАМ создает инвертирующий усилитель (рис. 18) с программируемым коэффициентом усиления. Коэффициент усиления (Gain) может быть установлен из диапазона значений от 0,01 до 100.

Условное обозначение инвертирующего усилителя
Рис. 18. Условное обозначение инвертирующего усилителя

Усилитель-ограничитель (GainLimiter)

КАМ создает усилитель с программируемым коэффициентом усиления и программируемым напряжением ограничения (рис. 19). Напряжение ограничения (Output Voltage Limit) можно выбрать из диапазона напряжений от 0,05 до 4,0 В. Выходное напряжение Uвых можно рассчитать по формуле:

где UOL — напряжение ограничения.

Осциллограмма и условное обозначение усилителя/ограничителя
Рис. 19. Осциллограмма и условное обозначение усилителя/ограничителя (Uвх = 2 В, G = 2, UOL = 3 В)

Усилитель или фильтр с контролем полярности (GainPolarity)

КАМ создает однофазный усилитель (Half Cycle) (рис. 20а) или билинейный фильтр низких частот (Low Pass Bilinear Filter) (рис. 20б) с контролем полярности и программируемым коэффициентом передачи. Полярность усилителя или фильтра управляется компаратором, который является частью этого КАМ.

Условные обозначения: а) усилителя и б) фильтра с контролем полярности
Рис. 20. Условные обозначения: а) усилителя и б) фильтра с контролем полярности

Усилитель или фильтр с управляемым 2-канальным мультиплексором (GainSwitch)

В отличие от усилителя (фильтра) с контролем полярности (рис. 21) компаратор управляет двухканальным мультиплексором с программируемым усилением для каждого из каналов (Gain1 и Gain2).

Условное обозначение управляемого мультиплексора
Рис. 21. Условное обозначение управляемого мультиплексора: а) с усилителем; б) с фильтром

Усилитель с управляемым коэффициентом усиления (GainVoltageControlled)

Управление усилителем осуществляется напряжением, подаваемого на второй вход (рис. 22). Количество шагов (Count Value) в сетке усиления может быть C = 255, при этом максимальный коэффициент усиления рассчитывается по формуле Gмакс = 255/C и Gмакс = (255/C)² при каскадном соединении (Cascaded) (рис. 22б). Коэффициент усиления не может превышать 100. Таблица соответствия коэффициента усиления определенному напряжению загружается из внешнего файла с помощью кнопки “Lookup Table”. Файл должен иметь расширение CSV, содержать 255 строк, в каждую из которых заносится коэффициент усиления, соответствующий определенному диапазону управляющих напряжений. Файл можно создать, используя приложение MS Excel.

Условное обозначение усилителя с управляемым коэффициентом усиления
Рис. 22. Условное обозначение усилителя с управляемым коэффициентом усиления

Модуль выборки/хранения («защелка») (Hold)

Напряжение на входе запоминается на одной фазе тактового сигнала (Input Sampling Phase) и хранится на выходе в течение следующей фазы.

Осциллограмма и условное обозначение модуля выборки/хранения
Рис. 23. Осциллограмма и условное обозначение модуля выборки-хранения

Управляемый модуль выборки/хранения или слежения (HoldVoltageControlled)

Доступны два режима работы модуля (Mode): выборка/хранение (Sample/Hold) (рис. 24) и выборка/слежение (Pause/Run) (рис. 25). Управление осуществляется с помощью входящего в состав КАМ компаратора по высокому (Control High) или низком уровню (Control Low). С помощью этих модулей мы можем зафиксировать значение сигнала на время, необходимое для проведения изменения или расчета следующими за КАМ цепями схемы.

Осциллограмма и условное обозначение модуля выборки-хранения
Рис. 24. Осциллограмма и условное обозначение модуля выборки-хранения
Осциллограмма и условное обозначение модуля выборки-слежения
Рис. 25. Осциллограмма и условное обозначение модуля выборки-слежения

Интегратор (Integrator)

Напряжение на выходе КАМ пропорционально интегралу по времени от входного напряжения (рис. 26):

Осциллограмма и условное обозначение интегратора
Рис. 26. Осциллограмма и условное обозначение интегратора

где Uвх — входное напряжение; Uвых — входное напряжение; К — постоянная времени интегрирования (Integration Constant); Δt — половина периода тактовой частоты CLOCKA.

Выходное значение может быть сброшено с помощью сигнала, поступающего на интегратор от встроенного компаратора (Compare Control).

Перемножитель (Multiplier)

Напряжение на выходе КАМ пропорционально произведению двух входных сигналов (рис. 27). Пользователь может задать коэффициент нормирования M (Multiplication Factor) от 0,33 до 4. Как и в случае делителя, при работе КАМ используется АЦП.

Осциллограмма работы перемножителя
Рис. 27. Осциллограмма работы перемножителя

Перемножитель с фильтром низкой частоты (MultiplierFilterLowFreq)

На выходе перемножителя включен фильтр низкой частоты с внешними конденсаторами (рис. 28). Для построения низкочастотного фильтра используется пара идентичных внешних конденсаторов. Порядок подключения конденсаторов такой же, как и в билинейном фильтре низкой частоты с внешними конденсаторами.

Условное обозначение перемножителя и схема подключения внешних конденсаторов
Рис. 28. Условное обозначение перемножителя и схема подключения внешних конденсаторов

Генератор (OscillatorSine)

С помощью этого КАМ можно создать генератор (рис. 29) синусоидальных колебаний с программируемой частотой (Oscillation Frequency) и амплитудой от 0,3 до 3 В (Peak Amplitude).

Условное обозначение генератора
Рис. 29. Условное обозначение генератора

Пиковый детектор (PeakDetect)

Этот КАМ создает пиковый детектор, частота CLOCKB влияет на диапазон выбора константы спада (Decay Time Constant) пикового детектора. Возможно детектирование как положительных, так и отрицательных пиков сигнала (рис. 30).

Осциллограмма и условное обозначение пикового детектора
Рис. 30. Осциллограмма и условное обозначение пикового детектора

Синтезатор периодического сигнала (PeriodicWave)

КАМ синтезирует периодический сигнал с максимальной длиной формы (Counter Reset Value) 255 шагов для одноканальной конфигурации синтезатора и 127 шагов для двухканальной (Dual Waveform). Значения формы сигнала загружаются через меню настройки модуля (Lookup Table) с помощью внешнего файла формата CSV. С помощью внешнего сигнала возможен ручной перезапуск синтезатора (Reset->On).

Условное обозначение синтезатора периодического сигнала
Рис. 31. Условное обозначение синтезатора периодического сигнала

Полупериодный выпрямитель (RectifierHalf)

КАМ производит однополупериодное положительное (Positive Half Wave), отрицательное (Negative Half Wave) или двухполупериодное (Full Wave) выпрямление сигнала (рис. 32).

Осциллограмма и условное обозначение двухполупериодного выпрямителя
Рис. 32. Осциллограмма и условное обозначение двухполупериодного выпрямителя.

Выпрямитель с ФНЧ (RectifierFilter)

Этот КАМ отличается от полупериодного выпрямителя наличием на выходе программируемого фильтра низкой частоты (рис. 33).

Условное обозначение выпрямителя c ФНЧ
Рис. 33. Условное обозначение выпрямителя c ФНЧ

Инвертирующий выпрямитель (RectifierHold)

КАМ пропускает положительный (Positive Half Wave) или отрицательный (Negative Half Wave) сигнал с инвертированием полярности (рис. 34). Коэффициент усиления (Gain) можно выбрать из диапазона 0,01–100.

Осциллограмма и условное обозначение
Рис. 34. Осциллограмма и условное обозначение

Модуль извлечения квадратного корня (Square Root)

Значение уровня на выходе КАМ равно квадратному корню по модулю от входного сигнала с сохранением полярности входного сигнала (рис. 35):

Осциллограмма и условное обозначение модуля извлечение квадратного корня
Рис. 35. Осциллограмма и условное обозначение модуля извлечение квадратного корня

Сумматор с биквадратичным фильтром (Sum/Difference Stage with Biquadratic Filter)

КАМ представляет собой двухканальный сумматор с раздельными биквадратичными фильтрами для каждого канала. Для первого канала можно выбрать один из типов фильтра: высокой (рис. 36а), низкой частоты (рис. 36б) или полосовой фильтр (рис. 36в). Кроме этого пользователь может менять полярность второго фильтра (Input 2 Polarity), коэффициент пропускания первого (Gain1) и второго канала (Gain2) и добротность (Quality Factor). Особенностью этого КАМ является одинаковая для обоих каналов добротность (Quality Factor) и частота среза или пропускания (Corner Frequency).

Условное обозначение сумматора с биквадратичными фильтрами
Рис. 36. Условное обозначение сумматора с биквадратичными фильтрами

Интегрирующий сумматор (SumIntegrator)

КАМ производит суммирование по двум или трем каналам (Input 3 On) с последующим интегрированием (рис. 37). Причем для каждого канала можно задать коэффициент интегрирования и действие — сложение или вычитание (Non-inverting/Inverting).

Условное обозначение интегрирующего сумматора
Рис. 37. Условное обозначение интегрирующего сумматора

Возможен сброс значения интегрирования по внешнему сигналу с помощью встроенного компаратора по высокому (Control Hight) или низкому уровню (Control Low).

Сумматор с инверсным выходом (Inverting Sum Stage)

КАМ суммирует входной сигнал по двум или трем (Input3) каналам и производит инвертирование суммы (рис. 38). Независимо по каждому входу можно установить весовой коэффициент суммирования (Gain) в диапазоне от 0,01 до 100.

Условное обозначение сумматора с инверсным выходом
Рис. 38. Условное обозначение сумматора с инверсным выходом

Трансимпедансный усилитель (Transimpedance)

Этот КАМ преобразует входной ток в напряжение. КАМ подключается к входной ячейке, сконфигурированной с режиме “Input” -> “Bypass” (рис. 39).

Условное обозначение и схема подключения трансимпедансного усилителя
Рис. 39. Условное обозначение и схема подключения трансимпедансного усилителя

Источник опорного напряжения (Voltage)

КАМ создает источник опорного напряжения +2 В (рис. 40а) или –2 В (рис. 40б).

Условное обозначение источника опорного напряжения
Рис. 40. Условное обозначение источника опорного напряжения: а) +2 В; б) –2 В

Нуль детектор (ZeroCross)

На выходе КАМ формируется импульс шириной тактового сигнала в момент перехода суммы значений входных сигналов из отрицательной в положительную область (рис. 41). Настройки КАМ аналогичны настройкам компаратора.

Осциллограмма и условное обозначение нуль детектора
Рис. 41. Осциллограмма и условное обозначение нуль детектора

Ячейки ввода/вывода

Для ввода/вывода сигналов из ПАИС используются специальные ячейки ввода/вывода. ПАИС могут быть сконфигурированы в одно из пяти основных состояний (таблица).

Таблица. Основные состояния ячеек ввода/вывода
Основные состояния ячеек ввода/вывода

Кроме этих основных состояний ячейки могут быть дополнительно настроены на организацию выборки-хранения входных или выходных сигналов (Sample and Hold), вывод тактовых сигналов (Single-ended Digital), внутренней «земли» ПАИС (VMR) и сигналов состояния ПАИС.

Загрузка конфигурации в ПАИС

Наиболее простой способ конфигурирования ПАИС — загрузка данных конфигурации непосредственно из внешнего ПЗУ. ПАИС поддерживает SPI EPROM (рис. 42б) и Serial EPROM (рис. 42а). Конфигурационный интерфейс устройства разработан так, чтобы принимать данные как от последовательных ПЗУ, так и от любого из трех основных типов интерфейсов: синхронного последовательного интерфейса SSI, последовательного периферийного интерфейса SPI или традиционной внешней периферийной процессорной шины данных. Конфигурационные данные для записи в ПЗУ, можно сохранить в файл с помощью меню Configure/Write Configuration data to a File. Данные могут быть сохранены в одном из 10 форматов (HEX, BIN и др.) [2].

Подключение ПАИС к ПЗУ
Рис. 42. Подключение ПАИС к ПЗУ: а) EEPROM FPGA; б) EEPROM SPI

При подаче напряжения питания на микросхему конфигурационная память ПАИС очищается, после чего конфигурационная логика автоматически загружает данные из EPROM. После завершения загрузки данных ПАИС автоматически активирует аналоговую структуру.

При использовании в одном устройстве нескольких ПАИС загрузку конфигурации можно выполнять с помощью одной микросхемы EPROM (рис. 43). В этом случае конфигурационные данные будут последовательно загружены из EPROM во все ПАИС.

Загрузка конфигураций с одной EEPROM в несколько ПАИС
Рис. 43. Загрузка конфигураций с одной EEPROM в несколько ПАИС

В приложениях, требующих динамического переконфигурирования аналоговой структуры в процессе работы, необходимо использовать внешний контроллер, позволяющий выполнять вычисления новых значений схемы, собирать эти значения в блок конфигурационных данных и передавать его в ПАИС. В этом случае новые конфигурационные данные загружаются в специальную область памяти ПАИС — теневое ОЗУ, а затем с приходом очередного такта синхронизации копируется в конфигурационную память, после чего микросхема начинает работать в новой конфигурации без прерывания процесса обработки сигнала.

Литература

  1. Гауси М., Лакер К. Активные фильтры с переключаемыми конденсаторами / Пер. с англ. М.: Радио и связь, 1986.
  2. Полищук А. Система автоматизированного проектирования программируемых аналоговых интегральных схем AnadigmDesigner2. Часть 1. Первый шаг: знакомство с интерфейсом // Компоненты и технологии. 2005. № 6–7.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *