Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Программаторы микроконтроллеров

Выбранная схема!!!


5865
Портативное устройство копирования микросхем памяти серии 24Схх

Данное устройство предназначено для клонирования микросхем EEPROM серии 24Cxx (последовательный доступ, интерфейс I2C) в автономном режиме (то есть без наличия компьютера). Управление устройством осуществляется с помощью контроллера PIC12F629.

Конструкция, в общем-то, довольно простая: управляющий контроллер, две кроватки для микросхем 24Схх (в одну вставляется микросхема "источник" - из которой копируются данные, в другую вставляется микросхема "приёмник" - в которую копируются данные), стабилизатор напряжения +5В, кнопка, несколько резисторов и конденсаторов.

Поскольку некоторые микросхемы серии 24Cxx предполагают присутствие на шине только в единственном числе (почему - читайте ниже), то для возможности их копирования у нашего интерфейса I2C не совсем стандартная реализация. Линия Clock сделана общей, а линия Data у каждой микросхемы своя (Data_T - линия Data микрухи "источника", Data_R - линия Data микрухи "приёмника"). То есть, здесь у нас получается как бы две шины I2C, но с общей линией Clock. Всё время, пока управляющий контроллер общается с одной микросхемой (по той шине, к которой она подключена), - на линии Data другой микросхемы просто висит "1".

Схема:

7805 - стабилизатор напряжения +5В.

С1, С2 - электролиты по 100 мкФ х 16В

R1=1 кОм

R2=1,5 кОм

R3, R4, R5, R6=4,7 кОм

S1 - кнопка

JP1 - джампер для выбора размера адреса внутри микросхемы (замкнут - один байт, разомкнут - два байта).

Резисторы R2-R6 можно, в общем-то, взять любые от 1 до 6,8 кОм и рекомендую повесить по керамическому конденсатору на 0,1 мкФ прямо между ногами VCC и GND у каждой микрухи и у контроллера.

Для питания устройства можно использовать, например, батарейку "Крона".

Готовый девайс:

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

Немного поясню про JP1. Первые микросхемы серии 24Схх (24С01, 24С02) содержали до 256 8-битных ячеек памяти и для адресации произвольной ячейки внутри микросхемы было достаточно однобайтного счётчика адреса (один байт кодирует как раз 256 различных адресов). Однако, с увеличением объёма памяти производители микрух попали в засаду. Для микросхем с объёмом больше 256 байт адресовать все ячейки однобайтным счётчиком невозможно.

Выход был найден простой. Для того, чтобы всё-таки иметь возможность обратиться к любой ячейке внутри микросхемы и сохранить совместимость с первыми микросхемами, память внутри микрухи стали делить на банки по 256 байт, а для адресации банков брать взаймы биты 7-ми битного адреса I2C.

Для микросхем серии 24Схх этот адрес имеет вид 1010A2A1A0, где старшие 4 бита (1010) зарезервированы для обозначения микросхем памяти 24Схх, а младшие 3 бита определялись аппаратно и позволяли подключить до 8 микросхем памяти на шину. Так вот из младших трёх битов по одному биту стали брать взаймы для адресации банков. Ценой за это стало уменьшение количества микросхем, которые можно подключить на одну шину. Например, микросхема 24С08 имеет организацию 4х256х8 - 4 банка по 256 байт. У неё только один бит (А2) определяется аппаратно, а биты А1 и А0 используются для выбора банка. Соответственно, таких микрух на шину можно подключить только 2. Но, с появлением микросхем 24С16 производители попали в засаду второй раз.

24C16 состояла из 8 банков по 256 байт, то есть все биты, которые брали взаймы, на ней закончились, на шину её можно было повесить только в единственном экземпляре и дальше увеличивать объём памяти было невозможно.

Решение как всегда было найдено простое. Размер счётчика адреса просто взяли да увеличили до 2-х байт (кстати, 24С16 так и существуют в двух вариантах: с однобайтным счётчиком и с двухбайтным). Теперь стало возможно адресовать 64 кбайта, отпала необходимость брать взаймы биты из адреса I2C, снова стало можно вешать по 8 микрух на шину, но пропала совместимость с младшими моделями.

В этой идиллии понаделали микрух от 2 до 64 кбайт (от 24С16 до 24С512). Когда понадобилось производить микросхемы больше 64 кбайт - применили старый трюк с банками и заимствованием битов. У 24С1024 два банка по 64 кбайта, но на шине таких микрух может быть не больше 4-х штук.

Нетрудно посчитать, что с 2-х байтным счётчиком адреса максимально можно адресовать 8 банков по 64 кбайта, то есть 512 кбайт или 4 мегабита (4096 кбит), дальше придётся опять увеличивать размер счётчика.

Сейчас производители как раз опять упёрлись в верхнюю границу, самые большие микрухи серии 24Схх - это 24С4096, а поскольку скорости обмена по I2C растут, то видимо можно ожидать появления микрух и с трёх- и с четырёхбайтными счётчиками адреса.

В общем-то, существуют алгоритмы автоматического определения размера счётчика адреса, но в данном случае выбор осуществляется джампером.

На форуме есть прошивка, лёгким движением руки превращающая это устройство в чип-ресеттер картриджей для принтеров.

АРХИВ:Скачать




Источник: http://radiohlam.ru/control/i2c_eeprom_copy.htm
Категория: Программаторы микроконтроллеров | Добавил: brys99 (01.11.2014)
Просмотров: 6901 | Теги: копирования, Портативное, устройство, микросхем, памяти, 24Схх, серии | Рейтинг: 3.7/3


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

Пожалуйста оставьте свои комментарии !!!!

Имя *:
Email:
Код *:


ElectroTOP - Рейтинг сайтов
Copyright Zloy Soft (Company) © 2008 - 2017