|
Вопрос защиты GPIO от КЗ, Как это реализовать на LPC2xxx? |
|
|
|
Nov 24 2007, 19:40
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406

|
Ситуация простая:
Есть 2 (или больше) микроконтроллера LPC2101, сидящие на одной параллельной (например 8-битной) шине, для реализации которой используются GPIO порты. В нормальном состоянии, только один из контроллеров выдает на шину данные, а остальные читают. Но не исключена ситуация, когда один из микроконтроллеров 'зависнет', оставив на шине активный '0' или '1'. В таком случае неизбежна коллизия, когда на одну линию разными микроконтроллерами выставляются противоположные значения, т.е. одним лог '1', другим '0'. Сразу имеем сквозной ток. Как защитится, чтобы в такой ситуации не сгорели порты?
И еще, сколько на порт микроконтроллера LPC2101 можно посадить других портов LPC2101, которые только читают? 5? 10? 20? Как это рассчитать?
|
|
|
|
|
Nov 24 2007, 20:41
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406

|
Цитата(DASM @ Nov 24 2007, 22:47)  Резисторы поставьте, чтобы не сгорело ничего.. А можно еще повесить на шину один резистор, а контроллеры настроить на выход в режиме открытого стока - тогда тоже безопасно. А рассчитать нагрузочную способность - зависит от скорости - берите емкость входа и емкости платы, считаете время перезаряда этой емкости током выхода процессора Резисторы не подходят, ибо на высокой частоте переключения (около 4Мгц) они совместно с емкостью навешанных на шину входов других микроконтроллеров образуют нехилый RC-фильтр, который завалит все фронты, это однозначно. И второе, емкостью монтажа, думаю, можно пренебречь, а вот емкость входов мне не известна. И даже в даташите на LPC2101 я ее что-то не нашел. Обычно пишут, например, 50пф, и рисуют эквивалентую схему. А на LPC2101 даже не потрудились. Или же у меня просто глаз замылился и я чего-то не замечаю.
|
|
|
|
|
Nov 24 2007, 21:09
|
Частый гость
 
Группа: Участник
Сообщений: 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
|
|
|
|
|
Nov 24 2007, 21:12
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406

|
Цитата(DASM @ Nov 25 2007, 00:09)  Не имеет. Тогда слушайте rezident- а имхо. А 50 пФ Вы откуда взяли ? Мне всегда казалось что там что-около 10 пФ Если 10пф - это хорошо... Хотя, как я уже говорил, в спецификации я этого не видел. А 50пф взял усредненно.
|
|
|
|
|
Nov 24 2007, 21:16
|
Гуру
     
Группа: Свой
Сообщений: 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 стало
|
|
|
|
|
Nov 24 2007, 21:17
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406

|
Цитата(DASM @ Nov 25 2007, 00:13)  А это Вы о чем ? Считаем время нарастания с выхода проца и на шину - в R подставляется именно 50 ом, и никак не 100 100 ом - это 2 резистора по 50. Т.е. так как шина общая, то каждый микроконтроллер подключен на нее через 50Омный резистор. Соответстввенно от точки передачи до точки приема будет лежать 2 последовательных 50 Омных резистора.
|
|
|
|
|
Nov 24 2007, 21:20
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406

|
Цитата(DASM @ Nov 25 2007, 00:16)  А это Вы о чем ? Считаем время нарастания с выхода проца и на шину - в R подставляется именно 50 ом, и никак не 100 Ну вот например SAM7X от Атмеля имеет 13.9 пФ на ногу в TQFP100 корпусе. Как-то нет оснований считать, что у NXP аж 50 стало Ну хорошо, усредним о 15пф, плюс еще емкость платы, итого 25-30пф точно набежит, не меньше. Конечно, в идеале хотелось бы обойтись без всяких резисторов и буферов, поскольку в принципе микроконтроллеры это позволяют. Вопрос только о защите от КЗ при зависании одного из них.
|
|
|
|
|
Nov 24 2007, 21:42
|
Частый гость
 
Группа: Участник
Сообщений: 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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|