Компоненты и технологии, № 2'2005 Компоненты
Продолжение. Начало в№ 1'2005
Программируемые аналоговые интегральные схемы Anаdigm
Часть 1. Структура и характеристики
Мы продолжаем серию статей, посвященных новому продукту на российском рынке электронных компонентов — программируемым аналоговым интегральным схемам (ПАИС). В данной статье рассмотрено назначение выводов конфигурационной логики ПАИС.
Александр Полищук
Таблица
3. Конфигурационный интерфейс
Конфигурационный интерфейс предназначен для загрузки данных проекта в конфигурационное ОЗУ. Он поддерживает автоматическую загрузку конфи-
Наименование Тип Назначение
DOUTCLK ВЫХОД Буферизированный DCLK. Активируется соответствующим битом конфигурации
ВХОД Тестовый вход
MODE ВХОД 0 — выбор синхронного последовательного интерфейса; 1 — выбор SPI и FPGA EPROM интерфейса
DCLK ВХОД Внешний тактовый сигнал до 40 МГц или кварцевый резонатор 12, 16, 20 или 24 МГц
ACLK/SPIP ВХОД MODE=0 — аналоговый синхросигнал до 40 МГц
ВЫХОД MODE=1 — синхронизация SPI EPROM или Serial EPROM
OUTCLK/SPIMEM ВЫХОД При включении питания — командная строка инициализации SPI EPROM. После включения питания — выход аналого генератора или компаратора.
PORb ВХОД 0 — удержание микросхемы в состоянии сброса; положительный перепад — перезапуск в режиме power on (полный цикл 30 мс)
ERRb ВХОД 0 — сброс (удержание в течение 15 тактов); 1 — не активен
ВЫХОД 0 — наличие ошибки; Z — отсутствие ошибки
ACTIVATE ВХОД 0 — удержание в режиме конфигурации; положительный перепад — завершение конфигурации
ВЫХОД 0 — первичное конфигурирование не завершено; Z — первичное конфигурирование завершено
LCCb ВЫХОД 0 — локальное конфигурирование завершено; 1 — локальное конфигурирование не завершено
CFGFLGb ВХОД Используется при параллельной работе нескольких ПАИС 0 — игнорировать входящие данные; 1 — приготовиться к приему входящих данных (отслеживать адрес)
ВЫХОД 0 — изделие реконфигурируется; Z — изделие не реконфигурируется
DIN ВХОД Последовательный вход данных конфигурации
CS1b ВХОД Перед завершением первичной конфигурации: 0 — разрешить процесс конфигурирования; 1 — удержать процесс конфигурирования
ВХОД После завершения первичной конфигурации: Вход данных, используется как порт для передачи данных при параллельной работе нескольких ПАИС
CS2b ВХОД Выбор кристалла, 0 — активный уровень
EXECUTE ВХОД 0 — не активен; 1 — копирование содержимого теневого ОЗУ в конфигурационное ОЗУ
гурации из внешней SPI или FPGA EPROM, а также из микроконтроллера через стандартный интерфейс SPI или SSI или через типовую микропроцессорную шину данных. Выбор варианта загрузки данных осуществляется выдачей соответствующего сигнала на вывод MODE. ПАИС поддерживает скорость загрузки данных до 40 МГц.
Оба варианта загрузки данных доступны как для статических (AN12xE0x), так и для динамических (AN22xE0x) ПАИС. Динамически перепрограммируемые микросхемы дополнительно имеют возможность смены конфигурации при управлении от внешнего микроконтроллера в режиме реального времени.
После загрузки данные хранятся в конфигурационной SRAM. В динамически перепрограммируемых микросхемах она состоит из теневого и конфигурационного ОЗУ. Данные из внешнего источника загружаются в теневое ОЗУ и затем, с приходом очередного такта синхронизации, копируются в конфигурационное ОЗУ. Этот метод позволяет загружать данные в работающем устройстве и при необходимости изменять аналоговую структуру без перезагрузки системы. Чтение содержимого конфигурационного ОЗУ для контроля корректности данных доступно только для серии AN22xE0x.
ПАИС содержит таблицу коэффициентов передачи (ТКП), которая является частью конфигурационного ОЗУ. Теневое ОЗУ не поддерживает загрузку данных в ТКП, поэтому запись значений в нее должна производиться напрямую.
При включении питания внутренняя схема установки считывает содержимое конфигурационного ОЗУ, формируя соответствующую аналоговую структуру устройства, либо загружает первичную конфигурацию. Последний случай будет рассмотрен ниже.
3.1. Конфигурационные и тактовые выводы
Поскольку ПАИС допускает много различных вариантов конфигурирования, в этом параграфе будет рассмотрено назначение основных выводов управления и синхронизации. Их перечень с кратким описанием приведен в таблице.
Компоненты и технологии, № 2'2005
3.1.1. MODE
Сигнал на этом выводе управляет режимами работы системных генераторов. Логический уровень на входе MODE устанавливает конфигурацию выводов встроенного генератора, как показано на рис. 1 и 2.
В режиме MODE=0 вывод ACLK/SPIP выполняет функцию аналогового входа и может использоваться как основной источник аналоговой синхронизации внутри ПАЙС (рис. 1).
В режиме MODE=l вывод ACLK/SPIP является выходом, на котором присутствует результат от деления частоты DCLK (рис. 2). Он используется как источник сигнала синхронизации последовательного интерфейса SPI EPROM или Serial EPROM.
Независимо от предустановленного состояния на выводе MODE в начале конфигурирования на выводе OUTCLK/SPIMEM присутствует последовательный поток данных, предназначенный для установки SPI EPROM в режим считывания по выводу MOSI (Master Out Slave In). FPGA EPROM не нуждается в такой инициализации. В этом случае вывод OUTCLK/SPIMEM не используется. После завершения конфигурирования вывод OUTCLK/SPIMEM может использоваться как выход компаратора или аналогового генератора.
3.1.2. DOUTCLK
Когда конфигурация загружена в ПАЙС, выход DOUTCLK может использоваться в качестве буферизированного сигнала DCLK. Это может быть полезно при параллельной работе нескольких микросхем, когда у одной из них вход DCLK используется для подключения кварцевого резонатора.
Если вывод DOUTCLK не используется, он должен оставаться в неподключенном состоянии.
3.1.3. DCLK
Положительный перепад на входе DCLK используется для управления конфигурационной логикой. Если при включении питания сигнал на этом входе отсутствует, микросхема не перейдет в активное состояние. Максимальная частота на входе DCLK — 40 МГц.
На вход DCLK можно подавать внешний сигнал с логическими уровнями или подключать кварцевый резонатор, второй конец которого должен быть соединен с выводом DVCC. Встроенный генератор автоматически обнаруживает подключенный резонатор и переходит в режим осциллятора. В этом случае частота может выбираться в диапазоне 12-24 МГц, оптимальным считается значение 16 МГц.
3.1.4. ACLK/SPIP
В режиме MODE=0 вывод ACLK/SPIP выполняет функцию аналогового входа и может использоваться как основной источник аналоговой синхронизации схем на переключаемых конденсаторах внутри ПАЙС.
В режиме MODE=1 вывод ACLK/SPIP используется как источник сигнала синхронизации последовательного интерфейса SPI EPROM или Serial EPROM.
3.1.5. OUTCLK/SPIMEM
В режиме инициализации ПАЙС при включении питания на выводе OUTCLK/SPIMEM присутствует последовательный поток данных
DOUTCLK
Chopper
Clock
Divider
Pre-Scaler
and
Clock
Dividers
(config bit)
DCLK
Crystal
Oscillator
Config.
Logic
Configuration
SRAM
Analog Clocks (3:0)
SPI EPROM Setup Serial Data Stream
Рис. 1
ACLK/SPIP
«Done»
Buffered DCLK Output or
Factory Test Input
External Clock (< 40 MHz) or
Crystal (< 20 MHz)
Optional Analog Clock Input (< 40 MHz)
OUTCLK/SPIMEN
SPI EPROM MOSI-setup stream then after configuration completes Analog Clock Output (sometimes SAR bit clock)
DOUTCLK
Chopper
Clock
Divider
Pre-Scaler
and
Clock
Dividers
(config bit)
DCLK
Crystal
Oscillator
Divide By 16
Configuration Config.
SRAM Logic
ACLK/SPIP
«Done*
Analog Clocks (3:0)
SPI EPROM Setup Serial Data Stream Рис. 2
OUTCLK/SPIMEN
Buffered DCLK Output or
Factory Test Input
External Clock (< 40 MHz) or
Crystal (< 20 MHz)
to SPI EPROM Clock Input or
to FPGA EPROM cLOCK iNPUT
SPI EPROM MOSI-setup stream then after configuration com| Analog Clock Output (sometimes SAR bit clock)
(16-разрядный стартовый адрес), предназначенный для установки SPI EPROM в режим считывания. После завершения конфигурирования этот вывод может быть подключен к любому из четырех встроенных аналоговых генераторов.
3.1.6. PORb (Power On Reset)
Когда на вывод PORb выдается сигнал логического нуля, внутренняя схема перезапускает микросхему в режиме включения питания. При использовании его в качестве управляющего сигнала на вывод PORb должен выдаваться перепад напряжения. Если на нем длительное время присутствует низкий логический уровень, микросхема будет находиться в состоянии сброса. При первом же положительном перепаде произойдет перезапуск ПАИС так, как будто на нее впервые подано напряжение питания.
3.1.7. ERRb (Error)
Этот вывод может использоваться в режиме входа или выхода с открытым стоком. В обоих случаях к нему необходимо подключить подтягивающий резистор на +5 В (типовое значение 10 кОм). Во время инициализации ПАИС при включении питания он используется в режиме выхода и до завершения этого процесса на нем присутствует низкий логический уровень. После завершения конфигурирования вывод освобождается (переходит в третье состояние) и на нем присутствует сигнал высокого логического уровня бла-
годаря наличию подтягивающего резистора. При использовании системы из нескольких параллельно включенных ПАИС все выводы ЕКЛЬ должны быть соединены вместе (рис. 3). Это связано с тем, что различные ПАИС могут иметь разное время инициализации. В этом случае будет осуществляться синхронное конфигурирование всех микросхем, так как наличие на выводе ЕИИЬ низкого уровня после завершения инициализации удерживает ПАИС в состоянии сброса. Система начнет функционировать, когда на выводах ЕИИЬ всех микросхем будет присутствовать высокий логический уровень.
Пользователь может вручную задержать начало конфигурирования, подав на вывод ЕИИЬ низкий логический уровень при включении питания. Начало конфигурирования можно также задержать, подав на вход С82Ь высокий логический уровень при включении питания. При этом ЕИИЬ будет находиться в состоянии логического нуля до тех пор, пока на С82Ь не придет логический ноль.
После завершения конфигурирования на выводе ЕИИЬ всегда присутствует высокий уровень, если в системе не происходит ошибки. Каждый раз при возникновении ошибки ЕИИЬ переходит в состояние низкого логического уровня. Длительность сигнала ошибки может быть установлена программно в одной из двух реализаций: «длинный» импульс (15 периодов тактовой синхронизации) и «ко-------------------------------- 121
Компоненты и технологии, № 2'2005
SPI Port Micro
її
GPIO
MOSI
GPIO
SCLK
MISO
AN220E04
DIN
PORb
CS2b
EXECUTE
CSlb
ACLK DCLK
ACTIVATE
ERRb
CFGFLGb
ID1 =1 ID2=X
LCCb
DOUTCLK
MODE
-OUTCLK
"Г
AN220E04
F
DIN ACTIVATE ERRb
PORb CFGFLGb
CS2b
EXECUTE ID 1=2
CSlb ID2=X LCCb
ACLK DOUTCLK
DCLK modeoutclk
JL
_
AN220E04
Г
DIN ACTIVATE
PORb ERRb CFGFLGb
CS2b EXECUTE
ID 1 =3
CSlb ID2=X
LCCb
ACLK DOUTCLK
dclkmodeoutclk
~JT
Рис. 3
роткий» импульс (1 период тактовой синхронизации). Короткий импульс будет проигнорирован всеми изделиями в системе, а микросхема, сгенерировавшая такой импульс, будет перезагружена. Длинный импульс будет восприниматься всеми ПАИС, что приведет к перезагрузке системы в целом в режиме первичной конфигурации.
Вывод ERRb может использоваться для принудительного перевода ПАИС в режим первичной конфигурации. Для этого после завершения инициализации и конфигурирования ПАИС необходимо подать на этот вход сигнал логического нуля длительностью не менее 15 периодов тактовой частоты. Это приведет к перезагрузке устройства в режиме первичной конфигурации, после чего на выводе ERRb вновь установится высокий уровень.
3.1.8. ACTIVATE
Этот вывод может использоваться в режиме входа или выхода с открытым стоком. К нему может быть подключен встроенный подтягивающий резистор на +5 В. В течение процесса инициализации и конфигурирования ПАИС в режиме первичной конфигурации на выводе ACTIVATE присутствует логический ноль. После завершения конфигурирования вывод освобождается (переходит в третье состояние) и на нем присутствует сигнал высокого логического уровня благодаря наличию подтягивающего резистора. При использовании системы из нескольких параллельно включенных ПАИС все выводы ACTIVATE должны быть соединены вместе, чтобы гарантировать одновременное завершение процесса конфигурирования (рис. 3). Сигнал ACTIVATE также может быть использован для блокировки стандартной FPGA Serial EPROM до завершения процесса конфигурирования.
Внутренний подтягивающий резистор может быть установлен программно заданием значения соответствующего бита в байте управления и будет мгновенно активирован после его загрузки.
3.1.9. LCCb (Local Configuration Complete)
При включении питания на выходе LCCb
присутствует высокий логический уровень, который сохраняется до тех пор, пока не завершится процесс загрузки первичной конфигурации. После завершения конфигурирования
на выходе LCCb устанавливается логический ноль. В системе с несколькими параллельно включенными изделиями этот выход должен быть соединен с входом CS1b следующей микросхемы для организации конфигурационной цепочки, что необходимо для одновременного завершения процесса загрузки первичной конфигурации.
После завершения конфигурирования, через два такта синхросигнала после появления на выходе ACTIVATE высокого уровня, LCCb может использоваться как последовательный выход для считывания данных из конфигурационного ОЗУ.
3.1.10. CFGFLGb (Configuration Flag)
Этот вывод может использоваться в режиме входа или выхода с открытым стоком. К нему может быть подключен встроенный или внешний подтягивающий резистор на +5 В. В момент включения питания на нем устанавливается низкий логический уровень, который сохраняется до тех пор, пока не завершится процесс загрузки первичной конфигурации. После завершения конфигурирования вывод освобождается (переходит в третье состояние) и на нем присутствует сигнал высокого логического уровня благодаря наличию внутреннего или внешнего подтягивающего резистора. Аналогичное состояние флага конфигурации будет при каждом последующем переконфи-гурировании системы.
При использовании системы из нескольких параллельно включенных ПАЙС все выводы CFGFLGb должны быть соединены вместе. В этом случае все микросхемы, для которых не были предназначены данные при переконфигурировании, будут их игнорировать, пока на соответствующих выводах CFGFLGb присутствует высокий логический уровень.
Таким образом, наличие логического нуля на CFGFLGb свидетельствует о течении процесса конфигурирования, в то время как ноль на LCCb показывает на завершение этого процесса (рис. 4).
Сигнал на выводе CFGFLGb может использоваться для инициализации SPI EPROM, которая требует отрицательного перепада на выводе выбора кристалла (Chip Select). Этот перепад появляется на CFGFLGb в процессе инициализации ПАЙС при включении питания, после чего на выходе OUTCLK/SPIMEM появляется поток данных инструкции и адреса, что позволяет инициализировать SPI EPROM синхронно с сигналом флага конфигурации.
Внутренний подтягивающий резистор может быть установлен программно заданием значения соответствующего бита в байте управления и будет мгновенно активирован после его загрузки.
3.1.11. DIN (Data In)
Вывод DIN является последовательным входом загрузки данных в ПАЙС. При включении питания в течение процесса инициализации сигналы на нем игнорируются. К нему подключен внутренний подтягивающий резистор, необходимый при совместной работе с Serial EPROM, выход которой переходит в третье состояние после загрузки.
3.1.12. CSlb (Chip Select 1)
В процессе загрузки первичной конфигурации на входы CSlb, CS2b должны быть выданы сигналы низкого уровня, а сигнал DCLK используется для синхронизации конфигурационной логики. После завершения загрузки сигнал CSlb задерживается еще в течение 8 тактов и затем выдается на вывод LCCb.
Вход CSlb может использоваться как сигнал выбора кристалла (Chip Select) с активным низким логическим уровнем, при этом он должен быть синхронизирован с синхросигналом DCLK.
Serial
EPROM
OE/RESETb
СЕЬ
DATAOUT
CLKIN
AN 1/220Е04
<16 MHz п_п_п_
DIN ACTIVATE
ERRb
PORb CFGFLGb
CS2b
EXECUTE
CSlb
LCCb
ACLK DOUTCLK
DCLK OUTCLK
MODE
^^Configuring
5
Configured
Рис. 4
Компоненты и технологии, № 2'2005
3.1.13. CS2b (Chip Select 2)
Вывод CS2b является входом выбора кристалла (Chip Select) с активным низким логическим уровнем, он должен быть синхронизирован с синхросигналом DCLK. При включении питания и инициализации ПАЙС на вход CS2b должен быть выдан низкий уровень, наличие высокого уровня приведет к задержке процесса конфигурирования.
CS2b соединен с CSlb по схеме ЙЛЙ-НЕ, выход которой используется для запрета или разрешения выдачи сигнала синхронизации на конфигурационную логику. Когда оба сигнала CS имеют низкий уровень, выдача синхросигнала разрешена.
Необходимо отметить, что во время загрузки данных из Serial EPROM на CS2b должен быть выдан низкий уровень, иначе входящие данные не будут синхронизироваться в ПАЙС. После завершения загрузки конфигурации пользователь может выдать на CS2b высокий уровень и перевести ПАЙС в неактивное состояние с пониженным энергопотреблением.
3.2. Сброс и установка (Resets)
Перезагрузка ПАЙС может быть осуществлена следующими способами: напряжением питания, сигналом ошибки по входу ERRb длительностью не менее l5 тактов, импульсом низкого логического уровня на входе PORb, при загрузке первичной конфигурации программно или при возникновении ошибки — логическим нулем на входе ERRb.
После подачи напряжения питания на микросхему автоматически генерируется импульс сброса, который перезагружает конфигурационную память и запускает процесс инициализации ПАЙС.
Схема запуска не начнет работать, пока на нее не придет не менее З тактов синхронизации. Это помогает защитить систему от сбоев при установлении выходного сигнала тактового генератора. После прихода З тактов синхронизации схема запуска начинает инициализацию ПАЙС и после завершения этого процесса загружает конфигурацию. Если в процессе работы возникла ошибка и на входе ERRb присутствует низкий уровень длительностью более l5 тактов, устройство будет перезагружено и конфигурирование произойдет заново.
Если в процессе работы на вход PORb выдать импульс низкого уровня, ПАЙС будет принудительно перезагружена в режиме включения питания, то есть сначала процесс инициализации, затем конфигурирование. Если на входе PORb присутствует ноль длительное время, ПАЙС будет удержана в состоянии сброса.
В следующей публикации цикла будут рассмотрены варианты загрузки конфигурации из внешней памяти и из микроконтроллера. ММ
Продолжение следует.