PIC-контроллер (или MCU на хэшборде) — это локальный микроконтроллер на плате майнера, который читает «паспорт»/калибровки из памяти, опрашивает датчики, готовит плату к работе и общается с системным контроллером. Если MCU не завершает инициализацию, плата остаётся «немой»: в логах появляются «PIC init fail», «chain missing», «find 0 asic», растут ошибки обмена (CRC), падает хешрейт и стабильность.
Коротко о MCU
- MCU — «дежурный» на хэшборде: проверяет датчики, читает калибровки, запускает цепочку чипов и отдаёт статусы в главный контроллер.
- Срыв старта даёт «PIC init fail/chain missing/find 0 asic», всплески CRC и форсаж вентиляторов.
- Быстрая проверка: вернуть сток-профиль, снять логи, исключить питание/шлейфы/перегрев, изолировать конкретную плату.
- Если в стоке и на эталонном PSU симптом «ходит» за платой — нужна стендовая диагностика хэшборда (MCU/EEPROM/шины/силовые).
Зачем на хэшборде MCU и что он делает
- Читает «паспорт» и калибровки платы из энергонезависимой памяти, подготавливая режимы запуска (см. EEPROM).
- Опрашивает датчики: температуры, служебные сигналы питания, состояния линий.
- Инициализирует шины и цепочку чипов, переводя их в базовый рабочий режим.
- Общается с системным контроллером майнера, передаёт «готов/не готов», телеметрию и коды ошибок.
- Реагирует на аварии: перегрев, потерю связи, невалидные данные — включает защитные сценарии, инициирует повторный старт.
Примечание: в обиходе закрепилось «PIC», но конкретная архитектура MCU может отличаться между семействами/ревизиями. Логика и роль узла остаются теми же.
Как плата стартует (упрощённая последовательность)
- Подача питания, самотест MCU.
- Считывание EEPROM: паспорт/калибровки, служебные флаги.
- Проверка датчиков и линий: температуры, базовые напряжения, сигналы «готовности».
- Настройка интерфейсов, подготовка цепочки ASIC-чипов.
- Обмен с системным контроллером: статусы, коды, телеметрия.
- Выход на базовые частоты/напряжения и дальнейшая адаптация под условия.
Срыв возможен на каждом шаге: от «битых» калибровок до «шумной» шины и просадок по питанию.
Где чаще всего «ломается» инициализация MCU
- Невалидные данные/контакт памяти — MCU не получает корректный «паспорт»/параметры запуска (см. EEPROM).
- Датчики «врут» или выпали — алгоритм уходит в защиту: форсаж вентиляторов, троттлинг, перезапуски.
- Питание/земля «шумят» — просадки, «пила», окисленные коннекторы и перегретые жгуты.
- Шлейфы/порты — неплотная посадка, износ, микротрещины, перекрученные кабели.
- Несостыкованные версии/ревизии — редкие случаи несовместности прошивки/конфигов и ревизии железа.
Как это видно в логах
| Сообщение/симптом | Что означает | Возможные причины |
|---|---|---|
| PIC init fail / MCU init error | MCU не завершил старт | Питание/земля, «битый» паспорт, шум/шина, шлейф/порт, версия/ревизия |
| EEPROM error / EEPROM NG | Паспорт/калибровки не читаются/невалидны | Контакт/данные памяти, несоответствие ревизии |
| chain X missing / find 0 asic | Плата «немая», цепочка не поднялась | Срыв MCU/EEPROM/датчиков, шлейф/порт, просадки по PSU |
| CRC counter high (особенно на старте) | Ошибки целостности обмена | Шум/наводки, плохая земля, перегрев, плохой кабель |
| thermal/fan аномалии при запуске | Защита уходит в форсаж | Выпавший датчик, неверные калибровки, локальная «горячая точка» |
Для примеров и чтения формулировок используйте разбор Kernel log.
Пошаговая диагностика MCU без пайки
- Сток-профиль. Отключить разгон/касты. Цель — убрать влияние агрессивных параметров на стартовую логику MCU.
- Снять логи «с нуля». Kernel/current/history сразу после холодного пуска, отметить временные метки ключевых сообщений.
- Окружение и чистка. Свободный поток воздуха, чистые радиаторы/решётки. Перегрев силовой части на старте резко снижает стабильность.
- Питание и земля. Осмотреть силовые кабели/коннекторы, нагрев пинов. По возможности повторить запуск с эталонным блоком питания.
- Шлейфы и порты. Поменять шлейфы между платами и/или порты на контроллере — понять, следует ли ошибка за кабелем/портом.
- Изоляция платы. Оставить одну подозрительную плату. Если срыв инициализации повторяется только с ней, круг сузился до её логики/памяти/шины.
- Сопоставить с EEPROM/датчиками. Внимательно смотреть соседние ошибки про память и аномальные температуры; нередко это первопричина.
- Повтор на другом стенде. Если в стоке, на другом PSU/шлейфах и при чистом обдуве симптом держится за конкретной платой — требуется стендовая диагностика.
Совет: фиксируйте, на каком шаге появляются «PIC init fail/EEPROM/chain/CRC» — это ускоряет разделение «кабель/питание» vs «логика платы».
«Симптом → причина → действие» (шпаргалка)
| Симптом | Вероятные причины | Что сделать сначала | Если не помогло |
|---|---|---|---|
| PIC init fail / MCU init error | Просадки/шум по питанию, «битый» паспорт, шлейф/порт, несостыкованные версии | Сток-профиль, эталонный PSU, чистка/охлаждение, перекинуть шлейфы/порты, повторный холодный старт с логами | Изоляция платы; сервис: диагностика MCU/EEPROM/шины; проверка соответствия ревизий |
| EEPROM error / NG | Контакт/данные памяти, ревизия/калибровки | Проверка кабелей/контактов, запуск с одной платой, сток-прошивка | Восстановление по мануалу; сервис платы/памяти (EEPROM) |
| chain missing / find 0 asic | Срыв инициализации цепочки чипов | PSU/кабели, шлейф/порт, перегрев/датчики | Если повторяется на одной плате — стендовая диагностика |
| CRC на старте высокий | Шум/помехи, плохая земля, «шевелящийся» контакт | Эталонный PSU, перестановка шлейфов, контроль заземления | Диагностика линий/платы; см. CRC |
| fan/thermal аномалии | Выпавший датчик, кривая калибровка | Проверить показания, сопоставить с логом, вернуть сток | Диагностика датчиков/калибровок/логики |
Почему «прошивкой MCU» проблемы обычно не лечатся дома
- Закрытые образы и привязка к ревизиям. Производитель защищает низкоуровневую прошивку MCU.
- Риск «окирпичить» плату. Сбой записи/неверный образ = ремонт только в сервисе.
- Часто первопричина — «железо». Питание, контакты, датчики, шины — то, что прошивкой MCU не исправить.
Рекомендация: перед любыми «прошивочными» идеями исключите питание/кабели/охлаждение и корректность «паспорта» в памяти.
Практические сценарии
- Холодный старт: «PIC init fail», затем повтор. На эталонном PSU старт проходит — причина в питании/земле/нагрузке.
- Перестановка шлейфов: «chain 1 missing» стал «chain 2 missing». Ошибка следует за кабелем — заменить шлейф, осмотреть порт.
- Летом после чистки ошибка исчезла. Пыль мешала охлаждению силовой части, MCU «падал» при прогреве.
- CRC всплески только на старте. Ищем «шум»/просадку в момент инициализации, проверяем распределение нагрузки и заземление.
Профилактика для стабильного старта MCU
- Чистота и поток. Регулярная продувка, правильная ориентация по воздушному тракту.
- Питание с запасом. Не работать на пределе; качественные кабели/коннекторы; короткая линия, нормальная земля.
- Фиксация жгутов. Исключить натяжение/перегибы; иметь комплект исправных шлейфов для диагностики.
- Сток в жару. Умеренные частоты, плавный прогрев.
- Журнал обслуживания. Записывать чистки, замены, версии прошивок и появление ошибок.
FAQ
Почему «PIC init fail» иногда проходит после перезагрузки? Пограничные условия (температура, контакт, питание). Повторяемость говорит о системной причине — её надо устранить.
«EEPROM NG» — это точно MCU? Не обязательно. Чаще первична память/контакт/несоответствие ревизии, а MCU лишь сообщает о проблеме (см. EEPROM).
Зачем смотреть CRC, если речь про MCU? CRC отражает качество обмена и питания; всплески на старте указывают на «шум»/просадки (см. CRC).
Можно ли диагностировать MCU без пайки? Да: методика «сток → PSU → шлейфы → изоляция платы → логи» обычно достаточно точно отделяет «кабель/питание» от проблемы локальной логики.