Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: выводы при загрузке ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Дварфик
Есть вот такая особенность ПЛИС Фирмы Xilinx Virtex (первый) на 400 вентилей.
Во время загрузки (около секунды) состояние на выходах нулевое. НО в последние 70мкс выводы принимают какое-то странное третье состояние 1.5В (логика 0-3.3). Только после этого происходит поднятие сигнала DONE, сигнализирующего, что загрузка завершена.
Проблема в следующем: сначала ЦАПы принимают уровень на этих выводах за ноль, а последние 70мкс - за единицу. Соответственно у меня громадных размеров всплеск, и убрать его проблематично: VHDL-код в тот момент ещё не работает и впаять на каждый вход ЦАПа резистор затруднительно ((

Облазил и форум и настройки в ISE
Вот доп информация: Внутренний клок (CCLK) равен 4МГц по дефолту, как и всё остальное. Unused IOB pins: Pull Down.

Может кто даст читабельную ссылку по настройкам начального состояния ПЛИС?
Есть вариант не запаивать на все 12 входов ЦАПа подтягивающий резистор, а запаять два-три верхних, то вплеск уменьшится 2-4 раза. ЦАПов на плате их аж два, соответственно вместо 24 будет 6-8 резисторов, или будет резисторная матрица. Но может есть вариант получше?
Shtirlits
Уточните микросхему - интересно, который из виртексов.
Дварфик
Цитата(Shtirlits @ Nov 24 2010, 11:07) *
Уточните микросхему - интересно, который из виртексов.

Первый виртекс. Т.е. без номера поколения
sazh
Цитата(Дварфик @ Nov 24 2010, 11:06) *
Есть вот такая особенность ПЛИС Фирмы Xilinx Virtex (первый) на 400 вентилей.


Неужели у Virtex нет внутренних подтягивающих резисторов на vcc i/o в интервале конфигурации и инициализации.
ViKo
2 Дварфик
А вы запаяйте подтягивающие резисторы на землю. pull-down.
sazh
Цитата(Дварфик @ Nov 24 2010, 11:06) *
Проблема в следующем: сначала ЦАПы принимают уровень на этих выводах за ноль, а последние 70мкс - за единицу. Соответственно у меня громадных размеров всплеск, и убрать его проблематично: VHDL-код в тот момент ещё не работает и впаять на каждый вход ЦАПа резистор затруднительно ((


Обычно у цапов есть вход, устанавливающий регистры цапа или в 0 или в середину шкалы.
Сигнал, отвечающий за интервал конфигурации плиса туда просится. А в регистрах плиса по включению - прописать теже значения.
Всплеска не будет.
Shtirlits
Кое-что можно попробовать, правда решение для Virtex-II/IIpro. Но мало ли...

http://direct.xilinx.com/support/answers/18277.htm

QUOTE
Insert OBUFEs on the outputs that are transitioning during configuration.
Bring the 3-state control signal of the OBUFE to an external I/O pin.
Ensure that the system drives this pin Low prior to pulsing the PROG pin Low.


Как я понял, природа явления заключается в том, что в выходах активируются PULL-UP резисторы по мере загрузки.
А решение неожиданное - на тех выходах, которые глитчат/глючат предлагается сделать tri-state,
управляющий сигнал вывести наружу и подключить к ножке PROG на плате.

Интересно, этот вывод и его разводка успеет к этому моменту сконфигурироваться?
К сожалению, не знаю в каком порядке что загружается.
Дварфик
Цитата(sazh @ Nov 24 2010, 11:19) *
Неужели у Virtex нет внутренних подтягивающих резисторов на vcc i/o в интервале конфигурации и инициализации.

В настройках конфигурации загрузки множество всяких пунктов, но они либо не подходят, либо мне непонятны. Описание на них я ещё не нашёл.
К сожалению.
Большую часть загрузки на выходах чистый ноль (напоминаю загрузка длится больше секунды), а последние 70мкс сигнал подтягивается к единице при этом не 3.2 В а только 1.5 В, что для срабатывания ЦАПа достаточно. И только потом поднимается сигнал DONE и выводы наконец-то становятся нулевыми, как и было запрограмировано на VHDL.


Цитата(Shtirlits @ Nov 24 2010, 12:37) *
Кое-что можно попробовать, правда решение для Virtex-II/IIpro. Но мало ли...

Вариант интересный, обязательно проверю. А пока что нашёл только "железный" способ. На плате есть злая собака -- Watch Dog, он срабатывает через 200мкс после подачи питания. Возможно, мне удастся с помощью его заткнуть ЦАП.
Shtirlits
1.5V получается скорее всего из-за подтяжки слабыми PULL-UP-ами, а чтобы 3.2V сделать у них силы не хватает.
Если это так, то подтяжка к земле может решить проблему и не создать новую.
sazh
Цитата(Дварфик @ Nov 24 2010, 14:45) *
Большую часть загрузки на выходах чистый ноль (напоминаю загрузка длится больше секунды), а последние 70мкс сигнал подтягивается к единице при этом не 3.2 В а только 1.5 В, что для срабатывания ЦАПа достаточно.


Не может там быть нуля. Это наверно неподтянутое z состояние.
Непонятно на что цап реагирует, если клок на него плисом после конфигурации выдается.
Повторюсь. У Цапа clr должен быть. На него можно подать "служебный" сигнал окончания конфигурации плис.
oleg_v_
А какие у Вас уровни на контактах M2, M1 и M0 ?
EvgenyNik
Если у ЦАПа есть вход навроде OutEnable, то достаточно завести управление на него и только его подтянуть резистором.
Дварфик
Цитата(sazh @ Nov 24 2010, 15:37) *
Не может там быть нуля. Это наверно неподтянутое z состояние.
Непонятно на что цап реагирует, если клок на него плисом после конфигурации выдается.
Повторюсь. У Цапа clr должен быть. На него можно подать "служебный" сигнал окончания конфигурации плис.

Выход ПЛИС сначала подтянут на ноль, потом подтягивается к единице. Соответственно появляются странные напряжения, потипу 0.3В или 1.5В. Занулить ЦАП в моём случае можно, но сложно. ЦАП не простой, используется связка ЦАП-ДЗУ.

M0 M1 M2 в нуле, соответственно не в этом дело. По даташиту Configuration Pull-ups = NO

Цитата(Shtirlits @ Nov 24 2010, 12:37) *
1.5V получается скорее всего из-за подтяжки слабыми PULL-UP-ами, а чтобы 3.2V сделать у них силы не хватает.
Если это так, то подтяжка к земле может решить проблему и не создать новую.

А решение неожиданное - на тех выходах, которые глитчат/глючат предлагается сделать tri-state,
управляющий сигнал вывести наружу и подключить к ножке PROG на плате.

Догадка правильная: в ПЛИС подтягивающий резистор равен 50 КОм, входной ток у ЦАП 100мкА, по закону Ома будет потеря до 1.6В. Как и было измеряно.

ДАННОЕ РЕШЕНИЕ ПОЛНОСТЬЮ РАБОТАЕТ. И в моём случае даже желательнее. Иначе мне пришлось бы использовать и логику и ДЗУ и вотч дог.

Благодарю всех участников темы, особенно Shtirlits за проявленный интерес и нахождение "красивого" решения ))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.