Применение перепрограммируемых конфигурационных приборов ат17(а) фирмы Atmel для ПЛИС FPGA фирм Altera и Xilinx

Компоненты и технологии, № 5'2002

Применение перепрограммируемых конфигурационных приборов АТ17

фирмы Atmel для FPGA фирм Altera и Xilinx

Леонид Вихарев

vleo@atel.ru

Введение

Известны три основных типа электронных приборов, три кита, на которых сегодня держится практически вся электроника: микроконтроллеры популярной 8-разрядной серии MCS51, применяемые для управления не слишком быстрыми устройствами или для обработки сигналов по сравнительно простым алгоритмам, DSP-процессоры, используемые при сложных и скоростных вычислениях, и приборы программируемой логики PLD, вобравшие в себя всю промежуточную и сопрягающую логику. В последнее время в связи с выходом устройств FPGA высокой плотности, являющимся развитием кристаллов программируемой логики, стало возможным построение сложнейших устройств, получивших название система на кристалле, которые могут содержать внутри себя ядро мощного микропроцессора и типовые устройства связи с внешним миром (UART, параллельные порты ввода-вывода, таймеры, счетчики, ШИМ), память для хранения программ и данных и гибко трансформируемую логику PLD. На этих устройствах можно создавать практически любые цифровые схемы, любого уровня сложности, что в сочетании со сравнительно невысокой ценой делает их сегодня незаменимыми и весьма популярными. Неудивительно поэтому, что существует группа конкурирующих компаний — производителей FPGA, выпускающих схожие по параметрам микросхемы, — Altera, Xilinx, Lucent, Atmel и другие. Cфера применения таких цифровых устройств неограниченно широка, однако разработка их — крайне сложный процесс.

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

трудно предусмотреть все возможные варианты взаимодействия разрабатываемого прибора с окружающим миром и тогда приходится пересматривать содержимое FPGA, перепрограммировать память.

Сколько раз делаются изменения кода, прежде чем проект становится товаром, продукцией? Однажды? Дважды? Сотню раз? Некоторые разработчики по незнанию или по привычке все еще используют OTP EPROM

Оказывается, возможны и другие решения: новая серия перепрограммируемых конфигураторов AT17^) фирмы Atmel позволяет, используя ISP (in system programming — внутрисистемное программирование) программировать устройство много раз, даже без удаления конфигуратора из платы.

Конфигураторы серии AT17^) фирмы Atmel гарантируют 10 000 циклов записи. Они работают фактически с любым FPGA (включая собственную серию FPGA Atmel) и применимы в системах с напряжением питания 3,3 и 5 В.

Опишем применение перепрограммируемых конфигураторов Atmel вместо конфигураторов ЕРС1064, ЕРС1213, ЕРС1441, ЕРС1 и ЕРС2 фирмы Altera и аналогичных ОТР EPROM фирмы Xilinx.

Конфигураторы фирмы Atmel

Конфигурационная ЕЕРRОМ (конфигуратор) для устройств FPGA является последовательной памятью, которая используется для загрузки образа FPGA.

Серия конфигурационных приборов фирмы Atmel обладает следующими особенностями:

• совместимость с AT6000, ATT3000 (Atmel), EPF6K, EPF8^ FLEX10K, ACEX (Altera), XC2000, XC3000, XC4000, XC5000 (Xilinx), Lucent ORCA FPGA, MPA1000;

• прямая замена для OTP EPROM фирм-произво-дителей FPGA;

• конкурентоспособность с OTP EPROM по стоимости;

Применение конфигураторов Atmel с FPGA фирмы Altera

Серия АТ17А фирмы Atmel имеет более широкий диапазон плотностей, чем ЕРС фирмы Altera, что позволяет в некоторых случаях использовать микросхемы памяти с меньшим объемом, то есть более рационально. Требования к памяти, применяемой для программирования FPGA фирмы Altera серии FLEX8000, приведены в табл. 2.

В табл. 3 приведены сведения по конфигураторам используемым при программировании FPGA Altera серии FLEX10K.

Табл. 4 содержит требования к памяти для приборов Altera FLEX6K при использовании компонентов фирмы Atmel серии АТ17А.

Совместимость ножек

Конфигураторы AT17 и Altera EPC1064/ EPC1213 в корпусе DIP-8 совместимы по цоколевке. Конфигураторы Atmel могут исполь-

Компоненты и технологии, № 5'2002

• широкий выбор объемов: от 64 К до 1 M;

• программируемая полярность сигнала Reset позволяет адаптироваться к любым FPGA;

• различные виды конструктивного исполнения: DIP, PLCC или SOIC;

• простой интерфейс к FPGA требующий только одной ножки ввода-вывода;

• программируемость «в системе» через 2-проводную шину;

• серия поддерживается стандартными промышленными программматорами;

• высокая скорость конфигурации FPGA (15 МГц);

• время программирования — 2 секунды;

• каскадное соединение для программирования больших FPGA;

• сигнал «Готов» гарантирует достоверность включения питания системы;

• свойство защиты записи позволяет использовать незанятую часть памяти для хранения данных в энергонезависимой памяти;

• малая потребляемая мощность;

• 3,3-вольтовая версия;

• эмуляция последовательных программируемых ПЗУ 24CXX.

В качестве примера в табл. 1 приведено сравнение перепрограммируемых конфигураторов фирмы Atmel с OTP EPROM фирмы Altera.

Как видно из таблицы, конфигураторы фирмы Atmel обладают рядом преимуществ в сравнении с OTP EPROM фирмы Altera. Примерно такая же картина вырисовывается при сравнении их с OTP EPROM фирмы Xilinx.

Наличие такого качества, как программируемость в системе, позволяет выполнять изменения в проектах без опасения увеличить стоимость устройства на стоимость OTP EPROM, заменяемого после каждой модификации. Это, в свою очередь, отражается на легкости внесения изменений в схему и сокращении времени разработки, что сказывается на снижении стоимости проекта и повышении его конкурентоспособности.

Таблица 1

Atmel AT17A Altera EPC1

ISP (программируемость в системе) Да Нет3

Перепрограммируемость Да Нет3

Наличие питания 3,3 В Да Да

ISP (программируемость в системе) при питании 3,3 В Да Нет3

Корпус 8 ножек DIP Да5 Да4

Корпус 20 ножек PLCC Да2 Да

Каскадируемость Да Да

Прибор 128К х 1 Да Нет

Примечания:

1. Источник: Altera 1998 databook

2. Приборы серии Atmel АТ17А в корпусе PLCC-20 прямо совместимы по цоколевке с приборами ЕРС.

3. Перепрограммируемость для прибора ЕРС2 ограничена.

4. Нет в ЕРС2.

5. Серия Atmel АТ17 совпадает с приборами фирмы Altera для корпусов DIP-8.

Таблица 2

Cерия FLEX8000 Конфигурационных бит Память ОТР Altera ISP EEPROM Atmel

EPF8282 40K EPC1064 AT17C/LV65

EPF8452 64K EPC1213 AT17C/LV65

EPF8636 96K EPC1213 AT17C/LV128

EPF8820 128K EPC1213 AT17C/LV128

EPF81188 192K EPC1213 AT17C/LV256

EPF81500 250K EPC1213x2 AT17C/LV256

Таблица З

FLEX10K Число бит ОТР прибор фирмы Altera EEPROM прибор фирмы Atmel

EPF10K10 115 K EPC1441 AT17C/LV512A

EPF10K20 225 K EPC1441 AT17C/LV512A

EPF10K30 368 K EPC1441 AT17C/LV512A

EPF10K40 488 K EPC1 AT17C/LV512A

EPF10K50 609 K EPC1 AT17C/LV010A

EPF10K70 881 K EPC1 AT17C/LV010A

EPF10K100 1172 K EPC2 или EPC1 x 2 AT17C/LV020A или AT17C/LV010A x 2

EPF10K130 1563 K EPC2 или EPC1 x 2 AT17C/LV020A или AT17C/LV010A x 2

EPF10K200 TBD EPC2 x 2 или EPC1 x 3 AT17C/LV020A x 2 или AT17C/LV010A x 3

EPF10K500 TBD EPC2 x 2 или EPC1 x 4 AT17C/LV020A x 2 или AT17C/LV010A x 4

Примечание: ЕРС2 имеет объем 1 695 680 х 1, тогда как объем AT17C/LV020A = 2 097 152 бит, то есть это полные 2-мегабитные приборы.

Таблица 4

FLEX6K Число бит ОТР EPROM фирмы Altera EEPROM прибор фирмы Atmel

EPF6010 160 K EPC1441 AT17C/LV512A

EPF6016 260 K EPC1441 AT17C/LV512A

EPF6024 420 K EPC1441 AT17C/LV512A

Таблица 5

Номер ножки Altera DIP-8 Atmel DIP-8 Замечания

1 DATA DATA ^вместимы

2 DCLK CLK ^вместимы

3

4 NCE CE ^вместимы

5 GND GND ^вместимы

6 NCASC CEO(A2) ^вместимы

7 Vpp SER_N Ножка OTP EPROM фирмы Altera используется для ISP в АТ17А фирмы Atmel

8 Vcc Vcc ^вместимы

зоваться для конфигурирования FPGA путем установки прямо в панельку EPC1064/ EPC1213 без какого-либо изменения схемы.

Табл. 5 показывает соответствие названия ножки конфигуратора Atmel названию ножки Altera.

Совместимость ножек для корпусов РЬСС-20

Приборы АТ17020А, АТ17С010А, АТ17С512А совместимы по ножкам с приборами ЕРС2, ЕРС1, ЕРС1441.

Компоненты и технологии, № S'2002

Таблица 6

Номер ножки Altera PLCC-20 Atmel PLCC-20 Замечания

1 TDO — Особенность ЕPС2

2 DATA DATA Совместимы

3 ТСК — Особенность ЕPС2

4 DCLK DCLK Совместимы

5 — WP1 Особенность АТ17с512А/010Л

5 VccSEL — Особенность ЕPС2

8 OE OE Совместимы, когда полярность Reset — акт. низкий (ОЕ — высокий) в приборах Atmel

9 nCS nCs Совместимы

10 GND GND Совместимы

11 TDI — Особенность ЕPС2

12 NCASC NCASC(A2) Совместимы

13 NINIT_CONFIG — Особенность ЕPС2

14 VppSEL — Особенность ЕPС2

15 — READY Особенность приборов Atmel

18 Vpp(программирующая ножка) SER_EN Ножка OTP EPROM фирмы Altera используется для ISP в АТ17А фирмы Atmel

19 TMS — Особенность ЕPС2

20 Vcc Vcc ^вместим!)!

Приборы AT17C65A, AT17C128A, AT17C256A совместимы по ножкам с приборами EPC1064, EPC1213.

Замена однократно программируемых приборов фирмы Altera на перепрограммируемые приборы серии АТ17А фирмы Atmel

В выборе устройства и разработке схемы для любого FPGA ключевыми вопросами являются:

соответствие числа битов программы FPGA объему памяти конфигуратора; совместимость цоколевки и применимость конструктивного исполнения; конфигуратор ведущий или ведомый ( важно только для 512A/010A/020A/002A); существование слабого внутреннего подтягивающего или опускающего резисторов на ножках FPGA или конфигуратора; предупреждение столкновений для тактовых сигналов в течение ISP;

• предупреждение столкновений на линиях

сигналов RESET/OE и CE (nCS) в течение

ISP (только для 65/128/256).

Приборы ЕРС фирмы Altera могут замещаться конфигурационными перепрограммируемыми приборами фирмы Atmel серии АТ17А путем трансляции программных файлов из формата Altera в формат Atmel. Для облегчения этого процесса Atmel предлагает программную утилиту CPS, которую можно свободно получить на сайте Atmel. Она работает под операционными системами Win-dows’95/98/NT. Эта программа выдает Intel (MCS-86) Нех-файл, который может быть прочитан любыми стандартными программаторами. При работе с программатором ATDH2200E фирмы Atmel и этой программой, данные могут загружаться непосредственно в конфигураторы Atmel (см. рис. 9).

Серия конфигураторов АТ17А может непосредственно применяться в устройствах с FPGA фирмы Altera, предоставляя пользователю возможность перепрограммирования.

Применение конфигураторов показанное на рис. 3-5 аналогично соответствующим рекомендациям по применению ОТР EPROM Altera. Отличие существует лишь на рис. 4 и 5, где рекомендуется использование RC-цепочки на входе nCONFIG для того, чтобы ввести задержку в 100-200 мс, обычно устанавливаемую приборами ОТР EPROM Altera. Эта задержка позволяет источнику питания установить нормальный уровень напряжения на

ALTERA PINOUT

ATMEL PINOUT

DATA С 1 KJ 8  VCC DATA С 1 8 3 vcc

DCLK С 2 7 3 VPP CLK С 2 7 3 SER_EN

nCS С 4 5  GND СЕ С 4 5 H GND

EPF8K

ATI 7C65

nCONFIG DCLK

nS/P DATAO

MSELO CONF DONE

MSEL1 nSTATUS

DCLK

DATA

nCS

OE

Рис. З. Применение АТ17 для конфигурирования EPF8K фирмы Altera

Рис. 1. Цоколевка конфигураторов в корпусе DIP-8

<

и !< и H u z о z > z

DCLK

NC

NC

NC

OE

ALTERA

uuuuu

yi о U U U V z z <2 z о б

І8  VCC DCLK С

17  NC WP1 С

16  NC NC с

15  NC NC с

CO  NC OE с

ATMEL

UUUUU Яоиии У z z 9 z

І8  SER EN

17  NC

s16  NC

15  READY

cj4  NC

Рис. 2. Цоколевка конфигураторов в корпусе PLCC-20 Примечания:

1. AT17CLV512A, AT17CLV010A выпускаются только в упаковке PLCC.

2. Для работы с приборами FPGA Altera полярность сигнала Reset должна быть запрограммирована как «активный низкий».

3. Цоколевка приборов Altera относится к ЕРС1/1441/1213/1064, а особенности приборов относятся только к ЕРС2.

4. WP1 имеется только у AT17C512A/AT17C010A.

5. TDO,TDI,TMS,TCL — ножки для работы с JTAG.

Vcc Vcc

EPF10K

- nCONFIG

DCLK DATAO  nCE CONF DONE

- MSELO nSTATUS

- MSEL1

ATI 7C512A/010A/020A ATI 7LV512A/010A/020A Device 1

ATI 7C512A/010A/020A ATI 7LV512A/010A/020A Device 2

Рис. 4. Применение АТ17 для конфигурирования EPF10K фирмы Altera

Vcc Vcc

EPF10K  nCONFIG

DCLK DATAO

- nCE CONF DONE

- MSELO nSTATUS

- MSEL1

ATI 7C512A/010A/020A ATI 7LV512A/010A/020A Device 1

ATI 7C512A/010 A/020A ATI 7LV512A/010A/020A Device 2

Рис. 5. Применение двух АТ17 для конфигурирования EPF10K фирмы Altera

Компоненты и технологии, № S'2002

плате до того, как будет выполнен сеанс кон-фигурированния FPGA.

Примеры применения конфигураторов Atmel с FPGA фирмы Xilinx для приборов с внутрисистемной программируемостью

FPGA фирмы Xilinx (например, XC4000, Spartan, Virtex) могут взаимодействовать с конфигураторами AT17 без особых хлопот, однако, конфигураторы большого объема серии AT17 (512 К, 1 M и 2 M) имеют упрощенный 3-проводной интерфейс, очень полезный для ISP. Чтобы обеспечить необходимый объем памяти для каскадного подключения FPGA или для FPGA большого объема, конфигураторы AT17 могут быть расположены каскадом. Рис. 6 показывает пример применения конфигуратора небольшого объема AT17 для одного XC4000 FPGA. Мультиплексор ИС 74HC (T) 157 подключает сигналы конфигуратора или к FPGA или к разъему ISP. Опускающий резистор на ножке конфигуратора A2 обеспечивает адресование входного потока данных в процессе программирования. SER_EN служит как управляющий сигнал для выбора ввода мультиплексора и определяет эксплуатационный режим СППЗУ. В конфигураторах малого объема AT17, для программирования информации пользователя и установки полярности сброса необходимо ввести управление для выводов CE и RESET/OE.

В семействе XC4000 FPGA на линиях Program и Done существует внутренний нагрузочный резистор.

Действительно ли мультиплексор обязателен для ISP AT17 65 К, 128 К и СППЗУ 256 К? Не обязательно. Если вы не желаете применять ИС мультиплексора в процессе ISP (Atmel AT40K, приборы Xilinx и Lucent), то вы должны запрограммировать полярность сброса. Для новых устройств низкой плотности с литерой B после кода даты мультиплексор не требуется.

Для AT17 конфигураторов с низкой плотностью управление сигналами CE и RESET/OE необходимо для программирования информации пользователя и установки полярности Reset.

Сложность устройства с возможностью внутрисхемного программирования значительно снижается при использовании конфигураторов АТ17 с большим объемом памяти, что и отражено на рис. 7. Диодная связь между выводом Program ХС4000 и SER_EN сигналом позволяет внешнему программатору переводить FPGA в состояние сброса в процессе программирования. Это позволяет уйти от конфликтов на линии SCLK. Вывод конфигуратора READY может быть также присоединен к ножке Program ХС4000 для того, чтобы переводить FPGA в ожидание в процессе сброса, для того, чтобы конфигуратор уверенно завершил свой цикл при включении питания. На линиях Program и Done не требуется устанавливать опускающий резистор, поскольку он существует внутри FPGA ХС4000. Он может быть подключен пользователем при помощи специальной опции в программном пакете Xilinx.

ATI 7С65/128/256 ATI7LV65/128/256

Рис. б. Применение конфигураторов АТ17 с FPGA фирмы Xilinx в устройствах с ISP Замечания: 1. Все резисторы 4,7 кОм.

2. На линии Done существует внутренний резистор.

3. Полярность Reset должна быть установлена «активный низкий».

Vcc Vcc

ХС4000

PROGRAMM

PROGRAMM М2 CIN Ml CONE МО INIT

DATA і

SCLK з

— О

B+-В —

Н £1

-цв BF-

Vcc

10

SER EN

ATI 7С512010/020/002 ATI7LV512/010/020/002 у

SEREN

CLK

DATA

СЁ

CEO

RESET/OE

Рис. 7. Пример устройства с ISP для FPGA фирмы Xilinx Примечание: 1. Все резисторы — 4,7 кОм.

2. На линии Done может присутствовать внутренний резистор.

3. Использование ножки READY не обязательно.

4. Полярность сигнала Reset должна быть «активный низкий».

Специализированные выводы WP1 и WP2 для 512/010/002 имеют слабые внутренние опускающие резисторы и если остаются неподключенными, то позволяют таким образом удобно отключать защиту записи этих конфигураторов. Точно так же на вводе A2 для конфигураторов 512/010/002 в течение ISP не требуется внешний опускающий резистор, поскольку там есть слабый внутренний опускающий резистор. В простых каскадных приложениях, применяющих два СППЗУ (рис. 8), ввод A2 может использоваться как адресующий, задавая логический «0» для одного СППЗУ и логический уровень «1» для другого СППЗУ. Утилита программирования может изменять A2 бит с целью выбора одного из этих двух СППЗУ. Устройства, применяющие больше чем два СППЗУ должны использовать A2 ввод как вы-

бор кристалла. В дополнение к внешней декодирующей схеме, которая должна выборочно управлять каждым низким A2 вводом, на каждом A2 требуются нагрузочные резисторы. Рис. 8 иллюстрирует ISP для двухкаскадного устройства AT17C512/010/002S, использующего FPGA типа XC4000.

Примеры применения конфигураторов Atmel с FPGA фирмы Altera для приборов с внутрисистемной программируемостью

Конфигураторы серии АТ17А допускают программирование в системе, то есть тогда, когда они уже установлены на плату. Далее приведены примеры схем, где программато-

Компоненты и технологии, № S'2002

Vcc Vcc

Vcc

XC4000

PROGRAMM

PROGRAMM CCLK

DIN

М2 DONE

Ml ІЇЧЇТ

МО

ATI 7C512/010/002 ATI 7LV512/010/002 Device 1

DATA 1

SCLK з

a &

Vcc

j

SER EN

CLK

DATA CEO

CE

RESET/OE READY

SER EN

ATI 7C512/010/002 ATI7LV512/010/002 Vcc Device 2

CE

SER EN CEO

CLK

DATA READY

RESET/OE

Рис. 8. Пример !БР для двухкаскадного устройства АТ17С512/010/002Б, использующего РРОА типа ХС4000

Є-

Parallel Cable

DB-25M DB-25F

ATDH2200

ї

10-pin Ribbon Cable

Target System

FPGA

FPGA

-----1----------- —Г

In-System Programming AT17A

Connection Header Configurator

Рис. 9. Пример !БР для приборов серии АТ17(А) через программатор АТРИ2200

ATI 7С65

Рис. 10. Пример ISP c конфигураторами АТ17(А) для FPGA EPF6K

ром поддерживаются следующие функциональные возможности:

• считывание кода прибора и кода производителя;

• программирование прибора;

• проверка прибора;

• установка полярности сигнала Reset.

Хотя конфигураторы фирмы Лішеі могут быть запрограммированы различными способами, например с помощью микроконтроллера или под управлением РЬБ-устройства, однако легче всего это можно сделать обладателю фирменной платы программатора ЛТ-БН2200. Для КР-программирования эта пла-

та используется как программируемый интерфейс между компьютером и программируемым прибором. Передача данных из или в конфигуратор может выполняться через кабель подключенный к плате и к разъему ИС.

Хотя FPGA фирмы Altera серии FLEX (EPF10K, EPF6K, EPF8K) могут конфигурироваться любыми конфигураторами АТ17А, некоторые приборы, такие, например, как приборы высокой плотности 512 К и 1 М, имеют простейший 3-проволочный интерфейс, весьма полезный при ISP. Рис. 10 служит примером применения АТ17А для одиночных микросхем EPF6K. Мультиплексор (например, 74НСТ157) подключает сигналы конфигуратора или к FPGA, или к ISP разъему.

Чтобы обеспечить необходимый объем памяти, для FPGA высокой плотности конфигураторы AT17(A) могут быть расположены каскадом (см. рис. 5 и рис. 11). Резистор на ножке A2 конфигуратора обеспечивает заданное адресование потока данных в процессе программирования. Для того чтобы выделить отдельный конфигуратор на общей последовательной шине, бит A2 от программатора должен соответствовать уровню на ножке A2 предназначенного приемника. Для пользователей утилиты CF (Atmel) бит A2 может изменяться, используя переключатель /J < L I H >. SER_EN служит как управляющий сигнал для выбора входа мультиплексора и определяет режим работы СППЗУ. Для конфигураторов AT17A с низкой плотностью управление ножками nCS и OE необходимо для программирования информации пользователя и установки полярности сигнала сброса.

В то время как nCONFIG может быть прямо связан с VCC, рекомендуется использовать RC-задержку или подключать его к Reset (активный низкий) на FLEX10K/6K. Это гарантирует, что VCC примет нормальные действующие уровни до начала конфигурации.

Так как конфигураторы AT17A с низкой плотностью в процессе конфигурации не могут вырабатывать необходимый синхросигнал (то есть действовать как ведущий в системе), тактовые сигналы должны быть получены извне — от программатора, микропроцессора или от FPGA.

Как видно из рис. 10-12, сложность схемы ISP значительно снижается при работе с конфигураторами AT17A высокой плотности. Диодное подключение между ножкой nCONFIG EPF8K и сигналом SER_EN позволяет внешнему программатору перевести FPGA в состояние сброса в течение ISP. Это устраняет потенциальную возможность конфликта на линии DCLK. Вывод READY (необязательная особенность) конфигуратора может также быть связан с ножкой nCONFIG FPGA, чтобы вынудить FPGA оставаться в состоянии сброса, пока конфигуратор завершает свои действия на цикле сброса.

Для приборов Altera FLEX8K (рис. 12) внутренний генератор AT17A конфигуратора высокой плотности должен быть заблокирован. Это должно быть выполнено только однажды перед включением устройства или в течение ISP. Подключением nCS к разъему ISP (не показано). Еще один способ запретить формирование тактовых сигналов в АТ 17

Компоненты и технологии, № S'2002

512A/010A/020A/002A — это программное запрещение, которое описывается в документации [2].

Если специализированный вывод WP1 остается неподключенным, то слабый внутренний опускающий резистор в AT17C512A/010A безопасно отключает защиту записи этих конфигураторов. Точно так же в течение ISP внешний опускающий резистор на A2 входе не требуется, так как на этом выводе имеется слабый внутренний опускающий резистор.

В простых каскадных схемах включения конфигуратора, состоящих из двух EEPROM (рис. 11), вход A2 может использоваться как адресная линия, позволяющая устанавливать логический 0 для одного СППЗУ и логическую 1 — для другого. Программирующая утилита может изменять бит A2, вставляя в поток данных сообщения для того, чтобы адресовать любое из этих двух СППЗУ. Устройства, применяющие больше чем два СППЗУ, должны использовать ножку A2 как выбор кристалла. В дополнение к внешней схеме декодера, который должен выборочно управлять низким для каждого A2 входа требуются нагрузочные резисторы на каждом A2.

Следует все же отметить, что все это справедливо для печатных плат с корректно выполненной разводкой линий земли и питания. В устройствах, где уровни помех на сигналах довольно велики, нужно иметь в виду следующее:

В микросхему ЕРС1 встроена схема контроля ошибок, и она имеет регистр, загружаемый длиной конфигурирующего файла. Если ЕРС1 посылает целостную программу и не обнаруживает, что сигнал CONF_DONE стал высоким, то будет решено, что FLEX10K получил неправильные данные и, как следствие, прибор ЕРС1 вызовет повторную процедуру конфигурации, установив низкий импульсный уровень на ножке ОЕ. Поскольку ОЕ соединяется с nSTATUS в FLEX10K, то произойдет рестарт процесса конфигурации (если включена опция Auto-Restart on Frame Error).

Конфигурационные приборы фирмы Atmel предполагают существование такой схемы в конфигурируемом приборе, то есть во FLEX 10K, однако поскольку она находится именно в ЕРС1, то они могут некорректно обрабатывать ошибку. Если сбой в процессе конфигурации существует, то FLEX 10K будет обнаруживать его с помощью процедуры циклического контроля ^RC) и устанавливать линию nSTATUS в низкое состояние независимо от того, прибор какой именно фирмы (Altera или Atmel) был применен. Однако если из-за наличия помех сигнал CONF_DONE не перешел в высокое состояние, а nSTATUS не стал низким, то прибор ЕРС1 захватил бы эту ошибку и вызвал реконфигурацию, но приборы фирмы Atmel этого не сделают.

При достаточно квалифицированно выполненной разводке печатной платы проблем быть не должно.

В статье Д. Тимонина «Еще раз о конфигурировании ПЛИС Altera» [8], которую можно найти по адресу http://www.dian.ru/pdf/st50-52.pdf в рубрике «Цифровая техника», описана разработанная автором схема, позволяю--------------------www.finestreet.ru -

Vcc Vcc

Vcc

Vcc

EPF10K

T

nCONFIG CCLK

DIN

nCE DONE

MSELO ii-iff

MSEL1 INIT

DATA і

SCLK з

В

Vcc

T SER EN

ATI 7C512A/010A/002A ATI 7LV512A/010A/002A Vcc

Device 1 ПГ

DCLK

DATA

nCE

OE

nCASE

READY

SER EN

ATI 7C512A/010A/002A AT 17LV512A/010A/002A Device 2

пСЕ

SER EN nCFSE

DCLK

DATA READY

ОЕ

Рис. 11. Пример каскадного соединения АТ17А с FPGA Altera в приборах с ISP Примечание: 1. Все резисторы имеют номинал 4,7 кОм.

2. Использование ножки READY необязательно.

-е-

щая выполнять программирование конфигуратора АТ17С/КУ512/010 фирмы Atmel через слегка переделанный байт-бластер фирмы Altera. Там же описана схема переделаного бластера. В любом случае, знакомство с этой статьей представляется весьма полезным для всех, кто работает с устройствами FPGA.

Установка полярности RESET

Все конфигураторы в ряде AT17 и AT17A имеют способность изменять полярность RESET/OE. Это требуется, чтобы позволить устройствам должным образом конфигурировать различные семейства FPGA. Заданное по умолчанию состояние — активный низкий OE и активный высокий RESET.

Конфигураторы 65/128/256 используют различные алгоритмы с конфигураторами 512/010/020/002.

Программирование полярности RESET/OE конфигураторов 65/128/256 Установка полярности активный высокий OE (активный низкий RESET): Запишите байт данных FF по адресу 3FFFH. С двумя дополнительными ножками, используемыми при программировании поступите следующим образом:

RESET/OE = VCC + /- 0.25V CE = VCC + /- 0.25V

Установка полярности активный низкий OE (активный высокий RESET): Запишите байт FF по адресу 3FFFH. С двумя дополнительными ножками, используемыми при программировании, поступите следующим образом:

RESET/OE = 0V CE = VCC + /- 0.25V

8S

Компоненты и технологии, № S'2002

Подтверждение (проверка) полярности RESET: Включите устройство, должно наблюдаться следующее:

RESET/OE = 0V CE = 0V

A2 (СЕО) = Вводу в программатор (Z) SER_EN = VCC + /- 0.25V clock = 0V ДАННЫЕ = Вводы программатора

Если при этом ножка ДАННЫЕ находится в третьем состоянии, то RESET/OE запрограммирован как активный высокий OE (активный низкий RESET); если вывод ДАННЫЕ читает «0» или «1», то RESET/OE — активный низкий OE (активный высокий RESET).

Программирование полярности RESET/OE для конфигураторов 512/010/020

Установка полярности активный высокий OE (активный низкий RESET): Запишите четыре байта FF FF FF FF по адресам 20000-20003.

Установка полярности активный низкий OE (активный высокий RESET): Запишите четыре байта 00 00 00 00 по адресам 20000-20003.

Подтверждение полярности RESET/OE 512/010/020 конфигураторов: выполните чтение четырех байтов данных по адресам 20000-20003. Если данные — 00 00 00 00, тогда RESET запрограммирован для активный низкий OE (активный высокий — RESET); если данные — FF FF FF FF, тогда RESET запрограммирован как активный высокий OE (активный низкий — RESET).

Программирование полярности RESET/OE для конфигуратора 002

Установка полярности активный высокий OE (активный низкий RESET): Запишите четыре байта FF FF FF FF по адресам 400000-400003.

Установка полярности активный низкий OE (активный высокий RESET): Запишите четыре байта 00 00 00 00 по адресам 400000-400003. Проверка полярности RESET/OE конфигуратора 002: выполните чтение четырех байтов данных по адресам 400000-400003. Если читаются данные 00 00 00 00, тогда запрограммировано активный низкий OE (активный высокий — RESET); если данные — FF FF FF FF, тогда запрограммирован активный низкий RESET.

Замечания: при программировании полярности RESET на конфигураторах AT17 и AT17A

1. Состояния упомянутых выше ножек должно поддерживаться в течение полного цикла записи.

2. После того как полярность RESET изменена, питание конфигуратора должно быть выключено.

В заключение несколько чаще всего встречающихся типовых вопросов и ответов по этой теме

Вопрос:

Смогу ли я запрограммировать два pof-файла (*.pof и *_1.pof) в Atmel AT17LV002A или AT17LV020A СППЗУ. В инструментальном пакете Altera Quartus имеются два параметра выбора. Первая опция позволяет

выбрать режим конфигурации, и я выбрал (правильно) PS (пассивный последовательный) режим. Это позволяет мне конфигурировать устройство Altera программируемым ПЗУ, микропроцессором или кабелем загрузки. Вторая установка должна выбрать устройство конфигурации. Так как имя устройства Atmel (AT17LV020A или AT17LV002A), очевидно, не предусматривается в программном обеспечении Altera, то я выбрал EPC2 устройство, полагая, что AT17LV020A способно подменить семейство EPC. Однако программное обеспечение Quartus решило, что изображение 20K200E размером почти 2 Мб слишком велико, чтобы вписаться в единственную EPC2 объемом 1,6 Мб, и поэтому оно разбило изображение на *.pof, и *_1.pof.

Ответ:

В будущей версии CPS будет включена опция, позволяющая объединить два pof-файла и затем конвертировать этот файл в один bst-файл или один hex-файл.

Пока же мы рекомендовали бы проделать следующее: вы можете использовать опцию /B в программе Atmel CPS, чтобы преобразовать файлы *.pof и *_1.pof в два bst-файла.

Теперь вы сможете открыть оба bst-файла текстовым редактором. Вставьте содержимое второго bst-файла в конец первого и сохраните в одном-единственном bst-файле. Пожалуйста обратите внимание, что порядок для копирования содержания файла очень важен. Наконец, вы можете программировать объединенный bst-файл в AT17LVXXXA СППЗУ, используя процедуру /P с установкой параметра «Семейство FPGA» в «Другие AT6K».

Если вы используете программатор иного вида, чем программатор Atmel ATDH2200, вы можете послать два pof-файла в группу Atmel «Приложения конфигураторов» по адресу configurator@atmel.com. Они будут использовать программное обеспечение CPS с вышеупомянутой процедурой, чтобы запрограммировать преобразованный и объединенный bst файл в Atmel AT17 ряд СППЗУ. Затем они будут использовать какой-либо иной программатор, чтобы прочитать данные от устройства и сохранят результат в hex (шестнадцатеричный объектный файл Intel MSC), который является популярным форматом и который будет принят любыми программаторами.

Замечание: CPS — бесплатное программное обеспечение, которое может быть загружено с сайта Atmel по адресу: http://www.atmel. com/atmel/products/prod185.htm или с российского сайта: http://www.atmel.ru/Binary/ spcinstall.exe.

Вопрос:

Если я конфигурирую только одно устройство FLEX 10K, APEX, ACEX или Mercury, что я должен делать с конфигурационным выводом nCEO?

Ответ:

В схеме конфигурации только с одним устройством FLEX 10K, APEX, ACEX или Mercury вывод nCEO не используется, по-

скольку он работает так, как работал бы в цепочке конфигурационных устройств. Поэтому оставьте вывод nCEO свободным и работайте с ним как с зарезервированным выводом.

Как заявлено в файле отчета, ножка nCEO — специализированный конфигурационный вывод, который не может использоваться после конфигурации как ножка ввода-вывода. Ножка nCEO устанавливается на высоком уровне перед конфигурированием устройства и переходит в низкое состояние после того, как устройство успешно конфигурировано. Вы можете использовать ножку nCEO, чтобы воздействовать на вывод nCE другого FLEX 10K, APEX, ACEX или Mercury в цепочке устройств.

Вопрос:

Какое напряжение я должен подключить к ножкам Vcc устройств конфигурации EPC1, EPC2 или EPC1441 при конфигурировании устройства FLEX с различными напряжениями VCCIO и VCCINT?

Ответ:

В устройствах конфигурации EPC1, EPC2, или EPC1441 ножка VCC может быть связана с напряжением питания 3,3 или 5 В, поскольку все устройства FLEX 10K и АРЕХ имеют вводы с допуском 5 В.

Когда ножки VCC у EPC1 или EPC1441 связаны с 3,3 В, вы должны включить опцию «Использование низковольтовой конфигурации EPROM» в диалоговом окне Global Project Device Options (меню Назначения) перед генерацией файла программирования для конфигурирующего ПЗУ.

Напряжение питания EPC2 устанавливается подключениями VCCSEL и VPPSEL, а не через программное обеспечение. ИИ

Литература

1. Configuring SRAM-Based LUT Devices. Altera Application Note 116.

2. Programming Specification for Atmel's AT17 and AT17A Series FPGA Configuration EEPROMs. Atmel. FPGA Configuration EEP-ROM Programming Specification. Application Note Rev. 0437H-03/01.

3. AT17A Series Conversions from Altera FPGA Serial Configuration Memories. Atmel AT17A Series FPGA Configuration EEPROM Memory. Application Note FPGAs Rev. 0910B-10/99.

4. FPGA Configuration EEPROM 65K, 128K and 256K AT17C65 AT17C128 AT17C256. Atmel Rev. Doc. 0391E-05/97.

5. In-System Programming Cable ATDH2225 FP-GA Configuration EEPROM Memory. Atmel. Rev. Doc. 2288A-05/01.

6. In-system Programming of Cascaded AT17C/LV020 and Lower-density Devices in FPGA. Atmel. Applications Rev. 2292A-04/01.

7. 2-megabit FPGA Configuration EEPROM Memory AT17C/LV020(A) AT17C/LV002(A). Atmel. Application Note Rev. 2317A-07/01.

8. Д. Тимонин. Еще раз о конфигурировании ПЛИС Altera // Схемотехника. 2001. № 9.