Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cyclone III,
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Serhiy_UA
Схем конфигурирования много, я выбрал комбинированную с JTAG and AS, что на рис. 9–29, из «Configuration Handbook». Программатор у меня USB Blaster, VCCIO = 3.3В, флэшь - EPCS4SI8N, а ПЛИС - EP3C40. Сейчас на стадии схемного проектирования.

1. Смущает вот что, на рис. 9–29 из «Configuration Handbook» сигналы JTAG подтянуты к VCCA (или VCCIO) через 10 кОм, кстати, так же сделано и в принципиальной схеме кита DK-N2EVAL-3C25N. Однако в документе «Cyclone III EP3C40 Device Pin-Out PT-EP3C40-1.2» на стр.18, рекомендовано сигналы JTAG подтягивать через 1 кОм (документ в приложении). Аналогично для EP3C25, но там стр.11.
Разница между 1кОм и 10кОм, немалая. Кому доверять?

2. Еще хотелось бы услышать соображения по схемам конфигурирования для Cyclone III, кто какую из схем применяет, какие есть подводные камушки, грабельки и заморочки? Что лучше или хуже?
_Anatoliy
Цитата(Serhiy_UA @ Nov 11 2010, 15:06) *

1). ставить 1К
2). граблей и т.д. не видел
Farsch
прошу прощения, небольшой оффтоп.

не смог найти в описании Cyclone III, имеется ли там DLL. так есть всё же или нет?
_Anatoliy
Цитата(Farsch @ Nov 11 2010, 16:46) *


В нём PLL только...
ReAl
Вот если взять картинку 9-29 из документации на циклон-3, да выбросить из неё левый разъём (в обеих смыслах слова «левый» :-) ) вкупе со всем тем, что там стоит только из-за того, что подключен шлейф к 3.3-вольтовой части (на рис 9-3 всем таким и не пахент), то это будет то, что я использую.
Правда, с первым циклоном, у меня это сейчас работает в связке EP1C3 + M25P16, но третий ничем не хуже должен быть.

А флешку программирую согласно http://www.altera.com/literature/an/an370.pdf (стр. 15, Programming Serial Configuration Devices Using the Quartus II Programmer and .jic Files).
Т.е. usb-blaster (например, этот или другой, на силабсе) подключен всегда к JTAG (к правому разъему на рис 9-29), для прошивки флеша, когда это нужно, используется SFL.

Serhiy_UA
ReAl, спасибо за наводочки!

Я предчувствовал, что без SFL не обойтись, да и an370.pdf кстати, его до этого не видел. Схему использую как на рис.9-29, она наиболее универсальная - места на плате пока хватает, зато будет выбор.

Ссылка на сайт evodbg.com тоже хорошая, много полезной информации нашел.
Serhiy_UA
Хотел бы разобраться в последовательных схемах программирования, по этому, продолжу эту тему здесь.
Есть два понятия: конфигурирование FPGA и программирование EPCS.

Конфигурирование это загрузка информации в конфигурационную память FPGA. Выполняется от QuartusII через JTAG или от EPCS после подачи питания в режиме AS.
Программирование - это прошивка Flash-памяти EPCS. Выполняется внутрисхемно, т.е. когда FPGA и EPCS стоят соединенными на плате. Основные схемы для Cyclone III и EPCS описаны в «Configuration Handbook» (СН), раздел 9.

Первая возможность программирования обеспечивается через JTAG и Serial FlashLoader (SFL) , по схеме на Figure 9–30 из СН. Все это описано в AN 370 «Using the Serial FlashLoader with the Quartus II Software».

Вторая возможность программирования – это In-System Programming (ISP), схема на Figure 9–7 из СН. При этом программирование выполняет SRunner, что описано в AN 418 «SRunner: An Embedded Solution for Serial Configuration Device Programming».

Обе возможности также объединены общей схемой на Figure 9–29 из СН. Combining JTAG and AS Configuration Schemes.

Вопросы такие:
1. Больше возможностей для внутрисхемного программирования EPCS, вроде нет. Это так?
2. Какая схема и возможность предпочтительней, из личной практики?
3. Какие есть еще документы с описанием процессов программирования?
4. Почему для In-System Programming все так сложно, зачем Altera выпустила так много бумаги, почему нельзя описать про ISP на трех-четырех страницах, без всей этой мульти-вариантности и перекрестных ссылок? Неужели у Xilinx, Lattice Semiconductor и других тоже так?

vadimuzzz
1. так
2. мне JTAG за глаза хватает, через него и отлаживать можно и флешку зашивать. да и схема простая.
3. все в CH написано, что надо
4. наверное, с прошлых серий ПЛИС фичи копились и в итоге имеется некоторая избыточность.
almost
Цитата(ReAl @ Nov 12 2010, 03:36) *
Вот если взять картинку 9-29 из документации на циклон-3, да выбросить из неё левый разъём (в обеих смыслах слова «левый» :-) ) вкупе со всем тем, что там стоит только из-за того, что подключен шлейф к 3.3-вольтовой части (на рис 9-3 всем таким и не пахент), то это будет то, что я использую.
Правда, с первым циклоном, у меня это сейчас работает в связке EP1C3 + M25P16, но третий ничем не хуже должен быть.

А флешку программирую согласно http://www.altera.com/literature/an/an370.pdf (стр. 15, Programming Serial Configuration Devices Using the Quartus II Programmer and .jic Files).
Т.е. usb-blaster (например, этот или другой, на силабсе) подключен всегда к JTAG (к правому разъему на рис 9-29), для прошивки флеша, когда это нужно, используется SFL.



Т.е. когда Вы используете прожиг EPCS через правый разъем то Вы подключаете 6 пин к nCE (рисунок 9-29, случай когда используется USB blaster)? Просто хочется оставить и то и другое, чтобы попробовать оба способа.. Я так понимаю если оставить упомянутый пин не подключенным то флэшку прожигать нельзя будет??
Serhiy_UA
Цитата(almost @ Dec 27 2010, 11:23) *
Т.е. когда Вы используете прожиг EPCS через правый разъем то Вы подключаете 6 пин к nCE (рисунок 9-29, случай когда используется USB blaster)? Просто хочется оставить и то и другое, чтобы попробовать оба способа.. Я так понимаю если оставить упомянутый пин не подключенным то флэшку прожигать нельзя будет??
Правый разъем на рис. 9-29 для JTAG Mode. В этом режиме 6 вывод не нужен и не подключается. Посмотрите Table 2–2 в документе "USB-Blaster Download Cable. User Guide", что в приложении....
Если AS Mode, то ситуация меняется, и вывод 6 используется как nCE для блокировки FPGA, когда идет обращение к EPCS при внутрисхемном программировании...
almost
Цитата(Serhiy_UA @ Dec 27 2010, 12:10) *
Правый разъем на рис. 9-29 для JTAG Mode. В этом режиме 6 вывод не нужен и не подключается. Посмотрите Table 2–2 в документе "USB-Blaster Download Cable. User Guide", что в приложении....
Если AS Mode, то ситуация меняется, и вывод 6 используется как nCE для блокировки FPGA, когда идет обращение к EPCS при внутрисхемном программировании...


Спасибо! Значит не получится поюзать "и так и так"... Буду ставить два разъема (места хватает), где один будет сугубо для BSD, а второй для программирования EPCS...Потом может и уберу второй разъем.
Serhiy_UA
Цитата(almost @ Dec 28 2010, 10:06) *
Спасибо! Значит не получится поюзать "и так и так"... Буду ставить два разъема (места хватает), где один будет сугубо для BSD, а второй для программирования EPCS...Потом может и уберу второй разъем.
Юзать придется до получения в итоге положительного результата...
В приложении еще один правильный документ "AN466. Cyclone III Design Guidelines". Советую ознакомиться и с ним.

Почти как у Маяковского "Изводишь, единого слова ради, сотни тонн словесной руды..." (печатной руды).
almost
Цитата(Serhiy_UA @ Dec 28 2010, 11:24) *
Юзать придется до получения в итоге положительного результата...
В приложении еще один правильный документ "AN466. Cyclone III Design Guidelines". Советую ознакомиться и с ним.

Почти как у Маяковского "Изводишь, единого слова ради, сотни тонн словесной руды..." (печатной руды).


Да уж =)
Спасибо! Придется все таки вкрадчиво читать данную AN.
sazh
Цитата(almost @ Dec 28 2010, 10:06) *
Буду ставить два разъема

Два разъема ставили очень давно, потому как не было возможности реализовать программирование EPCS по JTAG.

Serhiy_UA
Все заработало как надо с первого раза и для конфигурирования и для программирования. Можно ставить в этом топике точку.

На плате ПЛИС - EP3C40Q240C8 и флэшь – EPCS16SI8N. Программатор у меня USB Blaster, его буфера получают 3.3 В от платы. У ПЛИС на входах MSEL код 010, где на единичку подается 2.5 В. Использована схема программирования, что на рис. 9–29, из «Configuration Handbook».

Оказалось достаточно одного разъема JTAG, а разъем под AS действительно можно убрать. Как работать с JTAG и загрузчиком SFL, подробно описано в an370.pdf.
sazh
Цитата(Serhiy_UA @ Feb 10 2011, 13:36) *
Оказалось достаточно одного разъема JTAG, а разъем под AS действительно можно убрать.


Это для скурпулезных людей.
Бывают случаи при работе с usb бластером, пользователи жгут или бластер, или порт jtag FPGA.
Для экономии кристаллов можно разъем под AS заложить в виде контактных площадок (напаяться к ним если что)

nkie
Цитата(Serhiy_UA @ Feb 10 2011, 14:36) *
Все заработало как надо с первого раза и для конфигурирования и для программирования. Можно ставить в этом топике точку.
На плате ПЛИС - EP3C40Q240C8 и флэшь – EPCS16SI8N. Программатор у меня USB Blaster, его буфера получают 3.3 В от платы. У ПЛИС на входах MSEL код 010, где на единичку подается 2.5 В. Использована схема программирования, что на рис. 9–29, из «Configuration Handbook».
Оказалось достаточно одного разъема JTAG, а разъем под AS действительно можно убрать. Как работать с JTAG и загрузчиком SFL, подробно описано в an370.pdf.

А почему буфера получают 3.3В? В хандбуке написано про 4-й пин JTAG-a следующее: "Power up VCC of the ByteBlaster II, USB-Blaster, ByteBlasterMV, or Ethernet Blaster cable with a 2.5- V supply from VCCA"
almost
Цитата(nkie @ Jul 20 2011, 16:24) *
А почему буфера получают 3.3В? В хандбуке написано про 4-й пин JTAG-a следующее: "Power up VCC of the ByteBlaster II, USB-Blaster, ByteBlasterMV, or Ethernet Blaster cable with a 2.5- V supply from VCCA"


Подтверждаю что питаться должны от 2.5 В ФАПЧевского. Иначе у меня не работала конфигурация.
Serhiy_UA
Цитата(nkie @ Jul 20 2011, 15:24) *
...В хандбуке написано про 4-й пин JTAG-a...

Вопрос не простой и запутанный самими составителями документации от Altera. Хорошо бы уточнить страницу, версию "хандбуке", и с вопросами давать точные ссылки. А то разговор не о чем...
У меня есть свои соображения, но давайте по порядку...
des00
Цитата(Serhiy_UA @ Jul 20 2011, 23:23) *
У меня есть свои соображения, но давайте по порядку...

житаг на 3 их сыклонах должен работать от 2.5В, т.к. на этих пинах нет диодов и могут не выполняться требования по овершотам. Стандартная ошибка всех кто переходит с младших сыклонов не читая даташит.
Serhiy_UA
Цитата(des00 @ Jul 21 2011, 08:37) *
житаг на 3 их сыклонах должен работать от 2.5В, т.к. на этих пинах нет диодов и могут не выполняться требования по овершотам. Стандартная ошибка всех кто переходит с младших сыклонов не читая даташит.

1. Овершот - это когда больше 4.1В?
2. У меня есть несколько примеров готовых плат от других разработчиков с Cyclone III, где запитка JTAG идет от 3.3В, почему? Мог бы эти примеры здесь выложить..
3. Я тоже запитал от 3.3В, правда поставил на все линии JTAG диоды Шотки BAT54S с проходным напряжением 0.5В (подтяжка снизу 0В, сверху 3.3В). С Usb_Blaster полет нормальный...
4. Также применяю для согласования с PCI микросхемы IDTQS3861. Думаю, что это был бы самый надежный вариант между Cyclone III и JTAG....
des00
Цитата(Serhiy_UA @ Jul 21 2011, 00:25) *
1. Овершот - это когда больше 4.1В?
2. У меня есть несколько примеров готовых плат от других разработчиков с Cyclone III, где запитка JTAG идет от 3.3В, почему? Мог бы эти примеры здесь выложить..
3. Я тоже запитал от 3.3В, правда поставил на все линии JTAG диоды Шотки BAT54S с проходным напряжением 0.5В (подтяжка снизу 0В, сверху 3.3В). С Usb_Blaster полет нормальный...
4. Также применяю для согласования с PCI микросхемы IDTQS3861. Думаю, что это был бы самый надежный вариант между Cyclone III и JTAG....

1. да
2. у меня тоже таких плат куча, но это не значит что нужно делать так.
3/4. что только не придумают лишь бы не делать так, как рекомендует производитель чипа (что к тому же не требует лишних корпусов)
Serhiy_UA
Цитата(des00 @ Jul 21 2011, 09:31) *
3/4. что только не придумают лишь бы не делать так, как рекомендует производитель чипа (что к тому же не требует лишних корпусов)

Еще раз просмотрел Configuration Handbook. Там действительно рекомендовано на 4-й вывод JTAG везде VCCA, т.е. 2.5В. Значит и надо так...

У меня в схеме к 4-му выводу идут два резистрора по 0 Ом, для запитки либо от 3.3В, либо от 2.5В . Тот что подключен к 2.5 В я не ставил. Теперь поставлю, я что подключен к 3.3В - сниму. Проглядел...
nkie
Вот и я также резисторами ставил, но подключил сразу к 2.5В и поэтому удивился, что вы на 3.3В вешали. У меня то работало все. Вот и решил посоветоваться, как правильно.
sergtsa
msel[3..0] выбираем режим загрузки и какое питание будет на JTAG
(точнее питание IO буфер JTAG 6 pin )
само msel подключаем к VCCA, GND

вроде так )

читаем ремарки маленким шрифтом ,
в Cyclone III Device Handbook

там есть зависимости питания банков от применяемых интерфейсов например.
(при использовании LVDS, питание должно быть 2.5V (наколько помню, лучше уточнить)
и если линии LVDS на том же банке что и JTAG . то питать JTAG напряжением указаным для питания соответствующего интерфейса (2.5V для LVDS насколько помню). )

ну и диоды , не забыть )
защита от перенапряжения на длинном кабеле.
justontime
Возник следующий вопрос... В Cyclone III "Pin connection guidelines" написано, что при AS configuration mode обязательно нужно включать резистор 25 Ом между DATA0 FPGA и DATA EPCS.
Действительно, на картинке, например, 9-3 в Cyclone III Handbook этот резистор присутствует.

Нажмите для просмотра прикрепленного файла

Но вот на картинке 9-7 (и других подобных) такого резистора уже нет. Pin connection guidelines достаточно категоричен по данному поводу (используется слово must), почему же тогда на схемах этого резистора нет ???

Нажмите для просмотра прикрепленного файла
Serhiy_UA
Цитата(justontime @ Feb 19 2016, 11:29) *
Возник следующий вопрос... В Cyclone III "Pin connection guidelines" написано, что при AS configuration mode обязательно нужно включать резистор 25 Ом между DATA0 FPGA и DATA EPCS.

Не стал разбираться, а просто посмотрел, что реально установил для Cyclone III на своих платах (всего есть 18 работающих плат). Резистор в цепи стоит (здесь я подстраховался), но он реально равен нулю, то есть, получается, что можно обойтись и без него.
Такие резисторы обычно стоят для сглаживания скачков в переходных процессах. Видимо, на моих платах этих скачков нет (плата на 4-х слоях с большим земляным экраном под этими сигнальными цепями, да и цепи короткие, по этому их индуктивность мала...). Вывод: ставьте или нет по своему усмотрению.

По поводу схемы на рис.9.7... Я ее в схему своих плат тоже вводил, но ни разу не использовал, т.е. ее можно убрать с диодами, конденсаторами и разъемом, как избыточные - будет маленькая экономия. Вместо этой схемы для конфигурирования ПЛИС и программирования EPCS16 пользовался входами JTAG. Здесь в первом случае загружал sof-файл (отладка ПЛИС), а во втором jic-файл (уже рабочий для EPCS16).
justontime
Цитата(Serhiy_UA @ Feb 19 2016, 12:04) *
... получается, что можно обойтись и без него.


Понятно, что скорее всего заработает, но мне интересно добраться до истины в последней инстанции sm.gif

Могу также предположить, что отсутствие резистора на второй схеме компенсируется наличием диода/конденсатора, но хотелось бы все таки найти официальное мнение Альтеры по этому поводу...
justontime
Цитата(Serhiy_UA @ Feb 19 2016, 12:04) *
...а во втором jic-файл (уже рабочий для EPCS16).


Я правильно понимаю, что в этом случае нужно сначала залить Serial Flash Loader в FPGA ?
Serhiy_UA
Цитата(justontime @ Feb 19 2016, 14:50) *
Я правильно понимаю, что в этом случае нужно сначала залить Serial Flash Loader в FPGA ?

Да так, там все достаточно просто, в приложении мои заметки себе на память, когда я это все осваивал...

По поводу резистора - ставьте не помешает.
justontime
Цитата(Serhiy_UA @ Feb 19 2016, 14:33) *
... в приложении мои заметки себе на память, когда я это все осваивал...


Спасибо !
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.