Программирование в системе (ISP)
IBM PC и нестандартные устройства

Главная

ПЛИС

Программирование в системе (ISP).

 

Введение.

 

Интегральные микросхемы MAX – это программируемые логические устройства (PLD), основанные на архитектуре Altera Multiple Array MatriX (MAX), которая поддерживает IEEE Std. 1149.1 Joint Test Action Group (JTAG) интерфейс. Кроме этого, в ПЛИС MAX реализован режим программирования в системе. Этот режим значительно упрощает разработку, изготовление и эксплуатацию устройств на основе ПЛИС. Данное руководство пользователя содержит фундаментальные сведенья о режиме “программирование в системе” и  интерфейсе IEEE Std. 1149.1 JTAG.

 

Особенности и преимущества.

 

Режим программирование в системе упрощает процесс проектирования и изготовления устройств, снижает стоимость разработки и уменьшает время внедрения и отладки изделия. Кроме этого, у разработчика появляются дополнительные возможности по сравнению с использованием стандартных методов программирования устройств.

Применяя ISP, Вы можете:

·       Программировать и перепрограммировать устройство после установки ПЛИС на печатную плату (PCB printed circuit board), это сводит к минимуму вероятность механического и электрического повреждения ПЛИС.

·       Изготовить устройство еще до завершения разработки “прошивки”

·       Выполнять процедуру периферийного сканирования (BST)  и  программировать ПЛИС, используя встроенные тесты.

·       Производить upgrade системы “в полевых” условиях.

 

Основные преимущества применения ПЛИС,
поддерживающих режим ISP.                                            Табл.1

Фаза использования ПЛИС

Особенности

Выгоды

Процесс разработки

Уровень напряжения программирования Vcc.

Нет необходимости использовать напряжение программирования 12В, что приводит к снижению электропотребления и исключает возможность повреждения низковольтных элементов.

ПЛИС может быть “прошита” на плате устройства

Снижается риск электрического или механического повреждения.

Устройство может быть изготовлено до завершения работы над “прошивкой”

Сокращается время на разработку устройства.

Процесс производства

Т.к. программировать можно непосредственно на плате, ПЛИС превращается в оду из многих микросхем, не требующих особого внимания.

Упрощается производство, экономится время. Повышается уровень защиты ПЛИС от повреждений

Режим ISP выполнен с использованием интерфейса IEEE Std. 1149.1 (JTAG). Тем не менее, тестирование и программирования устройства может быть выделено в отдельный этап производства.

“Прошивка” может быть загружена в ПЛИС из другого устройства на плате (in-circuit testers), ПК или во время производства печатной платы

ПЛИС может быть “прошита” тестовой конфигурацией

Увеличиваются возможности тестирования и отладки устройства

Эксплуатация

ПЛИС может быть перепрограммирована в “полевых” условиях.

Повышается функциональность устройства, снижается цена. Устройство становится более привлекательным для потребителя.

 

Программирование уровнем Vcc (напряжение питания).

 

Напряжение программирования ПЛИС равно напряжению питания. Необходимое для программирования, стирания и проверки ячеек EEPROM напряжение создается внутри микросхемы. Таким образом, исчезает необходимость в использовании традиционного высокого значения 12В. Altera гарантирует, что число циклов программирования не меньше 100.

 

Системы программирования.

 

Для программирование ПЛИС, поддерживающих режим ISP, применяются следующие системы программирования:

·       САПР MAX+PLUS II

·       In-circuit testers

·       Embedded processors (Встроенные процессоры)

 

САПР MAX+PLUS II

Для программирования вам нужен ПК (персональный компьютер) с ОС Windows или Unix. На ПК должно быть установлено программное обеспечение САПР Altera MAX+PLUS II. При помощи загрузочного кабеля BitBlaster (последовательный интерфейс) или ByteBlasterMV (параллельный интерфейс) в ПЛИС загружается Programmer Object File (.pof), Jam File (.jam) или Byte-Code File (.jbc). Этот метод программирования очень удобен. Для написания прошивки и эмуляции ее работы, Вы можете использовать этот же ПК.

Вы можете бесплатно загрузить САПР MAX+PLUS II с сервера Altera.

Адрес ftp.altera.com каталог \pub\misc.

На рис.1 показан разъем загрузочного кабеля BitBlaster или ByteBlaster.

 

Рис.1 Разъем загрузочного кабеля (размеры в дюймах).

 

Контакты разъема загрузочного кабеля       Табл.2

Контакт

JTAG-режим

PS-режим

1

TCK

Тактовый сигнал

DCLK

Тактовый сигнал

2

GND

Земля

GND

Земля

3

TDO

Данные с ПЛИС

CONFIG_DONE

Контроль завершения конфигурации

4

Vcc

Напряжение питания

Vcc

Напряжение питания

5

TMS

Контроль автомата JTAG

nCONFIG

Контроль конфигурации

6

-

Не используется

-

Не используется

7

-

Не используется

nSTATUS

Состояние конфигурации

8

-

Не используется

-

Не используется

9

TDI

Данные в ПЛИС

DATA0

Данные в ПЛИС

10

GND

Земля

GND

Земля

 

На рис.2 показано как подключить BitBlaster или ByteBlaster к ПЛИС через интерфейс JTAG. Во время программирования все не используемые при программировании выводы переводятся в третье состояние.

 

Рис.2 Включение ПЛИС семейств MAX3000, MAX7000, MAX9000 в режиме программирования через интерфейс JTAG.

 

Программирование In-circuit test.

Вы можете программировать ПЛИС во время окончательного тестирования печатной платы, используя In-circuit test и интерфейс IEEE Std. 1149.1 (JTAG).

(Примечание. Я не знаю, как в русскоязычной литературе переводится термин “In-circuit test”. Для избежания путаницы, я оставил оригинал. Дословно “In-circuit test” можно перевести как “внутрисхемный тест”).

Программирование производится следующим образом.

В MAX+PLUSE II создается Jam или SVF файл. Полученный файл загружается в ПЛИС.

Более подробную информацию об этом способе можно найти в “Jam Programming and Test Language Overview” и “Jam Programming and Test Language Specification”.

 

Применение встроенного процессора (Embedded Processor).

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

Прошивка (Jam файл) создается в САПР MAX+PLUSE II.

 

Интерфейс IEEE Std. 1149.1.

 

Назначение выводов ПЛИС интерфейса JTAG.                 Табл.3

Вывод

Название

Выполняемая функция

TDI

Прием данных

Последовательный прием данных и команд, данные сдвигаются по фронту TCK. Вывод этого сигнала должен быть “подтянут” к напряжению питания.

TD0

Передача данных

Последовательная передача данных и команд, данные сдвигаются по срезу TCK. Когда данные не передаются, вывод этого сигнала находится в третьем состоянии.

TMS

Выбор режима

Входной сигнал управления состоянием JTAG, данные считываются по фронту TCK. Вывод этого сигнала должен быть “подтянут” к напряжению питания.

TCK

Тактовый сигнал

Максимальная частота 10 МГц.

Вывод этого сигнала должен быть “подтянут” к земле.

 

В течение процесса программирования, стирания и проверки все выводы I/O находятся в третьем состоянии. Процесс прошивки происходит следующим. На входы TMS и TCK подаются необходимые сигналы, и данные сдвигаются в ПЛИС или из ПЛИС по выводам TDI и TD0 соответственно. После программирования имеет место режим Reset (сброс), который удерживается внешним “подтягивающими” резисторами на выводах TCK, TMS, TDI.

 

Рис.3 Временные диаграммы программирования ПЛИС через порт JTAG

 

Временные параметры ПЛИС (нс)               Табл.4

Символ

Параметр

Min

Max

tJCP

Период сигнала TCK

100

 

tJCH

Длительность высокого уровня сигнала TCK

50

 

tJCL

Длительность низкого уровня сигнала TCK

50

 

tJPSU

Время установки порта JTAG

20

 

tJPH

Длительность сигнала JTAG

45

 

tJPCO

Задержка распространения сигнала относительно такта JTAG

 

25

tJPZX

Задержка перехода сигнала JTAG из третьего состояния

 

25

tJPXZ

Задержка перехода сигнала JTAG в третье состояние

 

25

tJSSU

Время установки регистра захвата

20

 

tJSH

Длительность сигнала на выходе регистра захвата

45

 

tJSCO

Задержка обновления сигнала в регистре захвата относительно такта

 

25

tJSZX

Задержка перехода сигнала регистра захвата из третьего состояния

 

25

tJSXZ

Задержка перехода сигнала регистра захвата в третье состояние

 

25

 

Программирование ISP-совместимых ПЛИС.

 

Вы можете использовать IEEE Std.1149.1 JTAG для программирования как одиночных ПЛИС, так и нескольких ПЛИС, соединенных в цепочку.

 

Программирование одиночных ПЛИС.

Для печатных плат с одной ПЛИС применяется 10-выводный загрузочный кабель BitBlaster или ByteBlaster.

 

Рис.4 Программирование одиночных устройств.

 

Программирование нескольких ПЛИС, соединенных в цепочку.

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

Если микросхем больше трех, то рекомендуется буферизировать сигналы TD0, TCK, TDI, TMS.

 

Рис.5 Программирование нескольких ПЛИС

 

Если надо программировать только одну ПЛИС из цепочки, то все другие переводятся в режим BYPASS. В этом режиме микросхемы передают данные с вывода TDI на вывод TD0 через регистр bypass, передаваемые данные не воздействуют на “транзитные” ПЛИС.

 

Заключение.

 

ПЛИС, поддерживающие возможность ISP, предоставляют разработчику новые возможности. ПЛИС могут быть прошиты непосредственно на печатной плате устройства, и для этого не нужны сложные технические средства. Процесс программирования существенно упрощается и может быть проведен в “полевых” условиях. Для этого даже не надо извлекать микросхему ПЛИС из устройства.

 

Петрелевич Сергей

zalivnoy@yandex.ru

www.nsdevice.narod.ru

 

Источники информации:

1)     www.altera.com

2)     Стешенко В.Б. ПЛИС фирмы “Altera”: элементная база, система проектирования и языки описания аппаратуры // М.: Москва Издательский дом “Додэка-XXI”, 2002.