Перейти к содержанию
    

Вывод DONE у ПЛИС Xilinx и схема подключения к нему светодиода

7 минут назад, AzardCry сказал:

Я никогда не разрабатывал устройства, где несколько ПЛИС загружаются по цепочке. При этом здесь написано "For all devices except the first, the active driver on DONE must be disabled", т.е. логика такова, что всё же один DONE работает как выход (последний в цепочке), а другие ждут его сигнала, насколько я это понял.

В целом верно, но если драйвить DONE будет самая первая сконфигурированная ПЛИС, то получится соединение выхода с уровнем "1" с выходом с уровнем "0", что чревато выходом пинов из строя. Поэтому активно драйвить DONE должна только самая крайняя ПЛИС в цепочке, которая получает конфигурацию в последнюю очередь и в этом случае можно обойтись без подтяжки на линии DONE.

Но вне зависимости от режима конфигурации, ПЛИС всегда смотрит на состояние сигнала DONE.

12 минут назад, AzardCry сказал:

Правильно ли я думаю, что в схеме, где только одна ПЛИС загружается из SPI FLASH, дополнительный резистор не нужен (потому что не сказано обратного), потому что в таком режиме загрузке ПЛИС нам не интересен уровень на выводе DONE?

Нет, вы думаете неправильно и примеры в гайде ясно об этом говорят. На DONE должен появиться уровень единицы, чтобы началась startup sequence, а без резистора под светодиодом ПЛИС единицу не увидит, т.к. падение на светодиоде может быть меньше уровня активной единицы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, makc сказал:

Вы разрабатывали что-нибудь на Xilinx?

Разумеется. При питании 1.8В такая схема не годится в любом случае - сколько резисторов не вешай - только дополнительный транзистор на какое-то другое бОльшее питание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, Zig сказал:

В серии Spartan-6 вывод DONE может быть как open-drain, так и push-pull. Поэтому резистор последовательно со светодиодом лучше оставить, чтобы обезопаситься от криворуких/забывчивых плисоводов.

 

Это, кстати, относится и к седьмой серии. И является вторым, но не основным, аргументом в пользу резистора под светодиодом.

1 минуту назад, Arlleex сказал:

Разумеется. При питании 1.8В такая схема не годится в любом случае - сколько резисторов не вешай - только дополнительный транзистор на какое-то другое бОльшее питание.

Причём здесь 1.8В, если у ТС на схеме 3.3В? 🤦‍♂️

И раз вы используете Xilinx, то знаете про механизм задержки startup с помощью нулевого уровня на DONE?

10 минут назад, eddddy сказал:

DONE  "1" - светодиод горит, DONE  "0" - не горит.

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

 

О нет... Это так не работает. 😔

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, makc сказал:

О нет... Это так не работает. 😔

Это почему это?

Нарисованная схема именно так и работает: представьте находящийся на кристалле мосфет, стоком на пин DONE

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, eddddy сказал:

Это почему это?

Нарисованная схема именно так и работает: представьте находящийся на кристалле мосфет, стоком на пин DONE

 

Потому что вы пишете, но не читаете написанное. Нулевой уровень на DONE задержит запуск ПЛИС, как написано, например здесь https://support.xilinx.com/s/article/51686?language=en_US

Не обращайте внимание, что написано не про Spartan-6, логика у них в этом плане одна и та же. И низкий уровень на DONE из-за светодиода не даст нормально запуститься ПЛИС, поэтому добавили резистор, дающий дополнительное падение напряжения и в результате правильный уровень единицы на DONE.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 минут назад, makc сказал:

И раз вы используете Xilinx, то знаете про механизм задержки startup с помощью нулевого уровня на DONE?

Открыл, посмотрел, как делал я. Сейчас практически всегда светодиоды подключены либо транзистором, либо микросхемой-буфером. В старых проектах - светодиод напрямую, без доп. резистора (согласен, это действительно так себе, потому что мне, скорее всего, везло с тем, что у LED весьма большое падение было).

А еще делал вместо индикации DONE индикацию NO DONE - т.е. светодиод менял на красный, и подключал цепочкой 3.3V -> 330 Ом -> FPGA_DONE. Но это, скорее, потому, что на плате много всяких индикаторов, и проще смотреть что сдохло, а не то, что запустилось и работает нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, Arlleex сказал:

Открыл, посмотрел, как делал я. Сейчас практически всегда светодиоды подключены либо транзистором, либо микросхемой-буфером.

Лишние позиции в BOM, лишние затраты, когда достаточно простого резистора, который стоит в серии практически ноль рублей.

2 минуты назад, Arlleex сказал:

В старых проектах - светодиод напрямую, без доп. резистора (согласен, это действительно так себе, потому что мне, скорее всего, везло с тем, что у LED весьма большое падение было).

Везение может изменить в определённых температурных условиях. Поэтому резистор в вышеприведённой схеме нужен.

2 минуты назад, Arlleex сказал:

А еще делал вместо индикации DONE индикацию NO DONE - т.е. светодиод менял на красный, и подключал цепочкой 3.3V -> 330 Ом -> FPGA_DONE.

Мы с коллегами тоже так делали, но людям почему-то больше нравится видеть зелёный, который показывает, что ПЛИС сконфигурировалась. Некоторые к этому так привыкли, что другого и видеть не хотят в принципе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 часов назад, makc сказал:

Лишние позиции в BOM, лишние затраты, когда достаточно простого резистора, который стоит в серии практически ноль рублей.

Везение может изменить в определённых температурных условиях. Поэтому резистор в вышеприведённой схеме нужен.

Мы с коллегами тоже так делали, но людям почему-то больше нравится видеть зелёный, который показывает, что ПЛИС сконфигурировалась. Некоторые к этому так привыкли, что другого и видеть не хотят в принципе.

Тему считаю закрытой. В завершение скажу, что в том числе обнаружилось (возможно, я просмотрел это в новой документации - не увидел) что в UG332 v 1.3 для устройств SPARTAN-3 есть как схема (таблица) управляющего драйвера, так и упоминание (стр. 240), что ПЛИС (в т.ч. в одиночном варианте) не начнёт свою работу, пока в статусный регистр, бит DONEIN не запишется состояние (со стока транзистора) вывода DONE. Также, думаю, резонное замечание о том, что если вдруг даже напряжения на диоде хватит, но будет установлена опция в BitGen на Push-Pull каскад, то вывод может выйти из строя. Ну и разумеется, деградация элементов платы, температура тоже могут внести "коррективы" в работу.

Изменено пользователем AzardCry

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...