www.diagram.com.ua
www.diagram.com.ua
Русский: Русская версия English: English version
Translate it!
Поиск по сайту

+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по схемам СССР
+ Поиск по Библиотеке

Бесплатная техническая библиотека:
Все статьи А-Я
Энциклопедия радиоэлектроники и электротехники
Новости науки и техники
Журналы, книги, сборники
Архив статей и поиск
Схемы, сервис-мануалы
Электронные справочники
Инструкции по эксплуатации
Голосования
Ваши истории из жизни
На досуге
Случайные статьи
Отзывы о сайте

Справочник:
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому
Загадки, ребусы, вопросы с подвохом
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель (ТРИЗ)
Конспекты лекций, шпаргалки
Крылатые слова, фразеологизмы
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Моделирование
Нормативная документация по охране труда
Опыты по физике
Опыты по химии
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Радиоэлектроника и электротехника
Строителю, домашнему мастеру
Типовые инструкции по охране труда (ТОИ)
Чудеса природы
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

Техническая документация:
Схемы и сервис-мануалы
Книги, журналы, сборники
Справочники
Параметры радиодеталей
Прошивки
Инструкции по эксплуатации
Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(200000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
Ваши истории
Загадки для взрослых и детей
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика
Форумы
Карта сайта

ДИАГРАММА
© 2000-2021

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на https://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека Бесплатная техническая библиотека, Энциклопедия радиоэлектроники и электротехники

Программирование последовательных микросхем памяти

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

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

Одна из наиболее распространенных микросхем энергонезависимой памяти - АТ93С46 фирмы ATMEL. Для связи с микроконтроллером она снабжена последовательным интерфейсом, состоящим всего из трех одноразрядных шин SK (синхронизация), D1 (вход данных) и DO (выход данных). К этим шинам подключают параллельно все имеющиеся в устройстве узлы с таким интерфейсом. Данные передают побитно. сопровождая каждый бит синхроимпульсом SK.

В микросхеме АТ93С46 предусмотрены также входы CS (выбор кристалла) для перевода ее в активное состояние и ORG (организация). Если последний соединен с источником питания, в микросхеме образуются 64 шестнадцатиразрядные ячейки памяти, если с общим проводом - 128 восьмиразрядных ячеек.

Для чтения содержимого или программирования с помощью компьютера микросхему АТ93С46 следует подключить к розетке порта LPT1 или LPT2, как показано на рисунке. Так как вход ORG микросхемы соединен с общим проводом, организация памяти - восьмиразрядная. Напряжение +5 В рекомендуется подать от внешнего источника, но можно воспользоваться и любой свободной выходной линией порта, программно установив на ней высокий логический уровень.

Программирование последовательных микросхем памяти

Обслуживающая программа, приведенная в таблице, написана на БЕЙСИКе (компилятор Power Basic версии 2.10f). Программа начинает работу с запроса номера порта, к которому подключена микросхема. В зависимости от ответа оператора переменной port при спаивается значение базового адреса выбранного порта: 888 (шестнадцатиричное 378Н) для LPT1 или 632 (шестнадцатиричное 278Н) для LPT2. Командой out port.0 на всех выводах шины данных порта устанавливается напряжение низкого логического уровня.

Далее оператору предлагается выбрать режим чтения данных из микросхемы или записи в нее и ввести имя файла, в котором будет сохранена считанная или находится подготовленная к записи информация. Тем, кто пользуется другими версиями БЕЙСИКа, следует иметь в виду, что синтаксис операторов для работы с файлами может быть иным. Прочитанные из микросхемы или записываемые в нее данные программа не только сохраняет в файле или читает из него, но и выводит на экран монитора в виде шестнадцатиричного дампа. Процедуры чтения и записи данных несколько различаются, но используют для "общения" с микросхемой одни и те же операции, оформленные в программе в виде функций:

  • cs(num) устанавливает логический уровень сигнала, подаваемого на вход CS микросхемы памяти, в соответствии со значением своего параметра (0 или 1);
  • sk(num) выполняет аналогичную операцию для входа SK;
  • skout формирует импульс синхронизации;
  • del и del1 формируют интервалы времени, равные соответственно длительности синхроимпульсов и пауз между ними. Максимальная частота синхроимпульсов для разных модификаций микросхемы АТ93С46 может находиться в пределах от 0.25 до 2 МГц, минимальная - равна нулю. При необходимости частоту генерируемых компьютером импульсов можно изменить, задав в функциях del и del1 другие предельные значения переменной i;
  • shiftin читает байт данных с выхода DO микросхемы;
  • dinchip(num). shiftout(address) и shiftoutd(odata) служат для записи информации в микросхему через вход DI. Первая заносит в нее один бит, значение которого задано параметром num. Вторая записывает семиразрядный адрес, последняя - байт данных.
Внутреннее устройство управления микросхемы АТ93С46 принимает и выполняет команды, поступающие по линии DI. Каждая команда начинается стартовым битом, равным логической 1, за которым следуют два бита кода операции и необходимое число битов адреса ячейки памяти и данных. Перед подачей каждой команды на входе CS необходимо установить высокий логический уровень, после ее завершения - низкий.

Команда чтения данных (READ) имеет код операции 10, за которым следует адрес ячейки. В ответ микросхема выдаст на выход DO хранящийся по указанному адресу байт данных, который можно прочитать с помощью функции shiftin.

После включения питания микросхема АТ93С46 автоматически переходит в режим, в котором стирание и запись данных запрещены, чем предотвращается их случайная порча. Поэтому перед тем. как записывать в нее данные, необходимо разрешить эту операцию, подав команду EWEN - Erase/Write Enable (разрешить стирание/запись). Ее код операции - 00 за которым следует адрес 11 ххххх. Значения последних пяти битов адреса команда EWEN не анализирует, и они могут быть любыми. Однажды поданная команда EWEN действует до ее отмены специальной командой или до выключения питания микросхемы.

Команда записи (WRITE) имеет код операции 01, за которым следуют адрес ячейки и записываемый байт данных. Получив такую команду, устройство управления начинает выполнять внутренний цикл записи, длительность которого не более 10 мс. До его окончания микросхема не реагирует на новые команды. Если в это время подать на вход CS короткий импульс низкого логического уровня, на выходе DO установится и будет сохраняться до завершения цикла низкий уровень. Как только он сменится высоким, необходимо установить низкий уровень на входе CS. после чего микросхема готова к приему новых команд. Если упомянутый импульс на вход CS не подавать или подать его после завершения цикла записи, состояние выхода DO останется высокоимпедансным.

Кроме рассмотренных команд имеются и другие: запретить стирание/запись (EWDS), записать константу во все ячейки памяти (WRAL), стереть все ячейки памяти (ERAL). На практике их применяют сравнительно редко. Описание всех команд, как и другие подробности устройства и работы микросхемы АТ93С46, можно найти в [ 1, 2].

Программирование последовательных микросхем памяти
(нажмите для увеличения)

Описанную программу с небольшими доработками можно применить для программирования любой микросхемы памяти семейства АТ9ЗСхх, задав соответствующий интервал адресов. Например, микросхема АТ93С56 содержит 256. а АТ93С66 - 512 восьмиразрядных ячеек памяти.

93X16.EXE - вариант программы, предназначенный для работы с микросхемой АТ93С46 в шестнадцатиразрядном режиме (вход ORG соединен с источником питания).

Литература
  1. Nonvolatile Memory Data Book. - ATM EL. May 1996.
  2. Гребнев В.В. Микросхемы энергонезависимой памяти фирмы ATMEL. - С.-Пб.: ЭФО. 1997.
Автор: А.Гончаренко, г.Одесса, Украина

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

раздел сайта Шпионские штучки

журналы КВ журнал (годовые архивы)

книга Векторные диаграммы в релейной защите. Елфимов В.М., 1967

книга Расчет радиоприемников. Бобров Н.В., 1981

статья Источники питания для импортных трансиверов

статья Пригреть змею на груди (за пазухой)

справочник Сервисные меню зарубежных телевизоров. Книга №3

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:

[lol][cry][!][?]




Бесплатная техническая библиотека Бесплатная техническая документация для любителей и профессионалов