Что такое прошивка стиральной машины?


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


Схема микроконтроллера стиральной машины Indesit

Разница между микроконтроллером и микропроцессором (сейчас все устройства это микро, но иногда эту приставку упускают для простоты) состоит в том, что микроконтроллер выполняет программный код, как и процессор, но еще и содержит в себе периферийные устройства, таймеры, устройства ввода-вывода (см. рис.). Т.е. в бытовой технике все центральные микросхемы модуля управления - это микроконтроллеры, а не процессоры, но на разговорном сленге мастеров принято их называть именно процессоры.




Схематичный пример программы:



software.bin

Если программа выбрана и запущена{
….Подать напряжение на устройство блокировки люка{
….….Последовал сигнал c блокировки люка{
….….….Подать напряжение на заливные клапаны
….….….….Идет сигнал изменение уровня воды с пресостата{
….….….….….Начать вращение 50об/мин.
….….….….….И т.д.
….….….….}
….….….….Нет сигнала изменения в течение 2 минут{
….….….….….Остановить программу, вывести ошибку F10
….….….….}
….….….}
….….….Сигнала блокировки не последовало в течение 1 минуты{
….….….….Остановить программу, вывести ошибку F17
….….….}
….….}
….}
}


Это очень упрощенный и простой пример для понимания содержимого инструкции или программы для микроконтроллера стиральной машины, в реальности весь этот цикл гораздо сложнее и имеет кучу ответвлений и условий, но принцип именно такой.

Со временем люди стали понимать, что в программе можно менять только определенные параметры и, тем самым, улучшать ее или настраивать под другие модели, например можно изменить время ожидания сигнала блокировки с 1 минуты на 30 секунд, чтобы быстрее проинформировать пользователя о необходимости закрыть люк или изменить количество оборотов на отжиме, чтобы белье было более сухим или на оборот снизить их, чтобы подшипники не выходили из строя через 1-2 года эксплуатации. Заменив эти параметры переменными, мы получим два файла.

software.bin

Если программа выбрана и запущена{
….Подать напряжение на устройство блокировки люка{
….….Последовал сигнал c блокировки люка{
….….….Подать напряжение на заливные клапаны
….….….….Идет сигнал изменение уровня воды с пресостата{
….….….….….Начать вращение X
….….….….….И т.д.
….….….….}
….….….….Нет сигнала изменения в течение Y{
….….….….….Остановить программу, вывести ошибку F10
….….….….}
….….….}
….….….Сигнала блокировки не последовало в течение Z{
….….….….Остановить программу, вывести ошибку F17
….….….}
….….}
….}
}


config.bin

X=50об/мин.
Y=2 минуты
Z=1 минуты


Теперь можно менять отдельные параметры в файле config.bin и не переписывать всю программу. Таким образом, мы отделили конфигурационные данные (config) от основной программы.

software (SW) – программа для микроконтроллера, описывающая порядок выполнения операций и контроля процесса.

config – часть SW с настройками и параметрами необходимыми для выполнения программы.

Мы специально разделили эти два параметра и дали им два различных определения, чтобы внести наибольшую ясность в понимая процесса программирования, хоть мы и понимаем, что подобное деление не совсем корректное.

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



Понятие «прошивка» берет свое начало еще в 1960 годах, когда применяли магнитные сердечники, сквозь которые продевали провода, определенным образом, делалось это вручную и было очень похоже на прошивку, с тех пор этот термин остался с нами и им теперь называют порой совсем разные вещи.


К сожалению, только люди могут обмениваться словами, машины (микроконтроллеры) не понимают ни русского языка, ни любого другого человеческого языка, так как же им рассказать про инструкции (программу), которые им необходимо выполнять?

данные из прошивки стиральной машины

Для этого есть специальные программы-переводчики (компиляторы), которые переводят «человекопонятную» программу в машинный код, который и выполняет наш процессор, в большинстве своем данный переводчик встроен в среду разработки и является ее частью. Т.е. человек набирает программу, примерно по тому же алгоритму, как мы и говорили ранее, только употребляя допустимые слова и символы на английском языке, а среда разработки выдает на выходе файл, который понимает наш микроконтроллер и может его выполнить. Обратный процесс перевода (декомпилирование) зачастую либо невозможен вовсе, либо очень трудоемок, но если смотреть внимательно, то можно выявить закономерности и выводить их в понятный вид.

Как и в любой программе или цикле, в прошивке могут происходить сбои, вызванные внешними факторами или ошибками (недоработками) внутри программы, при этом содержимое программы может повредиться и приводить к неправильной работе устройства. Чтобы контролировать этот процесс разработчики стали считать байты (информация внутри прошивки) и эту сумму прописывать в саму прошивку, а мастера (например: по ремонту стиральных машин) могут с помощью специальных программ пересчитать эту сумму и сделать вывод о исправности или неисправности прошивки.

Контрольная сумма — это некоторое значение, необходимое для определения исправности прошивки, путем сравнения исходного и посчитанного результата, вычисляется различными алгоритмами и, как правило, состоит из четырехзначного числа в шестнадцатеричном коде.

разные области прошивки

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

Эти области могут находиться совместно в одном файле config (например прошивки EVO1 или EVO2 от Ariston/Indesit) или раздельно (как в Arcadia, статистика отдельно от config)

Контрольный вопрос

Как называется параметр прошивки, показывающий ее исправность?

Для ответа нужно войти или зарегистрироваться
G
Gaetanus 4 сентября 2017
2
Отличная работа
Алекс Рагулин
Отличное объяснение
Многое, что я уже знаю, но всегда хорошо помнить подробности
Очень полезно
спасибо
Для комментария нужно войти или зарегистрироваться
a
alexragulin 4 сентября 2017
Спасибо, буду стараться

_
_DYAVOL_ 6 сентября 2017
2
0
Для комментария нужно войти или зарегистрироваться

N
Nesqu1k 30 апреля 2018
2
отличный курс, мне очень помог
Для комментария нужно войти или зарегистрироваться

v
viktorjo 4 сентября 2017
1
По моему опечатка в абзаце о разделении прошивки. Написано: мы получим для файла. А я так понимаю, должно быть : получим два файла.
Для комментария нужно войти или зарегистрироваться
a
alexragulin 4 сентября 2017
Исправил, спасибо

Б
Балодя 9 сентября 2017
1
Мне тоже понравилось. Спасибо
Для комментария нужно войти или зарегистрироваться

Z
Zhandarbek 4 января 2018
1
Всем привет.
Отличная работа. По больше такие уроки.
Для комментария нужно войти или зарегистрироваться

m
monia700 16 января 2018
1
Хорошо работа
Для комментария нужно войти или зарегистрироваться

S
Student 21 января 2018
1
Отличная работа Большое спасибо !!!
Для комментария нужно войти или зарегистрироваться

v
vlad100 13 февраля 2018
1
Очень понравился излагаемый материал Алекс Рагулин. Все кратко и предельно ясно.
Для комментария нужно войти или зарегистрироваться

s
sergeysazonov79 3 апреля 2018
1
Спасибо!
Очень понятно и интересно!
Для комментария нужно войти или зарегистрироваться

l
leevon 27 апреля 2018
1
супер
Для комментария нужно войти или зарегистрироваться

m
megakom 6 августа 2018
0
Отличные курсы. Понятным языком всё написано
Для комментария нужно войти или зарегистрироваться

Ваш комментарий +1

Нельзя отвечать на свои вопросы или статьи
TexnoMag.ru ФПС INDESIT WISL (WIUL) с проводом питания

ФПС INDESIT WISL (WIUL) с проводом питания

Цена для клиента: 860

TexnoMag.ru Съемник противовесов

Съемник противовесов

Цена для клиента: 1490

TexnoMag.ru Термостат KT 165 AVC

Термостат KT 165 AVC

Цена для клиента: 850

Холодильник LG шильд с модуля:EBR745513,07 130622 0444 помогите опознать погорельцев.
Холодильник LG шильд с модуля:EBR745513,07 130622 0444 помогите опознать погорельцев.

Всем добрый день! Поступил модуль от холодильника LG данных нет кроме шильда на плате,После грозы шимконтроллер (дип.7) взорван и сопротивление 1.5 ом, по замерам остальное все целое,подскажите какой шим.там был.на фото показан стрелкой.<div><img src...

Обозначение на модуле LG
Обозначение на модуле LG

Два модуля LG первый 6871ER1032C и второй 6871ER1032B по внешнему виду разницы не видно, в обозначении различия только в последней букве С и В. Подскажите пожалуйста в чем могут быть различия этих 2 модулей?<img src='/download/1d/1df4df5d1a9c9...

Варочная поверхность Leran E45311BG не включается
Варочная поверхность Leran E45311BG не включается

Пришла после другой мастерской, на плате не хватает двух элементов, судя по всему это стабилитроны в корпусе SOT-23, хотелось бы знать их номинал?!<div><img src='https://sw19.ru/download/88/88944661a561f83787b82bfab021625120171006093216.jpg' alt='img...