Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Эффект "защелкивания" выхода в третьем состоянии EPM7032A
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Andre_Pr
Стоит на плате EPM7032ATC44, кто поставил, не знаю, немцы какие-то, перешивать пока не рискую. Некоторые выводы в третьем состоянии с подтяжками 10 кОм к +3,3В. Замкнув такой вывод на землю и отпустив, не вижу на нем возврата к высокому уровню - что-то меньше вольта остается. Если после этого его коротнуть на + , на нем устанавливается нормальная единичка. К выходам еще подключены входы однонаправленных 245-х буферов, они работают исправно.
И попутный вопрос: выходили ли у кого-то из строя входные/выходные каскады подобной логики? И если это мой случай, спасет ли меня считанная с неисправной CPLD прошивка?
EvgenyNik
Вход тянулся бы туда, куда подтяжка. Если внутренне сделать подтяжку (не помню - есть ли такая возможность в MAX7k) к нулю, а внешне тянуть к питанию, то при равных сопротивлениях возможны различные эффекты.
Я всегда стараюсь избегать не подключенных неиспользуемых входов, делаю их выходами - у них меньше сопротивление и убить статикой их сложнее. Однако, есть такая неприятная особенность, что если случайно залить прошивку с назначенным выходом лог. 1, а внешне посадить его на ноль, то некоторые семейства CPLD просаживают своё внутреннее питание и по этой причине становятся нечувствительны к jtag-подключению.
Так же мало приятного в том, что жёстко назначенные выводы будут испытывать на себе действия, подобные вашим sm.gif - к нулю подключили, к питанию...
Описываемый Вами эффект, наверное, можно получить сделав следующее:
назначаем выход открытым коллектором (снаружи подтяжка к питанию)
ставим драйвер типа TRI, на него внутри заводим лог. 0, а на управляющий вход заводим инверсный сигнал от значения на этом пине.
Что получили? Допустим, сейчас драйвер открыт и мы выдаём 0. Кто-то замыкает его на питание - мы считываем лог. 1 с пина, инвертируем её и подаём на управляющий вход, отключая драйвер. Теперь он закрыт и выход тянется к питанию. Снаружи снова замкнули на лог. 0 - мы открываем драйвер и тоже выдаём ноль. Таким образом, мы всегда либо в нуле, либо в питании, в зависимости от внешнего подключения и избегая длительных КЗ.
gte
Цитата(Andre_Pr @ Oct 19 2011, 08:38) *
Стоит на плате EPM7032ATC44, кто поставил, не знаю, немцы какие-то, перешивать пока не рискую. Некоторые выводы в третьем состоянии с подтяжками 10 кОм к +3,3В.

Почему Вы решили, что эти выводы в Z состоянии?
Цитата
И попутный вопрос: выходили ли у кого-то из строя входные/выходные каскады подобной логики? И если это мой случай, спасет ли меня считанная с неисправной CPLD прошивка?

Был один такой чип. Читается, пишется, но один вывод неисправен.
Из общих соображений не советовал бы что то прошивать не имея правильной копии. Лучше чип выпаять и проверять результат прошивки на другом.
ViKo
Есть такая штука - Bus Hold. Ведет себя так, как описано в первом посте. Не знаю, имеется ли в данной микросхеме, но в Сyсlone II, например, есть.
Andre_Pr
Всем спасибо, чуть поясню: на том чипе явно реализована схема доступа к JTAG цепочке как с системной шины, так и с отладочного разъема. Именно JTAG сигналы с него и висят на выводах, состояние которых я принимаю за высокоимпедансное (монтажным ИЛИ когда-то его называли).
Поведение, описанное уважаемым EvgenyNik, не вполне укладывается в мое понимание задачи этой схемы: надо обратиться к JTAG из системы - открываем TRI буфер, не надо - освобождаем для доступа от разъема отладки. Впрочем... может для самодиагностики система сами проводочки JTAG тестирует?
А вот что бывают неисправные пины, это радует. Правда я пока выпаивать не буду, паяю на аналогичном чипе макетик, залью, повоздействую на входы, посмотрю на выходы.

Цитата(ViKo @ Oct 27 2011, 13:53) *
Есть такая штука - Bus Hold. Ведет себя так, как описано в первом посте. Не знаю, имеется ли в данной микросхеме, но в Сyсlone II, например, есть.


Нету Bus Hold в этой серии, есть только в EPM7000 с буковкой В.
Andre_Pr
EvgenyNik, снимаю шляпу. работает Ваша схема именно так, как и написали. Только одно НО - она дает на выходе "честные" нули, а исходная - непонятно низкие уровни.
EvgenyNik
Цитата
Только одно НО - она дает на выходе "честные" нули, а исходная - непонятно низкие уровни.

Я так и не удосужился посмотреть насчёт возможности внутренней подтяжки у MAX7k, но если там можно подтянуть к нулю, то в описанной мной выше схеме на вход TRI надо подавать лог. 1, а ну управляющий вход значение пина - вот тогда и получится, что при внешней единице на выходе тоже лог. 1, а при внешнем нуле выход в третьем состоянии, а делитель из внешней к плюсу и внутренней к нулю подтяжек плывет как заблагорассудится.
Ну и разумеется, убитые входы у этих микрух бывают. Вплоть до успешной работы на выдачу одного из уровней, но невозможность выдачи другого. Или анекдотичные случаи, когда статикой убивается jtag и ПЛМка не программируется при исправно работающей прежней прошивке.
Andre_Pr
Спаял макетик на новой микросхеме, зашил ее pof-ом от старой. Никто никуда не защелкивается, как и предполагалось. Если принять старую за имеющую неисправные I/O буферы (а почему-бы и нет, подключена к внешней шине без всяких драйверов, мало ли что там на нее навешано...), ее pof при этом не повреждается? Понимаю, вопрос звучит несколько параноидально, но все-же, интересно.
Andre_Pr
Никто таки не знает, откуда берется информация о содержимом CPLD при чтении программером, и можно ли ей верить безоговорочно?
gte
Цитата(Andre_Pr @ Nov 4 2011, 08:07) *
Никто таки не знает, откуда берется информация о содержимом CPLD при чтении программером, и можно ли ей верить безоговорочно?

Если микросхема частично неиcправна, то кто Вам может дать гарантию?
Опишите подробно проблему и направите вопрос в поддержку производителя.
И нам не забудьте сообщить ответ.
Andre_Pr
Так и поступлю, хотя гарантия скажем... Stewart Little меня вполне бы устроила sm.gif
Andre_Pr
Только куда писать Альтере, чтобы ответили, кто знает?
gte
Цитата(Andre_Pr @ Nov 4 2011, 12:49) *
Только куда писать Альтере, чтобы ответили, кто знает?

www.altera.com
Andre_Pr
Не так все просто, или я там искать не умею.
gte
http://www.altera.com/corporate/contact/in...al-support.html
Плюс пройдите регистрацию.
И на форуме можете вопрос задать.
Andre_Pr
Цитата(gte @ Nov 4 2011, 13:38) *
http://www.altera.com/corporate/contact/in...al-support.html
Плюс пройдите регистрацию.
И на форуме можете вопрос задать.


Говоря "не все так просто", я уже прошел регистрацию и не нашел, кому отправить запрос с подробым описанием проблемы. Может хоть собственный форум альтеровцы почитывают.

Цитата(Andre_Pr @ Nov 4 2011, 14:35) *
Говоря "не все так просто", я уже прошел регистрацию и не нашел, кому отправить запрос с подробым описанием проблемы. Может хоть собственный форум альтеровцы почитывают.

Пардон, что-то с глазами, ждем ответа.
sazh
Цитата(Andre_Pr @ Oct 19 2011, 07:38) *
Стоит на плате EPM7032ATC44, кто поставил, не знаю


Надо полагать, проекта у Вас рабочего нет. Тогда смысл всех этих манипуляций с закорачиванием выходов плисины.
Критерий то прост, на выходе буфера истинная иформация или нет.
Andre_Pr
Цитата(sazh @ Nov 4 2011, 16:31) *
Надо полагать, проекта у Вас рабочего нет. Тогда смысл всех этих манипуляций с закорачиванием выходов плисины.

Искал подтверждения своему предположению о ее неисправности. Случайно коротнул, заметил странный эффект, насторожился.
Зашил такую-же считанным pof-ом - практически убедился: неисправна. Выпаять страую не могу, а выкусить не решаюсь sm.gif
Andre_Pr
Всем мои извинения и спасибо за участие. особенно ViKo, сказавшему "Bus Hold". Это он и есть. только не в Альтере, а во входах буферов 16245. Чтобы это проверить, пришлось перепаять и перешить CPLD, хотя можно было ограничиться и чтением документации чуть дальше расположения выводов. А жаль, так хотелось, чтобы была неисправна именно Альтера sad.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.