Speaker A
Я всех приветствую, друзья! Сегодня мы с вами поговорим про RTC контроллер, либо же контроллер часов реального времени, как кому удобно, который входит в состав абсолютно любого южного моста, хаба либо хабовой части комбинированного процессора. И производитель здесь никакой роли не играет, будь это Intel, будь это AMD. Вы все равно данный контроллер встретите во всех перечисленных чипах. Что немаловажно, корректные запуски и работа данного контроллера жизненно необходимы для того, чтобы платформа, да система в целом, работала корректно. И что немаловажно, данный контроллер и его работа нас интересует с позиции участника важнейшего, и опять же повторюсь, жизненно необходимого участника для корректного запуска системы электропитанием на плате. Так как без нормальной работы данного контроллера и без выполнения всех необходимых задач, которые он выполняет, вы не увидите ответа от контроллера электропитания в южном мосту, в хабовой части комбинированного процессора. Даже при условии, когда мультиконтроллер корректно отреагирует на нажатие кнопки включения и выдаст комплект сигналов контроллерам электропитания в чипе, в ответ он не получит от их слипов при условии, что с RTC контроллером будут проблемы. Это нужно знать, это нужно понимать. И мало того, я для вас запишу еще практическую часть по данной теме и на практике продемонстрирую последствия, которые возникают на плате при проблемах с этой секцией. То же самое, наверное, касается и ролика с реальной диагностикой на платах, где имеются искусственно созданные, а реальные проблемы с данным контроллером либо с комплектом условий, которые необходимы для нормального запуска и работы данного контроллера. А тоже, наверное, стоит записать. Теперь давайте знакомиться с этим товарищем поближе и начнем, пожалуй, с тех функций, которые этот контроллер для чипа и для платформы системы в целом выполняет, а потом уже про структуру немножко поговорим. А я думаю, любой человек, даже из простых, которые не связаны с сервисным делом, по названию скажет, что контроллер часов реального времени занимается счетом этого самого времени. Он будет абсолютно прав. Да, действительно, одна из важнейших задач данного контроллера — это счет времени. Как контроллер считает это время? Для этого ему повело питающее напряжение, сигнал сброса, нужно еще эталонная, то есть базовая частота, вот тактовый сигнал в 32 768 килогерц. Это первое условие. Вот, а потом эта частота обрабатывается делителями в структуре RTC контроллера, и благодаря этому контроллер может считать, производить отчет секунд, минут, часов, дней недели, числа месяца, лет, ну и пять случаев столетий. Как формируется эта базовая частота? Реализация несколько. Самая распространенная и та, которую вы будете постоянно встречаться в подавляющем большинстве, чуть ли не в 95 процентах случаев на современных досках, да и в принципе на досках постарше — это формирование базовой частоты посредством кварцевого генератора на 32 768 килогерц. Ну далее это у нас идет на делители, и соответственно время считается. Но это не единственная реализация. Может быть еще на плате задействован внешний тактовый генератор, вот отдельно стоящий, так называемый клокер. Он при получении питающего напряжения для RTC секции, то есть сердце, как назовите, смысловая нагрузка от этого не меняется. Он формирует базовую частоту 32 768 килогерц и соответственно передает ее контроллеру в составе хаба. Далее она уже соответственно обрабатывается делителями. Благодаря этому мы и можем в BIOS либо же операционной системе наблюдать часики с календарем. Это раз. Включает секундомеры, будильник, устанавливать таймеры, которые можно привязать к выполнению различных событий и запуску различных процессов. И что немаловажно, что немаловажно как раз таки благодаря RTC контроллеру есть возможность по истечении какого-то времени выключить монитор, перевести компьютер в сон, гибернацию либо вообще его выключить. То есть RTC контроллер, во-первых, имеет высокий приоритет по прерываниям, которые он формирует для процессора, и также участвует в обработке условий для или формирования условий для АЦП событий. О чем я говорю в плане электропитания? То есть мы можем выбрать, через какое время у нас, допустим, компьютер, ноутбук перейдет в гибернацию. Соответственно, считаются часики, происходит, наступает, точнее, момент X, RTC контроллер формирует высокоуровневое прерывание, ну и соответственно процессор обрабатывает его и выполняет приоритетную команду, в результате чего платформа переходит в гибернацию, меняет свое состояние по электропитанию. Перечислили, получается, раз, два, три важных функции. Далее RTC контроллер может похвастаться тем, что он является источником тактового сигнала для контроллера электропитания. Это раз. По поводу ME контроллера, скорее всего, да, это четко не описано ни в одном datasheet. Ребята, извините, я не могу вот прям со стопроцентной уверенностью сказать, потому что техдокументации подтверждения нет. Учитывая, что технология закрыта от обычного, раздеватого пользователя, как говорится, да и не только пользователя, вот не могу со стопроцентной уверенностью вам сказать. Но учитывая степень интеграции и важность сертификации контроллера для ME контроллера и Power Management контроллера в составе хабов, хабовых частей комбинированных процессоров от компании Intel, я на 90 процентов уверен, что тактовый сигнал как раз таки получает ME контроллер и PMC контроллер как раз таки от RTC. Поэтому мы видим такую ситуацию: когда при неисправности контроллера у нас, даже при формировании всех необходимых условий, чтобы мультиконтроллер у нас а-а кожу получил ресет, получил сигнал сброса, да, получил питающее напряжение, разумеется сначала, потом получил сигнал сброса, выполнил все необходимые процедуры после тестирования, вот подтянул свою прошивочку, соответственно вы кнопочку нажали, и он выдал комплект условий для Power Management контроллера в составе, допустим, хаба, а в ответ, если неисправности RTC, тишина. То есть слипов он не снимает, потому что контроллера нет. Держите в голове. В принципе, на практике я продемонстрирую, как это все происходит вместе с программой, наверное, можно вам сейчас их показать. Ничего в этом страшного нет. Так, это вот, кстати, картиночка перевода, да, блок-схемы на вот этот древний контроллер. Ну опять же повторюсь, что касается делителей, как это все работает, я уверен, что в глобальном плане не поменялось. Теперь по проблемам. Если все хорошо, если все хорошо, это справедливо для чипов от компании Intel. А по поводу AMD я вам чуть позже покажу на схемах, что отдельного ресета там нет, то есть там эта секция получает лишь питание. В случае же Intel видим здесь два ресета и вот это питающее напряжение, и соответственно X1 — это у нас выход на кварцевый генератор. Если присмотреться поближе, то, как вы видите, базовая формируется только после выполнения всех условий. То есть это вот нормальный запуск RTC контроллера при условии, что он исправен, питающее напряжение, ну в данном случае в сердце он получает, и получает два сигнала сброса, и кварцевый генератор исправен. Если мы ведем проблему, она подписана. Да, это у нас неисправный кварцевый генератор либо, допустим, какой-то деятельно проводник запаял на землю в линии RTC X1, то получим вот такой комплект. То есть у нас вроде бы все хорошо, питание есть, а базовой нет, то есть базовой частоты. Так, это у нас ситуация, когда нет одного из ресетов, эти сервисы нет, то есть, как вы видите, все остальные условия выполняются. Вот при этом даже формируется базовая частота, но она не стабильна. Так. И еще есть у меня одна осциллограммка. Здесь у нас два ресета в земле, RTSER, ST есть формируется, а с RTSER не формируется, секьюр RTSEROS-то нету. При этом по внешним признакам все хорошо. Но забегая немножко вперед, скажу, что в этом случае и в этом случае, то есть когда у нас не выполняется полный комплект условий, у нас не будет корректной реакции контроллера электропитания в чипе на получение сигналов от мультиконтроллера на включение, на выдачу слипов. Будет эта ситуация только при таком раскладе, когда все условия выполняются. Ну, дойдем до практики, я вам все это покажу, покажу и соответственно галочки подписаны, я выложу вместе с...