- Компьютер, работающий у меня круглосуточно, и оставленный и в этот раз на время сна работающим, оказался почему-то выключенным.
- ADSL-модем (о котором недавно писалось) выглядел выключенным, то есть ни индикаторы не горели (ни один), ни интернета (после включения компьютера) не было, при том, что модем был включен в розетку и его кнопка включения на задней панели была (что ожидаемо) во включенном состоянии.
- Выяснилось, что и мобильный USB-шный 3G-модем не работает (но здесь причина, как потом выяснилось, была просто в нулевом балансе на счете, так что не стоит говорить об этом обстоятельстве в рамках данной темы).
Всё это выглядело так, как будто был дикий скачок напряжения, убивший модем и вырубивший компьютер, или, с учётом того, что и 3G-модем сперва не заработал, мелькнула мысль о чем-то вроде крайне сильной электромагнитной бури (которыми обычно пугают обывателей). Но, как уже было сказано, с 3G-модемом всё оказалось банально, так что будем пока рассматривать версию скачка.
Компьютер был благополучно включен вновь, и никаких последствий его непредвиденного беспричинного выключения я не заметил. А вот с модемом было всё куда печальнее.
Как я уже сказал, модем был включен в розетку, его кнопка включения была в нажатом (включенном) положении, но при этом он не подавал никаких признаков жизни (даже ни один индикатор не горел). На самом деле, кое-какие необычные признаки я всё-таки заметил, точнее — услышал.
Блок питания модема (тот, что воткнут в удлинитель) издавал цыкающие звуки с периодичностью примерно 0,7 с. Стоило щёлкнуть выключателем на задней стороне модема, как цыканье сменялось постоянным свистом с переменной (уменьшающейся частотой). Свист из блока питания на холостом ходу был делом привычным и давно заметным, а вот цыканье — новым, ибо в норме под нагрузкой БП модема работал тихо.
Я, кстати, поднёс микрофон к БП и записал, какие звуки он издаёт:
(Спектрограмма звука: ниспадающие гармоники — работа БП при выключенной кнопке или при выдернутом из модема штекере, а пунктирные черточки — то самоые цыканье. Частота тона цыканья около 15 кГц.)
Первое, что я сделал, это вскрыл модем, подцепился осциллографом на коннектор питания и стал смотреть, что вообще происходит с питанием при включенной или выключенной кнопке. Ибо сразу возникла версия, что цыканье с паузами — это следствие того, что в схеме модема короткое замыкание, и эти паузы появляются потому, что защита внутри БП временно снимает напряжение с выхода.
Осциллограмма подтвердила версию. Как только на штекере питания появлялось напряжение, кто-то в модеме устраивал КЗ буквально через сотую долю секунды, вызывая сильную просадку напряжения в питающем шнуре. Защита в БП чуяла резкое возрастание тока и его превышение и отключала генерацию на какое-то время. В период паузы видно как по экспоненте разряжаются электролитические конденсаторы, испуская остаточный заряд.
Дальше предстояло выяснить, кто же устраивает КЗ.
Схемы на этот модем нет, так что пришлось разбираться на ходу. В ходе осмотра платы и гугления было выявлено, что в модеме стоит аж три «параллельных» (не в электрическом, а в функциональном смысле) понижающих DC-DC преобразователя, питающихся от 12V, подаваемых на вход модема.
Эти три независимых понижающих преобразователя имели топологию «buck» и формировали разные напряжения для трёх шин питания.
Два преобразователя были выполнены на микросхеме SC4524.
Один преобразователь был выполнен на микросхеме AP34063 (клон MC34063 — классика жанра).
Очевидно, КЗ устраивал какой-либо из этих преобразователей (или несколько, а может даже все), либо схемы, питаемые от этих преобразователей (что, впрочем, маловероятно, ибо эти ШИМ-контроллеры все имели собственные токовые защиты).
Разными методами я начал определять, какой преобразователь виноват. Посмотреть осциллографом процессы, происходящие в обвязке преобразователей толком не получалось: стабильные циклические процессы не успевали начаться и устаканиться, прежде чем происходило КЗ (с характерным звоном на всех линиях), внешнее питание отрубалось и начинались переходные процессы, характерные для обесточивания преобразователей.
Так что глядя на форму напряжений там и сям сказать, нормальная ли это картина или нет, я не мог.
Более перспективным методом было измерение осциллографом падения напряжения на толстых питающих дорожках по траектории от штекера до входа ШИМ-контроллера. Падение это исчислялось милливольтами, но, впрочем, этого было достаточно, чтобы сказать, какой преобразователь потребляет сверхток.
Изучая даташит на SC4524, который не был мне знаком (по сравнению с MC34063), я обнаружил, что у этого чипа есть вход SS, предназначенный для мягкого старта (собственно SS — soft start). Предписывается подключать между SS и землёй конденсатор. Чип заряжает его постоянным током и по мере зарядки заводится контроллер. В добавок к этому вход мог использоваться как управляющий (но не использовался в модеме) — насильное внешнее придавливания SS к земле вызывало отключение контроллера (ибо уровень на пине становился нулевым).
Это позволило временно исключать контроллеры преобразователей из работы, ничего не выпаивая и не перерезая дорожек (чего никто бы делать не стал).
Я просто коротил пинцетом SS и GND и смотрел, что будет происходить.
Закоротил SS и землю на первом чипе: циклические срабатывания защиты никуда не делись, но в такт циклам рестарта питания стали моргать все светодиоды. Но раз рестарт питания продолжается, значит виноват не этот временно выключенный чип SC4524.
У MC34063, который стоял по серединке возможности закоротить что-то для выключения не было.
У крайней оставшейся SC4524 я закоротил SS и GND и циклические КЗ с циклическими отключениями питания и регулярным цыканьем БП прекратились. БП замолчал (как он обычно молчал, когда от него продолжительно брали ток в пределах номинального), остальные преобразователи (SC4524 и MC34063) завелись и стали выдавать определённые стабильные напряжения на выходе.
Заглушенный пинцетом контроллер явно не работал, не создавал КЗ и, одним словом, ничего не делал
Итак, круг подозреваемых и область поиска сузилась от трёх до одного конкретного преобразователя.
Напомню картинку из топика про монитор, касающуюся buck-конвертера:
Правая часть с резонансным трансформатором к текущей проблеме, конечно, никакого отношения не имеет, но левая половина картинки актуальна для любого конвертера buck-топологии.
Из неё видно, что КЗ может вызывать либо пробитый диод Шоттки, либо пробитый ШИМ-контроллер. КЗ за пределам дросселя, по идее, не может приводить к таким сверхтокам и просадкам напряжения на общей питающей линии, ибо будут просто расценены исправным контроллером как перегрузка.
У данного контроллера (SC4524) в отличие от мониторного ШИМ-контроллера ключевой транзистор не внешний, а интегрирован в сам чип, поэтому выпаять его и посмотреть, что будет, как в случае с монитором, не получилось бы (или пришлось бы выпаивать весь контроллер — что геморройно).
Первым делом подозрение пало на диод Шоттки (нижнее плечо полумоста преобразователя, левая точка дросселя подсоединяется к центральной точке между ключевым транзистором и диодом Шоттки). Омметром прямо в схеме были промерены сопротивления обоих диодов (в рабочем преобразователе и в больном) со сменой полярности щупов. Измерения показали, что в здоровом преобразователе сопротивление в прямом направлении низкое, а в обратном — высокое. В больном же у диода в обоих направлениях сопротивление было примерно одинаковым.
Впрочем, это грубый метод, ибо измерения характеристик прямо в схеме без выпаивания всегда даёт большую неточность. Но как предварительный метод оценки — сойдёт.
Итак, был определён больной преобразователь и подозреваемая неисправная деталь в нём:
(На этой картинке плохая читаемость, вот полная версия: https://pp.vk.me/c625226/v625226760/28c ... YlBEWM.jpg — тут обведены границы преобразователей, подписаны чипы и указан предположительно пробитый диод).
Диод из больного преобразователя был выпаян, и, как назло, оказался совершенно здоровым.
Исправным.
После запаивания диода обратно ситуация кардинальным образом поменялась. После того, как все детали были возвращены на место (кроме диода выпаивался ещё и соответствующий дроссель), когда устройство было вновь включено, наблюдалось только 5 рестартов подачи питания, а затем все преобразователи начинали работать.
Мелькнула мысль, что зря я вообще обвиняю плату модема, возможно виноват БП, втыкаемый в розетку. Поэтому на плату были поданы 12 вольт не от родного БП, а от лабораторного (обладающего большей токовой отдачей, и способным выжечь элемент, вызывающий КЗ). При запитывания от лабораторника все три преобразователя заводились сразу же, никаких просадок напряжения не было, модем целиком потреблял от лабораторника 70 mA (что очень мало), но устройство в целом не функционировало.
Итак, если раньше кто-то устраивал просадки, делая КЗ, то теперь этого не было, но устройство в целом не работало.
Я опять стал изучать процессы, происходящие в преобразователях, и вообще смотреть напряжения, даваемые ими на выходе. Заранее не зная, можно было предположить, что при запитывании от лабораторника 12 вольт хлынули через больной преобразователь прямо на процессор, и прочую периферию модема и сожгли всё к чёрту. Или предположить, что при выпаивании/запаивании что-то умерло от перегрева (чёртов RoHS-совместимый Lead-Free (бессвинцовый) припой создал мне много геморрой при выпаивании, и мне приходилось повышать температуру фена и паяльника, так что опасение было не напрасным).
Промеры показали, что:
- Первый SC4524 генерировал 5 вольт, что соответствовало задуманному. Осциллограммы в разных точках выглядели как нормальные, частота преобразования была в районе мегагерца с лишним (что нормально, ибо это преобразователи, умеющие работать на таких высоких частотах (порядка мегагерца), что позволяет им использовать маленькие дроссели). Эти 5 вольт, как я полагаю, нужно только питания USB-интерфейса модема.
Средний MC34063 тоже работал как полагается, знакомый вид правильных осциллограм давал понять, что тут всё идёт как надо. Этот преобразователь выдавал 1 вольт с чем-то, нужные, возможно, для Wi-Fi-модуля или питания DSL-схемотехники.
А вот последний, признанный больным, преобразователь на SC4524 выдавал 1.06V и происходящие в нём процессы выглядели неправильно по всем параметрам. На выходе SS напряжение у него было гораздо ниже, чем на SS у здорового чипа. На входе FB (фидбек — обратная связь с резистивного делителя) у него было около 300 mV, в то время как на FB с резистивного делителя должно поступать ровно 1.00V (контроллер оценивает выходное напряжение по уровню на входе FB).
Форма напряжения на выходе ключевого транзистора была далека от той, которую я наблюдал у чипа здорового преобразователя: если у здорового там был сложная, но повторяющаяся из периода в период форма напряжения, то здесь были пачки из 2—3 прямоугольных импульсов, за которыми следовал «период молчания» в 10 раз длиннее, чем ширина интервала с пачками, и на котором наблюдался звон.
Кроме того, период следования этих пачек составлялся 300 кГц, что не характерно этого чипа (его конёк — в использовании частот не порядка сотен кГц, а порядка единиц мГц).
Один из интересных моментов: у этого хитрого и мудрёного контроллера (SC4524) есть bootstrap-механизм с bootstrap-конденсаотором: этот конденсатор обеспечивает вольтодобавку, позволяя получить на входе BTS напряжение, которое больше напряжения питания чипа. Это необходимо чипу, ибо он использует для верхнего плеча транзистор со структурой NPN (а не PNP).
Если у здорового на BST напряжение имело тут же форму, что и напряжение на выходе SW (эмиттер ключевого транзистора внутри ШИМ-контроллера) плюс выходное напряжение (т.е. было на 5 вольт выше, чем напряжение на средней точке полумоста), то у больного чипа на BST и на SW напряжение было одинаковым, откуда следует, что вольтодобавочный конденсатор не заряжается по какой-то причине.
К сожалению, из-за того, что в середине дня мне пришлось несколько часов потратить на разъезды, у меня не было разобраться с этим более детально.
И сейчас, фактически, я только гадаю между двумя версиями:
- повреждён сам чип
повреждено что-то из его обвязки, но я не могу пока понять, что
Печальный факт состоит в том, что в первом случае я не вижу лёгкого выхода: одна из составляющих разъездов заключалось в том, чтобы заехать во все магазины радиодеталей. Результат не радует: нигде такого контроллера (SC4523) нет и не было (и не будет). А ждать со, скажем, еБэя — это где-то 2 месяца.
Тем не менее, я решил проверить, стоит ли игра свеч.
Это очень редкое и маловероятное обстоятельства, чтобы современная скоростная электроника питалась от напряжения 5V. Скорее она будет питаться от 3.3V, или же 2.5V или вообще 1.8V. По этой причине я заключил, что один из преобразователей, выдающий 5V, нужен тут только ради USB. Кстати говоря, когда я его глушил, делая перемычку SS на GND пинцетом, лампочки моргали по той причине, что оставшийся больной преобразователь (питающий все микросхемы) был лишён одного конкурента, и накопленного в электролитических конденсаторах (на стороне 12V) заряда хватало, чтобы на шине питания, обеспечивающей питание всех микросхем, дёрнуть напряжение на очень короткое время до того значения, когда заводится процессор и Ethernet-свитч-чип.
Теперь же преобразователь, обеспечивающий питание всего чипсета, выдавал 1.06V, чего явно мало для питания процессора и всех остальных чипов. Таким образом, запитанное устройство не функционировало сейчас потому, что все микросхемы в его составе не работали из-за недостаточного напряжения питания. Сколько же на самом деле должен выдавать этот преобразователь, питающий все микросхемы?
Исходя из предположения о том, что резистивный делитель не повреждён, используя тот факт, что когда на выходе больного преобразователя мы имеем 1.06V, на пине FB напряжение составляет где-то 300 mV, в то время как при правильной работе на пине FB был бы ровно 1 вольт, был сделан вывод, что скорее всего преобразователь должен выдавать 3.3V.
Это было похоже на правду, но чтобы не совершить глупую фатальную ошибку я проверил это предположение ещё в нескольких местах. Во-первых, на каждый чип по мере возможностей был найден свой даташит. Для Broadcom-овских чипов единственные публично доступные даташиты являются просто рекламными брошюрами без какой-либо технической конкретики, но в некоторых ревизиях таких брошюр всё же нашлось упоминание диапазона 2,5...3,3V.
Кроме того, была найдена, например, вот такая весьма полезная статья для моего DSL-2650U на сайте проекта OpenWRT. В ней описывался диагностический коннектор (на самом деле — простой UART, куда выводится лог загрузки бортового Линкукса, а после бута этот последовательный порт мог быть открыт любой прикладной программой на борту устройства как обычное устройство /dev/ttyS0):
Распиновка разъема JP1:
- Код: Выделить всё
[x] : TX
[x] : GND
[x] : VCC 3.3V
[ ]
[x] : RX
Я проверил второй пин коннектора JP1 и обнаружил там опять же 1.06V, а затем заглушил больной преобразователь и обнаружил пропадание напряжения на втором пине JP1, что подтверждало, что второй пин JP1 запитан от больного преобразователя, и что, как следствие, больной преобразователь действительно должен выдавать 3.3V.
Кроме того, ещё ряд контрольных точек, таких как располагающиеся рядом с каждым чипом керамические конденсаторы, с очень большой долей вероятности являющиеся decoupling-конденсаторами, а значит стоящие между шиной питания чипа и землёй, были проверены. На всех было обнаружено выходное напряжение больного преобразователя.
Это позволяло в меру возможностей деактивировать преобразователь и в обход его подать на плату так жизненно необходимые всем микросхемам 3.3V для питания, без риска что-нибудь сжечь (такой риск был, пока точно не было установлено, сколько же должен выдавать больной конвертер в эту шину питания).
Так что я решил подать внешнее питание и проверить, а жива ли вся остальная электроника: жив ли процессор, жив ли свитч, жива ли память, цела ли прошивка? Стоит ли идти дальше?
Для этого было предпринята попытка запустить модем в условиях, так сказать, реанимации — то есть на аппарате искусственного кровообращения.
Диод Шоттки и дроссель были вновь выпаяны. Тем не менее, питаемая больным преобразователем шина питания оставалась связанной с чипом через линию отрицательной обратной связи и цепи зарядовой помпы (вольтодобавный конденсатор). Чтобы контроллер никаких не повлиял на наше внешнее питание, а наше внешнее питание на контроллер, он был заглушен перемычкой между пином SS и пином GND.
На диагностический коннектор JP1 был повешан щуп осциллографа для контроля. Питание с лаб. БП было подано на плату: минусовой провод был посажен на корпус USB-гнезда (имеющий хороший контакт с земляным полигоном), а плюс — на «правую» точку выпаянного дросселя. На лабораторнике было выставлено 3.3V.
Включил устройство, подцепил красный крокодил: загорелись все индикаторы (обычное явление при запуске, но если мозги мертвы — все индикаторы так и продолжат гореть), затем погасли лишние индикаторы, остался только индикатор Power. Потребление по линии 3.3V от ЛБП было около 650 mA. От устройства стал исходить околоультразвуковой шум (хороший знак). Заморгал индикатор Wi-Fi.
А раз заморгал индикатор Wi-Fi, значит, скорее всего, мозги устройства целы и живы.
Притащил ноутбук, зашёл на 192.168.1.1 — работает!
Воткнул DSL-линию (телефонный провод) в устройство: замигали индикатор DSL, а затем и Internet (мигает после установления PPPoE-сессии).
Итак, устройство живо, прошивка и настройки не слетели, Wi-Fi функциональность работает, DSL-функциональность работает, веб-интерфейс работает:
Этот пост был написан через и опубликован через интернет, предоставляемый реанимированным ADSL-модемом через Wi-Fi:
Остаётся только выспаться после и со свежим рассудком выяснить точную причину неправильного поведения повреждённого преобразователя. Если дело окажется в обвязке — заменить. Если же сам чип окажется мёртвым, боюсь, придётся городить альтернативный преобразователь 12→3.3 и размещать его внутри корпуса модема — по крайней мере временно — пока не придёт замена, которая будет в этом случае заказана в интернет-магазине.
Продолжение следует!