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

Влияние положительных и отрицательных выбросов (overshoot/undershoot) на надежность

Приветствую участников форума,

При внимательном изучении документации на микросхемы обнаруживается, что зачастую производитель указывает в absolute maximum ratings максимальное значение Vih = Vdd + 0.3V, а минимальное значение Vil = Vss - 0.3V. При этом, если посмотреть на формы сигналов на довольно простых интерфейсах типа I2C, I2S, SPI и т.п., как правило работающих с привычными уровнями 3.3В, то можно легко обнаружить на фронте/спаде сигналов выбросы, по величине около 0.5 В, заметно превышающие указанные производителем допустимые 0.3 В.

На том же SPI тактовый сигнал обычно ещё как-то пытаются согласовать с импедансом линии и снизить тем самым величину отражений и величину выбросов. Но на остальных линиях данных попыток согласования я не видел ни разу, хотя выбросы там практически точно такие же, что и на тактовом сигнале, которые при некоторых обстоятельствах могут достигать и 0.8 ... 1.0 В. На I2C ситуация сходная, но там подобные выбросы видны, естественно, только на спаде (undershoot), зато они обычно ещё больше, чем на SPI.

На вопросы о критичности подобных выбросов на форумах того же TI в основном вполне справедливо отвечают, что всё за пределами absolute maximum ratings повышает вероятность отказа и TI снимает с себя ответственность за надёжное функционирование их микросхем в подобных условиях. Некоторые производители (например Intel, Xilinx, Gowin, Cypress/Infineon и некоторые другие)  дают в своих документах данные по допустимым величинам overshoot/undershoot с привязкой к длительности и частоте подобных воздействий. Для DDR SDRAM эти параметры закреплены в стандарте JEDEC. Но в целом таких документов мало и как оценить допустимость параметров работы в отдельно взятой схеме/топологии не совсем понятно. С другой стороны попадаются исследования, показывающие возможность деградации и последующего отказа КМОП-микросхем при длительной работе в условиях значительных по величине выбросов (больше 1 В) на их входных контактах.

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

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


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

4 hours ago, makc said:

Некоторые производители (например Intel, Xilinx, Gowin, Cypress/Infineon и некоторые другие)  дают в своих документах данные по допустимым величинам overshoot/undershoot с привязкой к длительности и частоте подобных воздействий.

 

Некоторые производители (Atmel) устанавливают в МК встроенные последовательные резисторы на 36 Ом.

Quote

General-purpose (GPIO) lines are managed by PIO Controllers. All I/Os have several input or output modes such as pull-up or pull-down, input Schmitt triggers, multi-drive (open-drain), glitch filters, debouncing or input change interrupt. Programming of these modes is performed independently for each I/O line through the PIO controller user interface.

The input/output buffers of the PIO lines are supplied through VDDIO power supply rail.

The SAM V71 embeds high-speed pads able to handle the high-speed clocks for HSMCI, SPI and QSPI (MCK/2).
Typical pull-up and pull-down value is 100 kOhm for all I/Os.


Each I/O line also embeds an Rserial (On-die Serial Resistor), (see Figure below). It consists of an internal series resistor termination scheme for impedance matching between the driver output (SAM V71) and the PCB trace impedance preventing signal reflection. The series resistor helps to reduce IOs switching current (di/dt) thereby reducing in turn, EMI. It also decreases overshoot and undershoot (ringing) due to inductance of interconnect between devices or between boards. Finally, Rserial helps diminish signal integrity issues.

tsmall.thumb.png.08c17b1dad33dc587a7631ece19624d5.png

Остаётся поискать у других производителей...

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


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

11 минут назад, _4afc_ сказал:

Некоторые производители (Atmel) устанавливают в МК встроенные последовательные резисторы на 36 Ом.

Да, но это довольно редкий случай на общем фоне, КМК. Иногда есть возможность управления output drive strength, но опять же это скорее исключение из общего правила. Но вопрос всё-таки лежит не в плоскости борьбы с этими явлениями (с этим всё понятно), а скорее в плоскости оценки допустимости имеющегося режима работы для определения необходимости применения каких-либо решений по согласованию линий или подавления звона в цепи.

11 минут назад, _4afc_ сказал:

Остаётся поискать у других производителей...

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

В идеале хотелось бы найти рекомендации для типовых техпроцессов производства микросхем или используемых интерфейсов, аналогичных приводимым в даташитах или стандартах на DDR SDRAM:

image.thumb.png.771d0b7a7b95f06938ead48dfb7f1285.png

Или вот другой пример выдержки из Open NAND Flash Interface Specification

Цитата

2.11. AC Overshoot/Undershoot Requirements
The device may have AC overshoot or undershoot from VccQ and VssQ levels. Table 8 defines
the maximum values that the AC overshoot or undershoot may attain. The SDR, NV-DDR and
NV-DDR2 values apply for both 3.3V and 1.8V VccQ levels. The NV-DDR3 values apply for only
1.2V VccQ levels.


The maximum amplitude allowed for the overshoot area is 1 V for the SDR, NV-DDR, and NV-
DDR2 data interfaces and timing modes. The maximum amplitude allowed for the overshoot area
is 0.35 V for the NV-DDR3 data interface and timing modes. The maximum amplitude allowed for
the undershoot area is 1 V for the SDR, NV-DDR, and NV-DDR2 data interfaces and timing
modes. The maximum amplitude allowed for the undershoot area is 0.35 V for the NV-DDR3 data
interface and timing modes. The maximum overshoot area above VccQ and the maximum
undershoot area below VssQ is symmetric and varies depending on timing mode; refer to Table
8. These values apply to the maximum data signaling frequency for a given timing mode. If the
data signaling frequency for maximum overshoot or undershoot conditions is less than the
selected timing mode, then the values for the applicable slower timing mode may be used.

NAND devices may have different maximum amplitude requirements for overshoot and
undershoot than the controller. If the controller has more stringent requirements termination or
other means of reducing overshoot or undershoot may be required to reduce beyond the NAND
requirements.

 

 

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


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

2 minutes ago, makc said:

Но вопрос всё-таки лежит ... в плоскости оценки допустимости имеющегося режима работы для определения необходимости применения каких-либо решений по согласованию линий или подавления звона в цепи.

Тогда наверно вопрос бить по зонам:

 

1. ближняя зона (разрабатываемая мастером) - сами решите где output drive strength, а где резистор или фильтр влезет;

2. средняя зона (разрабатывается коллегами, находится на той же плате) - отделяемся от коллег как минимум резисторами;

3. дальняя зона (переход на другие платы через разъёмы и шлейфы) - отделяемся по полной - буфера, резисторы, диоды...

 

Вас сейчас какая зона интересует?

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


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

Только что, _4afc_ сказал:

1. ближняя зона (разрабатываемая мастером) - сами решите где output drive strength, а где резистор или фильтр влезет;

Пока достаточно решить этот вопрос. Средняя и тем более дальняя зоны это уже совсем другой коленкор и другие проблемы, особенно с длинными кабелями/шлейфами.

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


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

6 часов назад, makc сказал:

При внимательном изучении документации на микросхемы обнаруживается, что зачастую производитель указывает в absolute maximum ratings максимальное значение Vih = Vdd + 0.3V, а минимальное значение Vil = Vss - 0.3V. При этом, если посмотреть на формы сигналов на довольно простых интерфейсах типа I2C, I2S, SPI и т.п., как правило работающих с привычными уровнями 3.3В, то можно легко обнаружить на фронте/спаде сигналов выбросы, по величине около 0.5 В, заметно превышающие указанные производителем допустимые 0.3 В.

Все, достаточно, просто.

На входах почти любой м/c, как правило, имеются, так называемые, встроенные защитные диоды к Vdd и Gnd. Когда входное напряжение выходит за текущий диапазон питания (выше или ниже), то встроенные защитные диоды "замыкают" входной сигнал на шину Vdd или Gnd. Образующееся при этом, дополнительное падение напряжения - соответствует падению напряжения на защитном диоде. Максимальное значение падения напряжения на защитном диоде (0,3В), как правило, соответствует максимально допустимому току через встроенный защитный диод. Обычно, это десятки миллиамер (см. даташит).

Превышение допустимого тока через зашитные диоды может привести к их дополнительному нагреву и к ускорению процессов естественной деградации. Весь вопрос  - в величине этого превышения и его длительности. В даташите, обычно, указывается, постоянный (длительный) максимальный ток через защитные диоды, не приводящий к их деградации. Кратковременный, импульсный безопасный ток для них может быть гораздо выше. Чем короче импульс и меньше выбос напряжения - тем меньше деградация. На короткие выбросы напряжения (меньше микросекунды) в 2-3 раза превышающие допустимые 0.3В, по моему, вообще не стоит обращать внимание...

Если выбросы могут быть значительные по напряжению и времени, то стоит озаботиться о дополнительной защите входа. В это случае, на вход устанавливаются дополнительные внешние защитные диоды. Падение напряжения на них должно быть меньше, чем для встроенных диодов. Пары диодов Шоттки - обычное решение. Например BAT54S: https://static.chipdip.ru/lib/981/DOC020981136.pdf

P.S. Последовательно включенные резисторы, ограничивающие ток, так же являются решением.

Изменено пользователем quark

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


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

50 минут назад, quark сказал:

Все, достаточно, просто.

Если не задумываться, то всё просто... Дьявол кроется в мелочах. 😉

52 минуты назад, quark сказал:

На входах почти любой м/c, как правило, имеются, так называемые, встроенные защитные диоды к Vdd и Gnd. Когда входное напряжение выходит за текущий диапазон питания (выше или ниже), то встроенные защитные диоды "замыкают" входной сигнал на шину Vdd или Gnd. Образующееся при этом, дополнительное падение напряжения - соответствует падению напряжения на защитном диоде. Максимальное значение падения напряжения на защитном диоде (0,3В), как правило, соответствует максимально допустимому току через встроенный защитный диод. Обычно, это десятки миллиамер (см. даташит).

Если бы всё было так просто и доступно (параметры), то я бы давно посчитал и даже не стал бы поднимать эту тему. Но если взять, например, аудиокодек WM8983, то в его даташите попросту нет данных по максимальному току через встроенный защитный диод. Что делать в этом случае?

Я понимаю, что нужно минимизировать нагрузку на эти диоды, чтобы не вызвать их деградации со временем и результирующего выхода из строя. Поэтому логичным является решение проблемы прежде всего для цепей тактирования, где частота возникновения выбросов максимальна относительно остальных контактов, а далее по возможности решать проблему для других контактов. Но опять же: где граница между хорошо и плохо за пределами спецификации Vdd+0.3/Vss-0.3V?

1 час назад, quark сказал:

Чем короче импульс и меньше выбос напряжения - тем меньше деградация. На короткие выбросы напряжения (меньше микросекунды) в 2-3 раза превышающие допустимые 0.3В, по моему, вообще не стоит обращать внимание...

Судя по доступным статьям на эту тему (правда они все старые) подобные выбросы могут приводить к миграции зарядов и в результате вызывать пробой изолятора затвора. Поэтому наиболее распространённое правило, из встреченных при поиске, не более +/- 1 В на время не более 20 нс. Хотя для микросхем SPI Flash у Winbond/Micron граница шире - допускается выброс до 2 В длительностью не более 20 нс. Но у них хотя бы сказано про эти допустимые пределы.

1 час назад, quark сказал:

Если выбросы могут быть значительные по напряжению и времени, то стоит озаботиться о дополнительной защите входа. В это случае, на вход устанавливаются дополнительные внешние защитные диоды. Падение напряжения на них должно быть меньше, чем для встроенных диодов. Пары диодов Шоттки - обычное решение. Например BAT54S: https://static.chipdip.ru/lib/981/DOC020981136.pdf

Вы уверены, что диод Шоттки будет успевать открываться при длительности импульса порядка десятков наносекунд? Я сомневаюсь. Ставить диоды рекомендуют на форумах TI для защиты от отрицательных выбросов на линиях I2C, но мои эксперименты показали, что диоды не успевают и обрезки выброса не происходит. При этом импульсы были очень заметные по величине - до 1.5В с длительностью в районе 30 нс.

1 час назад, quark сказал:

P.S. Последовательно включенные резисторы, ограничивающие ток, так же являются решением.

Да, это понятно. Если завалить фронт тем или иным способом, то проблема выбросов уходит сама собой.

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


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

1 час назад, makc сказал:

...взять, например, аудиокодек WM8983...

Судя по доступным статьям на эту тему (правда они все старые) подобные выбросы могут приводить к миграции зарядов и в результате вызывать пробой изолятора затвора. Поэтому наиболее распространённое правило, из встреченных при поиске, не более +/- 1 В на время не более 20 нс. Хотя для микросхем SPI Flash у Winbond/Micron граница шире - допускается выброс до 2 В длительностью не более 20 нс. Но у них хотя бы сказано про эти допустимые пределы.

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

В даташите WM8983 указано максимальное напряжение питания 7В. Вычитаем номинал 3,6В. Получаем 3,4В. Делим пополам, рассматривая наихудший случай - один выброс вверх, другой вниз одновременно, - получаем 1,7В. Все кратковременные выбросы выше Vdd и ниже Gnd меньше этой величины - теоретически не должны повреждать вашу м/c, либо приводить к ее деградации.

1 час назад, makc сказал:

Вы уверены, что диод Шоттки будет успевать открываться при длительности импульса порядка десятков наносекунд?

Смотря какие диоды найдете. Вот у этого, например, 12нс : https://static.chipdip.ru/lib/919/DOC011919846.pdf

 

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


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

2 часа назад, makc сказал:

При этом импульсы были очень заметные по величине - до 1.5В с длительностью в районе 30 нс.

эти выбросы надо смотреть осциллографом с полосой пошире, желательно с активным диффщупом эдак от 2 ГГц полосы, тогда все получается менее страшно по амплитуде. Простой щупчик и полоса 100 МГц осциллографа показывают такие выбросы иногда, которых нет на самом деле. Диоды Шоттки у Вас стояли, а Вы 30 нс наблюдали 1,5V выброс - это просто можно даже пересчитать через ВАХ диода и убедиться в том что передатчик не мог обеспечить в линию такой ток.

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


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

В 09.02.2023 в 17:11, quark сказал:

Смотря какие диоды найдете. Вот у этого, например, 12нс : https://static.chipdip.ru/lib/919/DOC011919846.pdf

Только это не время включения, а время восстановления после перехода из открытого состояния обратно:) А открываются диоды условно мгновенно (доли-единицы нс), была где-то тут такая тема...  

 

В 09.02.2023 в 17:11, quark сказал:

В даташите WM8983 указано максимальное напряжение питания 7В. Вычитаем номинал 3,6В. Получаем 3,4В. Делим пополам, рассматривая наихудший случай - один выброс вверх, другой вниз одновременно, - получаем 1,7В.

Во-первых, 7В это только для одного питания, а для остальных это 4.5В. Во-вторых, при чем тут максимально допустимое напряжение, когда м/с запитана номинальным уровнем? Защитные диоды откроются уже при разнице 0.3В и этим же уровнем ограничат напряжение на входе. И вопрос, если я правильно понял, какой ток выдержат эти самые диоды, а не при каком напряжении они пробьются...

В 09.02.2023 в 15:35, makc сказал:

Поэтому наиболее распространённое правило, из встреченных при поиске, не более +/- 1 В на время не более 20 нс. Хотя для микросхем SPI Flash у Winbond/Micron граница шире - допускается выброс до 2 В длительностью не более 20 нс. Но у них хотя бы сказано про эти допустимые пределы.

Странная математика... если диод открылся при разнице 0.3В, то откуда возьмется выброс в 2В? Впрочем, можно предположить, что речь про ESD защиту от статики и кВ на входе...

 

А вообще, если производители м/с не сильно акцентируют внимание на данную проблему, то может быть ее и нет вовсе?:) Опять же, если есть длинные трассы (под десяток см), то монтаж уже плотным не назовешь, можно и резистор поставить. А если трассы короткие, выходного сопротивления драйвера (десятки Ом) вполне хватит подавить выброс...

   

В 09.02.2023 в 17:55, тау сказал:

Простой щупчик и полоса 100 МГц осциллографа показывают такие выбросы иногда, которых нет на самом деле.

Если землю крокодилом подключать, то иногда превращается в всегда...

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


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

55 минут назад, тау сказал:

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

Для наблюдения импульсов использовался осциллограф RTE1204 с частотой выборок 1 GS/s и пассивными щупами на 500 МГц. В принципе это уже не такие простые щупы, но и не активные на 2 ГГц. Поэтому я не думаю, что видел то, чего на самом деле нет. Тем более что в случае undershoot'ов на I2C длительности выбросов были совсем уж большие и длинные, при этом их изменения хорошо согласовывались с добавляемыми для согласования элементами.

55 минут назад, тау сказал:

Диоды Шоттки у Вас стояли, а Вы 30 нс наблюдали 1,5V выброс - это просто можно даже пересчитать через ВАХ диода и убедиться в том что передатчик не мог обеспечить в линию такой ток.

На сколько я понимаю, диод должен открыться и начать проводить ток, чтобы можно было говорить про ВАХ. У меня он попросту не открывался, не успевал. BAT54 правда был какой-то китайский, из годных остатков от прошлых закупок. Но он был исправен, проверялся с помощью мультиметра и показывал честное падение около 0,23 В, если мне не изменяет память.

43 минуты назад, Самурай сказал:

Странная математика... если диод открылся при разнице 0.3В, то откуда возьмется выброс в 2В? Впрочем, можно предположить, что речь про ESD защиту от статики и кВ на входе...

В случае Winbond по их DS получается не 0.3 В, а -0.6 В и +0.4 В. Хотя это ничего принципиально не меняет:

image.thumb.png.1c485cc9883d75854a17801c4feced8b.png

43 минуты назад, Самурай сказал:

А вообще, если производители м/с не сильно акцентируют внимание на данную проблему, то может быть ее и нет вовсе?:) Опять же, если есть длинные трассы (под десяток см), то монтаж уже плотным не назовешь, можно и резистор поставить. А если трассы короткие, выходного сопротивления драйвера (десятки Ом) вполне хватит подавить выброс...

Выше было сказано, что ответы производителя на форумах TI говорят однозначно: выход за пределы Absolute Maximum Ratings недопустим и снимает м/с с гарантии. Что в общем-то логично. На коротких же трассах выбросы очень даже видно и они могут сильным драйвером разогнаться до весьма заметных величин, превышающих допустимые пределы.

43 минуты назад, Самурай сказал:

Если землю крокодилом подключать, то иногда превращается в всегда...

Возможно, не буду спорить. У меня подключение было пружинкой с щупа.

PS: ради эксперимента промоделировал эти цепи в HyperLynx и получил результаты, весьма похожие на мои измерения.

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


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

46 минут назад, makc сказал:

У меня он попросту не открывался, не успевал. BAT54

вряд-ли   "не открывался". У вашего диода на 100мА  падение макс 800 mV.  

Не открыться за 1 нс он просто не мог.  Меняйте режим измерения, способ подключения , вычитайте наводку на щуп при измерении в том же месте, но при измерении "земли" (возможно потребуется внешняя синхронизация, чтобы мух от котлет отделить).  То что Вы пишете для меня невероятно.

 

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


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

35 минут назад, тау сказал:

вряд-ли   "не открывался". У вашего диода на 100мА  падение макс 800 mV.  

Опишу эксперимент подробнее: имеется две платы, соединённые шлейфом типа FFC длиной около 40 см. На одной плате стоит I2C-мастер, на другой плате расположен I2C-слейв. В шлейфе с шагом 0.5 мм сигналы идут в следующем порядке VCC, GND, SDA, SCL. На стороне мастера подтяжка 1.8 кОм. Было проведено три эксперимента по наблюдению формы отрицательного выброса на конце линии SCL (без активности на линии SDA) около I2C-слейва при разных условиях:
1. Без согласования на конце линии около I2C-слейва и диодов - выброс до -1.5В с длительностью в районе 30 нс.
2. Согласование в виде резистора 91 Ом + конденсатор 330 пФ на землю (параллельный терминатор) на конце линии около I2C-слейва - выброс около -400 мВ.
3. Ограничивающий диод BAT54C в корпусе SOT23-3, подключённый катодом к линии SCL, а анодом к линии GND - выброс как при первом эксперименте.

Из этих экспериментов я сделал вывод, что BAT54C не срабатывает и не ограничивает отрицательный выброс на линии. Допустим есть какая-то ошибка в измерениях с помощью осциллографа, но она была одна и та же во всех трёх экспериментах и, следовательно, должна была не показать эффекта во втором эксперименте, либо показать приблизительно тот же эффект в эксперименте номер три (дать ограничение выброса на величину падения напряжения на диоде). Но этого не произошло. В чём подвох? Что я упускаю?

PS: Предложите свой вариант корректного проведения экспериментов при использовании указанных ранее средств измерения и оборудования.

Изменено пользователем makc
Исправлена ошибка: анодом к линии GND

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


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

5 минут назад, makc сказал:

В чём подвох? Что я упускаю?

6 минут назад, makc сказал:

подключённый катодом к линии SCL, а анодом к линии SDA

А почему анод к SDA, а не на землю?

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


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

3 минуты назад, Zig сказал:

А почему анод к SDA, а не на землю?

Да, всё правильно, конечно на землю. Меня отвлекли и я написал не то, что хотел написать и должен был написать.

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


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

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

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

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

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

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

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

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

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

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