Sn8p26l38fg в клавиатуре схема включения

Обновлено: 07.07.2024

Всем привет! В этой статье я наглядно покажу как правильно подключать кнопки (POWER, RESET) и устройства передней панели (F_PANEL, F_AUDIO и F_USB). Дело не хитрое, но стоит Вашего внимания.
В начале пару советов:
Разберу наглядно данное дело на старенькой материнской плате от фирмы Gigabyte модель GA-945GCM-S2C. Сразу скажу - Схемы подключения рисовал исключительно для данной статьи и на конкретном примере, цвета проводов у Вас будут отличаться. Главное понять и смысл подключения и воплотить (проверить) на своём ПК.

На этой картинке отображены разъёмы материнской платы для подключения коннекторов.

В основном (бывают исключения) под разъёмами мелким шрифтом написаны порядок подключения коннекторов и полярность. В моём случае указано:

PWR_LED (три разъемчика) - индикация включенного компьютера;

+PW- (PWRSW) - кнопка включения питания ПК;

-RES+ (RESET) - кнопка для перезагрузки ПК;

+HD- (IDE_LED, HDD_LED) - светодиод обращения к жесткому диску;

+SPEAK- (SPEAKER) - тот самый сигнал(ы), который издаёт компьютер при включении, если обнаружена ошибка.

Коннекторы выглядят так (см. скрины)

К каждому коннектрору подходят два провода:

POWER LED (зеленый, белый);

H.D.D. LED (желтый, белый);

POWER SW (черный, белый);

RESET SW (оранжевый, белый);

SPEAKER (черный, красный).

В данном случае белые это минус "-" или Ground (земля) , а цветные "+". У коннектора SPEAKER (черный, красный) - чёрный "+", а красный "-". Чтобы определить полярность коннекторов, достаточно его перевернуть на тыльную сторону - видим на против одного проводка маленький чёрный треугольник - это "+".

Переходим к следующему этапу, подключение передних дополнительных USB - разъёмов и картридера в разъёмы F_USB2 и F_USB1 (разницы нет, но лучше начинать по порядку). Если уже коннектор "спаянный", т.е. все проводки собраны в одну колодку - процесс значительно упрощается.

Просто подключаем этот "большой" коннектор состоящий из: восьми проводков, одного пустого и одного запаянного разъёма (всего десять) таким образом, чтобы ПУСТОЙ разъемчик совпал с ЗАПАЯННЫМ гнездом в коннекторе. (см. скрины)

А, вот если у Вас пучок проводов как на картинке - нарисую наглядную схемку:)

Здесь мы видим: POWER (Питание - 2 шт.), GND (Ground - "земля" 2шт.), D3+ (плюс), D3- (минус) на один порт usb и D2+ (плюс), D2- (минус) на другой порт. Как Вы уже догадались, два коннектора POWER идентичны и их можно менять местами между собой, так же как и GND. Главное не перепутать местами POWER и GND.

Так теперь осталось разобраться с подключением F_AUDIO разъемов для микрофона и наушников.

Опять же, если Вам повезло и от передней панели идёт большая колодка с 10-ью гнездами, просто вставляем (тут точно не ошибетесь). У меня случай поинтереснее. ) А, именно такие коннекторы: SPK R (выход правого канала на переднюю панель), SPK L (выход левого канала на переднюю панель), MIC (выход микрофона на переднюю панель) и GND.

Вот и всё подключено. Спасибо за внимание, удачи.

Если у Вас отличаются провода, названия коннекторов (колодок) и тд. и тп. не ленитесь, скачайте с официального сайта производителя Вашей материнской платы мануал (руководство) и там 99% найдёте схемы подключения всех F_PANEL, F_AUDIO и F_USB.

Черный экран windows 7 - Узнайте как избавиться от черного экрана Windows 7.
Восстановление windows 7 - Как произвести восстановление системы Windows 7.
Как активировать windows 7 - Как легально активировать windows 7.

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

Последние посетители 0 пользователей онлайн

finn32

Поправил схему. Пока общий концепт, без некоторых номиналов. Думаю, оставлять ли третью пару ВК или хватит двух, заодно и питание уменьшить до +-45 +-35.

17) Разъём 2200SB-60G-SM-45-PG в количестве 100шт. еще актуально?

Вы что напряжение на светодиды подаете с ? Вы бы к утюгу ещё подключили. Это резистивный датчик, сигнал с него нужно подавать на схему усилительную или измерительную, ток через него течет маленький.

HAKAS

Вот и ладненько! А мои девайсы с "правильными" панелями есть в этой и других темах. И незачем так орать. Я просто указал на ошибку и предложил другой формат надписей. Вы же выложили на всеобщее обозрение - чего возмущаетесь? Не заставлял ведь переделывать.

КОМПЭЛ

Опубликованы материалы вебинара «Новинки и решения Traco для промышленных и отраслевых приложений» Приглашаем всех желающих ознакомиться с материалами вебинара, на котором была рассмотрена новая и перспективная продукция компании Traco. Мы подробно рассмотрели сильные стороны и преимущества продукции Traco, а также коснулись практических вопросов, связанных с измерением уровня шумов, промывкой изделий после пайки и отдельно разобрали, как отличить поддельный ИП Traco от оригинала. Подробнее>>

МихМих

А доказательства есть, или как обычно "хайли лайкли"? ЕС в общем, и Германии в частности. Надо было в первую волну так упираться. А сейчас уж поздно, медом намазано.

Ну как я и предполагал, стоит полякам применить силу, как тут же поднимется вой россСМИ на болотах Так и вышло. Моцарт, а беларусские заградотряды позади мигрантов тебя не смущают? А ты не думаешь, что протестовать должны не против поляков, а против Лукашенко и Путина? Ведь именно Лукашенко пообещал мигрантам, что Польша их примет, и обманул их. Поляки не обещали ничего. Вся ответственность за этот гуманитарный кризис лежит на Лукашенко и Путине.



RGB светодиодна лента, 5м. На выбор разная степень влаго-пылезащищенности


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

Подопытным оказался M306N5FCTFP. Это микроконтроллер группы M16C/6N5. Ядро M16C/60 разработано Mitsubishi, а т.к. преемником этой компании по части МК с 2003 года является Renesas, то сейчас эти микроконтроллеры известны именно под этим брендом.

Немного о самом микроконтроллере

Камешек представляет собой 16-разрядный микроконтроллер в 100-выводном QFP корпусе. Ядро имеет 1 МБайт адресного пространства, тактовая частота 20МГц для автомобильного исполнения. Набор периферии так же весьма обширный: два 16-разрядных таймера и возможность генерации 3-фазного ШИМ для управления моторами, всякие UART, SPI, I2C естественно, 2 канала DMA, имеется встроенный CAN2.0B контроллер, а также PLL. На мой взгляд очень неплохо для старичка. Вот обзорная схемка из документации:


Так как моя задача выдрать ПО, то так же весьма интересует память. Данный МК выпускался в двух вариантах: масочном и Flash. Ко мне попал, как выше уже упоминалось, M306N5FCTFP. Про него в описании сказано следующее:

  • Flash memory version
  • 128 KBytes + 4K (дополнительные 4K — так называемый блок А в подарок пользователю для хранения данных, но может хранить и программу)
  • V-ver. (автомобильное исполнение с диапазоном +125°C)

Как вытащить из устройства то, что разработчики втащили

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


Как видно из картинки выше, память разбита на 2 части: пользовательская область, и область загрузчика. Во второй как раз с завода залит загрузчик по умолчанию, который умеет писать, читать, стирать пользовательскую память и общается через асинхронный, синхронный, либо CAN-интерфейс. Указано, что он может быть переписан на свой, а может быть и не переписан. В конце концов это легко проверяется попыткой постучаться к стандартному загрузчику хотя-бы через UART… Забегая вперед: производитель отопителя не стал заморачиваться своим загрузчиком, поэтом копать дальше можно в этом направлении. Сразу оговорюсь, что есть еще способ параллельного программирования, но т.к. программатора для этого у меня не было, я не рассматривал этот вариант.

О защите от считывания


Все бы было совсем просто, если бы в загрузчике не была предусмотрена защита от несанкционированного доступа. Я просто приведу очень вольный перевод из мануала.

Функция проверки идентификатора

Используется в последовательном и CAN режимах обмена. Идентификатор, переданный программатором, сравнивается с идентификатором, записанным во flash памяти. Если идентификаторы не совпадают, команды, отправляемые программатором, не принимаются. Однако, если 4 байта вектора сброса равны FFFFFFFFh, идентификаторы не сравниваются, позволяя всем командам выполняться. Идентификатор — это 7 байт, сохраненных последовательно, начиная с первого байта, по адресам 0FFFDFh, 0FFFE3h, 0FFFEBh, 0FFFEFh, 0FFFF3h, 0FFFF7h, и 0FFFFBh.

Таким образом, чтобы получить доступ к программе, нужно знать заветные 7 байт. Опять же, забегая вперед, я подключился к МК, используя тот же «M16C Flash Starter» и убедился, что комбинации из нулей и FF не проходят и этот вопрос придется как то решать. Здесь сразу же всплыла мысль с атакой по сторонним каналам. Уже начал прикидывать в голове платку, позволяющую измерять ток в цепи питания, но решил, что интернет большой и большинство велосипедов уже изобретено. Вбив несколько поисковых запросов, довольно быстро нашел на hackaday.io проект Serge 'q3k' Bazanski, с названием «Reverse engineering Toshiba R100 BIOS». И в рамках этого проекта автор решал по сути точно такую же задачу: добыча встроенного ПО из МК M306K9FCLR. Более того — на тот момент задача им была уже успешно решена. С одной стороны я немного расстроился — интересная загадка разгадана не мной. С другой — задача превратилась из поиска уязвимости, в ее эксплуатацию, что обещало гораздо более скорое решение.

В двух словах, q3k точно по такой же логике начал изучение с анализа потребляемого тока, в этом плане он был в гораздо более выгодных условиях, т.к. у него был ChipWhisperer, этой штукой я до сих пор не обзавелся. Но т.к. его первый зонд для снятия тока потребления оказался неподходящим и вычленить из шумов что-то полезное у него не получилось, он решил попробовать простенькую атаку на время отклика. Дело в том, что загрузчик во время выполнения команды дергает вывод BUSY, чтобы проинформировать хост о том, занят он, или готов выполнять следующую команду. Вот, по предположению q3k, замер времени от передачи последнего бита идентификатора до снятия флага занятости мог послужить источником информации при переборе. При проверке этого предположения перебором первого байта ключа действительно было обнаружено отклонение по времени только в одном случае — когда первый байт был равен FFh. Для удобства измерения времени автор даже замедлил МК, отключив кварцевый резонатор и подав на тактовый вход меандр 666кГц, для упрощения процедуры измерений. После чего идентификатор был успешно подобран и ПО было извлечено.

Первый блин — граблями

Ха! Подумал я… Сейчас я быстренько наклепаю программку к имевшейся у меня STM32VLDiscovery c STM32F100 на борту, которая будет отправлять код и измерять время отклика, а в терминал выплевывать результаты измерений. Т.к. макетная плата с целевым контроллером до этого подключалась к ПК через переходник USB-UART, то, дабы ничего не менять на макетке, работать будем в асинхронном режиме.


Когда при старте загрузчика вход CLK1 притянут к земле, он понимает, что от него хотят асинхронного общения. Собственно потому я его и использовал — подтяжка была уже припаяна и я просто соединил проводами две платы: Discovery и макетку с целевым M306.

Заметка по согласованию уровней:

Т.к. M16 имеет TTL-уровни на выводах, а STM32 — LVTTL (упрощенно, в даташите подробнее), то необходимо согласование уровней. Т.к. это не устройство, которое, как известная батарейка, должно работать, работать и работать, а по сути подключается разок на столе, то с трансляторами уровней я не заморачивался: выходные уровни от STM32 пятивольтовый МК переварил, в смысле 3 вольта как «1» воспринимает, выходы от М16 подаем на 5V tolerant входы STM32 дабы ему не поплохело, а ногу, которая дергает RESET M16 не забываем перевести в режим выхода с открытым стоком. Я вот забыл, и это еще +2ч в копилку упущенного времени.
Этого минимума достаточно, чтобы железки друг друга поняли.

Логика атакующего ПО следующая:


  1. Устанавливаем соединение с контроллером. Для этого необходимо дождаться, пока завершится сброс, затем передать 16 нулевых символов с интервалом более, чем 20 мс. Это для того, чтобы отработал алгоритм автоопределения скорости обмена, т.к. интерфейс асинхронный, а МК о своей частоте ничего не знает. Стартовая скорость передатчика должна быть 9600 бод, именно на эту скорость рассчитывает загрузчик. После этого при желании можно запросить другую скорость обмена из пяти доступных в диапазоне 9600-115200 (правда в моем случае на 115200 загрузчик работать отказался). Мне скорость менять не нужно, поэтому я для контроля синхронизации просто запрашивал версию загрузчика. Передаем FBh, загрузчик отвечает строкой вроде «VER.1.01».
  2. Отправляем команду «unlock», которая содержит текущую итерацию ключа, и замеряем время до снятия флага занятости.

    Команда состоит из кода F5h, трех байт адреса, где начинается область идентификатора (в моем случае, для ядра M16C, это 0FFFDFh), длина (07h), и сам идентификатор.
  3. Измеряем время между передачей последнего бита идентификатора и снятием флага занятости.
  4. Увеличиваем перебираемый байт ключа (KEY1 на начальном этапе), возвращаемся к шагу 2 до тех пор, пока не переберем все 255 значений текущего байта.
  5. Сбрасываем статистику на терминал (ну или выполняем анализ «на борту»).

В итоге, для всех значений результаты были идентичны. Полностью идентичны. Тактовая частота таймера у меня была 24Мгц, соответственно разрешение по времени — 41,6 нс. Ну ок, попробовал замедлить целевой МК. Ничего не поменялось. Здесь в голове родился вопрос: что я делаю не так, как это делал q3k? После сравнения разница нашлась: он использует синхронный интерфейс обмена (SPI), а я асинхронный (UART). И где-то вот здесь я обратил внимание на тот момент, который упустил вначале. Даже на схемах подключения для синхронного и асинхронного режимов загрузчика вывод готовности назван по-разному:


В синхронном это «BUSY», в асинхронном это «Monitor». Смотрим в таблицу «Функции выводов в режиме Standart Serial I/O»:



«Семён Семёныч…»

Упущенная вначале мелочь завела не туда. Собственно, если в синхронном режиме это именно флаг занятости загрузчика, то в асинхронном (тот, который serial I/O mode 2) — просто «мигалка» для индикации работы. Возможно вообще аппаратный сигнал готовности приемопередатчика, оттого и удивительная точность его поднятия.

В общем перепаиваем резистор на выводе SCLK с земли на VCC, припаиваем туда провод, цепляем все это к SPI и начинаем сначала…

Успех!


В синхронном режиме все почти так же, только не требуется никакой предварительной процедуры установки соединения, упрощается синхронизация и захват времени можно выполнить точнее. Если бы сразу выбрал этот режим сохранил бы время… Я снова не стал усложнять и измерять время именно от последнего бита, а запускал таймер перед началом передачи последнего байта ключа, т.е. включаем таймер и отправляем в передатчик KEY7 (на скриншоте выше, из логического анализатора, видно расстояние между курсорами. Это и есть отсчитываемый отрезок времени).

Этого оказалось более чем достаточно для успешной идентификации. Вот так выглядит перебор одного байта:


По оси абсцисс у нас количество дискрет счетчика, по оси ординат, соответственно, передаваемое значение ключа. Отношение сигнал/шум такое, что даже никаких фильтров не требуется, прямо как в школе на уроке информатики: находим максимум в массиве и переходим в подбору следующего байта. Первые 6 байт подбираются легко и быстро, чуть сложнее с последним: там просто наглый перебор не проходит, нужен сброс «жертвы» перед каждой попыткой. В итоге на каждую попытку уходит что-то около 400 мс, и перебор идет в худшем случае в районе полутора минут. Но это в худшем. После каждой попытки запрашиваем статус и, как только угадали, останавливаемся. Я вначале вообще просто быстренько ручками перебрал идентификатор, вставляя в excel вывод консоли и строя график, тем более, что это была разовая задача, но уже для статьи решил дописать автоматический перебор, ради красивой консольки…


Конечно, если бы разработчик затер загрузчик (заменил своим), так просто выкрутиться не получилось бы, но в автомобильной электронике частенько МК вообще не закрыты. В частности в блоке управления с другого отопителя, в котором был установлен V850 того же Renesas все решилось подпайкой пары проводов и копированием прошивки штатной утилитой. Это в мире ЭБУ двигателем целые криптовойны. Видимо не нравится производителям явление чип-тюнинга и других видов вмешательства… Хотя это как гонка брони и снаряда — железки круче, дороже, но победителя нет…

Сервисный центр Комплэйс выполняет ремонт импульсных блоков питания в самых разных устройствах.

Схема импульсного блока питания

Импульсные блоки питания используются в 90% электронных устройств. Но для ремонта импульсных блоков питания нужно знать основные принципы схемотехники. Поэтому приведем схему типичного импульсного блока питания.

Принципиальная схема импульсного блока питания

Работа импульсного блока питания

Первичная цепь импульсного блока питания

Первичная цепь схемы блока питания расположена до импульсного ферритового трансформатора.

На входе блока расположен предохранитель.

Затем стоит фильтр CLC. Катушка, кстати, используется для подавления синфазных помех. Вслед за фильтром располагается выпрямитель на основе диодного моста и электролитического конденсатора. Для защиты от коротких высоковольтных импульсов после предохранителя параллельно входному конденсатору устанавливают варистор. Сопротивление варистора резко падает при повышенном напряжении. Поэтому весь избыточный ток идет через него в предохранитель, который сгорает, выключая входную цепь.

Защитный диод D0 нужен для того, чтобы предохранить схему блока питания, если выйдет из строя диодный мост. Диод не даст пройти отрицательному напряжению в основную схему. Потому, что откроется и сгорит предохранитель.

За диодом стоит варистор на 4-5 ом для сглаживания резких скачков потребления тока в момент включения. А также для первоначальной зарядки конденсатора C1.

Активные элементы первичной цепи следующие. Коммутационный транзистор Q1 и с ШИМ (широтно импульсный модулятор) контроллер. Транзистор преобразует постоянное выпрямленное напряжение 310В в переменное. Оно преобразуется трансформатором Т1 на вторичной обмотке в пониженное выходное.

Работа вторичной цепи импульсного блока питания

Во выходной цепи после трансформатора стоит либо диодный мост, либо 1 диод и CLC фильтр. Он состоит из электролитических конденсаторов и дросселя.

Для стабилизации выходного напряжения используется оптическая обратная связь. Она позволяет развязать выходное и входное напряжение гальванически. В качестве исполнительных элементов обратной связи используется оптопара OC1 и интегральный стабилизатор TL431. Если выходное напряжение после выпрямления превышает напряжение стабилизатора TL431 включается фотодиод. Он включает фототранзистор, управляющий драйвером ШИМ. Регулятор TL431 снижает скважность импульсов или вообще останавливается. Пока напряжение не снизится до порогового.

Ремонт импульсных блоков питания

Неисправности импульсных блоков питания, ремонт

Исходя из схемы импульсного блока питания перейдем к ее ремонту. Возможные неисправности:

Примеры ремонта импульсных блоков питания

Например, рассмотрим ремонт импульсного блока питания на несколько напряжений.

Неисправность заключалась в в отсутствии на выходе блока выходных напряжений.

Например, в одном блоке питания оказались неисправны два конденсатора 1 и 2 в первичной цепи. Но они не были вздутыми.


На втором не работал ШИМ контроллер.

На вид все конденсаторы на снимке рабочие, но внутреннее сопротивление у них большое. Более того, внутреннее сопротивление ESR конденсатора 2 в кружке оказалось в несколько раз выше номинального. Этот конденсатор стоит в цепи обвязки ШИМ регулятора, поэтому регулятор не работал. Работоспособность блока питания восстановилась только после замены этого конденсатора. Потому что ШИМ заработал.

Ремонт компьютерных блоков питания

Пример ремонта блока питания компьютера. В ремонт поступил дорогой блок питания на 800 Вт. При его включении выбивало защитный автомат.

ремонт компьютерного блока питания

Выяснилось, что короткое замыкание вызывал сгоревший транзистор в первичной цепи питания. Цена ремонта составила 3000 руб.


Имеет смысл чинить только качественные дорогие компьютерные блоки питания. Потому что ремонт БП может оказаться дороже нового.

Цены на ремонт импульсных БП

Цены на ремонт импульсных блоков питания очень отличаются. Дело в том, что существует очень много электрических схем импульсных блоков питания. Особенно много отличий в схемах с PFC (Power Factor Correction, коэффициент коррекции мощности). ЗАС повышает КПД.

Стоимость ремонта колеблется от 1000 рублей для простых блоков питания. Но достигает 10000 рублей для сложных дорогих БП. Цена определяется сложностью блока питания. А также сколько элементов в нем сгорело. Если все новые БП одинаковые, то все неисправности разные.

Например, в одном сложном блоке питания вылетело 10 элементов и 3 дорожки. Тем не менее его удалось восстановить, причем цена ремонта составила 8000 рублей. Кстати, сам прибор стоит порядка 1 000 000 рублей. Таких блоков питания в России не продают.

Читайте также: