Работа с микросхемой статического ОЗУ M48T12-150PC1

В различном оборудовании встречаются микросхемы Static RAM. Обычно они используются там, где EEPROM не подходит из-за низкого быстродействия. Например, микросхема M48T12-150PC1 производителя STMicroelectronics.

m48t12-150pc1Показанная на фото микросхема установлена в одну из плат системы ЧПУ Grundig Eltropilot 2. Такая система ЧПУ часто устанавливалась на станки Gildemeister серии CTX. Помимо собственно ОЗУ микросхема содержит литиевую батарейку для поддержания значений в ОЗУ при отсутствии внешнего питания, а также часы (таймер).


На одном из станков возникла необходимость заменить такую микросхему с севшей батарейкой. После установки нового чипа система не запустилась. После изучения документации выяснилось, что с завода микросхема поставляется с остановленным в целях экономии батарейки таймером, и для его активации необходимо изменить значение по адресу 7F9 (разряд секунд таймера). Старший бит по этому адресу имеет заводское значение 1 — таймер остановлен. Для его запуска необходимо записать туда значение 0, после чего таймер начнёт работу.
Возникает вопрос — как же произвести запись этого значения? Снова на помощь приходит документация. Если внимательно посмотреть на схему выводов микросхемы, приведённую в даташите, можно заметить, что схема выводов аналогична некоторым микросхемам EEPROM в таком же корпусе DIP24. Об этом же есть дополнительное замечание в документации:

The M48T02/12 is a non-volatile pin and function equivalent to any JEDEC standard 2 Kb x 8 SRAM. It also easily fits into many ROM, EPROM, and EEPROM sockets, providing the non-volatility of PROMs without any requirement for special WRITE timing or limitations on the number of WRITEs that can be performed.

Таким образом, для записи значения в разряд таймера можно использовать программатор для аналогичных EEPROM. Мы использовали популярный программатор TL866CS. Нужную нам цоколёвку имеет, к примеру, микросхема AMD AM28C16A. Её и выбрали в ПО программатора:

Производим считывание данных из микросхемы, переходим в редакторе по адресу 7F9. Если таймер остановлен, то в ячейке будет записан байт, в старшем бите которого будет 1. В нашем примере записано значение 83h,  в двоичном представлении — 10000011. Изменяем его, например, на 00000011 (03h), и производим запись в чип. Если включена верификация записи, то после записи будет выдана ошибка. Это совершенно нормально — таймер запущен, и каждый раз при считывании могут получаться разные значения. Можно в этом самостоятельно убедиться, раз в несколько секунд производя считывание микросхемы — значение по адресу 7F9 будет увеличиваться. Микросхема готова к работе. Если система не требует наличия каких-либо данных в статической памяти, то она запустится нормально.

Запись опубликована в рубрике Металлообработка, Ремонт. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *