Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фрискейлу клинит мозг, если на портах напряжение раньше чем питание ядра.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Trashy_2
Ситуация: при включении питания некоторые модули(но не все) с Freescale iMX6 Solo начинали дико жрать ток, фактически КЗ.
Стал разбираться, оказалось клинит из-за того, что на портах GPIO появляется напряжение(от других блоков, подтяжки I2C) раньше, чем подаётся питание на сам блок Фрискейла. Изменить последовательность включения питаний не представляется возможным.
Как можно вылечить? Самое интересное, что не все блоки имеют такой глюк.
_pv
некоторые преобразователи уровней в третьем состоянии свои выходы держат пока на них с соответсвующей стороны питание не подано.
http://www.ti.com/lsds/ti/logic/voltage-le...n-overview.page
GetSmart
Цитата(Trashy_2 @ Dec 1 2016, 11:08) *
Стал разбираться, оказалось клинит из-за того, что на портах GPIO появляется напряжение(от других блоков, подтяжки I2C) раньше, чем подаётся питание на сам блок Фрискейла.

У правильно спроектированных процессоров на шине I2C допускается высокое напряжение (5V) когда нет питания процессора. Что-то здесь не так. Разработчик девайса подключил I2C не к тем пинам? И I2C софтовый.
Trashy_2
Цитата(GetSmart @ Dec 1 2016, 12:55) *
У правильно спроектированных процессоров на шине I2C допускается высокое напряжение (5V) когда нет питания процессора.

Да к высокому напряжению нет ни каких претензий. Претензии просто к НАЛИЧИЮ этих напряжений.
Цитата(GetSmart @ Dec 1 2016, 12:55) *
Что-то здесь не так. Разработчик девайса подключил I2C не к тем пинам? И I2C софтовый.

Всё аппаратное. Фрискеёл, это не микроконтроллер, что бы на нём так изгаляться.
yes
> iMX6 Solo начинали дико жрать ток

а по какому из питаний?

в принципе они очень серьезно относятся к повер-секвенс, а через диоды может натечь по I2C
но может дело и не в этом - если I2C это отрезать - наблюдается глюк? источник питания самодельный или на "компанион чипе" MMPF0200 / MMPF0100 ?
Trashy_2
Цитата(yes @ Dec 1 2016, 16:05) *
> iMX6 Solo начинали дико жрать ток

а по какому из питаний?

в принципе они очень серьезно относятся к повер-секвенс, а через диоды может натечь по I2C
но может дело и не в этом - если I2C это отрезать - наблюдается глюк? источник питания самодельный или на "компанион чипе" MMPF0200 / MMPF0100 ?


Из дохумента по поводу "правильно спроектированных процессоров":
All I/O pins should not be externally driven while the I/O power supply for the pin (NVCC_xxx) is OFF.
This can cause internal latch-up and malfunctions due to reverse current flows.
SasaVitebsk
Цитата(Trashy_2 @ Dec 1 2016, 16:28) *
Из дохумента по поводу "правильно спроектированных процессоров":
All I/O pins should not be externally driven while the I/O power supply for the pin (NVCC_xxx) is OFF.
This can cause internal latch-up and malfunctions due to reverse current flows.

Вон оно как... А я думал про это можно забыть уже. На заре своей юности помню сражался с интеграловскими 537РУ10. ))
Тиристорный эффект знаменитый. И посмотри где всплыл... ))

Цитата(Trashy_2 @ Dec 1 2016, 10:08) *
Как можно вылечить? Самое интересное, что не все блоки имеют такой глюк.

По старой памяти. Все блоки будут иметь такой глюк. Просто он будет проявляться не всегда. На некоторых блоках будет проявляться крайне редко. У меня даже при этом всё работало. )) Только жрало так, что просто пипец. И сами м/х разогревались, что можно ошпарится. ))
У меня это из-за других причин происходило. Из-за превышения U на ножках над U питания. Были длинные линии. Ставили кондёры. Диоды не помогали, так как по быстродействию не справлялись. На сколько я помню. Скоро 30 лет как событие было ...
В Вашем случае, никак не поможешь. Вам нужен процессор, который правильно работает с данной шиной. Это очевидный косяк.
На сколько я знаю, NXP позволяет питание держать на ноге. Не засаживает, и безболезненно переносит.
_pv
Цитата(SasaVitebsk @ Dec 2 2016, 03:03) *
В Вашем случае, никак не поможешь.

если пакостит только, i2c подтянутый с другой стороны, то вставленный перед процессором TCA9406, при отсутствии питания со стороны процессора, будет в третьем состоянии.
для остальных сигналов обычные, не двунаправленные трансляторы, вроде 74LVC8T245, себя как правило так же ведут.
yes
> дохумента по поводу "правильно спроектированных процессоров"

а что за дохумента - Hardware Development Guide?
мы имеем дело не с SOLO, а с QUAD и DUAL-ами, собираемся с SOLOX
в принципе жрут много, больше, чем ожидалось, 2-4W, но на SABRE или Wandboard жрет так же

я такого явного упоминания для QUAD/SOLOX не видел


SasaVitebsk
Цитата(_pv @ Dec 2 2016, 00:29) *
если пакостит только, i2c подтянутый с другой стороны, то вставленный перед процессором TCA9406, при отсутствии питания со стороны процессора, будет в третьем состоянии.
для остальных сигналов обычные, не двунаправленные трансляторы, вроде 74LVC8T245, себя как правило так же ведут.

Ну да. Я имел ввиду ничего не поможет без переразводки платы, только навесными элементами типа диода. А применение внешних элементов, безусловно спасёт.
Pridnya
Цитата(Trashy_2 @ Dec 1 2016, 10:08) *
Ситуация: при включении питания некоторые модули(но не все) с Freescale iMX6 Solo начинали дико жрать ток, фактически КЗ.
Стал разбираться, оказалось клинит из-за того, что на портах GPIO появляется напряжение(от других блоков, подтяжки I2C) раньше, чем подаётся питание на сам блок Фрискейла. Изменить последовательность включения питаний не представляется возможным.
Как можно вылечить? Самое интересное, что не все блоки имеют такой глюк.

Это может быть не только у Freescale. Я проводил опыт с АЦП STM32 и боролся с шумом АЦП, отдельного опорника не было, были два RC-фильтра, как на STM32F4DISCOVERY, попробовал подключить к входу опорного напряжения батарейку 3 вольта (идеальный источник опорного напряжения), пока проводил опыт батарейка разрядилась. Оказалось, что при отсутствии питания микроконтроллера ток потребляемый от батарейки достигал 100 мА. Сначала нужно подавать питание, а потом опорное. Как раз две RC-цепочки не только фильтруют, но и вносят задержку появления питания на опорном по отношению к питанию микроконтроллера.
SasaVitebsk
Цитата(Pridnya @ Dec 5 2016, 09:05) *
Это может быть не только у Freescale.

Понимаете, тут есть принципиальная разница. I2C это всё же шина. И ситуация с внешним питанием устройств сидящих на шине, возможна и описана. Там для чего сделан арбитраж? Причём на stm даже аппаратный частичный арбитраж. Для чего вообще применен OK?
Всё как раз для того, чтобы возможно было применить несколько устройств на шине. Раз это возможно, то очевидно, что возможно раздельное питание. И вот с этим возникают проблемы. Вроде бы краем уха слышал, что у AVR с этим проблемы были, правда другого характера. Там при выключении питания шина засаживается.
А опорник, это совсем из другой оперы. Имеют право.
zltigo
QUOTE (SasaVitebsk @ Dec 5 2016, 13:41) *
Понимаете, тут есть принципиальная разница. I2C это всё же шина.

Именно так. По этой причине, например, у NXP один из портов I2C всегда "настоящий" и документировано держит подключение к активной шине при отсутствии питания контроллера.


QUOTE (Pridnya @ Dec 5 2016, 08:05) *
Оказалось, что при отсутствии питания микроконтроллера ток потребляемый от батарейки....

Естественно, у любого стандартного входа-выхода будет именно так, поскольку вся изоляция обеспечивается обратносмещенными P-N переходами, то при подаче на вывод напряжения выше, чем напряжение питания на величину смещения полупроводниковой структуры, чип начнет потреблять ток.
Trashy_2
Шибко не мозгуйте, тут совсем всё поменялось, аж мозги поплыли...
Потом уточняющую инфу добавлю.
Trashy_2
Цитата(Trashy_2 @ Dec 5 2016, 17:30) *
Шибко не мозгуйте, тут совсем всё поменялось, аж мозги поплыли...
Потом уточняющую инфу добавлю.

Походу наша вина. Подпалили железо. Но для статистики мало плат...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.