Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: высокий уровень на I/O во время конфигурации ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
kostya.v
Обратил внимание, что во время конфигурации Spartan -3E одна из ножек I/O подтягивается к высокому уровню. Вполное возможно, что это происходит со всеми выводами, но проблему вызывает только данный вывод. Дело в том, что у меня схеме стоит ЦАП, сигнал с выхода которого усиливается усилителем. Пока ЦАП не проинициализирован его выход находится в третьем состоянии, и на выходе усилителя присутствуют +10В. После инициализации ЦАП уровень сигнала на выходе усилителя переходит в ноль. Для того, чтобы этии 10В не спалили остальные компоненты схемы, я поставил аналоговый ключ, который открывается при высоком уровне входного сигнала с FPGA. В результате в момент конфигурации FPGA у меня выходят из строя пару важных микросхем.
В связи с этим возникает вопрос, можно ли как нибудь избежать подтяжки к высокому уровню I/O FPGA или все таки придется изменять схему?
YuP
Для ISE

Process Properties->Configuration Options
Там куча начтроек,которые могут Вам помочь.
Boris_TS
При старте у ПЛИС все выходы подтягиваются к питанию (внутренними pullup), поэтому для того, чтобы до начала конфигурации был устойчивый '0', Вам понадобится добавить внешнюю подтяжку к земле (уверенно перетягивающую внутренний pullup).

Если я не ошибаюсь, для S3E есть настройки на поведение ног на время программирования, но проблема в том, что до начала загрузки прошивки все равно остается подтяжка к '1'.
sazh
Цитата(kostya.v @ Dec 1 2008, 13:03) *
Пока ЦАП не проинициализирован его выход находится в третьем состоянии, и на выходе усилителя присутствуют +10В.

С чего это вдруг. Озвучьте тип. Обычно цап имеет вход clr и возможность установить на выходе типа
Loads Midscale Value (0x800)
Loads Zero-Scale Value (0x000)

Есть наверно и у xilinx понятие интервал конфигурации и инициализации fpga. И внешние сигналы, отвечающие за эти интервалы.
Т.Е. всегда есть возможность определить момент перехода кристалла после включения в пользовательский режим.
Или с помощью специализированных пинов кристалла, либо сконфигурировав выходной пин i/o в ноль. (В мнтервале конфигурации подтянут ынутренними резисторами к 1, в пользовательском режиме 0)
kostya.v
Цитата(sazh @ Dec 1 2008, 16:35) *
С чего это вдруг. Озвучьте тип. Обычно цап имеет вход clr и возможность установить на выходе типа
Loads Midscale Value (0x800)
Loads Zero-Scale Value (0x000)

Есть наверно и у xilinx понятие интервал конфигурации и инициализации fpga. И внешние сигналы, отвечающие за эти интервалы.
Т.Е. всегда есть возможность определить момент перехода кристалла после включения в пользовательский режим.
Или с помощью специализированных пинов кристалла, либо сконфигурировав выходной пин i/o в ноль. (В мнтервале конфигурации подтянут ынутренними резисторами к 1, в пользовательском режиме 0)


Тут я ошибся, после включения питания выходы ЦАП переходят в ноль. К сожалению, это я сам накосячил в схеме и ноль на выходе ЦАП означает +10В на выходе усилителя(инвертирующий вход ОУ). Надо было,конечно,схему по другому делать. После конфигурации ПЛИС сразу посылает новые установки для ЦАП и переводит выходы в 2.5В, что значит ноль на выходу ОУ.

Цитата(YuP @ Dec 1 2008, 16:09) *
Для ISE

Process Properties->Configuration Options
Там куча начтроек,которые могут Вам помочь.

К сожалению, ничего нужного я там не нашел.

Цитата(Boris_TS @ Dec 1 2008, 16:25) *
При старте у ПЛИС все выходы подтягиваются к питанию (внутренними pullup), поэтому для того, чтобы до начала конфигурации был устойчивый '0', Вам понадобится добавить внешнюю подтяжку к земле (уверенно перетягивающую внутренний pullup).

Если я не ошибаюсь, для S3E есть настройки на поведение ног на время программирования, но проблема в том, что до начала загрузки прошивки все равно остается подтяжка к '1'.

Судя по всему единственный надежный выход - это ставить инвертор, и в будущем в качестве активного уровня использовать логический ноль.
YuP
Почитайте про пин HSWAP может он вам чем поможет
Если на нем "0",то

Pull-up resistors connect to the associated
VCCO supply for all user-I/O or dual-purpose
I/O pins during configuration. Pull-up resistors
are active until configuration completes.

Если на нем "1",то
Pull-up resistors disabled during configuration.
All user-I/O or dual-purpose I/O pins are in a
high-impedance state.
Warlockwolf
Цитата(kostya.v @ Dec 1 2008, 14:03) *
я поставил аналоговый ключ, который открывается при высоком уровне входного сигнала с FPGA.


может ключ поменять.
как правило в серии есть два типа. нормально замкнутый и нормально разомкнутый.
kostya.v
Цитата(YuP @ Dec 1 2008, 21:51) *
Почитайте про пин HSWAP может он вам чем поможет
Если на нем "0",то

Pull-up resistors connect to the associated
VCCO supply for all user-I/O or dual-purpose
I/O pins during configuration. Pull-up resistors
are active until configuration completes.

Если на нем "1",то
Pull-up resistors disabled during configuration.
All user-I/O or dual-purpose I/O pins are in a
high-impedance state.


Спасибо, именно то что надо. Сейчас займусь поиском данной ножки на плате.

Цитата(Warlockwolf @ Dec 1 2008, 22:09) *
может ключ поменять.
как правило в серии есть два типа. нормально замкнутый и нормально разомкнутый.

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