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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> STM32F070: может ли 5V-толерантный вывод сгореть от 5 V ?, Или у всех все ОК ? Или я еррату пропустил какую-то?
Ruslan1
сообщение Sep 11 2017, 15:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 232
Регистрация: 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 подключить могу и теоретизировать.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 11 2017, 16:29
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 7 579
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А сам ST485 сгореть не мог? Приемная с линии часть. Там, по-моему, больше шансов сдохнуть.
И, если микросхемы залиты - не перегреваются?
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 11 2017, 18:52
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 333
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(ViKo @ Sep 11 2017, 19:29) *
И, если микросхемы залиты - не перегреваются?

И еще не понятно чем и как залито - может просто механически отрывается/теряется контакт.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 11 2017, 20:32
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 038
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Если есть доступ через отладчик - то перевести ногу Rx в режим GPIO, растянуть входы 485 "наоборот", прочитать состояние ноги. Если не изменилось (а скорее всего так и будет) - перевести ногу в режим вывода, подергать ее через регистр вывода порта. Если "дерганье" отражается в регистр ввода - нога жива и обрыв где-то дальше.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Sep 11 2017, 20:42
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 232
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



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

Цитата(Сергей Борщ @ Sep 11 2017, 22:32) *
Если есть доступ через отладчик - то перевести ногу Rx в режим GPIO, растянуть входы 485 "наоборот", прочитать состояние ноги. Если не изменилось (а скорее всего так и будет) - перевести ногу в режим вывода, подергать ее через регистр вывода порта. Если "дерганье" отражается в регистр ввода - нога жива и обрыв где-то дальше.

спасибо, это могу. попробую завтра.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Sep 12 2017, 08:42
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 232
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Сергей Борщ @ Sep 11 2017, 22:32) *
Если есть доступ через отладчик - то перевести ногу Rx в режим GPIO, растянуть входы 485 "наоборот", прочитать состояние ноги. Если не изменилось (а скорее всего так и будет) - перевести ногу в режим вывода, подергать ее через регистр вывода порта. Если "дерганье" отражается в регистр ввода - нога жива и обрыв где-то дальше.

Перевел под отладчиком ноги в GPIO, все оказалось именно так, как Вы и предположили:
1. При изменении сигнала RS485 этот пин RX ничего не видит (состояние регистра IDR не меняется)
2. При установке в output я вижу в регистре ввода (IDR) устанавливаемое мной (через регистр ODR) состояние пина
3. Дополнительно попробовал разрешить pull-up и pull-down на RX: регистр ввода корректно показывает 1 и 0, будто пин ни к чему не подключен. Причем это происходит при любом уровне на RTS. (на работающей плате, если RS485 драйвер на приеме, никакой pull не перетянет реальный сигнал от драйвера)

При этом передатчик работает, TX и RTS пины работают корректно.
Для подтверждения что все делаю правильно- провел тот же тест на рабочей плате, все работает именно так, как и должно работать по теории.


В-общем, по всему получается, что прав ViKo : сдох приемник в драйвере ST485 и его "RO" вывод всегда в третьем состоянии. Ну или из-за злого компаунда или неровного монтажника оторвало ногу корпуса драйвера или МК от платы.

Большое спасибо всем за советы, по всему видно, что STM32 не виноват.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 12 2017, 09:27
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 038
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Ruslan1 @ Sep 12 2017, 11:42) *
сдох приемник в драйвере ST485 и его "RO" вывод всегда в третьем состоянии
Или обрыв сигнала на пути к входу RE.

Когда расковыряете компаунд, отпишитесь о результатах - любопытно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Alechek
сообщение Sep 12 2017, 09:42
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 199
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



ST485 мрет хорошо, когда на его вход подается больше 16-22В даже кратковремено.
Что лего обеспечивается подключением на "горячую" на 24В технике при отсутствии его защиты.
SN65176 в этом плане более "дубовые", хоть и жрут много.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Sep 12 2017, 10:16
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 232
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Alechek @ Sep 12 2017, 11:42) *
ST485 мрет хорошо, когда на его вход подается больше 16-22В даже кратковремено.
Что лего обеспечивается подключением на "горячую" на 24В технике при отсутствии его защиты.
SN65176 в этом плане более "дубовые", хоть и жрут много.

У меня установлены 12-вольтовые супрессоры (SMAJ12CA), и перед ним PTC Fuse от постоянно поданного напряжения, и еще газовые разрядники на входе.
Но да, все может быть.
Если расковыряю- скажу что там сгорело.

Про "мрет хорошо, когда на его вход подается больше 16-22В даже кратковремено" - не знал, спасибо, учту. 16 вольт могут и проскочить через 12-вольтовый супрессор, так что, получается, нужно на меньшие величины переходить. У него предельное по даташиту +/- 14V только.

а SN65176 да, дешевый и вроде бы проблем никогда не было, но вот жрет он шо дурной. Кстати, 12-вольтовые супрессоры с тех пор исторически и ставлю, но, видимо, уменьшать нужно.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Sep 12 2017, 15:01
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 199
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Ruslan1 @ Sep 12 2017, 15:16) *
У меня установлены 12-вольтовые супрессоры (SMAJ12CA), и перед ним PTC Fuse от постоянно поданного напряжения, и еще газовые разрядники на входе.
Но да, все может быть.

Хе, 12В? Да еще и 2-хнаправленный?

Не смущает, что у ST485 по ТТХ:
Цитата
- 7 V to 12 V common mode input voltage range

?

И то, что у 12В супрессора
Цитата
Breakdown Voltage MAX 14.7V

и
Цитата
Maximum Clamping Voltage 19.9V


Ставить 6-ку надо (и лучше однонаправленную), чтобы без проблем.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Sep 12 2017, 15:15
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 232
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Alechek @ Sep 12 2017, 17:01) *
Хе, 12В? Да еще и 2-хнаправленный?
....
Ставить 6-ку надо (и лучше однонаправленную), чтобы без проблем.

да-да. Согласен. Уши растут из старых конструкций, а сейчас да, все что больше пяти вольт- можно нужно отрезать.
Upd: хотя да, и 6.8V тоже много ставил, но тут 12-вольтовый стоит.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Sep 13 2017, 10:52
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 232
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



расковырял, получил доступ к нижней стороне печатной платы.
Причина проблемы- обрыв дорожки.
Соединил дорожку- устройство заработало.

Причина обрыва- коррозия.

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

Причина коррозии- блок плат снизу закрыт изолирующей платой. Эта плата была прижата к основной так сильно, что компаунд, которым блок заливается после помещения в металлический корпус, не проник между смонтированной платой и изолирующей платой. В результате плата снизу оказалась полностью не защищена, и пофиг что снаружи все выглядит как цельнозалитый кирпич с проводами. Заливали не в вакууме, вероятность конденсата есть.
Разъело за какой-то месяц или два, и паяльная маска любой толщины тут мало поможет, разве что отдалит "день Х". Ну и, может быть, маска в этом месте была повреждена при монтаже (царапины, сколы...)

Как бороться- понятно, сначала все-таки лакировать нужно, и только потом заливать.

Ну и, конечно, это не отменяет установку не-12вольтных суппресоров, поменял на 5-вольтовые, которые под рукой были. Но в будущем буду ставить 7-вольтовые- у них ток утечки в 4 раза меньше, чем у 5-вольтовых.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 13 2017, 12:39
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 8 038
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Ruslan1 @ Sep 13 2017, 13:52) *
Причина проблемы- обрыв дорожки.

QUOTE (Сергей Борщ @ Sep 11 2017, 23:32) *
нога жива и обрыв где-то дальше.

Угадал. Пойду за пирожком sm.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Sep 13 2017, 13:15
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 232
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Сергей Борщ @ Sep 13 2017, 14:39) *
Угадал. Пойду за пирожком sm.gif

Пирожок мало. Нужно что-то посерьезнее. sm.gif


Спасибо всем за помощь! STM32, как выяснилось, ни в чем не виноват. sm.gif

И что любопытно- несколько устройств с таким же дефектом. Видимо, причина в том, что данная дорожка- с самого края платы, и до нее силы природы добрались раньше, чем до других. Но открывать другие коробки, чтоб проверить- желание есть, но время тратить жалко. Лучше тоже пирожок съем...
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Sep 13 2017, 15:05
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 625
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(Ruslan1 @ Sep 13 2017, 14:15) *

Невзирая на толерантности к 5V всяких ног, никогда не мешает влепить резистор компромиссной величины между источником 5V сигнала и ногой MCU. Кстати, RS-485. Есть у нас ряд устройств и большой опыт связки RS-485 приемопередатчиков и MCU. От слова DMX. Так вот, из опыта есть у меня жестокое подозрение, что всякие пики на шине, безобидные для самого RS-485 трансивера, как-то могут пролезать через него до процессора, в результате чего убивались ноги MCU, хотя трансивер даже не 5V, а 3V3 был. Начали ставить резистор, как предложено выше, с тех пор горя не знаем.

Сообщение отредактировал KnightIgor - Sep 13 2017, 15:05
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd September 2017 - 18:09
Рейтинг@Mail.ru


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