Blank check в программаторе что это
Вообще не знаете, как пользоваться программатором?
Эта подробная инструкция о том, как прошить микросхему памяти программатором для «чайников». Она поможет даже тем, кто абсолютно не разбирается в электронике и видел программатор только на картинках или фото.
Итак, для начала несколько распространенных заблуждений:
1. Перепрошивать микросхемы памяти умеют только профессионалы, потому что программатор — это сложное устройство.
Большинство современных программаторов действительно собраны из множества радиокомпонентов и/или построены на базе микроконтроллеров. Однако вовсе не обязательно собирать программатор самостоятельно — можно купить готовый.
2. Программатор — дорогостоящее устройство. Если вы решили купить профессиональный универсальный программатор, цена его может оказаться не оправданной даже при заказе напрямую из Китая. Хотя в большистве случаев продвинутый универсальный программатор вам не понадобится, достаточно купить простой и дешевый CH341A
Обязательно ли выпаивать микросхему памяти, чтобы её «прошить»? Это зависит от устройства, в котором она расположена. Во многих случаях микросхема памяти не припаяна к плате напрямую, а находятся в специальной панельке.
Таким образом, чтобы запрограммировать микросхему памяти вам понадобиться всего лишь:
1. Посмотреть внимательно на то, где расположен ключ микросхемы памяти — это своего рода метка показывающая, как (какой стороной) установить чип.
Обычно ключ микросхемы памяти — это точка или выемка на её корпусе. По ней и определяется расположение первого вывода.
На печатной плате обычно также есть соответствующая метка — перед тем как доставать/выпаивать микросхему убедитесь, что ключи (метки) совпадают!
2. В большинстве программаторов также есть ключ-метка, показывающая, как правильно вставить микросхему в его панель! Причем для разных типов микросхем этот ключ может быть разным!
Например обратите внимание на ключи метки первого вывода микросхем программатора CH341A.
Итак, если у вас возник вопрос, как правильно вставить микросхему в программатор CH341A, посмотрите прежде всего на то, какой серии она соответствует — что написано на её корпусе!
Ключ метка микросхемы должна соответствовать ключу метки программатора (см. фото).
Обратите внимание, что в зависимости от версии/модификации программатора CH341A расположение микросхемы в панели может отличаться и быть не таким как в софте (программе) для CH341A.
Ориентируйтесь прежде всего по ключам-меткам на корпусе программатора и микросхемы!
3. Важно знать, что CH341A может работать в двух режимах, поэтому обязательно убедитесь, что перемычка (джампер) программатора CH341A стоит в положении (1-2) — режим программатора, а не (2-3)- режим USB-UART конвертера!
4. После фиксации микросхемы в панельке программатора вставить его в USB порт — напрямую или через USB удлинитель.
5. Запустить программу (софт) для CH341A. Проверить правильно ли опознан программатор и «видит» ли его программа. Если да, то в строке вы можете увидеть надпись «Device state: connected», то есть «Состояние устройства: подключено»!
6. Если программа запущена не в режиме администратора, может появится сообщение, что драйвер не найден или установлен некорректно!
Хотя в большинстве случаев программатор работает нормально и так, то есть запускать его софт с правами администратора нет необходимости!
Внимание: файл запущенный от имени администратора может сделать с вашим компьютером всё, что угодно! Никогда не запускайте программы, которым не доверяете, от имени администратора!
7. Выбор микросхемы через интерфейс программатора. Удобнее и быстрее найти её через поиск, нажав на кнопку «Chip Search».
Микросхема найдена в списке(см. рис.).
Проверить, записаны ли в неё данные, или микросхема пустая можно через пункт меню: «Operate» -> «Blank Check».
Сообщение «Chip Main Memory are Blank» буквально «главная память чипа пустая», означает, что никаких полезных данных в микросхеме не содержится!
Работу с программатором микросхем памяти можно разделить на несколько видов:
— так называемый бекап (backup) — это создание и сохранение резервной копии данных. Считать и сохранить содержимое большинсва микросхем памяти программатором элементарно просто.
Для программатора CH341A в меню его программы есть пункт «Read chip» — прочитать чип (микросхему).
После того, как содержимое микросхемы памяти считано, его легко сохранить в файл, выбрав пункт «File» -> «Save» или просто нажав одновременно две клавиши Ctrl+S.
При сохранении выбрать для файла любое осмысленное имя (лучше латиницей)! Расширение дописывать не нужно!
Программа для программатора CH341A добавит его сама!
— очистка (стирание) памяти микросхемы. В меню программы CH341A выбрать пункт «Erase Сhip» — стереть чип!
— запись файла «прошивки» в микросхему памяти состоит из нескольких действий:
1. Выбор файла с «прошивкой» через пункт меню «File» -> «Open» (открыть файл).
Выбрать файл с подходящим расширением, например сохраненный ранее backup файл «прошивки»
2. Запись данных кнопкой «Write Chip».
Проверка правильности записи файла «прошивки» выполняется нажатием кнопки «Verify Chip».
Если «прошивка» загружена правильно — содержимое данных из файла и микросхемы будут одинаковые! После успешной проверки появится сообщение «Chip Main Memory and buffer same», то есть в буквальном переводе «главная память чипа и буффера совпадают»!
Как видите, «прошить» микросхему памяти программатором совсем не сложно. Купить заказать программатор CH341A можно здесь.
Содержимое чипа не совпадает с буфером
Вообще не знаете, как пользоваться программатором?
Эта подробная инструкция о том, как прошить микросхему памяти программатором для "чайников". Она поможет даже тем, кто абсолютно не разбирается в электронике и видел программатор только на картинках или фото.
Итак, для начала несколько распространенных заблуждений:
1. Перепрошивать микросхемы памяти умеют только профессионалы, потому что программатор — это сложное устройство.
Большинство современных программаторов действительно собраны из множества радиокомпонентов и/или построены на базе микроконтроллеров. Однако вовсе не обязательно собирать программатор самостоятельно — можно купить готовый.
2. Программатор — дорогостоящее устройство. Если вы решили купить профессиональный универсальный программатор, цена его может оказаться не оправданной даже при заказе напрямую из Китая. Хотя в большистве случаев продвинутый универсальный программатор вам не понадобится, достаточно купить простой и дешевый CH341A
Обязательно ли выпаивать микросхему памяти, чтобы её "прошить"? Это зависит от устройства, в котором она расположена. Во многих случаях микросхема памяти не припаяна к плате напрямую, а находятся в специальной панельке.
Таким образом, чтобы запрограммировать микросхему памяти вам понадобиться всего лишь:
1. Посмотреть внимательно на то, где расположен ключ микросхемы памяти — это своего рода метка показывающая, как (какой стороной) установить чип.
Обычно ключ микросхемы памяти — это точка или выемка на её корпусе. По ней и определяется расположение первого вывода.
На печатной плате обычно также есть соответствующая метка — перед тем как доставать/выпаивать микросхему убедитесь, что ключи (метки) совпадают!
2. В большинстве программаторов также есть ключ-метка, показывающая, как правильно вставить микросхему в его панель! Причем для разных типов микросхем этот ключ может быть разным!
Например обратите внимание на ключи метки первого вывода микросхем программатора CH341A.
Итак, если у вас возник вопрос, как правильно вставить микросхему в программатор CH341A, посмотрите прежде всего на то, какой серии она соответствует — что написано на её корпусе!
Ключ метка микросхемы должна соответствовать ключу метки программатора (см. фото).
Обратите внимание, что в зависимости от версии/модификации программатора CH341A расположение микросхемы в панели может отличаться и быть не таким как в софте (программе) для CH341A.
Ориентируйтесь прежде всего по ключам-меткам на корпусе программатора и микросхемы!
3. Важно знать, что CH341A может работать в двух режимах, поэтому обязательно убедитесь, что перемычка (джампер) программатора CH341A стоит в положении (1-2) — режим программатора, а не (2-3) — режим USB-UART конвертера!
4. После фиксации микросхемы в панельке программатора вставить его в USB порт — напрямую или через USB удлинитель.
5. Запустить программу (софт) для CH341A. Проверить правильно ли опознан программатор и "видит" ли его программа. Если да, то в строке вы можете увидеть надпись "Device state: connected", то есть "Состояние устройства: подключено"!
6. Если программа запущена не в режиме администратора, может появится сообщение, что драйвер не найден или установлен некорректно!
Хотя в большинстве случаев программатор работает нормально и так, то есть запускать его софт с правами администратора нет необходимости!
Внимание: файл запущенный от имени администратора может сделать с вашим компьютером всё, что угодно! Никогда не запускайте программы, которым не доверяете, от имени администратора!
7. Выбор микросхемы через интерфейс программатора. Удобнее и быстрее найти её через поиск, нажав на кнопку "Chip Search".
Микросхема найдена в списке(см. рис.).
Проверить, записаны ли в неё данные, или микросхема пустая можно через пункт меню: "Operate" -> "Blank Check".
Сообщение "Chip Main Memory are Blank" буквально "главная память чипа пустая", означает, что никаких полезных данных в микросхеме не содержится!
Работу с программатором микросхем памяти можно разделить на несколько видов:
— так называемый бекап (backup) — это создание и сохранение резервной копии данных. Считать и сохранить содержимое большинсва микросхем памяти программатором элементарно просто.
Для программатора CH341A в меню его программы есть пункт "Read chip" — прочитать чип (микросхему).
После того, как содержимое микросхемы памяти считано, его легко сохранить в файл, выбрав пункт "File" -> "Save" или просто нажав одновременно две клавиши Ctrl+S.
При сохранении выбрать для файла любое осмысленное имя (лучше латиницей)! Расширение дописывать не нужно!
Программа для программатора CH341A добавит его сама!
— очистка (стирание) памяти микросхемы. В меню программы CH341A выбрать пункт "Erase Сhip" — стереть чип!
— запись файла "прошивки" в микросхему памяти состоит из нескольких действий:
1. Выбор файла с "прошивкой" через пункт меню "File" -> "Open" (открыть файл).
Выбрать файл с подходящим расширением, например сохраненный ранее backup файл "прошивки"
2. Запись данных кнопкой "Write Chip".
Проверка правильности записи файла "прошивки" выполняется нажатием кнопки "Verify Chip".
Если "прошивка" загружена правильно — содержимое данных из файла и микросхемы будут одинаковые! После успешной проверки появится сообщение "Chip Main Memory and buffer same", то есть в буквальном переводе "главная память чипа и буффера совпадают"!
Как видите, "прошить" микросхему памяти программатором совсем не сложно. Купить заказать программатор CH341A можно здесь.

Компания SAMSUNG начала выпуск новой линейки принтеров, в которых версия встроенного ПО не позволяет использовать так называемые "фикс — прошивки".
До момента приобретения программатора на CH341A и я испытывал затруднения, а точнее невозможность установки "фикс — прошивки". В итоге, до того как был получен программатор, собралось с десяток принтеров и несколько не очень довольных клиентов.
Наконец-то пришла посылка и увы обещанного ПО и описания вместе с устройством не было. Поэтому для тех, кто столкнулся с похожей проблемой и эта статья.
Было найдено и проверено несколько вариантов ПО для программатора и сделана остановка на CH341 – V 1.17 драйвера входят в комплект – СКАЧАТЬ.
Почему именно эта версия, да просто потому, что проверена многократно и мин в ней нет. Таких, как приклеенные "трояны", не рабочая версия, без поддержки русского языка и т.п. Одно "НО" в версии 1.17 на картинке в левом нижнем углу не правильно показано подключение чипа, как 24, так и 25 соответственно. Поэтому обязательно проверяйте правильность подключения (пайки) чипа к программатору. Если используете дополнительную плату (идет в комплекте) поставьте на ней метку для первой ножки чипа. Также отметьте положение первой ножки на платах с адаптерами. Поверьте, очень поможет.
В остальном, программатор работает как надо. Для более полного использования возможностей программатора, приобретите дополнительные модули (адаптеры) такие как – прищепка, адаптеры SOP под DIP 20, DIP 16 и т.д. и т.д. и т.д. (см. фото). Все зависит от типа задач, которые будете выполнять с помощью программатора.
Как использовать программатор CH341A ?
Первые шаги, и мои тоже. Все подключения выполнены к ПК работающему на WIN 7 – 32.
Подключаем программатор к ПК. Устанавливаем (в ручную) драйвера. К отключенному программатору подключаем или припаиваем нужный чип. Программатор, опять подключаем к ПК. Первый признак того, что чип вставлен правильно – светодиод в программаторе светит ярко, как светил и без подключенного чипа. Если светит тускло и возможно пошел дымок, вы спалили чип, а вместе с ним могли "убить" и программатор. Не будем о грустном, будем считать, что все сделали правильно и запустим программу 1.17, в открывшемся окне программы нажимаем кнопку "детект" – чип, подключенный к программатору должен определиться. Если нет, проверьте еще раз подключение чипа. Особенно это касается момента, если используется "прищепка". Если все правильно и чип не определяется и не читается соответственно – чип "мертв". Вставляем, а лучше припаиваем заведомо исправный чип, все запускаем, и – о чудо, чип определился. Маленькое отступление, автоматическое определение типа чипа справедливо только для 25 серии, и-то не всегда определяется корректно. Поэтому в некоторых случаях придется воспользоваться функцией выбора чипа самостоятельно. После того, как все заработало, можете попробовать записать в чип какую-либо информацию. Вбейте несколько строк с клавиатуры, к примеру, одних единиц и нажмите в меню программы "записать". В левом нижнем углу экрана программы должен начаться прогресс выполнения. После записи сохраните этот файл, перейдя по соответствующим вкладкам в меню программы. Теперь сотрите все из чипа, нажав в меню "стирание", проверьте чип "пуст". Затем вновь запишите в чип тот файл, который сохранили (меню-файл-открыть и выбрать сохраненный файл). Содержимое файла, в данном случае единиц, отобразится в окне программы, жмем "записать". После успешного выполнения программа сообщит о том, что "буфер и чип — ok" или "буфер и чип — совпадают", а это значит, что все получилось.
Вот такое, может быть не очень емкое, но правильное направление изложено в этой статье. Совсем забыл, если будет использоваться чип, взятый из принтера, прежде чем его стирать сохраните его содержимое. И десяток принтеров успешно "прошились" за два дня.
Дерзайте и успехов!
ch341a содержимое чипа не совпадает с буфером?
Такой запрос или вопрос все чаще стал возникать у пользователей данного программатора.
Из собственного опыта – несколько примеров, это конечно не истина в первой инстанции.
1. Банально битый чип – читается, стирается, но не записывается.
2. Объём памяти чипа мал или велик, да, да именно так. Используйте соответствующие компоненты, не пытайтесь залить бензин в дизельный двигатель и наоборот.
3. Если используете переходники, а стоит чип припаивать, нет контакта на одной из ног.
4. Ленитесь выпаивать чип из платы и пытаетесь прошить прямо в устройстве. Рискуете.
Повторюсь – самое надежное чип впаивать перед чтением /прошивкой. Не изобретайте велосипед, используйте только соответствующие компоненты. У меня был случай, когда чип абсалютный аналог, но в DIP корпусе просто не работал. Когда был куплен тот, который нужен, и прошит, устройство заработало нормально…
Published 26.07.2016 · Updated 26.12.2018
Всем привет! Получил программатор CH341A EEPROM/SPI и столкнулся с тем, что продавец не выслал драйвера и программы, хотя в описании товара указывал – http://goo.gl/5rYWYb.

Пришлось покопаться в Интернете и поискать подходящие драйвера и рабочий под Windows 10 софт. Это оказалось не так просто, но все же возможно. Если у вас Windows 7 или XP, то задача немного упрощается, т.к. как в отличии от Windows 8 и 10 нет необходимости искать подписанные цифровой подписью драйвера.
Последние версии драйверов можно скачать с сайта – http://goo.gl/TOVRiN
Так же проверенные версии доступны по ссылкам:
Драйвера для режима программирования – CH341PAR.ZIP
Для режима USB-SERIAL TTL – CH341SER.ZIP
При первом подключении устройство определится как Неизвестное устройство.

После скачивание драйвера следует распаковать и найти файл setup.exe

После запуска видим окошко.

Нажимаем Install. Подтверждением удачной установки будет следующее уведомление. Если установка не удалась, попробуйте повторить процесс, запустив setup.exe от имени Администратора.

Если повторные попытки не удаются, то вероятно, Windows блокирует драйвер и его стоит попробовать установить с отключенным контролем цифровой подписи. Для это выполняем следующие действия:
Зажимаем Shift и нажимаем Перезагрузку > Решение проблем > Дополнительные опции > Параметры загрузки > Повторная перезагрузка > В предложенном меню выбираем 7 или F7 для отключения контроля цифровой подписи драйверов.
Повторяем процедуру установки. Сейчас точно должно все пройти нормально и драйвер установиться. Подтверждение тому, Неизвестное устройство станет USB-EPP/I2C… CH341A

Драйвер для серийного режима устанавливается аналогично. При этом на программаторе переключаем джампер в положение 2-3. Результат – установленный порт USB-SERIAL.

После успешной установки драйверов необходимо установить ПО для программирования. Под Windows 10 (под более старые версии думаю так же хорошо будет работать) подходит программа CH341A Programmer 1.29 (СКАЧАТЬ).
Распаковываем и запускаем файл CH341A_C.EXE. Выглядит следующим образом:

Теперь можно приступать к прошивке чипов. Все готово для этого.
Полезные ссылки:
CH341A 24 25 Series EEPROM Flash BIOS USB Programmer – http://goo.gl/cxcv3V
Прищепка для прошивки SOIC8 SOP8 без выпаивания – http://goo.gl/7dvoN6
Канал на Youtube — technoKIT
Внимание! Ряд антивирусов показывает наличие вирусов в файлах ПО программатора. Я использую этот софт без каких-либо проблем, но если у вас есть сомнение – НЕ качайте! Ищите альтернативные варианты в сети, но не пишите супер “умные” комментарии. Спасибо.
Для тех у кого не качает по ссылкам выше, ссылка на драйвера и софт на Я.Диске – DRV_AND_SOFT_CH341A.zip
Если у вас возникли вопросы, пишите в комментарии. Спасибо за внимание. Всем пока!
Простой программатор для AT89C2051 "на скорую руку" с использованием ATMega8
Наконец внял просьбам в комментах и выкладываю всё, что относится к программатору AT89C2051, которым прошивал термометр из этого поста.
Схема, прошивка переделана с ATMega32 на ATMega8, сегодня проверено в железе еще раз, всё работает и шьётся. В программаторе за ненадобностью не реализованы функции Verify, Blank check и установка Lock bits. Функция Verify избыточна, т.к. проверка происходит по ходу записи.
В комплект поставки входит принципиальная схема программатора, проект для IAR с исходниками (на C) и сама прошивка для ATMega8, проект в IntelliJ Idea с исходниками программатора (на Java).
Обмен программатора с компьютером происходит через последовательный порт (USART in и USART out на схеме). Т.к. на моём комтьютере COM-портов нету, я использовал преобразователь RS232-USB, собранный на FT232RL (отсюда). Cкорость обмена с компьютером по COM-порту 9600-8n1.
Принципиальная схема контроллера

Исходный код прошивки
Прошивка
Фюзы для меги необходимо выставить следующие:
H-Fuse: 0xDD
L-Fuse: 0xE3
Частота внутреннего генератора при таких фюзах — 4MHz.
Прошивал мегу с помощью широко известного программатора USBasp софтом Khazama AVR Programmer.
Протокол программирования AT89C2051 описан в даташите, ссылка на который есть ниже.
Программатор
Архив с проектом программатора в IntelliJ Idea
Для работы с COM-портом из программы на Java, необходимо использовать вот эту библиотеку. Инструкция по установки есть внутри в файле INSTALL.
Эта библиотека расчитана на работу в 32-bit среде Java, поэтому на 64-bit Windows надо отдельно ставить 32-bit Java и запускать из-под неё, иначе будем получать сообщение «Can’t load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver».
Дисклаймер: Всё это добро предлагается «как есть», Автор не отвечает за полную или частичную неработоспособность изделия, не берет на себя никаких обязательств по поддержке или развитию проекта. На вопросы буду отвечать по мере возможности и при наличии свободного времени.
Готовый JAR с зависимостями можно скачать здесь
- Микропроцессор AT89C2051 скачать
- Микропроцессор ATMega8 скачать
Blank check в программаторе что это
Вообще не знаете, как пользоваться программатором?
Эта подробная инструкция о том, как прошить микросхему памяти программатором для "чайников". Она поможет даже тем, кто абсолютно не разбирается в электронике и видел программатор только на картинках или фото.
Итак, для начала несколько распространенных заблуждений:
1. Перепрошивать микросхемы памяти умеют только профессионалы, потому что программатор — это сложное устройство.
Большинство современных программаторов действительно собраны из множества радиокомпонентов и/или построены на базе микроконтроллеров. Однако вовсе не обязательно собирать программатор самостоятельно — можно купить готовый.
2. Программатор — дорогостоящее устройство. Если вы решили купить профессиональный универсальный программатор, цена его может оказаться не оправданной даже при заказе напрямую из Китая. Хотя в большистве случаев продвинутый универсальный программатор вам не понадобится, достаточно купить простой и дешевый CH341A
Обязательно ли выпаивать микросхему памяти, чтобы её "прошить"? Это зависит от устройства, в котором она расположена. Во многих случаях микросхема памяти не припаяна к плате напрямую, а находятся в специальной панельке.
Таким образом, чтобы запрограммировать микросхему памяти вам понадобиться всего лишь:
1. Посмотреть внимательно на то, где расположен ключ микросхемы памяти — это своего рода метка показывающая, как (какой стороной) установить чип.
Обычно ключ микросхемы памяти — это точка или выемка на её корпусе. По ней и определяется расположение первого вывода.
На печатной плате обычно также есть соответствующая метка — перед тем как доставать/выпаивать микросхему убедитесь, что ключи (метки) совпадают!
2. В большинстве программаторов также есть ключ-метка, показывающая, как правильно вставить микросхему в его панель! Причем для разных типов микросхем этот ключ может быть разным!
Например обратите внимание на ключи метки первого вывода микросхем программатора CH341A.
Итак, если у вас возник вопрос, как правильно вставить микросхему в программатор CH341A, посмотрите прежде всего на то, какой серии она соответствует — что написано на её корпусе!
Ключ метка микросхемы должна соответствовать ключу метки программатора (см. фото).
Обратите внимание, что в зависимости от версии/модификации программатора CH341A расположение микросхемы в панели может отличаться и быть не таким как в софте (программе) для CH341A.
Ориентируйтесь прежде всего по ключам-меткам на корпусе программатора и микросхемы!
3. Важно знать, что CH341A может работать в двух режимах, поэтому обязательно убедитесь, что перемычка (джампер) программатора CH341A стоит в положении (1-2) — режим программатора, а не (2-3) — режим USB-UART конвертера!
4. После фиксации микросхемы в панельке программатора вставить его в USB порт — напрямую или через USB удлинитель.
5. Запустить программу (софт) для CH341A. Проверить правильно ли опознан программатор и "видит" ли его программа. Если да, то в строке вы можете увидеть надпись "Device state: connected", то есть "Состояние устройства: подключено"!
6. Если программа запущена не в режиме администратора, может появится сообщение, что драйвер не найден или установлен некорректно!
Хотя в большинстве случаев программатор работает нормально и так, то есть запускать его софт с правами администратора нет необходимости!
Внимание: файл запущенный от имени администратора может сделать с вашим компьютером всё, что угодно! Никогда не запускайте программы, которым не доверяете, от имени администратора!
7. Выбор микросхемы через интерфейс программатора. Удобнее и быстрее найти её через поиск, нажав на кнопку "Chip Search".
Микросхема найдена в списке(см. рис.).
Проверить, записаны ли в неё данные, или микросхема пустая можно через пункт меню: "Operate" -> "Blank Check".
Сообщение "Chip Main Memory are Blank" буквально "главная память чипа пустая", означает, что никаких полезных данных в микросхеме не содержится!
Работу с программатором микросхем памяти можно разделить на несколько видов:
— так называемый бекап (backup) — это создание и сохранение резервной копии данных. Считать и сохранить содержимое большинсва микросхем памяти программатором элементарно просто.
Для программатора CH341A в меню его программы есть пункт "Read chip" — прочитать чип (микросхему).
После того, как содержимое микросхемы памяти считано, его легко сохранить в файл, выбрав пункт "File" -> "Save" или просто нажав одновременно две клавиши Ctrl+S.
При сохранении выбрать для файла любое осмысленное имя (лучше латиницей)! Расширение дописывать не нужно!
Программа для программатора CH341A добавит его сама!
— очистка (стирание) памяти микросхемы. В меню программы CH341A выбрать пункт "Erase Сhip" — стереть чип!
— запись файла "прошивки" в микросхему памяти состоит из нескольких действий:
1. Выбор файла с "прошивкой" через пункт меню "File" -> "Open" (открыть файл).
Выбрать файл с подходящим расширением, например сохраненный ранее backup файл "прошивки"
2. Запись данных кнопкой "Write Chip".
Проверка правильности записи файла "прошивки" выполняется нажатием кнопки "Verify Chip".
Если "прошивка" загружена правильно — содержимое данных из файла и микросхемы будут одинаковые! После успешной проверки появится сообщение "Chip Main Memory and buffer same", то есть в буквальном переводе "главная память чипа и буффера совпадают"!
Как видите, "прошить" микросхему памяти программатором совсем не сложно. Купить заказать программатор CH341A можно здесь.


Компания SAMSUNG начала выпуск новой линейки принтеров, в которых версия встроенного ПО не позволяет использовать так называемые "фикс — прошивки".
До момента приобретения программатора на CH341A и я испытывал затруднения, а точнее невозможность установки "фикс — прошивки". В итоге, до того как был получен программатор, собралось с десяток принтеров и несколько не очень довольных клиентов.
Наконец-то пришла посылка и увы обещанного ПО и описания вместе с устройством не было. Поэтому для тех, кто столкнулся с похожей проблемой и эта статья.
Было найдено и проверено несколько вариантов ПО для программатора и сделана остановка на CH341 – V 1.17 драйвера входят в комплект – СКАЧАТЬ.
Почему именно эта версия, да просто потому, что проверена многократно и мин в ней нет. Таких, как приклеенные "трояны", не рабочая версия, без поддержки русского языка и т.п. Одно "НО" в версии 1.17 на картинке в левом нижнем углу не правильно показано подключение чипа, как 24, так и 25 соответственно. Поэтому обязательно проверяйте правильность подключения (пайки) чипа к программатору. Если используете дополнительную плату (идет в комплекте) поставьте на ней метку для первой ножки чипа. Также отметьте положение первой ножки на платах с адаптерами. Поверьте, очень поможет.
В остальном, программатор работает как надо. Для более полного использования возможностей программатора, приобретите дополнительные модули (адаптеры) такие как – прищепка, адаптеры SOP под DIP 20, DIP 16 и т.д. и т.д. и т.д. (см. фото). Все зависит от типа задач, которые будете выполнять с помощью программатора.
Как использовать программатор CH341A ?
Первые шаги, и мои тоже. Все подключения выполнены к ПК работающему на WIN 7 – 32.
Подключаем программатор к ПК. Устанавливаем (в ручную) драйвера. К отключенному программатору подключаем или припаиваем нужный чип. Программатор, опять подключаем к ПК. Первый признак того, что чип вставлен правильно – светодиод в программаторе светит ярко, как светил и без подключенного чипа. Если светит тускло и возможно пошел дымок, вы спалили чип, а вместе с ним могли "убить" и программатор. Не будем о грустном, будем считать, что все сделали правильно и запустим программу 1.17, в открывшемся окне программы нажимаем кнопку "детект" – чип, подключенный к программатору должен определиться. Если нет, проверьте еще раз подключение чипа. Особенно это касается момента, если используется "прищепка". Если все правильно и чип не определяется и не читается соответственно – чип "мертв". Вставляем, а лучше припаиваем заведомо исправный чип, все запускаем, и – о чудо, чип определился. Маленькое отступление, автоматическое определение типа чипа справедливо только для 25 серии, и-то не всегда определяется корректно. Поэтому в некоторых случаях придется воспользоваться функцией выбора чипа самостоятельно. После того, как все заработало, можете попробовать записать в чип какую-либо информацию. Вбейте несколько строк с клавиатуры, к примеру, одних единиц и нажмите в меню программы "записать". В левом нижнем углу экрана программы должен начаться прогресс выполнения. После записи сохраните этот файл, перейдя по соответствующим вкладкам в меню программы. Теперь сотрите все из чипа, нажав в меню "стирание", проверьте чип "пуст". Затем вновь запишите в чип тот файл, который сохранили (меню-файл-открыть и выбрать сохраненный файл). Содержимое файла, в данном случае единиц, отобразится в окне программы, жмем "записать". После успешного выполнения программа сообщит о том, что "буфер и чип — ok" или "буфер и чип — совпадают", а это значит, что все получилось.
Вот такое, может быть не очень емкое, но правильное направление изложено в этой статье. Совсем забыл, если будет использоваться чип, взятый из принтера, прежде чем его стирать сохраните его содержимое. И десяток принтеров успешно "прошились" за два дня.
Дерзайте и успехов!
ch341a содержимое чипа не совпадает с буфером?
Такой запрос или вопрос все чаще стал возникать у пользователей данного программатора.
Из собственного опыта – несколько примеров, это конечно не истина в первой инстанции.
1. Банально битый чип – читается, стирается, но не записывается.
2. Объём памяти чипа мал или велик, да, да именно так. Используйте соответствующие компоненты, не пытайтесь залить бензин в дизельный двигатель и наоборот.
3. Если используете переходники, а стоит чип припаивать, нет контакта на одной из ног.
4. Ленитесь выпаивать чип из платы и пытаетесь прошить прямо в устройстве. Рискуете.
Повторюсь – самое надежное чип впаивать перед чтением /прошивкой. Не изобретайте велосипед, используйте только соответствующие компоненты. У меня был случай, когда чип абсалютный аналог, но в DIP корпусе просто не работал. Когда был куплен тот, который нужен, и прошит, устройство заработало нормально…
Published 26.07.2016 · Updated 26.12.2018
Всем привет! Получил программатор CH341A EEPROM/SPI и столкнулся с тем, что продавец не выслал драйвера и программы, хотя в описании товара указывал – http://goo.gl/5rYWYb.

Пришлось покопаться в Интернете и поискать подходящие драйвера и рабочий под Windows 10 софт. Это оказалось не так просто, но все же возможно. Если у вас Windows 7 или XP, то задача немного упрощается, т.к. как в отличии от Windows 8 и 10 нет необходимости искать подписанные цифровой подписью драйвера.
Последние версии драйверов можно скачать с сайта – http://goo.gl/TOVRiN
Так же проверенные версии доступны по ссылкам:
Драйвера для режима программирования – CH341PAR.ZIP
Для режима USB-SERIAL TTL – CH341SER.ZIP
При первом подключении устройство определится как Неизвестное устройство.

После скачивание драйвера следует распаковать и найти файл setup.exe

После запуска видим окошко.

Нажимаем Install. Подтверждением удачной установки будет следующее уведомление. Если установка не удалась, попробуйте повторить процесс, запустив setup.exe от имени Администратора.

Если повторные попытки не удаются, то вероятно, Windows блокирует драйвер и его стоит попробовать установить с отключенным контролем цифровой подписи. Для это выполняем следующие действия:
Зажимаем Shift и нажимаем Перезагрузку > Решение проблем > Дополнительные опции > Параметры загрузки > Повторная перезагрузка > В предложенном меню выбираем 7 или F7 для отключения контроля цифровой подписи драйверов.
Повторяем процедуру установки. Сейчас точно должно все пройти нормально и драйвер установиться. Подтверждение тому, Неизвестное устройство станет USB-EPP/I2C… CH341A

Драйвер для серийного режима устанавливается аналогично. При этом на программаторе переключаем джампер в положение 2-3. Результат – установленный порт USB-SERIAL.

После успешной установки драйверов необходимо установить ПО для программирования. Под Windows 10 (под более старые версии думаю так же хорошо будет работать) подходит программа CH341A Programmer 1.29 (СКАЧАТЬ).
Распаковываем и запускаем файл CH341A_C.EXE. Выглядит следующим образом:

Теперь можно приступать к прошивке чипов. Все готово для этого.
Полезные ссылки:
CH341A 24 25 Series EEPROM Flash BIOS USB Programmer – http://goo.gl/cxcv3V
Прищепка для прошивки SOIC8 SOP8 без выпаивания – http://goo.gl/7dvoN6
Канал на Youtube — technoKIT
Внимание! Ряд антивирусов показывает наличие вирусов в файлах ПО программатора. Я использую этот софт без каких-либо проблем, но если у вас есть сомнение – НЕ качайте! Ищите альтернативные варианты в сети, но не пишите супер “умные” комментарии. Спасибо.
Для тех у кого не качает по ссылкам выше, ссылка на драйвера и софт на Я.Диске – DRV_AND_SOFT_CH341A.zip
Если у вас возникли вопросы, пишите в комментарии. Спасибо за внимание. Всем пока!
Что такое компания пустышка — Blank Check и SPAC?

Blank check company дословно переводится как компания с пуcтым/бланковым чеком или говоря по-русски компания-пустышка. Blank Check — это компания на стадии развития, у которой либо нет установленного бизнес-плана, либо ее бизнес-план основан на слиянии или поглощении с другой компанией или компаниями. Компании Blank Check обычно являются спекулятивными по своей природе и часто подпадают под то, что Комиссия по ценным бумагам и биржам США (SEC) определяет как «мусорные акции» или спекулятивные ценные бумаги, которые торгуются по цене менее 5 долларов за акцию.
Пытаясь привлечь капитал или профинансировать будущие операции, компания blank check может выпустить для инвесторов копеечные акции. Компании blank check представляют инвесторам альтернативу, аналогичную частному капиталу .
Комиссия по ценным бумагам и биржам (SEC) требует от всех компаний-пустышек переводить все средства, полученные от размещения на бирже, на счет условного депонирования (эскроу). Компании blank check также должны полностью раскрыть все условия своего размещения на бирже.
Популярным типом компаний blank check , являются компании по приобретению специального назначения (SPAC). Учредитель SPAC объединяет деньги инвесторов и далее вкладывает их в SPAC, чтобы создать компанию blank check с единственной целью — приобрести другую компанию или компании. Деньги, собранные в результате IPO компании SPAC, передаются в траст. Собранные средства удерживаются до тех пор, пока SPAC успешно не определит жизнеспособна ли возможность проведения сделки слияния или поглощения, которую можно будет осуществить за счет инвестированных средств.
Инвесторы могут не иметь полной информации о том, как будут потрачены их деньги, поэтому они выдают «пустые чеки» в SPAC. В свою очередь, SPAC должен получать одобрение акционеров для всех приобретений, а 80% средств инвестора должны использоваться в любой отдельной сделке. Если SPAC не удается найти одобренную акционером сделку в течение двух лет с момента создания, он ликвидируется, а основатель SPAC теряет инвестиции.
Blank Check привилегированных акций
Некоторые компании могут выпускать «бланк чековые» привилегированные акции как способ привлечь дополнительные средства от инвесторов без необходимости сначала искать и получать одобрение от акционеров. Чтобы выпустить «бланк чековые» привилегированные акции, компания должна внести поправки в свой устав, чтобы разрешить создание класса невыпущенных привилегированных акций.
В некоторых случаях публичная компания может выбрать выпуск привилегированных акций с «пустыми чеками» в качестве защиты от потенциально враждебного предложения о поглощении.
А на этом сегодня все про бланк чековые компании и SPAC компании. Надеюсь вы узнали что то новое для себя. До новых встреч на страницах проекта Тюлягин!
ПЛИС Altera. Часть 6: сборка схемы и загрузка конфигурации
Это заключительная часть цикла посвященная программируемой логике и среде разработки Quartus компании Altera (Intel).
В первой части рассказывалось о загрузке и установке Quartus. О создании пустого проекта с помощью мастера.
Во второй части рассматривалось проектирование цифровой схемы, определялась последовательность шагов для создания конфигурации ПЛИС.
В третьей части выполнялась настройка главного модуля проекта, был выполнен анализ и синтез схемы. Разбирались наиболее вероятные ошибки, которые могут быть выявлены при анализе и синтезе.
Четвертая часть была полностью посвящена электрической части проекта: доработка схемы проекта и знакомство с платой CTRL-CPLD-EPM570.
В пятой части рассказывается как связать цифровую схему проекта с физическими выводами микросхемы ПЛИС. Это третий этап создания конфигурации.
Напоминаю, что процесс создания конфигурации предусматривает следующие этапы:
- проектирование цифровой схемы;
- анализ созданной схемы на наличие ошибок;
- привязка входов и выходов схемы к конкретным выводам ПЛИС;
- компиляция проекта и создание двоичных файлов для конфигурирования ПЛИС;
- конфигурирование ПЛИС посредством USB Blaster.
Шестая часть описывает последние два этапа процесса: компиляцию проекта и загрузку конфигурации в микросхему. Большая часть этой статьи посвящена настройке Quartus «Programmer».
Заключительная компиляция
Выполнение полной компиляции запускается с помощью кнопки «Start Compilation» на стандартной панели инструментов Quartus. Данная кнопка идет одиннадцатой справа, она выделена на следующем рисунке.

Также можно использовать меню Processing → Start Compilation.
Выполнение полной компиляции начинается с процесса анализа проекта и синтеза предварительной схемы коммутации блоков ПЛИС – «Analysis & Synthesis». Затем следует «Fitter», который выполняет размещение блоков синтезированной схемы на кристалле ПЛИС с учетом заданных: диапазона рабочих температур, энергопотребления схемы связанного с используемым стандартом ввода‑вывода, диапазона допустимых временных задержек указанных в проекте и многих других параметров. Для простых проектов подходят значения перечисленных параметров по умолчанию.
Обобщенный отчет о результатах работы «Fitter» (Fitter → Summary) выводится по окончании всего процесса компиляции.

В основном, данный отчет не отличается от аналогичного отчета выводимого по завершении «Analysis & Synthesis». Добавляются лишь соотношения использованных и доступных ресурсов выбранной микросхемы ПЛИС: логических элементов и выводов. Эта информация выделена на рисунке выше.
После «Fitter» свою работу выполняет «Assembler», который осуществляет генерацию файлов для загрузки в ПЛИС. Самая интересная часть отчета «Assembler» – это раздел «Generated Files». В этом разделе перечисляются файлы созданные ассемблером, с указанием полного пути до них. Файл с расширением «.pof» содержит конфигурацию ПЛИС, подготовленную для загрузки с помощью программатора. Изображение данного раздела приведено ниже.

Заключительный этап компиляции – это «TimeQuest Timing Analyzer». Данный инструмент осуществляет проверку синтезированного дизайна на соответствие заданным в проекте временным ограничениям. Например, проверка возможности работы схемы на определенной частоте. В Вашем проекте нет таких ограничений, так как схема управляется человеком непосредственно и не предполагает работы на запредельных частотах. Тем не менее, отсутствие данных ограничений Quartus считает серьезным недостатком, о чем он и сообщает пользователю сразу двумя критическими предупреждениями: «Critical Warning: Synopsys Design Constraints File file not found: ‘firstproject.sdc’. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.» Именно поэтому пункт «TimeQuest Timing Analyzer» в отчете о компиляции выделен красным шрифтом.
Помимо критических предупреждений Вам будет выдано и несколько (около трех) обычных предупреждений такого содержания: «Warning: No clocks defined in design.». Они также связаны с «TimeQuest Timing Analyzer». В проекте не определены параметры тактового сигнала схемы, так как схема не предполагает работу с таким сигналом. Следовательно, Вы можете смело игнорировать эти предупреждения, как и предыдущие два.
Кроме перечисленных, также будут выведены несколько уже знакомых коммерческих предупреждений.
При наличии других критических предупреждений, или даже ошибок, необходимо внимательно изучить содержание окна «Messages» и отчет о компиляции. Разделы отчета содержащие информацию об ошибках будут выделены красным шрифтом. Так же, можно повторно выполнить соответствующий этап компиляции с помощью меню Processing → Start, для того чтобы сократить число сообщений в окне «Messages» или для проверки сделанных исправлений. Пункты меню Processing → Start: Start Fitter, Start Assembler и Start TimeQuest Timing Analyzer запускают одноименные задачи процесса полной компиляции проекта.
Окно сообщений успешно откомпилированного проекта с некритичным числом предупреждений приводится на следующем рисунке.

После успешно выполненной компиляции проекта можно переходить к заключительному этапу: сборке схемы и загрузке синтезированной конфигурации в ПЛИС.
Сборка схемы и подключение программатора
Прежде чем подать питание на ПЛИС и загрузить в нее проект необходимо собрать спроектированную схему. Подключать что‑либо к ПЛИС «на горячую» нельзя!
Проектирование схемы было завершено в четвертой части серии статей. Для удобства эта схема приводится повторно.

Номера выводов ПЛИС указаны согласно настройкам в «Pin Planner» сделанным в пятой части серии.
После завершения сборки можно подключать программатор Altera USB Blaster. Altera/Intel рекомендует подключать программатор соблюдая следующую последовательность действий:
- отключить питание от платы «CTRL‑CPLD‑EPM570»;
- подключить программатор к USB порту включенного компьютера;
- соединить включенный программатор с гнездом «JTAG» платы с ПЛИС;
- включить питание платы с ПЛИС.
После выполнения этих действий можно загружать конфигурацию в ПЛИС.
Внимание! И при подключении программатора к плате с ПЛИС и при его отключении необходимо предварительно выключать питание платы!
При первом подключении к компьютеру программатора USB Blaster необходимо будет установить соответствующий драйвер. Все необходимые драйвера имеются в дистрибутиве Quartus. При установке Quartus они копируются в следующую директорию: «altera\13.1\quartus\drivers\usb-blaster». Имеются драйвера как для 32‑х так и для 64‑разрядных ОС Windows. Установка драйвера выполняется вручную, путем выбора директории с драйвером для автоматического поиска и установки необходимых файлов. Либо прямым указанием файла «usbblstr.inf».
Отсоединять программатор необходимо в обратной последовательности:
- отключить питание платы с ПЛИС;
- отсоединить программатор от гнезда «JTAG» платы;
- отключить программатор от USB порта компьютера.
Сам программатор должен быть включен при любых манипуляциях с разъемом JTAG. Такая последовательность действий обусловлена тем, что у оригинального программатора Altera USB Blaster есть проблема с питанием выходного буфера, из‑за которой он может быть выведен из строя при включении/отключении питания программатора соединенного с платой ПЛИС.
На этом работа с электрической часть проекта завершена. Можно переходить к загрузке конфигурации.
Quartus Programmer: настройка программатора
Для загрузки конфигурации используется инструмент «Programmer» среды Quartus. Этот инструмент можно вызвать с помощью меню Tools → Programmer. Либо посредством соответствующей кнопки на стандартной панели инструментов. Кнопка идет четвертой справа на панели. Она выделена на рисунке ниже.
При запуске «Programmer» откроется новое окно, вид которого приводится на следующем рисунке.

Первое, на что необходимо обратить внимание — это кнопка «Hardware Setup…» в верхнем левом углу окна «Programmer». На рисунке она обозначена цифрой 1. С ее помощью выполняется выбор программатора. Модель используемого программатора выводится в текстовом поле справа от кнопки (цифра 2 на рисунке). Сейчас там присутствует надпись «No Hardware», это означает что программатор требует настройки.
Нажмите кнопку «Hardware Setup…» чтобы открыть одноименное окно. Изображение окна приводится ниже.

Данное окно содержит две вкладки: «Hardware Settings» и «JTAG Settings».
«JTAG Settings» используется для настройки доступа к серверам JTAG. Можно как добавлять удаленные сервера, к которым присоединяются конфигурируемые ПЛИС, так и настраивать доступ к серверу JTAG запущенному на Вашем компьютере.
Quartus «Programmer» работает по клиент‑серверной модели. В ней есть сервер — это специальная служба «jtagserver», которая запускается вместе с «Programmer» и непосредственно работает с программатором. И есть клиент — «Programmer», который обеспечивает пользовательский интерфейс для выбора и загрузки конфигурации ПЛИС. Клиент и сервер могут располагаться на разных компьютерах, которые могут находиться на разных концах света. Таким образом, можно организовать удаленную работу со схемой в лаборатории собранной на базе дорогой платы разработчика (например, платы на базе Stratix III в среднем стоят более 4 000 долларов).
При локальной работе достаточно проверить статус сервера на вкладке «JTAG Settings». В списке «JTAG Servers» должен быть как минимум один сервер «Local» и «Connection Status», состояние подключения до него, «OK».
Если список серверов пуст, то скорее всего, возникла проблема с самим программатором: он перестал отвечать на запросы службы «jtagserver». В таком случае необходимо:
- закрыть окно «Hardware Setup»;
- подключить/переподключить программатор;
- открыть окно «Hardware Setup» и проверить наличие сервера «Local», состояние подключения к серверу (смотрите рисунок ниже).

Вторая вкладка — «Hardware Settings», она открывается по умолчанию. Эта вкладка используется для выбора конкретного программатора из множества доступных. Содержимое вкладки представлено на рисунке ниже.

Доступные программаторы перечисляются в блоке «Available hardware items». Устройства в этот список добавляются пользователем вручную или самой средой автоматически. Автоматическое обнаружение доступно не для всех моделей программаторов. Вручную требуется добавлять либо устаревшие модели устройств, соединяющиеся с компьютером через LPT‑порт (это ByteBlaster II и ByteBlasterMV), либо «EthernetBlaster», который работает с компьютером как удаленный JTAG сервер. USB Blaster добавляется автоматически, поэтому пользователю достаточно проверить наличие USB программатора в списке.
Выбор программатора для прошивки ПЛИС осуществляется с помощью выпадающего списка, справа от надписи «Currently selected hardware». Программатор можно выбрать из списка непосредственно, либо выполнив двойной клик левой кнопкой мыши на соответствующем элементе столбца «Hardware» в «Available hardware items». В обоих случаях значение «No Hardware» заменится названием выбранного программатора. Вид вкладки после выполнения настройки приведен на рисунке выше.
Теперь можно закрыть окно «Hardware Setup». В результате, в окне «Programmer» надпись «No Hardware», рядом с кнопкой «Hardware Setup», сменится названием выбранного программатора.
Quartus Programmer: Device Chain
Все остальные настройки производятся в основном окне «Programmer». В верхней части окна, помимо «Hardware Setup» для настройки доступны еще два параметра: «Mode» и «Enable real-time ISP to allow background programming (for MAX II and MAX V) devices».
Параметр «Mode» определяет режим загрузки конфигурации в ПЛИС. По умолчанию установлен режим JTAG, его и необходимо использовать. Так как «Passive Serial Programming» и «Active Serial Programming» не совместимы с MAX II, а «In-Socket Programming» не поддерживается USB Blaster’ом.
Второй параметр — «Enable real-time ISP to allow background programming (for MAX II and MAX V) devices» активирует загрузку новой конфигурации на лету, без отключения ПЛИС от схемы на время прошивки. Новая конфигурация, в таком случае, будет применена только после перезагрузки ПЛИС по питанию. Эта возможность сокращает время простоя устройств на базе ПЛИС серии MAX, но действительно полезна только в промышленном применении. Поэтому данный параметр можно оставить в состоянии по умолчанию — отключенным.

Большую часть окна занимают две панели: «Device Tree» и «Device Chain». На рисунке выше они обозначены окружностями с цифрами 1 и 2 соответственно. Их отображение можно включить (выключить) с помощью меню View → Show Device Tree и View → Show Device Chain.
Часть настроек панелей установлены Quartus автоматически. В «Device Tree», в колонку «File» подставляется имя файла конфигурации, созданного во время последней компиляции. А в «Device Chain» из этого же файла подставляется модель используемой микросхемы.
Панель «Device Chain» (цифра 2) используется для наглядного представления упрощенной схемы соединения ПЛИС и программатора. На ней отображаются только линии приема и передачи данных. Эта информация может оказаться полезной в случае конфигурирования сложных схем на базе нескольких ПЛИС. Дело в том, что JTAG‑интерфейс позволяет строить цепочки из последовательно соединенных (линиями TDI — TDO) устройств. Такое подключение позволяет использовать один программатор для конфигурирования всех устройств цепочки. «Device Chain» позволяет сориентироваться в порядке соединения этих устройств.
Плата «CTRL‑CPLD‑EPM570» несет на своем борту только одну микросхему, поэтому схема «Device Chain» предельно проста и, обычно, не требует вмешательства пользователя. Если же в «Device Chain» нет ни одного устройства, то можно попробовать добавить его с помощью автоматического поиска устройств на JTAG‑интерфейсе. Автоматический поиск запускается с помощью кнопки «Auto Detect» (третья сверху), расположенной в столбце кнопок у левого края окна. Данная кнопка активна только в том случае, когда в «Hardware Setup» настроен программатор.
При выполнении автоматического поиска заодно будет проверена работа JTAG‑интерфейса в целом. Если устройства не будут обнаружены, то «Programmer» предложит запустить отладку JTAG подключения, которая позволяет пользователю вручную выполнять команды на интерфейсе. При возникновении такой проблемы необходимо проверить соединение программатора с платой «CTRL‑CPLD‑EPM570» и наличие питания на микросхеме ПЛИС (включена ли плата). После устранения проблем необходимо повторно запустить поиск устройств.
Обнаруженные устройства добавляются и на схему «Device Chain», и в список «Device Tree».
Quartus Programmer: Device Tree
В «Device Tree» настраивается сам процесс конфигурирования/программирования устройств. Эта панель оформлена в виде таблицы из двенадцати колонок: «File», «Device», «Checksum», «Usercode», «Program/Configure», «Verify», «Blank-Check», «Examine», «Security Bit», «Erase», «ISP CLAMP», «ISP File». Автоматически заполняются первые четыре колонки.

Первое на что необходимо обратить внимание в этой таблице — это колонка «File». В ней обязательно должен быть указан файл конфигурации, синтезированной при компиляции проекта. Колонка может быть пустой в случае, если в «Device Chain» а, соответственно, и в «Device Tree» нет ни одного устройства. Тогда, необходимо добавить устройство с помощью автоматического обнаружения.
«File» будет содержать значение , если устройство было добавлено пользователем с помощью автоматического поиска или вручную. В этом случае файл необходимо добавить вручную с помощью кнопки «Change File…», которая располагается через две кнопки ниже кнопки «Auto Detect». Тоже действие можно выполнить и с помощью меню Edit → Change File…
Кнопка «Change File…» становится доступна только при выборе микросхемы ПЛИС в «Device Chain» или «Device Tree». Таким образом, для добавления файла потребуется сначала выбрать микросхему в «Device Chain», а за тем нажать на кнопку «Change File…». Порядок действий и сама кнопка обозначены на следующем рисунке.

Для добавления файла используется стандартное диалоговое окно Windows. Необходимо найти и выбрать с его помощью файл «firstproject.pof».
По умолчанию, файлы конфигурации сохраняются в папке «output_files» в основной директории проекта. Если требуемого файла там нет, то необходимо свериться с отчетом о полной компиляции проекта. Для этого потребуется закрыть окно «Programmer» и открыть раздел «Assembler» → «Generated Files» отчета компиляции в основном окне Quartus. Сам отчет о компиляции можно открыть с помощью меню Processing → Compilation Report. Если раздел «Assembler» отсутствует в отчете, то это означает что данный этап не был выполнен. Запустите полную компиляцию и добавьте полученный файл конфигурации в «Device Tree».
После добавления файла «firstproject.pof» панель «Device Tree» обретет вид аналогичный рисунку, который приведен в начале раздела. Из файла были автоматически подставлены значения в колонки «File», «Device», «Checksum» и «Usercode». А именно:
- в File» были добавлены две новые строки: CFM и UFM;
- наименование модели микросхемы ПЛИС в «Device» уточнено;
- в «Checksum» было добавлено значение контрольной суммы хранящейся в файле конфигурации;
- в «Usercode» подставлен JTAG код устройства.
CFM (Configuration Flash Memory) и UFM (User Flash Memory) это две части внутренней Flash‑памяти MAX II. CFM используется исключительно для хранения конфигурации, откуда она автоматически вычитывается при каждом включении микросхемы. UFM может быть использована для хранения пользовательских данных. Объем UFM составляет 8 Кбит.
Значение «Checksum» рассчитывается только для конфигурационных данных в pof‑файле (для всего файла вычисляется CRC). Эта информация используется для сравнения конфигурации в pof‑файле с конфигурацией загруженной в ПЛИС.
«Usercode» — JTAG‑код автоматически сгенерированный Quartus или указанный пользователем вручную в настройках проекта. Автоматически генерируемый код меняется при компиляции, после каждого редактирования цифровой схемы. Таким образом, автоматический JTAG‑код позволяет различать разные версии одной конфигурации.
Остальные столбцы определяют режимы и параметры процесса работы с конфигурацией, которые настраиваются пользователем. Большинство параметров может быть применено отдельно к CFM или UFM.
Назначение каждого параметра рассматривается ниже.
«Program/Configure» — загрузка конфигурации из pof‑файла или буфера «Programmer» в ПЛИС. Можно прошить каждый из блоков CFM и UFM внутренней памяти по отдельности или оба разом.
«Verify» — вычитывание конфигурации ПЛИС и ее сравнение (по Checksum) с конфигурацией в pof‑файле. Если обнаружены различия, то проверка завершается с ошибкой.
«Blank-Check» — проверить, записана ли в памяти ПЛИС какая‑либо конфигурация. Если в устройство загружена конфигурация, то проверка завершается с ошибкой.
«Examine» — считать конфигурацию из ПЛИС в буфер «Programmer». После, загруженную конфигурацию можно сохранить в новый pof‑файл.
«Security Bit» — защищает ПЛИС от чтения конфигурации. При попытке чтения возвращаются некорректные значения, обычно — 0xFF. По этой причине функция «Verify» также перестает работать. Сбросить защиту можно только загрузив в ПЛИС конфигурацию без использования «Security Bit» или выполнив «Erase».
«Erase» — удаление данных конфигурации с ПЛИС.
«ISP CLAMP» — фиксация состояния каждого вывода ПЛИС на высоком, низком логическом уровне или в высокоимпендансном состоянии во время ее конфигурирования. Состояние выводов можно настраивать независимо друг от друга. С помощью данного режима можно выставить на выводах ПЛИС комбинацию сигналов сигнализирующих о том что микросхема находится в состоянии перепрошивки. Полезно для устройств на базе нескольких ПЛИС.
«IPS File» (I/O Pin State файл) — это файл описывающий состояние каждого вывода ПЛИС для режима ISP CLAMP. Без его наличия использование режима ISP CLAMP невозможно.
Загрузка и сохранение конфигурации
Для выполнения каких‑либо действий с конфигурацией ПЛИС необходимо выбрать это действие в списке «Device Tree», а именно — проставить галочку в соответствующем столбце. После, в ряду кнопок у левого края окна станет доступна кнопка «Start» (первая сверху). Нажатием на данную кнопку запускается выполнение выбранного действия. Прогресс выполнения и итоговый статус можно отследить по строке прогресса в верхнем правом углу окна «Programmer» (справа от надписи «Progress:»). Сообщения, выводимые в процессе работы «Programmer», можно увидеть в основном окне Quartus на панели «Messages», вкладка «System».

Таким образом, для сохранения загруженной в ПЛИС конфигурации достаточно выбрать действие «Examine» в «Device Tree» и нажать кнопку «Start». Значение в поле «File» скрывается при выборе «Examine».

После нажатия на «Start» в строке прогресса будет выводится как, собственно, прогресс чтения конфигурации, так и его результат. При достижении 100% (Successful) в поле «File» будет подставлено имя временного файла «untitled1.pof». Для сохранения «untitled1.pof» необходимо выбрать его в списке и нажать кнопку «Save File» у левого края окна (четвертая снизу). Будет открыт стандартный диалог открытия/сохранения файла.
Вид окна «Programmer» и описанная последовательность действий обозначены на рисунке выше.
Загрузка конфигурации производится аналогично:
- выбрать действие — «Program/Configure»;
- нажать кнопку «Start»;
- дождаться 100% (Successful) в строке прогресса.
Не забудьте в поле «File» указать верный файл конфигурации перед прошивкой. Заменить файл на необходимый можно с помощью кнопки «Change File…».

На рисунке выше видно, что в столбце «Program/Configure» поставлена только одна галочка — в строке CFM. Так как проект не содержит информации для UFM, то выбирать для прошивки эту часть памяти не обязательно.
Сам процесс прошивки в «Programmer» состоит из следующей последовательности действий: Erase, Blank-Check (если выбрано), Program/Configure и Verify. При ошибке на любой из стадий процесс будет прерван.
Лог процесса прошивки выводится в основное окно Quartus на панели «Messages», вкладка «System».

Прервать выполнение процесса чтения/записи можно и вручную, с помощью кнопки «Stop» (вторая сверху). Данная кнопка становится доступна только на время выполнения чтения/записи конфигурации.
Всего, у левого края окна «Programmer» расположено десять кнопок. Часть из них была рассмотрена выше. Ниже описывается назначение оставшихся пяти кнопок:
- «Delete» — активна только при выборе устройства в «Device Chain» или файла в «Device Tree». Удаляет выбранное устройство и связанный с ним pof‑файл из «Programmer».
- «Add File…» — активна всегда. Используется для добавления pof‑файла в «Device Tree». В «Device Chain» будет автоматически добавлено соответствующее устройство. При добавлении нового файла существующие файлы не удаляются из списка «Device Tree».
- «Add Device…» — активна всегда. Используется для ручного добавления устройств в «Device Chain». При нажатии на кнопку открывается диалоговое окно, в котором можно выбрать одну или несколько микросхем по их маркировке.
- «Up» и «Down» — активны только тогда, когда в «Programmer» добавлено несколько микросхем ПЛИС. Используются для изменения порядка устройств в цепочке JTAG.
Все кнопки продублированы одноименными пунктами в меню «Edit» главного меню окна «Programmer».
Настройки «Device Tree» и «Device Chain» можно сохранить в общем файле с расширением cdf, который располагается в «output_files» в основной директории проекта. В проекте firstproject этот файл называется «firstproject.cdf». Относительный путь до него выводится в квадратных скобках в шапке окна «Programmer». Настройки сохраняются с помощью меню File → Save или File → «Save as». Также, «Programmer» будет предлагать сохранить файл cdf при попытке закрыть его окно, в случае если в настройки были внесены изменения.
Заключение
На этом изучение Quartus «Programmer» завершено. Осталось лишь подключить программатор к плате «CTRL‑CPLD‑EPM570». Включить саму плату. Настроить «Programmer» и загрузить конфигурацию в ПЛИС. При этом конфигурация счетчика в микросхеме будет заменена конфигурацией Вашего проекта и схема из трех независимых логических элементов готова к работе.
В результате получится устройство аналогичное изображенному на фотографии. Теперь можно опробовать работу каждого логического элемента на практике.

Пришло время подвести итоги.
В шестой части серии статей о Quartus был разобран процесс полной компиляции проекта, подключение и настройка USB Blaster. Большая часть статьи посвящена настройке Quartus «Programmer».
Сама серия на этом завершается. В статьях были затронуты основы цифровой схемотехники. Рассмотрены ключевые функции ПО Quartus. Инструмента, которым пользуются и профессионалы. Поздравляю всех дошедших до финала!
Полученные знания можно использовать для освоения проектирования цифровых схем. Начать, лучше всего, с комбинационных схем и основ математической логики. Так как комбинационные схемы строятся из базовых логических элементов. После, можно перейти к схемам с памятью — последовательным схемам. Последовательные схемы это цифровые схемы объединяющие комбинационные схемы и ячейки памяти — триггеры. Последовательные и комбинационные схемы являются фундаментом для проектирования более сложных цифровых схем: сумматоров, схем сдвига, конвейеров и т. п. А обзаведясь таким багажом знаний Вы сможете проектировать специализированные микросхемы прямо у себя дома! Первый шаг сделан.
