BSVi 0 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба Задача - сделать задержку на XC9536XL задержка должна быть асимметричной - при подаче сигнала - 3 секнуды, а когда сигнал пропал - чем меньше, тем лучше. Генератора нет, точность совершенно не важна. Самое простое решение - RC цепочка. Я подобрал компоненты - 22к резистор + 220мкФ конденсатор. Конденсатор заряжается через резистор, а разряжается напрямую ножкой. Такой разряд может происходить раз в минуту. Вопрос - можно ли напрямую ножкой CPLDшки разряжать такой большой конденсатор? У меня, пока, ничего не сломалось, и в апноутах Ксилинкса ничего по этой теме не нашел, но допускается ли это в принципе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
falling_stone 0 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба На мой взгляд, так делать нельзя. Если предположить, что конденсатор заряжен до 3.3В, то Вы, по сути, закорачиваете ножку на зто напряжение. Разрядный ток при этом ограничен только внутренним сопротивлением транзистора драйвера. Мне кажется, это снизит его ресурс, то есть CPLDшка рано или поздно вылетит. Я бы добавил полевик+токоогранич. резистор на разряд и увеличил R, уменьшив C. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSVi 0 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба Разрядный ток при этом ограничен только внутренним сопротивлением транзистора драйвера. Это будет так, даже если емкость бедет, к примеру, 10пФ. То, что ножка потянет 10пФ - это без сомнений. Вопрос в том, где граница - что можон, а что нельзя. Должны быть какие-то данные по мощности, которую может рассеять транзистор, или еще что-то такое. В аппликухе одной был пример расчета потребления светодиодов. Там ток ограничивался исключительно мощностью, рассеиваемой корпусом плисины. Мне кажется, это снизит его ресурс, то есть CPLDшка рано или поздно вылетит. Я бы добавил полевик+токоогранич. резистор на разряд и увеличил R, уменьшив C. R увеличить тоже просто так не получается, там, оказывается есть не отключаемый подтягивающий резистор к 2.5В. Даже если в фиттере поставить -terminate = Float, он остается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба У меня, пока, ничего не сломалось, и в апноутах Ксилинкса ничего по этой теме не нашел, но допускается ли это в принципе? Вот вам подходящий документик I/V Curves for Xilinx FPGA and CPLD FamiliesВыход из строя элементов (равно как и их преждевременное старение) происходит, преимущественно, от локального перегрева. Дальше прикидывайте сами... Но то, что Вы делаете - это жестокое насилие над CPLD. Вопрос - можно ли напрямую ножкой CPLDшки разряжать такой большой конденсатор?Если хотите сжечь CPLD - то да: 180mA в первый момент открытия транзистора - это как-то многовато ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSVi 0 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба Аппноут этот я прочитал, но не нашел ответа на свой вопрос - какой ток и в течении какого времени считается допустимым? Какой резистор на разряд мне ставить? Как это рассчитать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Genn 0 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба Аппноут этот я прочитал, но не нашел ответа на свой вопрос - какой ток и в течении какого времени считается допустимым? Какой резистор на разряд мне ставить? Как это рассчитать? Прилагаю 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба Аппноут этот я прочитал, но не нашел ответа на свой вопрос - какой ток и в течении какого времени считается допустимым? Какой резистор на разряд мне ставить? Как это рассчитать? Да, собственно говоря, наверное, никак не рассчитать этот ток*время - ибо такой подход, по сути не правильный - 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. Ну что тут можно еще сказать (?): микроскопом тоже можно гвозди забивать,.. а вопрос о том, сколько гвоздей им можно забить в час, так, чтобы он окончательно не испортился, наверное, каким-то странным будет, а ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSVi 0 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба >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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба >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 - там располагают более точной информацией,.. но не всегда ею делятся (из-за политических соображений). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 31 октября, 2011 Опубликовано 31 октября, 2011 · Жалоба Задача - сделать задержку на XC9536XL задержка должна быть асимметричной - при подаче сигнала - 3 секнуды, а когда сигнал пропал - чем меньше, тем лучше. Генератора нет, точность совершенно не важна. Самое простое решение - RC цепочка. Неправильная постановка задачи - приводит к неправильному решению. Нужен аналоговый мультивибратор - возьмите 555 и забудьте о ПЛИС. Хотите ПЛИС, поставьте внутри счетчик и на нем делайте задержку. На кой ляд брать большой конденсатор, если можно внутри ПЛИС включить хотя бы 5-6 триггеров? А уж ПЛИС без внешнего генератора - это вообще неприлично... Это же асинхронный проект и соответственно все возможные проблемы к нему! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться