|
STM32F070: может ли 5V-толерантный вывод сгореть от 5 V ?, Или у всех все ОК ? Или я еррату пропустил какую-то? |
|
|
|
Sep 11 2017, 15:46
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Здравствуйте!
Использую STM32F070CBT6 (питание 3.3 В) в связке с драйвером ST485BDR (питание 5 В). Используется UART2. Подключено: RX (из драйвера) - PA15 (pin 38) - 5V- tolerant RTS (в драйвер) - PA1 (pin 11) TX (в драйвер) - PA2 (pin 12)
RX толерантен к 5В, RTS и TX - нет.
Столкнулся с ситуацией, что 4 устройства из 80 могут передавать, но не могут принимать (вышли из строя в процессе несколькомесячной нон-стоп работы). То есть (сужу по внешним цепям) аккуратно переводят RS485 драйвер на передачу, передают, отпускают линию, но на запросы извне не реагируют. Проблема в том, что устройства залиты до уровня кирпича, и просто так разобрать и осциллографом ткнуть в нужную дорожку- практически невозможно. В одном добрался до разъема программирования, подключил дебаггер- процессор просто не видит ничего в регистре RX порта, будто сигнал не подключен. Остальная функциональность не нарушена.
Предполагаю, что RX пин (который 5В-толерантный и напрямую подключен к 5В) выгорел, возможно такое? Может, STM32 замечены в "неполной толерантности"?
У 32F070 заявлено, что на 5V-толерантный пин можно подавать на 4 В больше чем VDD. Теоретически у меня 5В возникает раньше чем 3.3, так как 3.3 делается из 5, задержка небольшая, но есть (думаю до единиц миллисекунд может дойти). То есть во время включения ражим нарушен, может это приводит к сбою во время работы?
На будущее уже сделал себе зарубку последовательный резистор лепить для ограничения тока в цепи из 5-вольтового драйвера, но уж очень с местом туго, думал что не нужно оно.
Конечно, может и не STM32 у меня виноват, но уж больно красиво все совпадает. По возможности попробую добраться до пинов микроконтроллера, тогда бы понятней стало. А пока только ST-Link подключить могу и теоретизировать.
|
|
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 21)
|
Sep 13 2017, 16:28
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(KnightIgor @ Sep 13 2017, 17:05)  Невзирая на толерантности к 5V всяких ног, никогда не мешает влепить резистор компромиссной величины между источником 5V сигнала и ногой MCU. Кстати, RS-485. Есть у нас ряд устройств и большой опыт связки RS-485 приемопередатчиков и MCU. От слова DMX. Так вот, из опыта есть у меня жестокое подозрение, что всякие пики на шине, безобидные для самого RS-485 трансивера, как-то могут пролезать через него до процессора, в результате чего убивались ноги MCU, хотя трансивер даже не 5V, а 3V3 был. Начали ставить резистор, как предложено выше, с тех пор горя не знаем. Резистор я тоже хочу поставить в будущем, но только чтоб защититься от ситуации, когда МК тоже перевел этот пин на вывод (неважно почему). Про импульсы- как-то маловероятно что это правило. Сгорало бы много чего и много у кого, и от того, 5 вольт МК или 3.3 - это бы не зависело. Может, через паразитную емкость на плате или еще как иголки пролезают? Как резистор считали?
|
|
|
|
|
Sep 14 2017, 04:03
|
Местный
  
Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188

|
Цитата(V_G @ Sep 14 2017, 01:35)  Может, не импульсы и не иголки, а банальные КЗ? И то, и другое - легко, учитывая пару десятков пик внутренней емкости и общую (с кем-то) землю (если трансивер не изолированный). Резисторы можно считать, исходя из входной емкости пина (≤40р) и длительности фронта. Напр. для CAN (1 MHz) - 270 Ohm вполне подходят. Ну и да, КЗы всякие тоже никто не отменял...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|