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

Емкостная нагрузка на выводе XC9536XL

Задача - сделать задержку на XC9536XL задержка должна быть асимметричной - при подаче сигнала - 3 секнуды, а когда сигнал пропал - чем меньше, тем лучше. Генератора нет, точность совершенно не важна. Самое простое решение - RC цепочка.

 

Я подобрал компоненты - 22к резистор + 220мкФ конденсатор. Конденсатор заряжается через резистор, а разряжается напрямую ножкой. Такой разряд может происходить раз в минуту.

 

Вопрос - можно ли напрямую ножкой CPLDшки разряжать такой большой конденсатор? У меня, пока, ничего не сломалось, и в апноутах Ксилинкса ничего по этой теме не нашел, но допускается ли это в принципе?

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


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

На мой взгляд, так делать нельзя.

Если предположить, что конденсатор заряжен до 3.3В, то Вы, по сути, закорачиваете ножку на зто напряжение. Разрядный ток при этом ограничен только внутренним сопротивлением транзистора драйвера. Мне кажется, это снизит его ресурс, то есть CPLDшка рано или поздно вылетит. Я бы добавил полевик+токоогранич. резистор на разряд и увеличил R, уменьшив C.

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


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

Разрядный ток при этом ограничен только внутренним сопротивлением транзистора драйвера.

Это будет так, даже если емкость бедет, к примеру, 10пФ. То, что ножка потянет 10пФ - это без сомнений. Вопрос в том, где граница - что можон, а что нельзя. Должны быть какие-то данные по мощности, которую может рассеять транзистор, или еще что-то такое. В аппликухе одной был пример расчета потребления светодиодов. Там ток ограничивался исключительно мощностью, рассеиваемой корпусом плисины.

 

Мне кажется, это снизит его ресурс, то есть CPLDшка рано или поздно вылетит. Я бы добавил полевик+токоогранич. резистор на разряд и увеличил R, уменьшив C.

R увеличить тоже просто так не получается, там, оказывается есть не отключаемый подтягивающий резистор к 2.5В. Даже если в фиттере поставить -terminate = Float, он остается.

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


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

У меня, пока, ничего не сломалось, и в апноутах Ксилинкса ничего по этой теме не нашел, но допускается ли это в принципе?

Вот вам подходящий документик I/V Curves for Xilinx FPGA and CPLD FamiliesВыход из строя элементов (равно как и их преждевременное старение) происходит, преимущественно, от локального перегрева. Дальше прикидывайте сами... Но то, что Вы делаете - это жестокое насилие над CPLD.

 

Вопрос - можно ли напрямую ножкой CPLDшки разряжать такой большой конденсатор?
Если хотите сжечь CPLD - то да: 180mA в первый момент открытия транзистора - это как-то многовато !

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


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

Аппноут этот я прочитал, но не нашел ответа на свой вопрос - какой ток и в течении какого времени считается допустимым? Какой резистор на разряд мне ставить? Как это рассчитать?

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


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

Аппноут этот я прочитал, но не нашел ответа на свой вопрос - какой ток и в течении какого времени считается допустимым? Какой резистор на разряд мне ставить? Как это рассчитать?

 

Прилагаю DataSheet

 

Под таблицей "Absolute Maximum Ratings" есть примечание следующего содержания:

2. Maximum DC undershoot below GND must be limited to either 0.5V or 10 mA, whichever is easier to achieve. During transitions, the device pins may undershoot to –2.0 V or overshoot to +7.0V, provided this over- or undershoot lasts less than 10 ns and with the forcing current being limited to 200 mA.

 

Прилагаю DataSheet

 

Под таблицей "Absolute Maximum Ratings" есть примечание следующего содержания:

2. Maximum DC undershoot below GND must be limited to either 0.5V or 10 mA, whichever is easier to achieve. During transitions, the device pins may undershoot to –2.0 V or overshoot to +7.0V, provided this over- or undershoot lasts less than 10 ns and with the forcing current being limited to 200 mA.

ds108_1.pdf

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


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

Аппноут этот я прочитал, но не нашел ответа на свой вопрос - какой ток и в течении какого времени считается допустимым? Какой резистор на разряд мне ставить? Как это рассчитать?

Да, собственно говоря, наверное, никак не рассчитать этот ток*время - ибо такой подход, по сути не правильный - CPLD не рассчитывалась на такое жестокое обращение. Косвенно, можно прикинуть так: вы можете снять осциллограмму разряда конденсатора, из неё сможете оценить сопротивление транзистора в CPLD, потом посчитать выделяющуюся энергию на этом транзисторе. Далее, самое весёлое начинается: надо откуда-то добыть ненормируемый коэффициент теплопроводности в районе транзистора, через который бежит разрядный ток, и теперь можно будет прикинуть – прогреется ли этот транзистор до предельных/запредельных температур.

 

Под таблицей "Absolute Maximum Ratings" есть примечание следующего содержания:

2. Maximum DC undershoot below GND must be limited to either 0.5V or 10 mA, whichever is easier to achieve. During transitions, the device pins may undershoot to –2.0 V or overshoot to +7.0V, provided this over- or undershoot lasts less than 10 ns and with the forcing current being limited to 200 mA.

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

 

Поэтому поставьте внешний транзистор - вот на тот внешний транзистор Вы найдёте всю необходимую документацию, и, исходя из неё, всё рассчитаете и выберите.

 

P.S. Ну что тут можно еще сказать (?): микроскопом тоже можно гвозди забивать,.. а вопрос о том, сколько гвоздей им можно забить в час, так, чтобы он окончательно не испортился, наверное, каким-то странным будет, а ?

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


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

>Maximum DC undershoot below GND must be limited to either 0.5V

Это относиться не у максимальному току выходного транзистора, а к предотвращению "защелкивания"

 

>CPLD не рассчитывалась на такое жестокое обращение

Ну почему, не рассчитаны. Есть же U/I кривые, которые затрагивают весь диапазон. Длинна импульса нигде не указана. Более того, есть аппноут где считают драйвер светодиодов на CPLD с тепловыделением под 2Вт.

 

Задал этот-же вопрс на форуме хильки, они наверняка лучше знают. http://forums.xilinx.com/t5/CPLDs/Capaciti...ins/td-p/187504

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


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

>CPLD не рассчитывалась на такое жестокое обращение

Ну почему, не рассчитаны. Есть же U/I кривые, которые затрагивают весь диапазон. Длинна импульса нигде не указана.

U/I кривые показывают только зависимость тока от напряжения, и абсолютно ничего не говорят о предельном времени протекания этих токов. Простой пример: берём припаеваем ногу на VCC, заставляем её выдавать логический '0'; в соответствии с U/I кривыми потечёт около 70мА... а затем настанет локальный перегрев и часть CPLD сгорит.

 

Более того, есть аппноут где считают драйвер светодиодов на CPLD с тепловыделением под 2Вт.
Если Вы про эти application notes XAPP805 - Driving LEDs with Xilinx CPLDs, то тут чётко дают понять, что больше 8мА для XC9500XL как-то неправильно тянуть с одной ноги.

Ganged Output Circuits

In cases where 8 mA is insufficient to illuminate an LED, multiple outputs can be tied together

to offer double or triple the current sink of a single output. See Figure 3.

 

Задал этот-же вопрс на форуме хильки, они наверняка лучше знают. http://forums.xilinx.com/t5/CPLDs/Capaciti...ins/td-p/187504
Интересно, конечно, что ответят... но, возможно, продуктивнее будет открыть WebCase - там располагают более точной информацией,.. но не всегда ею делятся (из-за политических соображений).

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


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

Задача - сделать задержку на XC9536XL задержка должна быть асимметричной - при подаче сигнала - 3 секнуды, а когда сигнал пропал - чем меньше, тем лучше. Генератора нет, точность совершенно не важна. Самое простое решение - RC цепочка.

 

Неправильная постановка задачи - приводит к неправильному решению.

Нужен аналоговый мультивибратор - возьмите 555 и забудьте о ПЛИС. Хотите ПЛИС, поставьте внутри счетчик и на нем делайте задержку. На кой ляд брать большой конденсатор, если можно внутри ПЛИС включить хотя бы 5-6 триггеров?

А уж ПЛИС без внешнего генератора - это вообще неприлично... Это же асинхронный проект и соответственно все возможные проблемы к нему!

 

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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