Рис.28 Этапы проектирования цифрового устройства на ПЛИС
Перед помещением схемы на кристалл её необходимо надлежащим образом подготовить. Для этого следует определить, какие точки схемы будут выводиться на внешние контакты корпуса ПЛИС. Контакты корпуса ПЛИС уже распаяны на печатной плате универсального лабораторного стенда и выведены на его органы управления (клавишные переключатели, тумблеры и индикаторы). Поэтому подготовка схемы сводится к подключению органов управления стенда.
Назначение SDK-6.1
Учебный лабораторный комплекс SDK-6.1 предназначен для обучения основам проектирования современных электронных модулей на базе микросхем программируемой
логики (ПЛИС) средней и большой степени интеграции. Внешний вид стенда изображен на рис. 29. В SDK-6.1 использованы ПЛИС фирмы ALTERA семейства CYCLONE и МАХ3000. Кроме того, стенд оснащен постоянной и оперативной памятью значительного объема, разнообразными интерфейсными каналами, устройствами консольного ввода-вывода, надежной системой электропитания, что позволяет применять его в качестве прототипа при разработке разнообразных электронных модулей: контроллеров и приборов.
Рис. 29 Внешний вид учебного стенда SDK-6.1
Особенности SDK-6.1
· ПЛИС семейства Cyclonе фирмы Altera, установленная в SDK-6.1, обладает достаточной емкостью для реализации проектов различной сложности: от простых автоматов до процессорного ядра NIOS/NIOSII (Altera)
· Стенд оснащен подсистемой памяти (FLASH, EEPROM), необходимой для построения полнофункционального вычислительного ядра.
· SDK-6.1 может функционировать автономно, без подключения к инструментальному компьютеру.
· Допускается хранение во внутренней FLASH-памяти и загрузка по выбору до 16 конфигурационных файлов ПЛИС.
· Ввод конфигурационного файла с ПК в ПЛИС может осуществляться через порты RS232 с помощью адаптера BBA 1.0, или по интерфейсу JTAG с помощью адаптера ByteBlasterMV.
· JTAG-порт обеспечивает поддержку механизмов внутрисистемной отладки.
· Повышенная надежность системы электропитания: диапазон 9..36В, встроенный супервизор напряжения и корректного перезапуска.
· Конструкция стенда может быть модифицирована для установки на монтажную рейку DIN35 при необходимости использовании стенда в промышленных условиях
Состав и параметры SDK-6.1
− основная ПЛИС EP1C3T144-8 (Altera)
− вспомогательная ПЛИС EPM3128ATC100-10 (Altera)
− объем памяти конфигураций (FLASH) 1 Мбайт
− объем EEPROM I2C 256 байт
− количество хранимых конфигураций ПЛИС 8 шт
− параллельный высокоскоростной порт ввода/вывода 22 разряда
− последовательный порт RS232 1 шт.
− ЖКИ 2 строки х 16 символов 1 шт.
− управляемые светодиоды 9 шт.
− двухпозиционные переключатели 8 шт.
− кнопка тактовая 1 шт.
− кнопка сброса 1 шт.
− интерфейсы отладки/программирования JTAG, цепочка из 2-х ПЛИС
− габариты модуля стенда, не более 120 мм x 160 мм x 40 мм
− питание постоянным током с напряжением 9–30 В
− потребляемая стендом мощность, не более 5 Вт
Структурная схема SDK 6.1
Рис.30 Структурная схема SDK 6.1
Конфигурирование ПЛИС
Общие сведения:
Учебно-лабораторный стенд SDK-6.1 допускает несколько режимов конфигурирования ПЛИС, каждый из которых используется на определенных этапах работы со стендом, для решения различных задач:
1. Конфигурирование через последовательный порт RS232;
2. Конфигурирование через интерфейс JTAG;
3. Конфигурирование из микросхемы автоконфигурации EEPROM (не используется в данной версии SDK-6.1).
Конфигурирование ПЛИС с использованием интерфейса RS232
Режим конфигурирования через интерфейс RS232 используется только в процессе разработки и отладки учебных или прикладных проектов и, в отличие от режима конфигурирования через интерфейс JTAG, не может использоваться для начальной инициализации стенда, однако обеспечивает большее удобство в работе. При работе в данном режиме конфигурационные файлы будут сохраняться во flash-памяти, и, следовательно, не будут утеряны при отключении питания.
Порядок конфигурирования ПЛИС с помощью RS232:
1. Подключите разъем J7 стенда SDK-6.1 к COM-порту ПК при помощи
интерфейсного кабеля;
2. Подключите питание к SDK-6.1;
3. Переключите стенд в режим загрузки конфигурационных файлов для EP1C3 по
последовательному каналу. Для этого: либо установите на переключателе «PAGE» номер страницы flash-памяти, в которой находится Flash-загрузчик (по умолчанию - 0) и нажмите кнопку «RESET», либо нажмите кнопку «RESET» при нажатой и удерживаемой кнопке «CONTROL» (это приведет к тому, что будет загружен файл из нулевой страницы, независимо от того, в каком положении находится переключатель «PAGE»).
После этого на ЖКИ стенда будет выведено сообщение «SDK6.1 Flash Writer», светодиоды «D0»-«D7» будут по очереди зажигаться и гаснуть, а светодиод «CONFIG» будет погашен. Если этого не произошло – воспользуйтесь режимом конфигурирования через интерфейс JTAG и загрузите конфигурационный sof-файл Flash-загрузчика (cyclone_flash_writer.sof) в ПЛИС EP1C3;
4. Создайте и скомпилируйте проект (лабораторную работу), предназначенный для основной ПЛИС EP1C3 стенда SDK-6.1, в инструментальной среде Altera Quartus II Web Edition. В результате успешной компиляции должен быть создан конфигурационный файл с расширением .rbf.
Для создания этого файла в меню Quartus II включите опцию генерирования
rbf-файла при компиляции проекта. Для этого нужно открыть диалоговое окно настроек (Assignments->Device), в котором нажать кнопку «Device & Pin Options».
В открывшемся окне выберите вкладку «Programming Files» и отметить галочкой пункт «Raw Binary File (.rbf)» (рис. 31).
Рис. 31 Создание Raw Binary File (.rbf)
5. Запустите на ПК программатор sdk61fw для того, чтобы произвести запись конфигурационного файла во flash-память стенда. Например, чтобы записать файл file1.rbf в страницу номер 5 через СОМ-порт 1, нужно вызвать программатор со следующими параметрами:
sdk61fw write 0x0A0000 file1.rbf com1
или
sdk61fw write page5 file1.rbf com1
где:
sdk61fw - имя программы,
write – режим записи во flash-память,
0x0A0000 – адрес пятой страницы во flash-памяти стенда,
page5 - номер пятой страницы во flash-памяти стенда,
file1.rbf – имя записываемого конфигурационного файла,
com1 – имя последовательного порта, к которому подключен конфигурационный кабель.
! |
Нужно помнить, что по умолчанию в нулевой странице расположен Flash-загрузчик. Если записать в эту страницу другой конфигурационный файл, то дальнейшее конфигурирование с использованием интерфейса RS232 станет невозможным! (По-крайней мере до тех пор пока не будет снова «прошит» Flash-загрузчик).
6. После того, как программатор завершит работу, путем нажатия кнопки «RESET»производится рестарт системы, при этом в ПЛИС EP1C3 будет загружен конфигурационный файл из той страницы flash-памяти, номер которой указан на переключателе «PAGE» (см. таблицу 1). В случае, когда нажатие кнопки «RESET» производится при нажатой кнопке «CONTROL», независимо от состояния переключателя «PAGE» в ПЛИС будет загружен конфигурационный файл из нулевой страницы.
Конфигурирование через интерфейс JTAG
Интерфейс JTAG был разработан группой специалистов по проблемам тестирования электронных компонентов (Joini Action Group). Oн был зарегистрирован в качестве промышленного стандарта IEEE Std 1149.1-1990 (IEEE Standard Test Access Port and Boundary-Scan Architecture). Он может быть использован для следующих целей:
· тестирования печатных плат
· конфигурирования (программирования) кристалла
· внутрисхемной отладки
Применительно к лабораторному стенду режим конфигурирования через интерфейс граничного сканирования JTAG используется в процессе разработки и отладки учебных или прикладных проектов. Данный режим позволяет: конфигурировать вспомогательную ПЛИС EPM3128 (возможно только в режиме конфигурации через JTAG) и основную ПЛИС EP1C3, выполнять внутрисхемную отладку проекта, используя встроенные средства пакета проектирования Altera Quartus II. Конфигурационные файлы для основной ПЛИС EP1C3 при таком режиме работы не сохраняются в энергонезависимой памяти стенда и будут утеряны при отключении питания или рестарте системы. Еще одним недостатком данного способа конфигурирования ПЛИС можно считать потенциально опасное подключение стенда к ПК.
Рис. 32 Подключение SDK-6.1 к ПК по интерфейсу JTAG
Порядок конфигурирования ПЛИС с помощью JTAG:
1. Проверьте, что на инструментальном компьютере установлен и функционирует
драйвер адаптера интерфейса JTAG ByteBlaster. Для этого запустите программу его инициализации bblpt.exe /i из подкаталога C:\Programm Files\altera\quartus41\drivers\i386\.
2. Если SDK-6.1 уже подключен к ПК, перейдите к п.4.
3. Отключите питание SDK-6.1: адаптер питания из розетки или разъем кабеля адаптера от стенда.
4. Подключите SDK-6.1 к параллельному порту LPT компьютера с помощью адаптера
ByteBlaster (рис. 30).
5. Подключите питание к SDK-6.1.
6. Создайте и скомпилируйте проект, предназначенный для основной ПЛИС EP1C3
стенда SDK-6.1, в инструментальной среде Altera Quartus II. В результате успешной компиляции должен быть создан конфигурационный файл с расширением .sof (SRAM Object File – файл для конфигурирования ПЛИС на базе статической памяти, к которым, в частности, относятся микросхемы семейства Cyclon).