Jump to content

    
vlso

Семейство MAX10 (Altera/Intel). Порядок включения VCCIO

Recommended Posts

Здравствуйте!

Прошу совета. Разбираю как работает PCIE kit для Cyclone10GX. В этом kit имеется две PLD MAX10. Одна для системных нужд, вторая для загрузки основной FPGA Cyclone10.

При включении питания сначала появляется напряжение +3.3V, которое питает только узел загрузки основной FPGA: оба MAX10 и FLASH, где хранится прошивка для Cyclone10GX.

Далее системная MAX10 (при помощи своих выходных сигналов) управляет включением остальных питаний для Cyclone10GX. Одно из этих питаний (+1.8V) заходит на VCCIO системной MAX10. То есть получается, что это VCCIO на системной MAX10 однозначно не появится, пока не стартует прошивка в этой же системной MAX10. Из чего можно сделать простой вывод, что для старта прошивки MAX10 не требуется наличие VCCIO (кроме банков с выводами JTAG и конфигурации).

Всё это согласуется с handbook на MAX10, о чём там прямым текстом написано:

MAX 10 Power Management Features and Architecture -> Power-On Reset Circuitry

The MAX 10 device POR circuit monitors the following power rails during power up regardless of the
power supply device options:
• VCC or regulated VCC_ONE
• VCCIO of banks 1B and 8 (2)
• VCCA
The POR circuitry also ensures VCCIO level of I/O banks 1B and 8(2) that contain configuration pins reach
an acceptable level before configuration is triggered.

То есть вроде как практика совпадает с теорией.

Но самое интересное, что на следующей странице написано противоречие с практикой:

Figure 2-3: Monitored Power Supplies Ramp Up

Note: All VCCIO banks must reach the recommended operating level before configuration completes.

Примечание: Напряжения питания во всех VCCIO банках должны достигнуть рабочего уровня до завершения конфигурации!

К чему это противоречащее реальности примечание совершенно непонятно. Может кто-нибудь объяснит?

Пытался найти ответ в интернете и наткнулся на такой-же непонятный ответ сотрудника Intel/Altera:

https://community.intel.com/t5/FPGA-SoC-And-CPLD-Boards-And/For-MAX10-Is-it-possible-to-turn-off-the-VCCIO-power-supply-for/m-p/734086/highlight/true?profile.language=ru

Там ссылаются на документ "MAX 10 Power Management User Guide" от 2018 года. Там всё аналогично handbook вместе с этим примечанием.

Затем посмотрел у себя в архивах старую версию этого документа от 2014 года. Там этого примечания не было!

То ли это такая недокументированная возможность, то ли что...

Share this post


Link to post
Share on other sites

Как я понимаю данный текст - конфигурирование ФПГА стартует после достижения правильного питания на перечисленных шинах.

Естественно - после конфигурирования внутренней прошивки она начинает работать сразу же, и если при этом на остальных банках питание еще не в норме - могут быть проблемы.

Какие - с внешними подключенными к этим выводам устройствами и/или с самой MAX10...  - вопрос номер 1

Можно ли не подавать питание на банки, ноги с которых ни к чему не подключены... - вопрос номер 2 (был недавно, буквально пару-тройку дней назад в соседней теме)

 

Share this post


Link to post
Share on other sites
5 minutes ago, Yuri124 said:

Как я понимаю данный текст - конфигурирование ФПГА стартует после достижения правильного питания на перечисленных шинах.

Ну в примечании "before configuration completes" написано. То есть надо, чтобы VCCIO появились именно до момента окончания конфигурации.

7 minutes ago, Yuri124 said:

Естественно - после конфигурирования внутренней прошивки она начинает работать сразу же, и если при этом на остальных банках питание еще не в норме - могут быть проблемы.

А как тогда kit работает ? Ведь по идее считается, что в kit закладывают образцовые решения.

9 minutes ago, Yuri124 said:

Какие - с внешними подключенными к этим выводам устройствами и/или с самой MAX10...  - вопрос номер 1

Не очень понял вопрос. Этот банк системной MAX10, питание которого включается позже старта прошивки, соединяется с пинами конфигурации и JTAG Cyclone10GX с этим же питанием (оно же и на VCCPGM идёт). То есть на момент окончания загрузки MAX10 на IO этого банка по идее активности нет никакой.

 

20 minutes ago, Yuri124 said:

Можно ли не подавать питание на банки, ноги с которых ни к чему не подключены... - вопрос номер 2 (был недавно, буквально пару-тройку дней назад в соседней теме)

Ок, посмотрю.

Share this post


Link to post
Share on other sites

Мой "Вопрос номер 1" - это не к Вам вопрос, а описание "непонятки" - если к моменту старта работы ФПГА остальные банки еще не получат правильного (как задумано в проекте) питания - не отразится ли это на работоспособности самой ФПГА?

Само собой, если питание этих банков еще не в норме, то коммуникация (которая после конфигурирования может сразу же начаться) с внешней обвязкой может быть нарушена. И даже можно подпалить что-нибудь во "внешнем по отношению к ФПГА мире".

Share this post


Link to post
Share on other sites
12 minutes ago, vlso said:

Ок, посмотрю.

Посмотрел.

Вопрос действительно почти как у меня, только вот ответа ясного нет.

Указанная ссылка ведёт на тот же документ "MAX 10 Power Management User Guide".

В ссылке обсуждается "I/O Buffer Power Down", что не совсем то, что меня интересует. Это всё таки отключение питания буфера на I/O выводе, а не на выводе VCCIO.

Причём исходя из "During power-up and configuration modes, the soft power management controller is not yet configured..." ясно, что во время процесса конфигурации "I/O Buffer Power Down" недоступен.

8 minutes ago, Yuri124 said:

Мой "Вопрос номер 1" - это не к Вам вопрос, а описание "непонятки"

Понял. Да, вопрос пока открытый.

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

В общем ещё жду ответа от дистрибьютеров. Ну может и тут кто разбирался и ответит.

Share this post


Link to post
Share on other sites

Думаю, что если имеются две PLD и PLD1 bankX связан c PLD2 bankY c общим VCCIO на обоих PLD, то повода подпалить вроде как нет. А вот  если VCCIO от разных источников, то скорее всего может произойти что-нибудь нехорошее. Похоже Altera поленилась это объяснить.

Edited by vlso

Share this post


Link to post
Share on other sites

ответы, проверенные в железе:

при мееееедленной (таймаут 1с) подаче питания на ноги, ответственные за конфиг, встроенная цепочка ПОР работает как и ожидается, причем в любой конфигурации подачи. т.е.vcc-one, vcca, vccio, или наоборот - фиолетово. как только все питания будут выше порогов, начитается процесс загрузки. И это в общем написано в гайдах.

Банки, НЕ участвующие в конфиге, могут быть полностью обесточены. Само собой, что логика должна осознавать, что с банками работать низя, ибо они еще не готовы. По факту, если пытаться читать и писать в такой банк, на выходе его будет сессна 0, читаться он так же будет нулями. проверено простеньким ногодрыгом.

это все для однопиталищных версий Мах10, т.е. тех, у которых vcc_one, vcca, vccio1a/1b, vccio2....vccio8.

как то так.

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

еще проверено, что Vref в незапитанном vccio банке может присутствовать, и не влиять/ломать банк плис.

ЗЗЫ. Так же надо понимать, что логика работы плис (программа тобишь) таки должна уметь понимать, когда можно работать, а когда нет.

 

 

Share this post


Link to post
Share on other sites
17 hours ago, bloody-wolf said:

ответы, проверенные в железе

Bloody-wolf, огромное спасибо за очень подробную практическую информацию!

Дистрибьютеры запросили у Altera/Intel информацию. Обязательно отпишусь, что ответят.

17 hours ago, bloody-wolf said:

Банки, НЕ участвующие в конфиге, могут быть полностью обесточены.

Я правильно понял, что для старта конфигурации и старта user mode, не требуется наличия VCCIO в банках НЕ участвующих в конфиге?

Другими словами, правильно ли то, что схема POR и схема запуска user mode совсем не проверяет напряжения в этих банках?

 

Share this post


Link to post
Share on other sites
2 hours ago, vlso said:

Я правильно понял, что для старта конфигурации и старта user mode, не требуется наличия VCCIO в банках НЕ участвующих в конфиге?

Другими словами, правильно ли то, что схема POR и схема запуска user mode совсем не проверяет напряжения в этих банках?

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

у меня есть мах10 и фпга от кислых. Мах10 работает как аля платформ манагер, следит за питальниками, устраивает секвенсинг и тд, а докучи еще и делает некий мост между бэкплейном и фпагой от кислых, и вот как раз получается так, что в начальный момент времени мах10 стартует с частично незапитаными банками, которые идут к кислым, и это нормально работает.

Share this post


Link to post
Share on other sites

Просто в качестве подтверждения. Я в своё время на форуме Intel спрашивал для Cyclone V. По итогу подаю напряжение на некоторые банки после конфигурирования. Сделано с десяток устройств, работает без нареканий.

Share this post


Link to post
Share on other sites
15 hours ago, bloody-wolf said:

именно так, этот режим лично меня интересовал в первую очередь и я его проверил

Понял. Ещё раз спасибо. Также сделаю.

 

3 hours ago, dinam said:

для Cyclone V. По итогу подаю напряжение на некоторые банки после конфигурирования

Спасибо, тоже интересная информация на будущее.

Share this post


Link to post
Share on other sites

Как обещал, публикую ответ Intel.

Несмотря на уточнения вопроса с моей стороны финальный ответ довольно сухой:

------------------
In general, VCCIO level of I/O banks 1 and 8 that contain configuration pins need to reach an acceptable level before configuration is triggered. These 2 Vccio bank are monitored by Power-on Reset (POR) circuitry to ensure VCCIO level of I/O banks 1B and 8 reach an acceptable level before configuration is triggered.

POR circuitry uses an individual POR-detecting circuitry to monitor each of the configuration-related power supplies independently. The outputs of all the individual POR detectors gate the main POR circuitry. In other words, those Power Supplies that are not monitored by this POR circuit will not gate the device out from reset.
------------------

По сути копипаста из мануала. Про свой кривой комментарий ни слова.

В общем исходя из практики и этого ответа, считаю, что включать VCCIO банков 2-7 можно после старта микрокода и обращать внимание на противоречивый комментарий нет смысла.

Share this post


Link to post
Share on other sites

Переписка с инженером из Intel была неожиданно продолжена:

-----------------------------------------------------------------------------

I reviewed again the doc, and found out that the document is correct.  

If we refer to 
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/m10_datasheet.pdf

The spec saying that:
VCCIO for all I/O banks must be powered up during user mode because VCCIO I/O banks are used for the ADC and I/O functionalities

then we can refer to:
https://www.intel.com/content/www/us/en/programmable/documentation/myt1393986555723.html

The spec saying that:
1. The POR circuitry also ensures V
CCIO level of I/O banks 1B and 82 that contain configuration pins reach an acceptable level before configuration is triggered.
2. All VCCIO banks must reach the recommended operating level before configuration completes.

It is correct because only Vccio of I/O banks 1B and 8 need to be up before configuration is triggered but all VCCIO banks must be up before the configuration is completed.
-------------------------------------------------------------------------------

 

Потом я ещё раз собрал и привёл ему все доказательства. Ссылался на старые доки, схемотехнику kit от Cyclone10GX и практику из форума :)

После чего он ответил уже более существенно:

-------------------------------------------------------------------------------

In general, POR monitored supplies is a MUST for configuration to trigger/complete. Other banks VCCIO which are not POR monitored, theoretically does not affect the configuration and functionality, but this is not characterized and validated as this is not a common use case.

Engineering from Device team has validated the common use cases where all VCCIO are up before configuration completes and we always recommend users to do the same.

Board team shall always validated and evaluated on every release of the devkit for any specific implementation on their end.

-------------------------------------------------------------------------------

 

Так что если нельзя, но очень хочется, то можно!

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.