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

Программируемые аналоговые интегральные схемы Anadigm. Часть 2. Загрузка конфигурации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
441
83
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Полищук Александр

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

Компоненты и технологии, № 3'2005

Продолжение. Начало в№ 1, 2 '2005

Программируемые аналоговые интегральные схемы Anаdigm

Часть 2. Загрузка конфигурации

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

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

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

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

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

В первый момент после подачи питания выводы ACLK, CFGFLGb и OUTCLK/ SPIMEM находятся в не-

Александр Полищук

a.polishuk@prosoft.ru

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

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

После подачи напряжения питания на микросхему автоматически генерируется внутренний импульс

SPI ЕР ROM

AN 1/221Е04

MISO

SCLK

MOSI

CSb

<ібМГц П_П_П_

или

Рис.1. Загрузка данных из SPI EPROM

DIN ACTIVATE ERRb

PORb CFGFLGb

CS2b

EXECUTE

CSlb LCCb

ACLK DOUTCLK

DCLK modeoutclk

чг

і

й

Internal PORb

ACLK

CFGFLGb

OUTCLK

Power is first applied r- Internal Power-On Reset Asserts

r Oscillator starts within 10 mS of inernal PORb assertion r- Internal Power-On Reset Deasserts at 18 mS (typical)

гшлдлллліиу

LTUUUUUUUl

LnnJUinnnnnnnJUUUUl

Lnnnnnniinnnnnjuuir

DIN

- real instruction, OxCO —► (LSB first)

■ 16 bit starting

i, alweys 0x0000 _

----SPI EPROM Dout begins in high-Z state -

Рис. 2. Временная диаграмма инициализации и загрузки данных из SPI EPROM

-CXXXXXXXXXXXXXXXI

И--dammy_byte0-►И- dammybytel-►)

\+-Configuration data streams in here...-►

Компоненты и технологии, № 3'2005

aclk ишшшялляяшшл^

/— JZ

CFGFLGb

OUTCLK One of four internol gnolog clock goes to OUTCLK-»

«ЗСПШШШШ—

\*-- byte_N-l --►H--- dummy_byte -H

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

из SPIEPROM

определенном состоянии, пока не сгенерируется внутренний импульс сброса и не переведет их в исходное состояние (типовое время — около 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.

Аналогично предыдущему случаю, после генерации внутреннего импульса сброса на выводе ACTIVATE присутствует логический ноль,

Serial

EPROM

55

OE/RESETb

СЕЬ

DATAOLJT

CLKIN

AN1/221E04

<16МГцП_П_П_

или

DIN ACTIVATE

ERRb

PORb CFGFLGb

CS2b

EXECUTE

CSlb

LCCb

ACLK DOUTCLK

DCLK MODEOUTCLK

чг

5

-^Configuring

g

5

““Configuring

Рис. 4. Загрузка данных из Serial EPROM

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

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

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

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

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

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

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

aclk

ACTIVATE

LCCb

din ХХХХХХХХХХХХХ>highz —

\<-------- byteN-1-------

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

-+Н-

— byteN -(dummy byte

r Power is first applied

Internal Power-On Reset Assert

r Oscillator starts within 10 mS of inernal PORb assertion

Internal Powei^On Reset Deasserts at 18 mS (typical)

Internal PORb

ERRb

ACTIVATE

гіііллшишіїшішішіллліїліїшііілшиїлії

SYNC byte prior to this point will not be recognized.

mjuuinnjijijijijijuinmijw

ACTIVATE goes low at Power-On Reset supplying an asserted low chip enable (CEb) to the Serial EPROM.

ACTIVATE remains low until confguration completes.

D,N eprom Dout is High-z —CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3

\< dummy_byteO —— dummy_bytel —►}< dummy_byte2 — dummy_byte3 —►+<- SYNC_byte -

Рис. 5. Временная диаграмма инициализации и загрузки данных из Serial EPROM

Компоненты и технологии, № 3'2005

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

Serial EPROM

AN 1/221 Е04

<16 МГц

DIN ACTIVATE ERRb

PORb CFGFLGb

CS2B

EXECUTE

CSlb LCCb

ACLK DOUTCLK

DCLK OUTCLK MODE

чг

ANl/221 Е04

DIN ACTIVATE ERRb

PORb CFGFLGb

CS2B

EXECUTE

CSlb LCCb

ACLK DOUTCLK

DCLK OUTCLK MODE

SZ>

Chain

Configured

ACTIVATE

(write-AND)

LCCb

(devicel)

LCCb

(device2)

1

Doaaaaaoaoooo- ^z-

H device2_byteN-1— device2_byteN —И

(dummy postfix)

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

din xxDaaaoaoaoooooaa

— devicel _byteN— device2_byte0 —Н

(dummy postfix) (dummy postfix)

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

й

AN1/221E04

<16 МГц П_П_П_

DIN ACTIVATE ERRb

PORb CFGFLGb

CS2B

EXECUTE

CSlb LCCb

ACLK DOUTCLK

DCLK OUTCLK MODE

AN 1/221Е04

Г

DIN ACTIVATE ERRb

PORb CFGFLGb

CS2B

EXECUTE

CSlb LCCb

ACLK DOUTCLK

DCLK OUTCLK MODE

Configured

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

Serial

EPROM

OE/RESETb

CEb

DATAOUT

CLKIN

ANl/221 E04

<16 МГц

DIN ACTIVATE

ERRb

PORb CFGFLGb

CS2B

EXECUTE

CSlb

LCCb

ACLK DOUTCLK

DCLK . . OUTCLK

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

MODE

чг

AN1/221E04

DIN ACTIVATE ERRb

PORb CFGFLGb

CS2B

EXECUTE

CSlb LCCb

ACLK DOUTCLK

nrl „ OUTCLK DLLK MODE

Chain

Configured

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

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

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

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

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

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

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

Компоненты и технологии, № 3'2005

External Bus Micro

<40 МГц П_П_П_-

GPIO

DATA(O)

GPIO

Addr

Addr

Addr

Addr

Addr

Addr

CLK

WRb

Й

ANl/221 E04

ТЭ U T) CD

< Q

<40 МГц

DIN ACTIVATE

ERRb

PORb CFGFLGb

CS2b

EXECUTE

CSlb

LCCb

ACLK DOUTCLK

DCLK MODE OUTCLK

Configured

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

периферийного интерфейса (SPI) или традиционной внешней периферийной процессорной шины данных.

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

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

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

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

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

Хотя конфигурационный интерфейс является синхронным, особых требований к непре-

рывности конфигурационного синхросигнала нет. Поэтому возможно синхронизировать конфигурационный интерфейс с помощью стробирующего сигнала микропроцессора — типичного для большинства микропроцессорных шин данных. Типовая схема подключения ПАИС к шине МП показана на рис. 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 тактов синхросигнала. Пример включения ПАИС с реализацией функции считывания конфигурации будет показан в следующей статье.

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

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

Литература

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

i Надоели баннеры? Вы всегда можете отключить рекламу.