реклама на сайте
подробности

 
 
> Вопрос защиты GPIO от КЗ, Как это реализовать на LPC2xxx?
AndyDev
сообщение Nov 24 2007, 19:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Ситуация простая:

Есть 2 (или больше) микроконтроллера LPC2101, сидящие на одной параллельной (например 8-битной) шине, для реализации которой используются GPIO порты.
В нормальном состоянии, только один из контроллеров выдает на шину данные, а остальные читают.
Но не исключена ситуация, когда один из микроконтроллеров 'зависнет', оставив на шине активный '0' или '1'. В таком случае неизбежна коллизия, когда на одну линию разными микроконтроллерами выставляются противоположные значения, т.е. одним лог '1', другим '0'. Сразу имеем сквозной ток.
Как защитится, чтобы в такой ситуации не сгорели порты?

И еще, сколько на порт микроконтроллера LPC2101 можно посадить других портов LPC2101, которые только читают? 5? 10? 20? Как это рассчитать?
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 14)
DASM
сообщение Nov 24 2007, 19:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Резисторы поставьте, чтобы не сгорело ничего.. А можно еще повесить на шину один резистор, а контроллеры настроить на выход в режиме открытого стока - тогда тоже безопасно. А рассчитать нагрузочную способность - зависит от скорости - берите емкость входа и емкости платы, считаете время перезаряда этой емкости током выхода процессора
Go to the top of the page
 
+Quote Post
AndyDev
сообщение Nov 24 2007, 20:41
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Цитата(DASM @ Nov 24 2007, 22:47) *
Резисторы поставьте, чтобы не сгорело ничего.. А можно еще повесить на шину один резистор, а контроллеры настроить на выход в режиме открытого стока - тогда тоже безопасно. А рассчитать нагрузочную способность - зависит от скорости - берите емкость входа и емкости платы, считаете время перезаряда этой емкости током выхода процессора

Резисторы не подходят, ибо на высокой частоте переключения (около 4Мгц) они совместно с емкостью навешанных на шину входов других микроконтроллеров образуют нехилый RC-фильтр, который завалит все фронты, это однозначно.

И второе, емкостью монтажа, думаю, можно пренебречь, а вот емкость входов мне не известна.
И даже в даташите на LPC2101 я ее что-то не нашел. Обычно пишут, например, 50пф, и рисуют эквивалентую схему. А на LPC2101 даже не потрудились. Или же у меня просто глаз замылился и я чего-то не замечаю.
Go to the top of the page
 
+Quote Post
DASM
сообщение Nov 24 2007, 20:58
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



При 50 омных резисторах сомневаюсь, что сильно что-то завалится, ну да ладно
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 24 2007, 21:03
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Не экономьте "на спичках". Делайте нормальный диспетчер доступа к шине. Проще всего на ПЛИС.
Go to the top of the page
 
+Quote Post
AndyDev
сообщение Nov 24 2007, 21:09
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Цитата(DASM @ Nov 24 2007, 23:58) *
При 50 омных резисторах сомневаюсь, что сильно что-то завалится, ну да ладно

Думаю, что все же завалятся.
Если предположить, что суммарная емкость всех входов, навешанных на одну линию 500пф (10 входов по 50пф), то емкостное сопротивление на частоте 4МГц будет равно 80Ом, что образует хороший делитель с этим самым последовательным 50 омным резистором. А если учесть, что такие 50Омные резисторы должны быть на ножках каждого микроконтроллера в этом устройстве, то получаем 100 Ом, а не 50. В общем, на таких частотах - это не выход.

Хотелось бы узнать о других методиках.
Возможно сам контроллер имеет защиту от перегрузки по току?
Или еще есть какие-то методы?


Цитата(rezident @ Nov 25 2007, 00:03) *
Не экономьте "на спичках". Делайте нормальный диспетчер доступа к шине. Проще всего на ПЛИС.

Я бы рад, но ввиду сверхдешевизны предполагаемого устройства, никакие плисы и другие буфера и шинные формирователи не подходят.

p.s.: Хотя, конечно, если больше ничего не останется, то придется сделать именно так...

Сообщение отредактировал AndyDev - Nov 24 2007, 21:11
Go to the top of the page
 
+Quote Post
DASM
сообщение Nov 24 2007, 21:09
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Цитата(AndyDev @ Nov 25 2007, 00:07) *
Хотелось бы узнать о других методиках.
Возможно сам контроллер имеет защиту от перегрузки по току?
Или еще есть какие-то методы?

Не имеет. Тогда слушайте rezident- а имхо. А 50 пФ Вы откуда взяли ? Мне всегда казалось что там что-около 10 пФ
Go to the top of the page
 
+Quote Post
AndyDev
сообщение Nov 24 2007, 21:12
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Цитата(DASM @ Nov 25 2007, 00:09) *
Не имеет. Тогда слушайте rezident- а имхо. А 50 пФ Вы откуда взяли ? Мне всегда казалось что там что-около 10 пФ

Если 10пф - это хорошо...
Хотя, как я уже говорил, в спецификации я этого не видел.
А 50пф взял усредненно.
Go to the top of the page
 
+Quote Post
DASM
сообщение Nov 24 2007, 21:16
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Цитата(AndyDev @ Nov 25 2007, 00:09) *
Думаю, что все же завалятся.
Если предположить, что суммарная емкость всех входов, навешанных на одну линию 500пф (10 входов по 50пф), то емкостное сопротивление на частоте 4МГц будет равно 80Ом, что образует хороший делитель с этим самым последовательным 50 омным резистором. А если учесть, что такие 50Омные резисторы должны быть на ножках каждого микроконтроллера в этом устройстве, то получаем 100 Ом, а не 50. В общем, на таких частотах - это не выход.

А это Вы о чем ? Считаем время нарастания с выхода проца и на шину - в R подставляется именно 50 ом, и никак не 100


Цитата(AndyDev @ Nov 25 2007, 00:12) *
Если 10пф - это хорошо...
Хотя, как я уже говорил, в спецификации я этого не видел.
А 50пф взял усредненно.

Ну вот например SAM7X от Атмеля имеет 13.9 пФ на ногу в TQFP100 корпусе. Как-то нет оснований считать, что у NXP аж 50 стало
Go to the top of the page
 
+Quote Post
AndyDev
сообщение Nov 24 2007, 21:17
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Цитата(DASM @ Nov 25 2007, 00:13) *
А это Вы о чем ? Считаем время нарастания с выхода проца и на шину - в R подставляется именно 50 ом, и никак не 100

100 ом - это 2 резистора по 50.
Т.е. так как шина общая, то каждый микроконтроллер подключен на нее через 50Омный резистор. Соответстввенно от точки передачи до точки приема будет лежать 2 последовательных 50 Омных резистора.
Go to the top of the page
 
+Quote Post
DASM
сообщение Nov 24 2007, 21:19
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Цитата(AndyDev @ Nov 25 2007, 00:17) *
100 ом - это 2 резистора по 50.
Т.е. так как шина общая, то каждый микроконтроллер подключен на нее через 50Омный резистор. Соответстввенно от точки передачи до точки приема будет лежать 2 последовательных 50 Омных резистора.

И что ? Второе плечо то нагружено будет только на одну ногу - тау будет порядка 7e-10 - копейки
Go to the top of the page
 
+Quote Post
AndyDev
сообщение Nov 24 2007, 21:20
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Цитата(DASM @ Nov 25 2007, 00:16) *
А это Вы о чем ? Считаем время нарастания с выхода проца и на шину - в R подставляется именно 50 ом, и никак не 100
Ну вот например SAM7X от Атмеля имеет 13.9 пФ на ногу в TQFP100 корпусе. Как-то нет оснований считать, что у NXP аж 50 стало

Ну хорошо, усредним о 15пф, плюс еще емкость платы, итого 25-30пф точно набежит, не меньше.

Конечно, в идеале хотелось бы обойтись без всяких резисторов и буферов, поскольку в принципе микроконтроллеры это позволяют. Вопрос только о защите от КЗ при зависании одного из них.
Go to the top of the page
 
+Quote Post
DASM
сообщение Nov 24 2007, 21:23
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



ну по даташиту КЗ допустимо (ток порядка 50 мА будет) но - 7] Only allowed for a short time period. Какой этот период - выяснять придется у NXP. Ну и думать, как коллизию отловить и быстро устранить
Go to the top of the page
 
+Quote Post
AndyDev
сообщение Nov 24 2007, 21:42
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Цитата(DASM @ Nov 25 2007, 00:23) *
ну по даташиту КЗ допустимо (ток порядка 50 мА будет) но - 7] Only allowed for a short time period. Какой этот период - выяснять придется у NXP. Ну и думать, как коллизию отловить и быстро устранить

Вот это чудненько.
Теперь осталось выяснить, насколько оно короткое это допустимое время.

Кстати, тогда становится непонятна эквивалентная схема комплементарной пары полевых ключей выхода. Если ток ограничен 50мА, значит эти ключи идут на Vcc и Vss через 60 Омные внутренние резисторы.

Сообщение отредактировал AndyDev - Nov 24 2007, 21:45
Go to the top of the page
 
+Quote Post
DASM
сообщение Nov 24 2007, 21:48
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Вообще тут случай не КЗ, а загрузки "1" одного проца "0" - ем другого. Но вот станет ли от этого сквозной ток 50/2 = 25 мА я не уверен. А вообще все равно некрасиво все это и нехорошо sad.gif

Цитата(AndyDev @ Nov 25 2007, 00:42) *
Кстати, тогда становится непонятна эквивалентная схема комплементарной пары полевых ключей выхода. Если ток ограничен 50мА, значит эти ключи идут на Vcc и Vss через 60 Омные внутренние резисторы.

Это зачем такие ужасы, а сопротивление открытого канла забыли ? Ненулевое отнюдь
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 07:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016