Полная версия этой страницы:
Cyclone III,
Serhiy_UA
Nov 11 2010, 13:06
Схем конфигурирования много, я выбрал комбинированную с 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
Nov 11 2010, 13:13
Цитата(Serhiy_UA @ Nov 11 2010, 15:06)

1). ставить 1К
2). граблей и т.д. не видел
Farsch
Nov 11 2010, 14:46
прошу прощения, небольшой оффтоп.
не смог найти в описании Cyclone III, имеется ли там DLL. так есть всё же или нет?
_Anatoliy
Nov 11 2010, 15:12
Цитата(Farsch @ Nov 11 2010, 16:46)

В нём PLL только...
Вот если взять картинку 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
Nov 12 2010, 07:04
ReAl, спасибо за наводочки!
Я предчувствовал, что без SFL не обойтись, да и an370.pdf кстати, его до этого не видел. Схему использую как на рис.9-29, она наиболее универсальная - места на плате пока хватает, зато будет выбор.
Ссылка на сайт evodbg.com тоже хорошая, много полезной информации нашел.
Serhiy_UA
Dec 24 2010, 07:50
Хотел бы разобраться в последовательных схемах программирования, по этому, продолжу эту тему здесь.
Есть два понятия: конфигурирование 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
Dec 24 2010, 09:56
1. так
2. мне JTAG за глаза хватает, через него и отлаживать можно и флешку зашивать. да и схема простая.
3. все в CH написано, что надо
4. наверное, с прошлых серий ПЛИС фичи копились и в итоге имеется некоторая избыточность.
almost
Dec 27 2010, 04:23
Цитата(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
Dec 27 2010, 06:10
Цитата(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
Dec 28 2010, 04:06
Цитата(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
Dec 28 2010, 05:24
Цитата(almost @ Dec 28 2010, 10:06)

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

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

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

Оказалось достаточно одного разъема JTAG, а разъем под AS действительно можно убрать.
Это для скурпулезных людей.
Бывают случаи при работе с usb бластером, пользователи жгут или бластер, или порт jtag FPGA.
Для экономии кристаллов можно разъем под AS заложить в виде контактных площадок (напаяться к ним если что)
Цитата(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
Jul 20 2011, 13:23
Цитата(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
Jul 21 2011, 05:23
Цитата(nkie @ Jul 20 2011, 15:24)

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

У меня есть свои соображения, но давайте по порядку...
житаг на 3 их сыклонах должен работать от 2.5В, т.к. на этих пинах нет диодов и могут не выполняться требования по овершотам. Стандартная ошибка всех кто переходит с младших сыклонов не читая даташит.
Serhiy_UA
Jul 21 2011, 06:25
Цитата(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....
Цитата(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
Jul 21 2011, 06:58
Цитата(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В - сниму. Проглядел...
Вот и я также резисторами ставил, но подключил сразу к 2.5В и поэтому удивился, что вы на 3.3В вешали. У меня то работало все. Вот и решил посоветоваться, как правильно.
sergtsa
Jul 25 2011, 19:48
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
Feb 19 2016, 08:29
Возник следующий вопрос... В 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
Feb 19 2016, 09:04
Цитата(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
Feb 19 2016, 09:27
Цитата(Serhiy_UA @ Feb 19 2016, 12:04)

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

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

...а во втором jic-файл (уже рабочий для EPCS16).
Я правильно понимаю, что в этом случае нужно сначала залить Serial Flash Loader в FPGA ?
Serhiy_UA
Feb 19 2016, 11:33
Цитата(justontime @ Feb 19 2016, 14:50)

Я правильно понимаю, что в этом случае нужно сначала залить Serial Flash Loader в FPGA ?
Да так, там все достаточно просто, в приложении мои заметки себе на память, когда я это все осваивал...
По поводу резистора - ставьте не помешает.
justontime
Feb 19 2016, 11:40
Цитата(Serhiy_UA @ Feb 19 2016, 14:33)

... в приложении мои заметки себе на память, когда я это все осваивал...
Спасибо !
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.