Работа с внешней EEPROM в Bascom-AVR на примере 24lc08 — Как подключить — AVR project.ru — Проекты на микроконтроллерах AVR

image

Электроника Мы рассматривали работу с микросхемой CH341 с вариантом её конфигурирования с управляющего компьютера. Теперь рассмотрим вариант управления режимом работы CH341 с помощью микросхемы конфигурационной памяти — ПЗУ 24C01.

Нам понадобятся:

  • отладочная плата с микросхемой CH341A (например, вот отличный вариант);
  • микросхема памяти 24C01 (например, такая);
  • если применяется ПЗУ в корпусе типа SOP8 или SOIC8 – панель с нулевым усилением (вот такая);
  • программатор для ПЗУ типа 24C01 (подойдёт, к примеру, недорогой программатор SP200S);
  • компьютер с программой управления программатором.

1Схема подключения CH341 к ПЗУ типа 24C01

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

Микросхема CH341A поддерживает конфигурационную память типа 24C01A и другие из того же семейства. Например, я буду использовать память 24C04N фирмы Atmel. ПЗУшки данной серии, в разных типах корпусов, имеют следующие выводы:

image
Назначение выводов микросхемы ПЗУ 24C01

Согласно техническому описанию CH341, подключение конфигурационной памяти осуществляется таким образом:

Схема подключения конфигурационного ПЗУ к CH341

Как видно, данное ПЗУ использует интерфейс I2C, для которого требуется всего два провода SCL (линия синхронизации) и SDA (линия данных). VCC микросхемы подключается к 3,3 В питания, а остальные выводы микросхемы – на землю.

2Запись конфигурационных данных в ПЗУ 24C01

Но прежде чем подключать ПЗУ к микросхеме CH341, необходимо записать в него конфигурационные данные. Структура данных приводится в техническом описании (datasheet) для микросхемы CH341:

Структура конфигурационной памяти для CH341

Ячейка памяти, расположенная по адресу 0x02, с псевдонимом CFG, расписана отдельно:

Детальное описание ячейки CFG

Для того чтобы записать данные в EEPROM (название ПЗУ по-английски), нам понадобится программатор.

Можно воспользоваться другим способом записи ПЗУ, например, использовать в качестве программатора Arduino, благо он также имеет интерфейс I2C. Но это путь более длинный, ибо придётся подробно изучать документацию, циклограмму записи ПЗУ 24C01 и т.д.

Каждый программатор поддерживает свои типы микросхем, поэтому необходимо убедиться, что используемый вами программатор поддерживает именно серию ПЗУ 24C01. Программатор SP200S относится как раз к таким, его и будем использовать.

С помощью панели с нулевым усилением (ZIF-панели) или другим доступным способом подключаем ПЗУ к программатору:

Подключение ПЗУ 24C04 к программатору SP200S

Для данного программатора имеется софт, который позволяет редактировать данные, которые мы собираемся записать в ПЗУ. Называется Willar Programmer или WLPro. Запустим его и отредактируем конфигурационные данные. Зададим, к примеру, вот такой массив:

Содержимое конфигурационной памяти 24C04

Теперь запишем в ПЗУ эти конфигурационные данные. Для того чтобы понять, что здесь что, смотрим на рисунок выше, где приведена структура ячеек конфигурационной памяти. Как видите, мы заняли все 0x7F ячеек памяти, которые используются для конфигурирования микросхемы CH341.

Обратите внимание, что в логически объединённые группы ячеек (где данных больше 1-го байта), данные записываются как бы «задом наперёд». Например, идентификатор устройства PID, равный в данном случае 0x5501, записывается так: в ячейку 0x06 – 0x01, а в ячейку 0x07 – 0x55.

Кстати, об идентификаторах. Стандартные идентификаторы PID для микросхемы CH341, присущие разным режимы её работы, такие:

Стандартные PID для микросхемы CH341

Если вы планируете использовать микросхему CH341 в роли порта принтера, то вам понадобится описание стандарта IEEE-1284 для того, чтобы корректно заполнить ячейки DID (0x07…0x20) конфигурационной памяти.

3Загрузка микросхемы CH341 из конфигурационной памяти

Теперь подключаем ПЗУ с записанными конфигурационными данными, к отладочной плате с микросхемой CH341, согласно приведённой выше схеме. Питание, естественно, пока должно быть отключено. (Не обращайте внимания, у меня на монтажке была собрана другая схема, ПЗУ находится на ближней стороне, и только оно относится к нашей теме).

Конфигурационное ПЗУ подключено к отладочной плате с микросхемой CH341

При подаче питания микросхема CH341 проверяет, не подключено ли к ней ПЗУ. Если ПЗУ подключено, то микросхема пытается прочитать конфигурационные данные и установить режим работы в соответствии с данными в ПЗУ. В зависимости от режима работы, микросхема CH341 определится в диспетчере устройств операционной системы либо как порт принтера, либо как COM-порт, либо как-то ещё. Например, в моём случае, в первый раз как преобразователь в параллельный интерфейс USB-EPP, а второй раз как стандартный порт принтера:

Кстати, в режиме принтера используются именно те конфигурационные данные с рисунка выше. Как видно, вендор 0x1A86 (ячейки 0x04 и 0x05 конфигурационного массива), идентификатор устройства 0x5501 (ячейки 0x06 и 0x07), ревизия 0x1234 (ячейки 0x08 и 0x09).

В приложении к статье несколько полезных файлов для скачивания:

  • datasheet на CH341 и EEPROM 24C01, а также драйвер для CH341;
  • программа WLPro (версия 2.20) для программатора SP200S.

Скачать вложения:

  • Программа WLPro (версия 2.20) для программатора SP200S (1082 Скачиваний)
  • Техническое описание CH341 и EEPROM 24C01, а также драйвер для CH341 (1156 Скачиваний)

Последнее изменениеЧетверг, 12 Сентябрь 2019 17:10 Прочитано 6566 раз Как-то при ремонте откатных ворот итальянской фирмы LIFE понадобилось сделать копию микросхемы памяти, в которой хранятся настройки и, что самое главное, коды радиобрелоков. Микросхема эта — AT24C64. Кстати, некоторые домофоны используют для хранения кодов ключей эту же микросхему или аналоги. Понятно, нужен программатор, но под рукой готового не было… Что ж, интернет мне поможет, сам сделаю!

Содержание / Contents

↑ Схема

Пересмотрев кучу различных схем, я остановился на варианте на USB варианте Atmel в качестве микропроцессора. Автор использовал немного устаревшую AT90S2313, в моём варианте прекрасно заработала Attiny2313-20U. Схему немного переработал — добавил входные резисторы, изменил номиналы резисторов светодиодов, добавил разъем для удобства программирования, поставил кроватку DIP8 для микросхемы памяти… Вот что получилось: Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа. В схему добавлен джампер блокировки записи в микросхему памяти — Jmp1. Если в данной функции нет необходимости, резистор R9 можно не устанавливать, а вместо джампера нужно впаять перемычку.

↑ Плата

Схему разводил в Sprint-Layout 5.0 для SMD компонентов, использовал односторонний текстолит, плату делал по лазерно-утюжной технологии (ЛУТ). Размеры получились 28х42мм, дорожки толщиной 0,5 мм, минимальное расстояние между проводниками 0,23 мм.

↑ Программирование

Пришло время попробовать в деле датагорский программатор (Project-5) для микроконтроллеров Atmel, который уже давно спаян и лежит на полке, пылится… Никаких сложностей программирование не вызвало, только нужно было сделать переходник между программатором и моим устройством. При программировании биты-предохранители выставлены следующим образом: Fuse High Byte: bit_7 — 1 (unprogrammed) — DWEN — debugWIRE bit_6 — 1 (unprogrammed) — EESAVE — EEPROM memory is preserved through the Chip Erase bit_5 — 0 (programmed) — SPIEN — Enable Serial Program and Data Downloading bit_4 — 1 (unprogrammed) — WDTON — Watchdog Timer always bit_3 — 1 (unprogrammed) — BODLEVEL2 — Brown-out Detector trigger level bit_2 — 0 (programmed) — BODLEVEL1 — Brown-out Detector trigger level bit_1 — 1 (unprogrammed) — BODLEVEL0 — Brown-out Detector trigger level bit_0 — 1 (unprogrammed) — RSTDISBL — External Reset disable Fuse Low Byte: bit_7 — 1 (unprogrammed) — CKDIV8 — Divide clock by 8 bit_6 — 1 (unprogrammed) — CKOUT — Output Clock on CKOUT pin bit_5 — 1 (unprogrammed) — SUT1 — Select start-up time bit_4 — 0 (programmed) — SUT0 — Select start-up time bit_3 — 1 (unprogrammed) — CKSEL3 — Select Clock source bit_2 — 1 (unprogrammed) — CKSEL2 — Select Clock source bit_1 — 1 (unprogrammed) — CKSEL1 — Select Clock source bit_0 — 1 (unprogrammed) — CKSEL0 — Select Clock source

↑ Файлы

Схема в формате sPlan 7.0 и печатная плата в формате Sprint-Layout 5.0 в архиве (Обновлено 08/01/12) Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте. Драйвер для Windows: Драйвер одинаковый для обоих вариантов = Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте. Версии прошивки и программы работы с устройством: 1. для работы с чипами памяти АТ24C02–АТ24C32 = Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте. 2. для работы с чипами памяти АТ24С32-АТ24С512 = Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

↑ Источник

kovlev.ru

Камрад, рассмотри датагорские рекомендации

🌻 Купон до 1000₽ для новичка на Aliexpress

Никогда не затаривался у китайцев? Пришло время начать! Камрад, регистрируйся на Али по нашей ссылке. Ты получишь скидочный купон на первый заказ. Не тяни, условия акции меняются.

🌼 Полезные и проверенные железяки, можно брать

Куплено и опробовано читателями или в лаборатории редакции.

Звукопрозрачная ткань для динамиков Клеммники для АС на любой вкус Красивые саморезы под шестигранник для АС, разные размеры Двухполосный фильтр для АС Бонки — гайки для запрессовки, вклеивания. Разные размеры

Читательское голосование

Статью одобрили 18 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.

28.05.16 изменил Datagor. Поправлена схема, перезалит аржив.

Поделись с друзьями!

Связанные материалы

Светодиодная гирлянда для маленькой ёлочки. Update 1, с печатной платой… Здравствуйте, датагорцы! Решил собрать схему из статьи «Светодиодная микрогирлянда для маленькой… Макросы sprint layout… Вот хочу поделится всеми своими макросами для Sprint Layout 5.0. Мне их вполне достаточно, даже… «MICROLAB M-500» на прокачку до «5.1». Часть 2: TDA7448 + ATiny26 = многоканальный Master Volume… Cнова приветствую читателей Датагора! Во второй части статьи «MICROLAB M-500» на прокачку до «5.1»… Макросы ламповых панелек для Sprint Layout 5.0… Собрался я тут изготовить ламповый стабилизатор для усилителя, а макросов ламповых панелек для… Микроконтроллеры AVR в радиолюбительской практике. А. В. Белов… А. В. Белов Микроконтроллеры AVR в радиолюбительской практике Данная книга представляет собой… TDA7050 — усилитель для наушников и простой микшер на 18 каналов… TDA7050 от PHILIPS это стерео усилитель для наушников. Минимальная обвеска, надежность. Не сгорает… Плавное включение и выключение ламп накаливания… Как известно, лампы накаливания в основном перегорают в момент включения, когда нить накаливания в… Гитарный преамп Tomato — исправленная печатка. Tomato updated pcb. Обновлено…. Маленькая заметочка в стиле «возвращаясь к напечатанному» для устранения замеченных ошибок. В… Счётчик витков для намоточного станка на ATtiny13… Случилось так, что припекло мне трансформатор мотать, всё бы хорошо, да станка только не хватает -… Блок выпрямителя и фильтра для УМЗЧ… Занялся я на досуге прототипированием усилителей на популярных чипах и озаботился — а чем я буду их… Прибор для измерения выходной мощности усилителя на микроконтроллере Attyny13, Attyny45… В поисках чего бы ещё собрать в плане изучения МК, нашел датагорскую статью «Стрелочный индикатор… Программная реализация протокола I2C на AVR в CodeVisionAVR… Пару лет назад, изучая Atmega8, я захотел программно реализовать работу с устройствами на шине i2c,…

Общаемся по статье 💬

Программатор для микросхем памяти AT24C02 — AT24C512. Считываем и записываем данные!

Комментарии, вопросы, ответы, дополнения, отзывы

Информация Вы не можете участвовать в комментировании. Вероятные причины: — Администратор остановил комментирование этой статьи. — Вы не авторизовались на сайте. Войдите с паролем. — Вы не зарегистрированы у нас. Зарегистрируйтесь. — Вы зарегистрированы, но имеете низкий уровень доступа. Получите полный доступ. —> —>

—>Главная—> » —>Статьи—> » Как подключить

Работа с внешней EEPROM в Bascom-AVR на примере 24lc08

 Когда нужно длительное время хранить какие-нибудь рабочие данные, не боясь их потерять, используют штатную, встроенную в микроконтроллер, EEPROM память. Обычно размер этой памяти не велик и его хватает только для хранения каких-то небольших по объему данных, например пользовательских настроек или т.п. А если нужно хранить данные размером десяток килобайт, то понятно что встроенной памятью не обойтись и нужно подключать внешнее устройство хранения. И тут как нельзя лучше подходят внешние микросхемы EEPROM. Например микросхемы из серии 24LCxx от компании Microchip. Эти микросхемы поддерживают подключение по протоколу I2C и умеют хранить от 512 байт до 128 килобайт данных. К тому же, старшие модели могут работать в связке из себе подобных, таким образом размер памяти может быть увеличен за счет присвоения микросхемам памяти индивидуального адреса на I2C шине. В младших же моделях, все микросхемы имеют фиксированный адрес 1010.  В номенклатуре Microchip серии 24LC числовое значение после буквенного индекса  обозначает объем памяти в килобитах. Так, подопытная микросхема 24LC08 имеет на борту 8 килобит пространства под хранение данных (или 1 килобайт).   Подключение микросхемы    Данная микросхема выпускается в различных корпусах: DIP, SOIC, TSOP, DFN. Для каждого восьминогового типа корпуса сохраняется распиновка контактов.   Такое же расположение контактов имеют микросхемы старших моделей, поэтому они запросто могут быть заменены в случае нехватки ресурсов, без изменения типологии платы. Назначение выводов микросхемы смотрим ниже: A0, A1, A2 — в данной микросхеме не используются, в старших моделях они служат для присвоения микросхеме индивидуального адреса на I2C шине.

SDA – линия данных 

SCL – линия тактовых импульсов 

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

Vcc – питание микросхемы. Напряжение может быть в пределах от 2.5 вольта до 5.5 вольта.

Vss – земля. 

 К микроконтроллеру микросхема подключаются следуя традициям протокола I2C, тоесть сигнальные линии подтягиваются к шине питания через резисторы номиналом 4,7к. Неиспользуемые выводы A0, A1, A2 можно посадить на землю (IC1 в примере Attiny2313)

 Организация памяти  При обращении к микросхеме ведущее устройство (микроконтроллер) отправляет адрес устройства (он у нас фиксированный 1010) и адрес блока с которым нужно работать. Затем отправляется адрес ячейки в которую нужно записать/прочитать данные. Что нужно сделать с данными — прочитать или записать — зависит от бита в конце посылки. Разберем на примерах.  Запись данных    Для записи в микросхему одного байта, нужно выполнить следующую последовательность действий:

  1. Сконфигурировать интерфейс I2C
  2. Отослать стартовый бит
  3. Отослать адрес микросхемы + адрес блока памяти. В конце посылки должен стоять 0 (бит записи)
  4. Отослать адрес ячейки памяти в которую будет производится запись
  5. Отослать байт данных
  6. Отослать стоповый бит

 К примеру запишем один байт &hFF в первую ячейку памяти первого блока (адрес блока &b000, адрес ячейки &h00).

$regfile = «2313def.dat» $crystal = ‘конфигурируем scl и sda пины Config Sda = Portb.7                           ‘I2C Data Config Scl = Portb.6                           Wait I2cstart ‘даем сигнал старт i2c шине I2cwbyte &B10100000                        ‘отправляем адрес микросхемы и адрес блока I2cwbyte &H00                              ‘отправляем адрес ячейки I2cwbyte &HFF                              ‘отправляем байт, который нужно записать I2cstop End  Постраничная запись Для увеличения скорости записи данных существует метод постраничной записи. Одна страница — это область из 16 байт (один столбец на картинке выше). При постраничной записи адрес записываемой ячейки увеличивается автоматически, поэтому не нужно  каждый раз вручную прописывать адрес. Для записи одной страницы отправляем адрес первой ячейки и затем 16 раз отправляем необходимые данные, причем если отправить 17 байт, то последний байт перезапишет первый и т.д. Для примера запишем первую страницу первого блока. Адрес первой ячейки  &h00. $regfile = «2313def.dat» $crystal = ‘конфигурируем scl и sda пины Config Sda = Portb.7                     ‘I2C Data Config Scl = Portb.6                     Wait I2cstart ‘даем сигнал старт i2c шине I2cwbyte &B10100000                      ‘отправляем адрес микросхемы и адрес блока I2cwbyte &H00                             I2cwbyte &HF0                            ‘отправляем 1 байт I2cwbyte &HF1                            ‘отправляем 2 байт I2cwbyte &HF2                            ‘отправляем 3 байт I2cwbyte &HF3                            ‘отправляем 4 байт I2cwbyte &HF4                            ‘отправляем 5 байт I2cwbyte &HF5                            ‘отправляем 6 байт I2cwbyte &HF6                            ‘отправляем 7 байт I2cwbyte &HF7                            ‘отправляем 8 байт I2cwbyte &HF8                            ‘отправляем 9 байт I2cwbyte &HF9                            ‘отправляем 10 байт I2cwbyte &HFA                            ‘отправляем 11 байт I2cwbyte &HFB                            ‘отправляем 12 байт I2cwbyte &HFC                            ‘отправляем 13 байт I2cwbyte &HFD                            ‘отправляем 14 байт I2cwbyte &HFE                            ‘отправляем 15 байт I2cwbyte &HFF                             I2cstop End  Здесь записывается вся первая страница числами от 240 (в шестнадцатеричной системе F0) до 255 (FF).   Чтение данных  Теперь разберем как прочитать записанные в микросхему данные. Для чтения одного байта нужно проделать следующее:

  1. Сконфигурировать интерфейс I2C 
  2. Отправить стартовый бит
  3. Отправить адрес микросхемы + адрес блока памяти откуда нужно читать
  4. Отправить адрес ячейки памяти
  5. Снова отправить стартовый бит
  6. Отправить адрес микросхемы и адрес блока памяти с битом «чтение»
  7. Получить байт
  8. Отправить стоповый бит

Чтение первой ячейки первого блока будет выглядеть так: $regfile = «2313def.dat» $crystal = Dim A As Byte ‘конфигурируем scl и sda пины Config Sda = Portb.7                      ‘I2C Data Config Scl = Portb.6                     Wait I2cstart  ‘даем сигнал старт i2c шине I2cwbyte &B10100000                       ‘отправляем адрес микросхемы и адрес блока I2cwbyte &H00                             I2cstart ‘снова отправляем старт I2cwbyte &B10100001                  ‘отправляем адрес микросхемы и адрес блока ‘на конце посылки теперь будет 1 — бит чтения I2crbyte A , Nack ‘кладем в переменную А прочитанный байт I2cstop End  Прочитаный байт записывается в переменную А, командой Nack мы прекращаем отправку микросхемой данных. Если эту команду заменить на Ack, то микросхема продолжит слать данные с ячеек, расположенных следом. Таким образом можно прочитать всю микросхему разом, отправляя команду I2crbyte Variable, Ack необходимое количество раз.  А теперь практический пример. К микроконтроллеру подключен датчик температуры ds18b20, на дисплей выводится текущая температура и значение температуры, которое было записано в память микросхемы 24LC08. Запись температуры в память микросхемы происходит при нажатии на кнопку PB2, считывание и вывод записанного значения происходит при нажатии на кнопку PB1.  СКАЧАТЬ КОД ПРОГРАММЫ  Скачать пример в Proteus Скачать исходники со статьи одним файлом  Как видно работать с внешней EEPROM очень даже просто, если будут вопросы, складывайте их в комментариях. Удачи!

—>Категория—>: Как подключить | —>Добавлено—>: 18.09.2011
—>Просмотров—>: 42687 | —>Комментарии—>: 30 | —>Теги—>: | —>Рейтинг—>: /14
—>Всего комментариев—>: 30
  Спам 30 xorkrus   (26.12.2017 16:24) [Материал]
29 exersizze   (07.05.2017 07:30) [Материал] А, имелось ввиду про ножки микросхемы?. Так эти выводы меняют физический адрес микросхемы, а не адрес блока к которому обращаемся. Конкретно в этой микросхеме адрес прошит и не меняется, поэтому ножки не используются.
  Спам 28 marss70   (01.05.2017 21:32) [Материал] Тогда получается, что без физического изменения(например, перемычками) комбинации на ножках 1,2,3(А0,А1,А2) не прочитать всю память, а только один блок, или же всё же ножки 1,2,3(А0,А1,А2)- это адрес самой микросхемы? Как тогда у Вас в логгере температуре получается прочитать все 64(16х4) страницы?
27 exersizze   (01.05.2017 14:35) [Материал] Ага, на блок-схеме красным обозначены адреса блоков. Для третьего блока соответственно 010, для четвертого 011.
  Спам 26 marss70   (01.05.2017 10:21) [Материал] Я так понимаю, адрес блока формируется комбинацией А2,А1,А0? Тогда получается, что если надо прочитать второй блок, нужно менять комбинацию на А2,А1,А0 на 001?
  Спам 25 Cerber   (08.09.2014 07:57) [Материал] Разобрался таки как писать и читать эту память. Весьма удобная микра. Главное чтоб программа не записывала данные постоянно или часто. Иначе микросхема долго не проживет. Ресурс записи не такой уж большой.
  Спам 24 Cerber   (04.02.2013 09:41) [Материал] Постраничная запись удобнее всего. Но 15 байт… Это не мало. Даже не знаю какой способ записичтения выбрать…
  Спам 23 exersizze   (02.05.2012 20:59) [Материал] таким образом устанавливая разную комбинацию уровней на этих ногах, можно выбирать адрес микрухи из восьми комбинаций.
  Спам 22 exersizze   (02.05.2012 20:56) [Материал] вырезка из даташита на 24lc256: «К одной шине можно подключать до восьми устройств, используя различные комбинации битов выбора микросхемы. Если эти выводы остаются неподключенными, входы внутренне будут притянуты к Vss. Если они подключены к Vcc или на них подаётся высокий уровень, внутренняя схема притягивания к нулю отключается.»
  Спам 21 amv2000   (02.05.2012 20:35) [Материал] А вот тут не понял? это как с помощью ног А0-А2 можно на примере…
  Спам 20 exersizze   (02.05.2012 00:12) [Материал] Нет, с FM25CL64-S пока не сталкивался. Адрес у некоторых крупных микросхем памяти может выбираться вручную с помощью ног А0-А2, поэтому лучше уточнить по даташиту
  Спам 19 amv2000   (01.05.2012 16:36) [Материал]
  Спам 18 exersizze   (27.04.2012 08:36) [Материал] Ну если скорость критична, то можно отказаться от задержки. Думаю и без нее будет нормально работать, при постраничной записи записывается вся страница целиком и никаких проблем не возникает.
  Спам 17 amv2000   (26.04.2012 22:45) [Материал]
+1   Спам 16 rk2555   (27.03.2012 20:32) [Материал] Спасибо, всё понятно. Вот дорисовал вашу картинку адресации для наглядности :
  Спам 15 exersizze   (26.03.2012 22:58) [Материал] Да, каждый раз указывая адрес блока и страницы для записи. Начало второй страницы имеет адрес &H10
+1   Спам 14 rk2555   (26.03.2012 19:10) [Материал]
  Спам 13 exersizze   (02.01.2012 13:32) [Материал] По документации у серии 24lc гарантировано 1 миллион циклов записи/стирания. Есть серия 25lc, там уже 10 милиионов циклов.
  Спам 12 Gordon_shumway   (02.01.2012 09:27) [Материал]
  Спам 11 forter   (17.12.2011 15:26) [Материал]
  Спам 10 exersizze   (17.12.2011 14:49) [Материал] интересная мысль! только придется неслабо перекроить библиотеку, а готовое мне не попадалось.
  Спам 9 forter   (17.12.2011 13:52) [Материал]
  Спам 8 exersizze   (11.10.2011 19:33) [Материал] Нужно добавить отправку второго байта, содержащего адрес микросхемы и адрес блока. Сначала шлется байт содержащий старший байт адреса, а за ним — младший. например код чтения для 24с256 http://bascomavr.3bb.ru/viewtopic.php?id=332
  Спам 7 uaf   (11.10.2011 17:46) [Материал]
  Спам 6 exersizze   (26.09.2011 11:44) [Материал] Получается что да. Можно написать подпрограмму, в которой будем записывать или узнавать значения переменной: нужно значение переменной — вызвали подпрограмму чтения; нужно записать — подпрограмму записи.
  Спам 5 tenevikus   (26.09.2011 08:55) [Материал] получается я всегда должен знать куда что положил? нельзя однажды сохранив куда-то переменную test потом сразу же получить её значение?
  Спам 4 Kir   (22.09.2011 08:41) [Материал] Спасибо! разобрался
  Спам 3 exersizze   (21.09.2011 20:23) [Материал] верно, принцип работы абсолютно такой же; только там уже 8 блоков памяти по 256 кб с адресами от 000 до 111
  Спам 2 amv2000   (21.09.2011 16:15) [Материал] конечно серия одна же 24LCxx
  Спам 1 Kir   (21.09.2011 15:53) [Материал] Вот спасибо, как раз кстати! Имеется память 24lc16, там такаяже адресация?

—>Добавлять комментарии могут только зарегистрированные пользователи.—> [ —>Регистрация—> | —>Вход—> ] —> —> —> —>авторизация —> —> —> —> —> —>рубрики —> —>

Проекты [46]
Как подключить [32]
Инструменты [3]
Полезная информация [18]
Объявления [3]

—> —> —> —>метки —> —> —> —> —> —> —> —> —> —>AVRproject.ru — проекты на микроконтроллерах AVR. Использование материалов сайта допускается только при использовании ссылки на AVRproject.ru © 2011-2021       реклама:

24c02 в группе «Микросхемы памяти»7
M24C02-WMN6P, Микросхема памяти, EEPROM, I2C, 2K-bit (256 x 8), 400кГц [SOIC-8] 1597 шт. Пр-во: ST Microelectronics быстрый просмотр 1597 шт. 0.28 BYN × от 50 шт. — 0.27 BYN
M24C02-WMN6TP, Микросхема памяти, EEPROM, I2C, 2K-bit (256 x 8), 400кГц [SOIC-8] 612 шт. Пр-во: ST Microelectronics быстрый просмотр 612 шт. 0.25 BYN × от 100 шт. — 0.24 BYN
AT24C02BN-SH-T, Микросхема памяти, EEPROM serial I2C 256×8 [SO-8] 7 шт. Пр-во: Atmel быстрый просмотр 7 шт. 0.45 BYN × от 10 шт. — 0.41 BYN
AT24C02N-10SU-2.7, Последовательная энергонезависимая память (=24C02N-10SI-2.7) [SO-8] 2004 шт. Пр-во: Atmel быстрый просмотр 2004 шт. 0.69 BYN × от 15 шт. — 0.66 BYN
24C02C-I/P, Микросхема памяти EEPROM 2K I2C 400кГц [DIP-8] По запросу Пр-во: Microchip быстрый просмотр По запросу 1.15 BYN × от 10 шт. — 1.07 BYN
еще 2 товара по запросу «24c02»

Импульсные блоки питания – устройство и ремонт —>

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

Схема импульсного блока питания

Импульсные блоки питания используются в 90% электронных устройств. Но для ремонта импульсных блоков питания нужно знать основные принципы схемотехники. Поэтому приведем схему типичного импульсного блока питания.

image

Работа импульсного блока питания

Первичная цепь импульсного блока питания

Первичная цепь схемы блока питания расположена до импульсного ферритового трансформатора.

На входе блока расположен предохранитель.

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

Защитный диод D0 нужен для того, чтобы предохранить схему блока питания, если выйдет из строя диодный мост. Диод не даст пройти отрицательному напряжению в основную схему. Потому, что откроется и сгорит предохранитель.

За диодом стоит варистор на 4-5 ом для сглаживания резких скачков потребления тока в момент включения. А также для первоначальной зарядки конденсатора C1.

Активные элементы первичной цепи следующие.  Коммутационный транзистор Q1 и с ШИМ (широтно импульсный модулятор) контроллер. Транзистор преобразует постоянное выпрямленное напряжение 310В в переменное. Оно преобразуется трансформатором Т1 на вторичной обмотке в пониженное выходное.

И еще – для питания ШИМ-регулятора используется выпрямленное напряжение, снятое с дополнительной обмотки трансформатора.

Работа вторичной цепи импульсного блока питания

Во выходной цепи после трансформатора стоит либо диодный мост, либо 1 диод и CLC фильтр. Он состоит из электролитических конденсаторов и дросселя.

Для стабилизации выходного напряжения используется оптическая обратная связь. Она позволяет развязать выходное и входное напряжение гальванически. В качестве исполнительных элементов обратной связи используется оптопара OC1 и интегральный стабилизатор TL431. Если выходное напряжение после выпрямления превышает напряжение стабилизатора TL431 включается фотодиод. Он включает фототранзистор, управляющий драйвером ШИМ. Регулятор TL431 снижает скважность импульсов или вообще останавливается. Пока напряжение не снизится до порогового.

Ремонт импульсных блоков питания

Неисправности импульсных блоков питания, ремонт

Исходя из схемы импульсного блока питания перейдем к ее ремонту. Возможные неисправности:

  1. Если сгорел варистор и предохранитель на входе или VCR1, то ищем дальше. Потому, что они так просто не горят.
  2. Сгорел диодный мост. Обычно это микросхема. Если есть защитный диод, то и он обычно горит. Нужна их замена.
  3. Испорчен конденсатор C1 на 400В. Редко, но бывает. Часто его неисправность можно выявить по внешнему виду. Но не всегда. Иногда внешне исправный конденсатор оказывается плохим. Например, по внутреннему сопротивлению.
  4. Если сгорел переключающий транзистор, то выпаиваем и проверяем его. При неисправности требуется замена.
  5. Если не работает ШИМ регулятор, то меняем его.
  6. Замыкание, а также обрыв обмоток трансформатора. Шансы на починку минимальны.
  7. Неисправность оптопары – крайне редкий случай.
  8. Неисправность стабилизатора TL431. Для диагностики замеряем сопротивление.
  9. Если КЗ в конденсаторах на выходе блока питания, то выпаиваем и диагностируем тестером.

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

Например, рассмотрим ремонт импульсного блока питания на несколько напряжений.

image

Неисправность заключалась в в отсутствии на выходе блока выходных напряжений.

Например, в одном блоке питания оказались неисправны два конденсатора 1 и 2 в первичной цепи. Но они не были вздутыми.

image

На втором не работал ШИМ контроллер.

На вид все конденсаторы на снимке рабочие, но внутреннее сопротивление у них большое. Более того, внутреннее сопротивление ESR конденсатора 2 в кружке оказалось в несколько раз выше номинального. Этот конденсатор стоит в цепи обвязки ШИМ регулятора, поэтому регулятор не работал.  Работоспособность блока питания восстановилась только после замены этого конденсатора. Потому что ШИМ заработал.

Ремонт компьютерных блоков питания

Пример ремонта блока питания компьютера. В ремонт поступил дорогой блок питания на 800 Вт. При его включении выбивало защитный автомат.

image

Выяснилось, что короткое замыкание вызывал сгоревший транзистор в первичной цепи питания. Цена ремонта составила 3000 руб.

image

Имеет смысл чинить только качественные дорогие компьютерные блоки питания. Потому что ремонт БП может оказаться дороже нового.

Цены на ремонт импульсных БП

Цены на ремонт импульсных блоков питания очень отличаются. Дело в том, что существует очень много электрических схем импульсных блоков питания. Особенно много отличий в схемах с PFC (Power Factor Correction, коэффициент коррекции мощности). ЗАС повышает КПД.

Но самое важное – есть ли схема на сгоревший блок питания. Если такая электрическая схема есть в доступе, то ремонт блока питания существенно упрощается.

Стоимость ремонта колеблется от 1000 рублей для простых блоков питания. Но достигает 10000 рублей для сложных дорогих БП. Цена определяется сложностью блока питания. А также сколько элементов в нем сгорело. Если все новые БП одинаковые, то все неисправности разные.

Например, в одном сложном блоке питания вылетело 10 элементов и 3 дорожки. Тем не менее его удалось восстановить, причем цена ремонта составила 8000 рублей. Кстати, сам прибор стоит порядка 1 000 000 рублей. Таких блоков питания в России не продают.

Не смогли починить БП? Обращайтесь в Комплэйс.

Устройство китайских зарядок для ноутбуков описано здесь.

Еще посетители читают про: 

  • ремонт ноутбуков
  • починка принтеров
  • проблемы тачпада с совместимыми блоками питания ноутбуков.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий