Меню Закрыть

Чип main memory и содержимое не соответствует

Содержание

АПК Сервис
Профессиональный ремонт
сложной электронной техники.

Софт Colibri для программатора на CH341A

Давно в интернет-магазинах продаются программаторы на основе чипа CH341A.
Вот некоторые из них (картинки кликабельны)

Я покупал в этом магазине на Aliexpress , когда доставка была бесплатной.
По сути все они одинаковые, отличаются только дизайном.
Из за невысокой стоимости эти программаторы стали очень популярными
как у профессионалов-ремонтников, так и у радиолюбителей.

Перечислю некоторые недостатки, которые на мой взгляд присутствуют в софте,
предоставляемом продавцами программаторов:

  1. Отсутствие приличного русскоязычного интерфейса.
  2. Все операции выполняются в одном потоке, из за чего основное окно виснет.
  3. Недостаточный набор функций.
  4. Не все микросхемы из заявленных поддерживаются на самом деле.

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

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

Хочу выразить большую благодарность участникам форума CnCLab
Владимиру Ярмакович (aka Vlad1) и Петру Макруш (aka Петя ), первым тестировщикам программы.
Так же хочу поблагодарить всех участников форума remont-aud ,
которые тестировали, выявляли баги и давали рекомендации по улучшению программы.

Список микросхем, которые поддерживаются на данный момент, находится под спойлером.
Этот список постоянно обновляется, иногда несколько раз в день.

Actrans
AC25LV010, AC25LV512,

AMIC
A25L010, A25L016, A25L020, A25L032, A25L040, A25L05P, A25L080, A25L10P, A25L16P, A25L20P, A25L40P, A25L512, A25L80P, A25LQ32A,

Atmel
AT24C01, AT24C01A, AT24C01B, AT24C02, AT24C02A, AT24C02B, AT24C04, AT24C04A, AT24C04B, AT24C08, AT24C08A, AT24C08B, AT24C1024, AT24C128, AT24C128A, AT24C128B, AT24C16, AT24C16A, AT24C16B, AT24C32, AT24C32A, AT24C32B, AT24C64, AT24C64A, AT24C64B, AT25040, AT25080, AT25160, AT25DF021, AT25DF041A, AT25DF081A, AT25DF161, AT25DF321, AT25DF641, AT25F1024A, AT25F2048, AT25F512A, AT25F512B, AT25FS010, AT25FS040, AT26DF041, AT26DF081A, AT26DF161 (61A), AT26DF321, AT26F004,

Elan
EM25LV010, EM25LV512,

Eon
EN25B05, EN25F10, EN25F16, EN25F32, EN25F40, EN25F80, EN25Q128, EN25Q32B, EN25Q64, EN25QH16, EN25QH32, EN25QH64, EN25T16, EN25T80,

ESMT
F25L004A, F25L008A, F25L016A, F25L32QA,

Excel
ES25M*A ID, ES25M16(A), ES25M40(A), ES25M80(A), ES25P* PP, ES25P16, ES25P40, ES25P80,

GigaDevice
GD25B16B, GD25D40, GD25D80, GD25F40, GD25LQ64, GD25Q10, GD25Q128, GD25Q16, GD25Q32, GD25Q40, GD25Q64, GD25Q80, MD25D16, MD25D20, MD25D40, MD25D80, MD25T80,

I2C
24C01, 24C02, 24C04, 24C08, 24C1024, 24C128, 24C16, 24C256, 24C32, 24C512, 24C64,

Читайте также:  1С бсп что это

Macronix
KH25L12835F, KH25L3206E, KH25L3233F, KH25L3291E, KH25L6433F, MX25L1005, MX25L12805D, MX25L12835E, MX25L12835F, MX25L12836E, MX25L12845E, MX25L12865E, MX25L12873F, MX25L12875F, MX25L1605(06)(08), MX25L2005, MX25L2026, MX25L25635E, MX25L3205, MX25L3206, MX25L3208, MX25L6405, MX25L6455E, MX25L6473E, MX25U12873F,

Microchip
25LC160A, 25LC160B,

Micron
M25P16, M25P40, N25Q032, N25Q03213, N25Q064,

MXIC
MX25L4005(06), MX25L512, MX25L8005, MX25L8006E, MX25L8035E, MX25V4035, MX25V8035,

Nantron.
N25S32, N25S80,

ON
25FU406C, LE25S20FD, LE25U20A,

PMC
Pm25LD010, Pm25LD020, Pm25LD512, Pm25LQ032, Pm25LV010, Pm25LV016, Pm25LV020, Pm25LV040, Pm25LV080, Pm25LV512,

Ramtron
FM25V01, FM25V02, FM25V05, FM25V10, FM25VN* SN, FM25VN02, FM25VN05, FM25VN10,

Saifun
SA25F005, SA25F010, SA25F020,

Sanyo
LE25FS406, LE25FU106B, LE25FU206, LE25FU406B, LE25FW406A,

Spansion
S25FL001D, S25FL002D, S25FL004A, S25FL004D, S25FL008A, S25FL016A, S25FL032K, S25FL032P, S25FL040A, S25FL064A, S25FL064P, S25FL128S, S25FL256S,

SST
SST25LF020A, SST25LF040A, SST25LF080A, SST25VF010(A), SST25VF016(B), SST25VF020, SST25VF032(B), SST25VF040B, SST25VF080B, SST25VF512, SST25VF512A,

ST
M25P05(05A), M25P10, M25P10A, M25P128, M25P20, M25P32, M25P64, M25P80, M25PX* OTP, M25PX* UID, M25PX16, M25PX32, M25PX64, M25PX80, M95010, M95160, M95320, M95640, ST25C08, ST95P08,

Winbond
W25B20, W25Q128BV, W25Q128FV, W25Q16, W25Q256FV, W25Q32, W25Q40BV, W25Q40BW, W25Q64BV, W25Q64DW, W25Q64FV, W25Q80, W25X05, W25X10, W25X16, W25X20, W25X32, W25X40, W25X64, W25X80,

Если Вы не нашли необходимую микросхему, оставьте запрос в коментариях.

Для загрузки архива необходимо:

  1. Зарегистрироваться на сайте.
    При регистрации указывайте реальный e-mail, на него придет сообщение со ссылкой на активацию аккаунта!
  2. Отключить AdBlock или защиту от слежения.
  3. Перейти по ссылке ниже.
  4. Подождать 30 скунд.

Если Вы не согласны с вышеуказанными условиями, значит не судьба.

Архивы упакованы архиватором WinRar 5.60

В процессе работы с программатором выявлены некоторые недостатки,
один из них: не возможно сбросить / установить бит QE во втором регистре статуса.
Читаем даташит, например на чип W25Q64FV, и находим пунт Quad Enable (QE),
в котором есть предупреждение:
WARNING: If the /WP or /HOLD pins are tied directly to the power supply or ground during
standard SPI or Dual SPI operation, the QE bit should never be set to a 1.

Что бы исправить этот недостаток, надо отсоединить ноги #WP (pin 3) и #HOLD (pin7) от VCC
и подключить их к VCC через резисторы 4,7 ком.
На "чёрном программаторе" это выглядит так:

Еще вот купил себе небольшой программатор. Шикарная вещь мне для работы, да и не только!

Для примера, вот только некоторые типы микросхем с чем может работать:
В базе 450 чипов:

COMMON 25X005 25X80 25X256

EON EN2SB05 EN25F10 EN25LF20 EN25T80
EN25Q16 EN2ST16 M2SQ32 EN2SB64

Читайте также:  Что делать если утерян диплом

ES
ES25P10 ES25M80A ES2SM16A
ESMT E25L04UA E25L16PA

gigadevice
GD25Q512 GD25Q80 GD25Q32
KH
KH2514006E

hexflash
HX2SP10 NX2SP32
25X05 25X10 25X20 25X40
25X16 25X32 25X64 25X128
25X512 25X1024 25X2048
EN25F05 EN25B05T EN25P05 EN25LF05
EN25P10 EN25D10 EN25LF10 EN25D20
EN25F20 EN25F40 EN25D40 EN25LF40
EN25D80 EN25Q80 EN25F80 EN25P80
EN25H16 EN25B16T EN25F16 EN25D16
EN25B16 EN25F32 EN25P32 EN25B32
EN25832T EN25B64T EN25Q64 EN25F64
EN25F128 EN25Q128
ES25P20 ES25M40 ES25M40A ES25P40
ES25M80 ES25P80 ES25P16 ES25M16
ES25P32
F25L004A F25L08PA F25L008A F25L016A
F25L32PA F25L32QA F25L64PA
GD25Q10
G025D80
GD25Q64
KH25L80360
MS25X10
MS25X32
GD2SQ20
GD25F80
GD25Q128
GD2SD40
GD25T80
GD25F40
GD25Q16
KH25L8006E(OTP) KH25L1606E(OTP)
MS25X20
MS25X64
MS25X40
MS25X128
MS25X80
MX25L512 MX25V4035 MX25V8005
MX25U803S

1 Обзор программатораCH341A

Как следует из названия программатора, его основная часть – это микросхема CH341A. Рядом с ней располагается кварцевый резонатор на 12 МГц, а также стабилизатор напряжения AMS1117, который выдаёт 3,3 вольта. По бокам от USB разъёма, которым программатор подключается к компьютеру, располагаются светодиодные индикаторы: сверху (на фото) – индикатор питания (POWER), а снизу – индикатор обмена данными между ПК и программатором (RUN). Он включается, когда программатор считывает данные из программируемой микросхемы и когда происходит запись.

Верхняя сторона программатора CH341A

Нижняя сторона программатора CH341A

По названиям выводов понятно, что верхняя (на фото) гребёнка предназначена для обмена по интерфейсу SPI, а нижняя – по UART. Также тут имеется площадка для пайки, на которую можно припаять программируемую микросхему.

С помощью перемычки, которая по умолчанию установлена между контактами 1 и 2, можно менять режим работы программатора. Так, если перемычка установлена между контактами 1 и 2, программатор работает в параллельном режиме и определяется в диспетчере устройств Windows как параллельный порт (USB-EPP/I2C), а если между контактами 2 и 3 – в последовательном режиме и определяется в диспетчере устройств как COM-порт.

Программатор предназначен для чтения и записи данных в микросхемы flash-памяти серий 24 и 25. На шелкографии на нижней стороне программатора CH341A указано, каким образом нужно подключать программируемую микросхему каждой из серий. Приобрести программатор можно на Али-Экспресс, например, здесь, а подходящие микросхемы памяти здесь.

2 Софт для работы с программатором CH341A

Программатор CH341A поставляется с программой, которая, к сожалению, давно прекратила своё развитие. Последняя версия программы 1.30 датируется 2009 годом. Программа имеет предельно простой и интуитивно понятный интерфейс, который мы подробней рассмотрим чуть далее.

Программное обеспечение программатора CH341A

Читайте также:  Как делать анализ английского текста

Также существует альтернативное программное обеспечение (например, Программатор SPI, I2C, Microwire FLASH/EEPROM v1.4.0), которое, к сожалению, также не отличается дружелюбным интерфейсом и на сегодняшний день более не поддерживается.

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

3 Чтение и запись ПЗУ с помощью программатора CH341A

Установим программируемую микросхему в DIP-панель и зажмём с помощью специального рычага. Первая ножка микросхемы flash-памяти обозначена на корпусе точкой.

Программируемая микросхема в ZIF-панели под микроскопом

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

Программируемая микросхема в DIP-панели программатора CH341A Программатор CH341A

Будьте предельно внимательны при установке программируемой микросхемы. Если её неправильно (и неудачно) подключить, можно вывести из строя или микросхему, или сам программатор. Явным признаком неправильного подключения микросхемы может служить сильный разогрев частей программатора или программируемой микросхемы.

Подключим программатор к компьютеру, перемычка установлена между контактами 1 и 2. При первом запуске программатора необходимо установить драйверы. Скачать драйверы для программатора CH341A можно по ссылке в конце статьи.

После установки драйвера запустим программу CH341A Programmer. Программа автоматически определит, что программатор подключён. В правом нижнем углу в статусной строке программы появится надпись, оповещающая о том, что программа нашла программатор: Состояние: Подключено

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

Нажмите кнопку «Определить» (в разных версиях программы встречаются разные варианты перевода, а изначально интерфейс программы на китайском языке). Программа, если сможет, покажет наиболее подходящие варианты. Также вы можете выбрать тип микросхемы вручную, нажав кнопку «Поиск чипов».

Программа для работы с программатором CH341A

После того, как чип выбран, нажмите кнопку «Чтение». Программа прочитает и отобразит содержимое чипа в шестнадцатеричном формате (а также в виде текстовых символов в кодировке ASCII).

Кстати, в программе отображается подсказка в виде изображения, как должна быть расположена микросхема при программировании. Так вот, не смотрите на неё. Правильное положение указано на самом программаторе CH341A, как мы видели ранее, и оно не совпадает с нарисованным в программе.

Можно убедиться в том, что данные успешно записаны, отключив программатор от компьютера, а затем подключив его и заново считав содержимое ПЗУ .

Как правило, расширения файлов для хранения данных ПЗУ – *.bin, *.hex и *.rom.

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.