Программируемые аналоговые интегральные схемы Anadigm. Часть 2. Загрузка конфигурации

№ 3’2005
Мы продолжаем серию статей, посвященных новому продукту на российском рынке электронных компонентов — программируемым аналоговым интегральным схемам (ПАИС). В этой статье рассмотрены вопросы загрузки данных конфигурации в ПАИС.

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

Все статьи цикла:

1. Загрузки данных из внешнего ПЗУ

Наиболее простой способ конфигурирования про
граммируемых аналоговых интегральных схем — за
грузка данных конфигурации непосредственно
из внешнего ПЗУ. ПАИС напрямую совместимы
с 25-й серией SPI EPROM и 17-й серией Serial EPROM
(в том числе FPGA EPROM).

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

1.1. Загрузка данных из SPI EPROM

Типовая схема подключения стандартной SPI
EPROM 25-й серии (Atmel AT25080, Microchip 25AA160
и т. п.) показана на рис. 1, временные диаграммы ра
боты — на рис. 2, 3.

Загрузка данных из SPI EPROM
Рис. 1. Загрузка данных из SPI EPROM
Временная диаграмма инициализации и загрузки данных из SPI EPROM
Рис. 2. Временная диаграмма инициализации и загрузки данных из SPI EPROM
Временная диаграмма завершения процесса загрузки данных из SPI EPROM
Рис. 3. Временная диаграмма завершения процесса загрузки данных из SPI EPROM

После включения питания и завершения процес
са инициализации ПАИС на выводе CFGFLGb появ
ляется логический ноль (активный уровень), кото
рый выдается на вход CS (Chip Select) SPI EPROM.
На выводе OUTCLK/SPIMEM появляется последова
тельный поток данных (16-разрядный стартовый ад
рес, всегда равен 0х0000), предназначенный для ус
тановки SPI EPROM в режим считывания. Через оп
ределенный интервал времени ПАИС переходит
в режим приема данных конфигурации по входу DIN,
которые начинают загружаться в ОЗУ после приема
байта синхронизации. Таким образом устройство
обеспечивает стандартный протокол считывания дан
ных из SPI EPROM.

В первый момент после подачи питания выводы
ACLK, CFGFLGb и OUTCLK/ SPIMEM находятся в неопределенном состоянии, пока не сгенерируется внутренний импульс
сброса и не переведет их в исходное состояние (типовое время — око
ло 30 мс). Время выхода на режим тактового генератора составляет ме
нее 10 мс. Данные, приходящие на вход DIN, записываются в ОЗУ
по заднему фронту синхросигнала ACLK.

После загрузки последнего конфигурационного байта данных
(незначащего байта) флаг конфигурации снимается (вывод CFGFLGb
переходит в третье состояние). Через один период синхросигнала ACLK
выход OUTCLK/SPIMEM будет подключен к одному из четырех вну
тренних аналоговых генераторов или к выходу одного из компарато
ров, в зависимости от его программной конфигурации. Если этот вы
вод программно не используется, он перейдет в состояние низкого ло
гического уровня.

1.2. Загрузка данных из Serial EPROM
Загрузка данных в ПАИС может быть осуществлена из Serial EPROM
17-й серии (Xilinx XC1700E, Atmel AT17xx, Altera ECP1, ECP2 и т. п.),
которая обычно используется в качестве конфигурационной памяти
ПЛИС. В отличие от SPI EPROM, этот тип памяти не требует передачи
стартового адреса, поэтому вывод OUTCLK/SPIMEM к ней не подклю
чается. Типовая схема подключения Serial EPROM показана на рис. 4,
временные диаграммы работы — на рис. 5, 6.

Загрузка данных из Serial EPROM
Рис. 4. Загрузка данных из Serial EPROM
Временная диаграмма инициализации и загрузки данных из Serial EPROM
Рис. 5. Временная диаграмма инициализации и загрузки данных из Serial EPROM
Временная диаграмма завершения процесса загрузки данных из Serial EPROM
Рис. 6. Временная диаграмма завершения процесса загрузки данных из Serial EPROM

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

Основное отличие при использовании FPGA EPROM от SPI EPROM
заключается в том, что формируемый ПАИС 16-разрядный старто
вый адрес в первом случае не используется, а данные из внешней па
мяти в ПАИС начинают поступать раньше, чем она готова их при
нять. Поэтому конфигурационные данные должны иметь префикс из
четырех незначащих байтов перед байтом синхронизации и значащей
информацией. САПР AnadigmDesigner2 автоматически добавляет тре
буемый префикс к данным конфигурации. Как было указано выше,
процесс конфигурирования завершается через несколько тактов син
хронизации после загрузки последнего (незначащего) байта, который
также добавляется к конфигурационным данным автоматически при
верификации проекта.

1.3. Загрузка данных из Serial EPROM при параллельной работе
нескольких ПАИС

Загрузка конфигурации в систему из нескольких ПАИС может осу
ществляться из общей внешней памяти (FPGA или SPI EPROM).
На рис. 7 показано типовое включение для цепочки из двух микросхем.

Загрузка данных из общей Serial EPROM при параллельной работе двух ПАИС
Рис. 7. Загрузка данных из общей Serial EPROM при параллельной работе двух ПАИС

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

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

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

На рис. 8 показана временная диаграмма процесса конфигурирова
ния цепочки из двух ПАИС. Как видно из рисунка, общий сигнал с объединенных по схеме монтажное-И выводов
ACTIVATE примет значение логической еди
ницы только после того, как вторая микросхе
ма завершит процесс конфигурирования.

Временная диаграмма процесса конфигурирования цепочки из двух ПАИС
Рис. 8. Временная диаграмма процесса конфигурирования цепочки из двух ПАИС

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

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

Второй вариант синхронизации ПАИС в це
пи показан на рис. 9.

Использование общего конфигурационного синхросигнала в цепочке из двух ПАИС
Рис. 9. Использование общего конфигурационного синхросигнала в цепочке из двух ПАИС

Последовательное соединение выводов
ACLK и DCLK позволяет конфигурировать обе
микросхемы, используя один и тот же конфи
гурационный синхросигнал (входной синхро
сигнал, деленный на 16), что позволяет обеим
ПАИС использовать более высокую частоту
синхронизации. В этом случае бит синхрони
зации в конфигурационных данных должен
иметь уровень логической единицы для вто
рой ПАИС и логического нуля для первой.
Дополнительные микросхемы должны под
ключаться аналогично второй ПАИС и бит
синхронизации для них также должен иметь
уровень логической единицы. Если в системе
необходима высокая частота синхронизации
и используется встроенный кварцевый гене
ратор с внешним резонатором, то необходи
мо использовать подключение, показанное
на рис. 10. Ведомые ПАИС должны быть скон
фигурированы для использования ACLK в ка
честве входа аналоговой синхронизации. Пер
вая ПАИС должна быть сконфигурирована
для использования выхода DOUTCLK в каче
стве буферизированной версии DCLK [1].

Использование внутреннего кварцевого  генератора в цепочке из двух ПАИС
Рис. 10. Использование внутреннего кварцевого генератора в цепочке из двух ПАИС

2. Загрузка данных
из микроконтроллеров
и микропроцессоров

В приложениях, требующих динамического
переконфигурирования аналоговой структу
ры, необходимо использовать внешний кон
троллер, позволяющий выполнять вычисле
ния новых значений схемы, собирать эти зна
чения в блок конфигурационных данных
и передавать его в FPAA. Гибкий конфигура
ционный интерфейс устройства разработан
так, чтобы принимать данные как от последо
вательных ПЗУ, так и от любого из трех основ
ных типов интерфейсов микроконтроллеров
и микропроцессоров: синхронного последова
тельного интерфейса (SSI), последовательного периферийного интерфейса (SPI) или тради
ционной внешней периферийной процессор
ной шины данных.

2.1. Загрузка данных через интерфейсы
SPI и SSI

С точки зрения загрузки данных в ПАИС
интерфейсы SPI и SSI эквивалентны. Они со
держат сигнал, индицирующий поступление
данных, непосредственно сами данные и дан
ные синхронизации. Единственное отличие
SSI от SPI состоит в названии различных хос
тов, определяющих эти сигналы, а также час
тотах, на которых хост может получить доступ
к ним. Функционально подключение обоих
интерфейсов идентично (рис. 11, 12).

Загрузка данных через интерфейс SPI
Рис. 11. Загрузка данных через интерфейс SPI
Загрузка данных через интерфейс SSI
Рис. 12. Загрузка данных через интерфейс SSI

Микроконтроллеры с SPI-портами чуть бо
лее распространены, чем с SSIпортами. Сла
бой стороной SPI-портов является то, что они
значительно медленнее, чем SSI, и редко под
держивают возможность прямого доступа
к памяти (DMA). С другой стороны, SSI-пор
ты часто работают на скорости шины микро
контроллера, или близкой к ней, и иногда под
держивают DMA-каналы.

В обоих случаях ПАИС выдает сигнал
ACTIVATE на универсальный вывод GPIO
микроконтроллера для индикации успешного
завершения конфигурирования. На рис. 12
показан способ соединения GPIO микрокон
троллера с входом EXECUTE ПАИС [1].

2.2. Загрузка данных с микропроцессор
ной шины

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

Загрузка данных с микропроцессорной шины
Рис. 13. Загрузка данных с микропроцессорной шины

Единственное отличие соединения с микро
процессорной шиной от SSI и SPI в том, что
сигнал DCLK имеет вид строба, а не непрерыв
ного синхросигнала.

Есть несколько вариантов управления ПАИС
по входу CS2b. Как показано на рис. 13, для де
шифрования адреса используется дополни
тельное устройство, выполняемое обычно
на программируемой логике. Другой вариант—
использование одиночной адресной строки.
Несмотря на то что это, возможно, и не самый
эффективный способ использования адресно
го пространства внешней памяти процессора,
этого может быть достаточно для конкретной
разработки. Во многих микропроцессорах пре
дусмотрен выход сигнала выбора кристалла
(chip select), который также можно использо
вать для управления ПАИС по входу CS2b.

Как и в случае интерфейсов SPI и SSI, мож
но использовать сигналы ACTIVATE или ERRb
для получения подтверждения о передаче кон
фигурационных данных.

2.3. Дополнительные возможности
при использовании сигнала ACTIVATE

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

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

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

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

В большинстве приложений вывод LCCb
используется для индикации завершения про
цесса конфигурирования. Для более продви
нутых приложений может оказаться полез
ным обратное чтение данных конфигурации.
После загрузки первичной конфигурации
LCCb может выполнять функцию последова
тельного выхода данных.

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

В следующем номере журнала также будет
рассмотрена структура конфигурационного
протокола.

Продолжение следует

Литература

  • Полищук А. Программируемые аналоговые интегральные схемы Anadigm. Часть 1. Структура и характеристики // Компоненты и технологии. 2005. № 2.

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

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