alex_avr (alex_avr2) wrote,
alex_avr
alex_avr2

Categories:

EEPROM

Электроники пост. Висит у меня на кухне телек филипс. Все бы ничего, но в один прекрасный день поменяли частоты всех каналов, а их больше 40. Ну не вопрос - перенастроим. Тут-то и началось веселье. Настраиваешь частоту канала, сохраняешь, переключаешь туда-сюда, а там уже совсем другое - частота не сохраняется. Еще хуже то, что при этом слетает какой-нибудь другой канал. Долго я возился, аж достало, но стандартными средствами через меню сделать похоже было ничего нельзя, просто из-за ошибки/недоработанности в прошивке. Очевидно что-то криво пишется/читается в EEPROM. Надоело это все, разобрал телек, нашел микросхему EEPROM, разумеется серии 24CXX. Сделал программатор из говна и палок. Считал и сохранил на всякий случай содержимое памяти и записал FF всюду. Запаял обратно в телевизор, включаю - "Введите код доступа". Ага, ладно. Выпаял еще раз, на этот раз записал 00, запаял - на этот раз никаких кодов доступа. Запустил автопоиск каналов, после чего вручную настроил все нужные каналы, на этот раз без косяков. Ради интереса и на всякий случай после настройки сохранил все, что там было в памяти. Сравнение того что было и того что стало, показало, что в некоторых областях памяти была явная каша и явно то, чего там не должно было быть. Очевидно в один (или не один) прекрасный (или ужасный) момент что-то не туда записалось.
И ведь действительно, 24CXX память, которая используется повсеместно не предполагает сама по себе никакой защиты. Достаточно один раз одному битику в адресе неправильно передаться (это совсем не сложно, учитывая мое скептическое отношение к I2C) и кусок данных в памяти будет поврежден.

Из этого примера, можно сделать ряд выводов для разработчиков:

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

2)Если уж используется всякая простая и дешевая память типа 24СХХ, то нужно в прошивке предусматривать возможность неправильной передачи данных. Как - вопрос отдельный. Можно, например, хранить резервную копию данных в оперативке или даже поставить вторую микросхему. Но не стоит тупо писать данные, в надежде, что все запишется без ошибок.

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

П.С. Впрочем телевизор - не ракета, ему можно и сломаться.

Tags: Идиоты, Ремонт, Электроника
Subscribe

  • Про автосервисы

    Когда только обзавелся машиной, ещё довольно плохо представлял, как она обслуживается. Сейчас-то мне понятно, что ничего сложного нет, кроме может…

  • 14 лет под землёй

    Традиционная запись 2 ноября: ровно 14 лет как я осознанно изучаю подземку 🙂 Ну и традиционная фотография. Это самая страшная фотография под землёй,…

  • Снежные Ловозёрские тундры

    В Москве снега до сих пор нет, между тем я ещё больше месяца назад успел по нему накататься, заехав наверх Ловозёрского горного массива, что на…

promo alex_avr2 july 2, 2018 13:00 41
Buy for 200 tokens
Думаю многие слышали рассказы про огромные бункеры под Москвой, подземные города, секретное метро на случай ядерной войны. Многое в этих рассказах очевидно преувеличено, что-то придумано, но безусловно, основаны они не на пустом месте. Совсем недавно небольшой кусочек этих подземных тайн был…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 20 comments

  • Про автосервисы

    Когда только обзавелся машиной, ещё довольно плохо представлял, как она обслуживается. Сейчас-то мне понятно, что ничего сложного нет, кроме может…

  • 14 лет под землёй

    Традиционная запись 2 ноября: ровно 14 лет как я осознанно изучаю подземку 🙂 Ну и традиционная фотография. Это самая страшная фотография под землёй,…

  • Снежные Ловозёрские тундры

    В Москве снега до сих пор нет, между тем я ещё больше месяца назад успел по нему накататься, заехав наверх Ловозёрского горного массива, что на…