Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:
На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.
Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно
После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. Это будет верный признак того, что программатор прошит удачно и готов к работе.
Выбираем папку где лежат дрова и жмем Далее
Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:
Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера
Все, теперь программатор готов к работе.
Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
Скачать файл печатной платы в SprintLayout можно по этой ссылке
Ну вроде все, если возникнут вопросы, постараюсь ответить.
habr.com
Папка «System» содержит другие файлы, необходимые для работы программатора, включая базу данных по микроконтроллерам (файл chip.db), настройки (файл config.ini), изображения формата BMP. Архив с содержимым SD карты со всеми необходимыми файлами доступен для скачивания в разделе загрузок, в котором находится папка SD-files, содержимое которой необходимо скопировать на карту памяти.
Файлы для программирования памяти целевого микроконтроллера, как известно, генерируются компилятором, в них нет сомнений, и мы помещаем их в соответствующую папку на карте памяти. Нам остается лишь создать конфигурационные txt файлы для программирования Fuse- и Lock-битов, значения в этих файлах должны быть в шестнадцатеричном формате.
Файл с Fuse-битами содержит последовательные данные: младший байт, старший байт, расширенный байт в HEX. К примеру, содержимое файла для микроконтроллера Atmel ATtiny45будет: 62DFFF. В конфигурационном файле могут содержаться комментарии и пользовательская информация, но только первые три байта используются программатором.Структура конфигурационного файла Lock-битов аналогична, за исключением того, что используется лишь один байт из последовательности. Например, если нужно запрограммировать биты LB0 и LB1, то в файле должно содержаться значение FC (11111100). Это правило применимо и к Fuse-битам, если мы попытаемся запрограммировать несуществующий бит (записать в него 0), ничего страшного не случиться, мы получим лишь ошибку верификации, т.к. этот несуществующий бит всегда будет читаться как 1.
При чтении Fuse- и Lock-битов программатором, создаются соответствующие файлы с такой же структурой.
Список файлов (при работе с программатором) отображается не в алфавитном порядке, а в порядке их записи на карту памяти. Выделение файлов осуществляется кнопками UP и DOWN, выбор кнопкой RIGHT, отмена – кнопкой LEFT.
Программатор поддерживает работу с картами объемом 128 МБайт, 512 МБайт, 1 ГБайт, 2 ГБайт (работа с этими картами тестировалась). В дальнейшем возможна поддержка карт SDHC. Имена файлов на SD карте в формате DOS 8.3.
Разъем внутрисхемного программирования целевого микроконтроллера – это стандартный 6-выводный Atmel ISP коннектор. Однако, из-за того, что программатор питается от батареи, вывод коннектора Vcc (вывод 5 коннектора) был переназначен для доставки тактового сигнала 8 МГц к целевому микроконтроллеру (в случае необходимости внешнего тактирования). Сигнал подается через резистор 10 кОм, и поэтому нет необходимости переделывать стандартный кабель для программирования.
Программатор имеет режим автоматического определения скорости программирования по внутрисхемному интерфейсу. Поддерживаются 7 режимов со скоростью работы 4 МГц, 2 МГц, 1 МГц, 500 кГц, 250 кГц, 125 кГц и 62.500 кГц. Теоретически, выбирается скорость равная ¼ рабочей частоты целевого микроконтроллера, но это не всегда. При каждой инициализации режима программирования программатор стартует на максимальной частоте и выполняет тест скорости, считывая сигнатурные байты 10 раз. В случае ошибки скорость работы (частота SCK) понижается и операция инициализации повторяется. Если же на самой низкой частоте не удается прочитать сигнатурные байты, то программатор выдает сообщение об ошибке «no answer». Самой вероятной причиной этого может быть слишком большая длина кабеля для программирования.
Обновление ПО программатора
Обновление ПО программатора можно провести двумя разными способами: посредством разъема ISP или с помощью загрузчика с карты памяти.
В первом случае необходимо подключить внешний ISP программатор к разъему ISP программатора µProg и замкнуть перемычку SLF-PRG – в этом случае разъем ISP будет служить для обновления ПО (как в программаторе USBasp).
Во втором случае встроенный загрузчик может самостоятельно обновить прошивку из BIN файла на SD карте. Пользователю необходимо поместить файл обновления с именем 000.bin(переименовать файл обновления в 000.bin) в корневую директорию SD карты. При включении питания программатора дисплей будет чистым, что говорит о том, что файл обновления найден и устройство ждет подтверждения пользователя. Пользователь должен нажать кнопку ВПРАВО для подтверждения обновления ПО. Перепрошивка занимает несколько секунд, по окончанию программатор запускается, выводя приветственное сообщение с текущей версией ПО. Теперь файл 000.bin можно удалить. Если программатор не входит в режим обновления, причиной этого может быть режим, неподдерживаемый SD картой, – просто попробуйте заменить карту памяти.
Для конфигурирования программатора используется файл config.ini, в котором содержится конфигурационный байт. Файл помимо конфигурационных данных содержит описание настроек на русском языке и пользователям не составит труда разобраться в нем.
При первоначальном программировании микроконтроллера программатора ATmega328Pнеобходимо установить следующие Fuse-биты: Ext:07 (расширенный байт), high:D0 (старший байт), low:A2 (младший байт). Это означает: работа от внутреннего осциллятора 8 МГц без делителя на 8, включен выход CLKO, Brown-out детектор настроен на уровень 2.7 В, переход по вектору Reset в загрузчик, размер области загрузчика 4 КБайт, бит EESAVE запрограммирован.Демонстрация работы программатора
Плата с установленными компонентами
Загрузки
Архив с принципиальной схемой и рисунками печатной платы, все системные файлы для SD карты памяти, прошивка микроконтроллера (BIN, HEX) – скачатьbigbenmobileblog.blogspot.com
Для работы программатора требуется наличие карты памяти SD с системными файлами и директориями. Карта, кроме того, содержит файлы с расширением hex и bin для прошивки целевого микроконтроллера и файлы txt, в которых содержится конфигурационный байт для программирования Fuse- и Lock-битов, конструкция которых будет рассмотрена в третьей части описания. Важным системным файлом является файл config.ini, в котором содержатся конфигурационные данные программатора.
Для включения программатора нужно удерживать кнопку LEFT. О включении сигнализирует появление заставки на дисплее с отображением текущей версии ПО, которая через некоторое время исчезает, после этого мы можем использовать меню управления программатора. С помощью кнопок UP и DOWN мы выбираем опции меню, с помощью кнопки RIGHT – входим в выбранный пункт меню или подтверждаем выполнение той или иной операции, LEFT – выходим из пункта меню или отменяем выполнение операции.
Функции программатора (меню управления):
Описание функций
Write (Запись) – запись данных в выбранную память целевого микроконтроллера. Необходимо выбрать файл из списка. При операции с Fuse- и Lock-битами, конфигурационные байты находятся в файле с расширением txt.
Read (Чтение) – чтение данных из выбранного типа памяти целевого микроконтроллера в файл. Файл создается автоматически, в соответствующей директории на карте памяти. Формат имени файла x.yyy, где x-последовательный номер файла и yyy – расширение (bin или hex). Имя файла будет отображено после сохранения. Осуществляется чтение всего объема памяти микроконтроллера, независимо от того сколько реально значимых данных. В случае чтения Fuse- и Lock-битов, данные (конфигурационные байты) сохраняются в файл с расширением txt.
Verify (верификация, проверка) – сравнение данных в памяти целевого микроконтроллера с данными хранящимися в выбранном файле. Результатом данной операции является сообщение «Pass» (данные идентичны) или «Fail at x» (ошибка по адресу x), где x – адрес первого байта, в котором обнаружено расхождение в данных. В случае с Fuse- и Lock-битами, сравнение происходит с конфигурационными байтами в файле с расширением txt.
Default (Заводские установки) – сброс Fuse-битов к заводским установкам.
Chip Erase (Стереть кристалл) – внутренняя команда стирания всей памяти микроконтроллера и сброса Lock-битов.
Описание установок (меню Settings)
Auto Verify (автоматическая верификация) – включение данной опции позволяет автоматически проводить проверку данных после записи в память целевого микроконтроллера. Значение может быть On (включено) или Off (выключено). Данная опция касается только операций с Flash и EEPROM памятью микроконтроллера, Fuse- и Lock-биты считываются всегда после операции записи.
Auto Erase (автоматическое стирание) – опция, позволяющая применить команду стирания памяти целевого микроконтроллера, всегда перед операцией записи в память. Операция применима только для Flash-памяти целевого микроконтроллера. Исключение составляет случай, когда мы точно знаем что область памяти, в которую мы будем писать, уже очищена и мы имеем некоторые данные в конце этой памяти (загрузчик, bootloader). Отключение этой функции вызовет перезапись данных без операции стирания, и, если файл подготовлен правильно, область загрузчика не будет затронута.
Show Anims (показывать анимацию) – опция включает отображение анимации после каждой операции, в зависимости от результата выполнения. Анимация может быть отменена нажатием кнопки LEFT. Реализуется последовательным воспроизведением BMP файлов с SD карты памяти из соответствующей директории, поэтому пользователи могут самостоятельно изменить анимационные картинки. Формат фалов анимации BMP, разрешение 84×48 точки, монохромные изображения (2 бита).
Prog bar – ход процесса программирования / чтения / верификации. Данную функцию можно включить или выключить. Следует заметить, что включение функции замедляет скорость работы программатора в некоторых режимах.
File types (типы файлов) – позволяет выбрать тип файла с которым будет работать программатор. Применима при операциях с Flash- и EEPROM памятью, и, в зависимости от выбора, только HEX или BIN файлы будут отображаться в при открытии списка файлов.
Результаты тестирования скорости работы
Тестирование проводилось на целевом микроконтроллере Atmega644A с рабочей частотой 25 МГц, частота тактирования интерфейса SPI (SCK) – 4 МГц, программирование Flash память объемом 64 КБайт, скорость работы программатора 16 МГц.
Как видно, максимальная скорость программирования целевого микроконтроллера достигается при работе с BIN файлом, т.к. длина файла – это длина неформатированных данных. Чтение же HEX файла должно выполняться полностью, с вычислением его длины, а для записи в HEX файл необходимо форматировать данные и вычислять контрольную сумму для каждой строки. Все это занимает много времени.
Индикатор работы программатора не замедляет процесс программирования, если память целевого микроконтроллера программируется постранично (как в тестовом случае). Если же программирование целевого микроконтроллера ведется побайтно или происходит чтение его памяти, которое всегда выполняется побайтно, включение индикатора может значительно замедлить процесс.
Часть 3. ПО, файлы на SD карте памяти, обновление ПО, демонстрация работыbigbenmobileblog.blogspot.com
Автономный программатор AVR.
Введение.
Работать нужно по возможности в комфортной обстановке и с комфортом, но это не всегда получается. Реальность вносит свои коррективы. Пришлось как раз заниматься серийным программированием микроконт- роллеров, у заказчика на объектах. Требовалось заменить программу т.к. по недосмотру отгрузили устройства с диагностической программой за место штатной. Требовалось приехать на объект с программатором и ноутбуком, разобрать устройство, подключить программатор (JTAGICE mkII), заменить прошивку, собрать устройство обратно. Вопрос возник в процессе уже после нескольких итерация, и не давал покоя: Таскать с собой набор в виде ноутбука и программатора ради одной операции ? Требовался программатор+ПК в одном флаконе. Поиск готовые автономных программаторов не дал положительных результатов. Вот тогда и родилась идея создать программатор удовлетворяющий своим потребностям. При этом программатор необходимо было сделать быстро и из подручных средств. Идея и часть исходного кода была позаимствована с сайта we.easyelectronics.ru Сверхмобильная прошивалка AVR по JTAG. Спасибо автору Dominikanez за статью. |
Реализация.
За основу программатора была взята универсальная макетная плата на микроконтроллере STM32, ЖКИ индикатор 4 стр х 20 символов, 4 кнопки, подходящий корпус.
В результате получился программатор который решает следующие задачи:
Принцип работы.
1. На персональном компьютере подготавливается образ для AVR микроконтроллера.
2. Полученный образ загружается в программатор через RS-232 по средствам протокола x-modem.
3. Программатор размещает полученный образ(ы) в виде файла(ов) во внутренней флеш памяти
(FAT16, 256Кб).
4. Оператор подключает программатор к плате с AVR микроконтроллером.
5. Оператор производит выбор необходимой прошивки при помощи клавиш и наблюдая результат
работы на индикаторе программатора.
6. Оператор производит запуск на программирование устройства, с последующим визуальным
контролем результата выполнения операции на дисплеи программатора.
Описание.
Устройство является автономный программатором микроконтроллеров AVR т.е. позволяет производить
запись программы в память микроконтроллера без участия ПК. Устройство производит программирование
микроконтроллеров через JTAG интерфейс.
Устройство позволяет производить следующие операции:
Программатор построен на микроконтроллере STM32F103Z. Часть внутренней flash памяти микроконт-
роллера выделена под ДИСК, на котором хранятся прошивки. Устройство имеет на передней панели
текстовый индикатор, а также кнопки управления для взаимодействия с пользователем.
Устройство имеет в своем составе консоль, для диагностики, обслуживания устройства, загрузки новый
программ и т.п.
Программатор поддерживает следующие микроконтроллеры: ATMEGA128, ATMEGA640, ATMEGA162.
При желании можно добавить новый микроконтроллер в список поддерживаемых.
Исходный код.
Исходный код устройства выложен на GITHUB. Софт написан на языке Си, компилятор IAR.
Список поддерживаемых микроконтроллеров представлен в файле: jtag.c, в структуре
avr_signature_st
const avr_signature_struct avr_signature_st[] = {
{"ATmega162", 0x1e9404, 64},
{"ATmega128", 0x1e9702, 128},
{"ATmega640", 0x1e9608, 64}
};
Каждый микроконтроллер описывается структурой avr_signature_struct.
Как видите все просто, добавление нового микроконтроллера не должно составлять труда.
Устройство содержит внешний ком порт который является консолью устройства, и служит для взаимодействия пользователя с программатором. Параметры подключения к консоли следующие: скорость 115200 8N1.
Консоль поддерживает следующие команды:
help или ? | — Печать списка команд поддерживаемых консолью. |
xmodem <filename> | — Загрузка файла прошивки по протоколу X-modem. |
mkfs |
— Создание файловой системы внутри flash памяти микроконтроллера(диск),или удаление текущего содержимого диска. |
free | — Печать размера свободного мести на диске. |
ls | — Печать списка файлов диска. |
rm <filename> | — Удаление файла. |
jtag <filename> | — Программирование микроконтроллера программой <filename>. |
Список консольных команд представлен в файле consol.c и реализация команд в файле task_consol.c.
Подготовка новой прошивки для загрузки в программатор.
Перед загрузкой прошивки в программатор необходимо пропустить прошивку (в виде HEX файла)
через конвертер. Исходный код конвертера для ПК представлен в дереве исходников по ссылке fwa.
Конвертер написан на языке Си и предназначен для компиляции в среде VisualStudio.
Конвертер представляет собой консольную программу, которой в командной строке передаются все
необходимые параметры.
Параметры запуска конвертера следующие (на примере ATMEGA640):
fwa -I r640.hex -O r640.bin -S 1E9608 -F 99E0FD
Разбор параметров:
-I r640.hex | Входной HEX файл прошивки. |
-O r640.bin | Выходной файл, для загрузки в программатор. |
-S 1E9608 | Device Signature для ATMEGA640 из документации на микроконтроллер (ВНИМАНИЕ:программатор проверяет сигнатуру перед программированием !) |
-F 99E0FD | Состояние FUSE, необходимо обязательно задавать. |
Загрузка подготовленной прошивки в программатор.
Программирование микроконтроллера.
Рисунок 1. Внешний вид программатора.
Рисунок 2. Внешний вид индикатора в момент включения устройства.
Рисунок 3. Внешний вид индикатора устройства в режиме выбора файла программы.
Рисунок 4. Основная плата устройства.
Рисунок 5. Устройство вид внутри обе панели.
lab85.ru
Программаторы для микроконтроллеров Atmel
Эта статья — попытка обобщить некоторый разрозненный материал по программаторам для популярных сегодня микроконтроллеров фирмы Atmel. Материал не претендует на полноту, однако основан на личном опыте, в чем и состоит, на мой взгляд, его основная ценность.
Схема программатора Fun-Card
Программатор предназначен для работы под управлением программы ICProg, является функциональным аналогом «5 проводков»
(до предела упрощенная схема STK200+/300, о которой ниже) и представляет собой несколько резисторов.
Программатор подключается к LPT-порту. Разъем устанавливается непосредственно на плату программатора, кроме того, на плате
предусмотрена кроватка для программирования контроллера AT90S2313, а также выведены сигналы SCK, MOSI/MISO и Reset.
Программируемая микросхема может брать питание с порта LPT, в этом случае, на выводах 2, 3, 4 порта должны быть установлены единицы,
а вывод 2 разъёма ISP должет быть подключен к выводу Vcc микросхемы. Некоторые порты могут не потянуть такой нагрузки, в этом
случае придётся использовать внешний источник питания (5В).
Источником тактовых импульсов для микросхемы также может служить LPT порт. В этом случае вывод 3 разъёма ISP (LED) должен быть
подключен к выводу XTAL 1 программируемой микросхемы.
Естественно, программа программатора на PC должна понимать эти режимы работы (для работы с этой схемой нужно воспользоваться программой
IC-Prog, где при выборе типа программатора следует установить «Fun-Card Programmer»).
Печатная плата в формате SL5 – здесь, программа ICProg и драйвер под ХР – здесь.
Схема программатора STK200+/300
Большая часть нижеследующего описания и сама схема взята со странички https://ln.com.ua/~real/avreal/adapters.html, крайне рекомендую посетить ее.
Адаптер получил свое название от комплектующихся им отладочных плат фирмы Atmel для быстрого начала работы с микроконтроллерами
At90s8515 и Atmega103. На самом деле приведенная схема соответствует одновременно обоим адаптерам, в ней присутствуют перемычки для
определения наличия как адаптера STK200 (выводы 2-12 разъема X1), так и STK300 (выводы 3-11). При необходимости программной генерации
тактового сигнала XTAL1 используется линия LED адаптера, исходно предназначенная для включения светодиода (на печатной плате ver.1
установлен только светодиод, сигнал XTAL1 на разъем программирования не заведен, а вот в ver.2 на третьем контакте есть сигнал XTAL1).
Буферизованные адаптеры запитываются от платы с программируемым процессором, т.е. питание подаётся на программируемую плату, а с
неё на адаптеры поступает через шлейф.
Адаптер собран на основе шинного формирователя 74HC244 (аналог 1564АП5). Возможно также использование 555АП5 (74LS244) и 1533АП5 (74ALS244)
либо, при соответствующем изменении схемы, любые другие неинвертирующие формирователи с тремя состояниями выходов. Применение буфера
с третьим (высокоимпедансным) состоянием позволяет по окончании программирования снять сигнал разрешения выходов и, «отключив» адаптер
от схемы, не влиять на её работу (за исключением паразитных емкостей между проводами шлейфа от адаптера до платы устройства).
Поскольку разводка рассчитана на установку LPT-разъема непосредственно на плату, для этих адаптеров рекомендуется изготовить удлиннитель
порта LPT длиной 1.5-1.8м со всеми линиями (земель не жалеть 🙂 и вывести с программатора шлейф до платы с микроконтроллером длиной 20-25 см.
На плате предусмотрена установка светодиодов «питание» и «программирование» (на схеме не показаны).
Схема работает с программами AVR ISP, CodeVision AVR, WinAVR и другими.
В ряде случаев (например, для программирования нескольких контроллеров одной и той же прошивкой или в случае отсутствия на плате места
под ISP-разъем) могут оказаться полезными «платы расширения» для различных контроллеров, содержащие кроватку для установки контроллера и
минимально необходимую для работы обвязку. Я сделал такие платы под AT90S2313/ATTiny2313, ATTiny26, ATTiny13, ATMega8 и ATMega16.
Кроме того, в версии ver.1 кроватки для ATTiny26 и ATTiny13 есть непосредственно на плате.
Обе версии платы программатора и все «платы расширения» в формате SL5 – здесь.
Вот так выглядит один из моих STK в окружении плат расширения:
Схема программатора AVR910 с универсальным COM/USB интерфейсом
AVR910 – весьма известный аппнот Atmel, давший название целому классу устройств.
Сейчас под AVR910 понимают как правило протокол, по которому происходит обмен данными между компьютером и программатором.
В сети на данный момент можно найти несколько вариантов таких программаторов, различающихся способом реализации интерфейсной части.
Традиционно все эти программаторы собираются на основе микроконтроллера AT90S2313 или (в редких случаях, при наличии модифицированной
прошивки) ATTiny2313.
На схеме представлен программатор, способный работать как через CОМ, так и через USB.
Переключение типа интерфейса происходит при помощи джампера J1. При работе через USB питание программатора осуществляется непосредственно
от этого порта компьютера, причем в этом режиме имеется полная гальваническая развязка программатора (и, соответственно, программируемого
устройства) от компьютера, более того, при замыкании перемычки J2 программируемое устройство может питаться от программатора (до 100 мА).
При работе через СОМ-порт развязка отсутствует, а питание программатора осуществляется, как обычно, от программируемого устройства.
Интерфейс USB реализован на микросхеме FT232BM в стандартной схеме включения, в качестве согласователя уровней для СОМ-порта применена
MAX232.
Вариант разводки печатной платы, схема и прошивка лежат здесь. Разводка платы не оптимальна, поскольку
осуществлялась для конкретного
корпуса с заранее заданным расположение разъемов, органов управления и индикации. Кроме того, на плате разведена кнопка для принудительного сброса
программируемого МК, реально она не нужна, поскольку сброс корректно осуществляется программным образом. Также на плате присутствует разъем для
программирования МК самого программатора.
Для подключения программатора к СОМ-порту служит трехконтактный разъем PLS и потребуется изготовить специальный шнурок.
Замечу, что поскольку здесь используется стандартная разводка шнурка для ISP, с этим программатором можно использовать платы расширения от STK200+/300.
Этот комплект у меня выглядит вот так:
Этот программатор работает у меня под управлением CodeVision AVR 25-ой сборки. Такой выбор обусловлен возможностью регулирования скорости порта непосредственно из программы. Программатору свойственны некоторые особенности в силу применения микросхемы FT232BM, в частности, необходимо выставить минимальную задержку в свойствах соответствующего виртуального СОМ-порта (подробнее смотрите статью USB — RS-232 преобразователи). После этого программирование осуществляется довольно быстро (хотя и чуть медленнее STK200+/300, что, естественно, вызвано последовательным способом передачи данных в программатор).
Схема AVR910-совместимого USB программатора (схема Prottoss»a)
Автором этой конструкции является Рыжков Андрей, известный также под ником PROTTOSS. Описанию этого программатора посвящена одна из страничек его сайта, там же можно найти контакты для связи с автором. Здесь этот материал публикуется с разрешения автора,
так что все формальности соблюдены. :)
Программатор выполнен на основе драйвера от Objective Development
и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание оригинальной схемы программатора можно взять в
Application Note AVR910: In-System Programming, а список поддерживаемых команд можно посмотреть в
Application Note AVR109: Self Programming
Исходно схема устройсва выглядит следующим образом:
Светодиоды VL1, VL2 сигнализируют о текущих действиях программатора, и, соответственно, обозначают режимы чтения и записи.
Светодиод VL3 служит для сигнализации подачи питания на программатор.
Резисторы R10 — R14 предназначены для согласования уровней сигналов контроллера программатора и программируемого контроллера.
С помощью J3 LOW SCK возможно понижать тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI
нормальная, при замкнутом — пониженная. Переключать джампер можно «на ходу», так как управляющая программа МК программматора проверяет состояние
линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к.,
скорее всего, это приведет к искажению операции записи/чтения. Данный джампер введен для возможности программирования МК AVR, тактированных от
внутреннего генератора 128 кГц.
Схема была несколько переработана, в нее внесены следующие изменения.
Питание МК осуществляется от USB, но не через диоды, как в исходной схеме,
а через LDO стабилизатор LM1117 на 3.3В. Замечу, что при таких напряжениях питания (как 3.3 В здесь, так и 3.6 В в исходной схеме) и частоте кварца 12 МГц
Atmel не гарантирует устойчивую работу своих МК, однако к чести производителя ни один из тестировавшихся микроконтроллеров работать не отказался.
Тем не менее, стоит учитывать такую возможность. Еще раз: чем больше напряжение питания (в пределах до 5В, естественно), тем выше вероятность того, что контроллер запустится и будет
устойчиво работать, поэтому многие отказываются от LDO в пользу двух диодов. Да, предохранитель тоже отсутствует, но, если добавить, хуже точно не будет.
В обе цепи питания МК (VCC и AVCC) введены дополнительные LC-фильтры в виде SMD-индуктивностей на 10мкГн и конденсаторов 0.1 мкФ (в принципе, дроссель в AVCC можно заменить перемычкой,
его установка — совсем уж перестраховка), кроме того, на плате появился дополнительный джампер, позволяющий
запитывать целевую плату от программатора напряжением 5В или 3.3 В или, естественно, вообще не питать ее от программатора. В цепь питания целевой платы
также включена индуктивность и установлен диод 1N4148, препятствующий попаданию питающего напряжения с целевой платы (если оно там есть) на программатор. Замечу, что поскольку на диоде
имеет место падение напряжения, то напряжение питания целевой платы будет меньше заявленного на величину этого самого падения. В зависимости от диода и некоторых других условий
теоретически оно может снизиться настолько, что его не хватит для нормального функционирования целевой платы. Для уменьшения эффекта можно использовать в этой цепи диод Шоттки,
а вообще, может быть стоит вообще отказаться от такой возможности, решайте сами, насколько оно вам надо… :)
Исчез джампер NORM/MOD, предназначенный для ввода программатора в режим обновления прошивки, вместо этого на плате установлен полноценный разъем для программирования
МК программатора (разъем имеет несколько нестандартный вид и представляет собой контактную гребенку PLS-6, на которую выведены следующие сигналы в последовательности
MOSI-MISO-SCK-Reset-Vcc-GND. В такой же последовательности эти сигналы расположены на выводах МК ATMega16 в корпусе DIP-40, именно оттуда я ее и «срисовал». Такой
разъем занимает меньше места на плате и как правило проще разводится, чем стандартный 10-ти контактный ISP-коннектор, поэтому лично я часто им пользуюсь в своих конструкциях).
Кроме того, уменьшены до 220 Ом последовательные резисторы в линиях программирования (вообще, их номинал — отдельный открытый вопрос) и до 22 Ом в линиях USB.
Все эти изменения можно проследить на печатной плате (кроме изменения номиналов резисторов, в подписях элементов они оставлены прежними), разводку которой можно скачать в конце статьи.
Плата получилась односторонняя с парой перемычек и рассчитана на установку МК ATMega8 в кроватке, у которой удалены неиспользуемые выводы. Можно, конечно, и впаять туда Мегу,
откусив лишние выводы, но это на ваш страх и риск.
Собранный программатор выглядит так:
После сборки программатора следует прошить МК в нем (прошивка в конце статьи), при этом фьюзы для МК нужно выставить следующим образом:
Теперь, если все собрано правильно, при подключении программатора к ПК обнаружится новое устройство и потребуется установка драйверов. Драйвера, естественно, без цифровой подписи, так что просто игнорируем предупреждения ОС по этому поводу. В общем-то, на этом установка и заканчивается. Если у вас не ХР, а Win2000, то требуются некоторые дополнительные манипуляции, за подробным описанием которых (как, впрочем, и всей конструкции вцелом) я попрошу вас обратиться на сайт автора. В системе должен появиться новый виртуальный СОМ-порт, через который и работает этот программатор, стоит настроить номер этого порта и скорость. Естественно, используемый вами софт нужно будет настроить на работу именно с этим портом.
Вот еще вариант платы этого программатора на микроконтроллере в корпусе TQFP, делал под конкретный корпус, схема та же, работает не хуже:
При всем уважении к автору не могу не заметить, что среди повторивших эту схему встречаются люди, у которых она работать отказывается. Сложно объективно сказать, с чем
это может быть связано, однако лишний раз призову к соблюдению рекомендаций и внимательной сборке устройства. В остальном, из личного опыта, претензий к программатору нет,
работает достаточно устойчиво (несколько раз наблюдались сложности при длинных шлейфах к программируемому устройству, другие программаторы в этих же условиях сбоя не давали),
скорость приемлемая, но не очень высокая, естественно.
В качестве возможных доработок могу предложить не питать МК программатора пониженным напряжением, а поставить на линии USB стабилитроны, чтобы ограничить напряжение на них.
Идея не проверялась.
Лично я свой первый МК AT90S2313 программировал с помощью Fun Card, потом собрал и до сих пор плотно использую несколько вариантов STK200+/300, а с AVR910 работаю в основном в «полевых условиях», когда требуется подключение программатора к ноутбуку без LPT-порта.. Вот такая вот эволюция..
Вопросы, как обычно, складываем тут.
Файлы:
Плата Fun Card в формате SL5
Софт для Fun Card
Платы в формате SL5 для STK200+/300
Схема (RusPlan6), плата (SL5) и прошивка (hex) для AVR910
Плата (SL5), прошивка (hex) и драйвера для USB AVR910 от PROTTOSS»a
Плата (P-CAD 2006) для USB AVR910 от PROTTOSS»a на Atmega8 в корпусе TQFP (SMD вариант)
Как вам эта статья? | Заработало ли это устройство у вас? |
www.radiokot.ru
ЧАСТЬ2
Скорость испытания:
тестирование скорости программирования с использованием ATmega644 (как целевая система) работает на 25 МГц, 4 МГц SCK скорость, вспышка, 64kB размер данных, программист 16MHz часы:
BIN файл, индикатор горит:
Сохранение файла: 5,1 с
для чтения файла: 4,4 с
BIN файл, индикатор включен:
Сохранить файл: 5,1 с
для чтения файла: 5,0 с
HEX файл, индикатор выключения
записи из файла: 12,5 с
Прочтите файл: 11,6 с
HEX файл, прогресс бар на
запись файла на 12,5 сек
Прочитать файл: 12,2 с
Как вы можете видеть лучшие результаты могут быть достигнуты с BIN файл, так как ее размер длины данных и нет никаких излишеств. Чтение из HEX файл, необходимый ранее, «летать» весь файл и считать байты в нем, в случае записи в файл контрольной суммы рассчитывается каждым толчком — так мало, что нужно.
практически никакой прогресс-бар замедляет процесс, когда система запрограммирована назначение сторон ( как и в предыдущем тесте). При программировании или прочитанных байт (что всегда выполняется побайтно) на индикаторе значительно замедлит работу.
Список поддерживаемых систем:
зеленый . — Система проверена на практике
, не все системы все еще полностью поддерживается, см. файл «chip.db».Неполные записи означает, что работа будет только операции и lockbitach fusebitach. Пожалуйста, сообщайте системы, которые работают правильно — я буду добавлять их в список!
1kB:
AT90S1200, ATtiny12, ATtiny13 / A , ATtiny15 2kB: ATtiny2313 / A , ATTINY24A / A, ATtiny26, Attiny261 / A, Attiny28, AT90s2333, Attiny22, ATTINY25, AT90S2313, AT90s2323, AT90s2343 4kB: ATMEGA48 / A, Atmega48P/PA, Attiny461 / A, Attiny43U, Attiny4313, Attiny44 / A, Attiny48, AT90S4433, AT90s4414, AT90s4434, Attiny458kB: ATmega8515, ATmega8535, Atmega8 / , ATmega88 / A , Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90PWM3, AT90pwm3B, AT90pwm81 , AT90usb82, Attiny84, Attiny85 , Attiny861 / A, Attiny87, Attiny88, AT90S8515, AT90S8535 16kB: Atmega16 / , Atmega16U2, ATmega16U4, микроконтроллеров ATmega16M1, ATmega162 , ATmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, ATmega168 / Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90USB162 32kB: Atmega32 / , Atmega32C1, Atmega323 / A, Atmega32U2, Atmega32U4, Atmega32U6, ATmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A / PA, ATmega328, ATmega328P , Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32 64kB: ATMEGA64 / A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A / P, Atmega6490A / P, ATmega640, ATmega644 / A , Atmega644P / PA, Atmega645, Atmega645A / P, Atmega6450, Atmega6450A / P, AT90USB646, AT90USB647, AT90can64 128kB: Atmega103, ATmega128 / A , ATmega1280, ATmega1281, Atmega1284, ATmega1284P, AT90usb1286, AT90USB1287, AT90CAN128 256kB:ATmega2560 , ATmega2561
Галерея:
Файлы:
Перед тем, как программа? Если программист не имеет буфера можно изменять напряжение программирования, читайте дальше. Максимальное напряжение, которое может быть показано на контактный порт 0,5 V VCC . Так что, если власть этого устройства составляет 3,3 V, и вы хотите запрограммировать обычных 5V программист — вы должны предоставить провайдеру линий от повреждений. Сделать так — это простое решение, но защитить порт от повреждений. НЕ делать — если вы подключите кабель, «просто так» Это может привести к повреждению системы!
СКАЧАТЬ — Файлы орел 5.10: PCB, SCH, альтернативные PDF, HEX партии и BIN, поддержка файлов.
PCB вер. 1,0
Программа вер. 1,0 — бета-версия.
Бета-версией
-zapis/odczyt/weryfikacja, чем 128kB (расширенная чипы памяти) не был протестирован, но реализована
-zapis/odczyt/weryfikacja HEX файл гарантируется только 64kB — тоже не тестировал
-программист полностью протестированы с: Tiny13, tiny45 , tiny2313, mega8, mega88, mega16, mega32, mega328, mega644
СКАЧАТЬ -. Обновление # 1, 22.06.2011
. PCB версии 1,1
. Программы версии 1,1
PCB v1.1
-токоограничивающие резисторы были добавлены к линии MOSI и SCK — 22Ω.Предположим ситуацию, что мы хотим, чтобы запрограммировать процессор, который находится в системе, выполнить свой код, и питается от 5V. И на контакты провайдером подключено несколько приводов, и следит за контактами в режиме вывода. При подключении в разъем μProga питание с 3,3 В, высокий ток за счет разницы напряжения (3,3 В — 5 В), и если не в первый раз, на второй или третий в конце uszkodzimy порта. И, как мы знаем, максимальное напряжение, которое может быть показано на булавку, чтобы VCC 0,5 В,которое в нашем случае 3,8 В. Серийный резисторы порта обезопасить себя от повреждений. Вы можете использовать немного больше 22Ω резисторов, потому что это минимум. Слишком большой, в свою очередь, препятствует программирования контактный ISP, если целью является что-то загружено.УВИДЕТЬ КАК пластины обновление с версии 1,0 до 1,1 УВИДЕТЬ КАК вы можете использовать интерфейс дисплея. Здесь przylutowałem их к пластине таким образом, что подвижные пластины стороне в левом верхнем углу. Работает отлично, просто нажмите на экран.
Прошивка v1.1
-удалены ошибку, когда программист к краху после пробуждения из спящего режима
удалено ошибки низкого напряжения для ЖК (контраст проблемы)
, ошибки удалили чтения / записи EEPROM памяти HEX файл
, удалить ошибки связи (CFI)
-удалено Ошибки меню при выборе несуществующего опция
-удалить ошибка, которая возникает, когда индикатор разрывается автоматической проверки опция
-удалить ошибку aniamcji действия (появляется только первый кадр)
, удалить программу и chip.db несогласованность базы данных, байт «Метод программирования» было неправильно «понимает» по программе
на добавленную драйвер дисплея поддержки 48 * 102 (см. файл «config.ini»)
, были добавлены, и контрастность LCD смещения (см. файл «config.ini»)
-добавил напряжение батареи — защита от Включение более 3,7 V
Генеральный исправлений в коде
Напряжение аккумулятора отображается в первой строке экрана, но это только обновляется при навигации по меню.
измененный файл «config.ini» — должна быть установлена в соответствии с вашими потребностями. Пожалуйста, выберите тип контраста и настроить драйвер.Смещение не нужно двигаться.
СКАЧАТЬ — Обновление # 2, 30.06.2011.
версия программы. 1,2
chip.db Database версии. 1,02
Прошивка v1.2
-Исправлена некорректная решения последнее слово в 128kB prockach, μprog быть решены «0000» вместо «FFFF»
-исправлена ошибка с индикатором для файлов размером более 64 КБ
-исправлена ошибка с индикатором при записи мелких файлов большого procków
коррекцией задержать кнопку при навигации по меню
-Добавлена поддержка расширенной адресации файлов IntelHEX — читать и писать (не 64k предел). Создан файлы идентичны тем, которые созданы AVRDUDE во время чтения.
была добавлена 1 секунда задержки при включении, если напряжение батареи ниже 3V (это позволяет инициализировать SD карту путем проведения зарядки конденсатора)
-программирования тест скорости (читай подпись) теперь выполняется 100 раз , тем больше вероятность обнаружения превышения скорости / ошибки в длинных ленточных червей (тест очень быстро, вы не видите разницы)
-добавлена анимация «успех» играет после успешной записи / пересмотр, при условии, что анимация включены.
База procków chip.db v.1.02
-пополнялась почти все записи еще ряд дед AT90S и несколько ATtiny.
План: добавить интерфейс для процессора XMEGA PDI.
СКАЧАТЬ — Обновление # 3, 20.07.2011.
версия программы. 1,3
chip.db Database версии. 1,03
Прошивка v1.3
-удалена ошибка при загрузке HEX файла не начинается с адреса 0 -. например, загрузчики
шестигранная размер файла рассчитывается только немного быстрее
модифицированный файл «config.ini» — теперь будет четко
устанавливающих OSCCAL добавляется в файл «Config . INI «- если вы используете увеличение скорости программист (bit0 в файл» config.ini «),
вы можете ввести собственные калибровки от 00 до FF -. некоторые procki в wykładały на максимальный разгон
был добавлен MAX SCK установлен в файл «config.ini» — если по какой-то причине программист ошибочно выбирает SCK скорости (слишком быстро)
, и есть ошибки, вы можете выбрать максимальную скорость, на которой запускается таймер.
, добавлена функция удаления файлов — выберите файл и удерживайте клавишу RI кнопку LE. Отпустите кнопку, чтобы выйти из LE.
улучшенную устойчивость к вибрации контактов кнопки
-систем фиксированной службы с расширенной памятью (ATmega2560 и ATmega2561)
-добавлены «ручной», которая позволяет пользовательские fusebitów.Прокрутите каждый символ UP и DN, RI кнопку
, чтобы подтвердить выбор, перейдя на следующий символ. После утверждения последнего, программист пишет и читает fuski и отображает
их в нижней строке. LE кнопку для отмены. Программа берет ЗАВОД fuski для системы, и что править.
, параметры должны быть использованы с осторожностью!
-добавил дополнительные низкая скорость SCK — 8 кГц — можно программировать чипы частоте кварцевые часы.
изменились имена файлов, созданных. С этого момента, будет принимать форму «m8-хх», «M162-хх», «t2313-хх», где Х число раз.
Очень легко идентифицировать файлы. Этого было достаточно, чтобы добавить одну строку кода и удобство 🙂
-Обновление файла chip.db — я изменила свое название на procków не содержит косую черту. Если имя будет создан
файл с именем Прок, что название «ATmega644 / A» создан название «m644/-1» — файл с косой черты не подходит для чтения на
вашем компьютере. Slashes местами запятую.
были добавлены к файлу лицензии «LICENSE.TXT», скопируйте его в корневой каталог карты. Вы должны прочитать это, возможно, с
польской версией. Таймер не будет работать, если вы не подадите, или если он будет изменен.
База procków chip.db v.1.03
-procków переименован заменить косые черты с тире — потому что он создал имя файла на основе имени Прок может включать в себя косую черту и файлы с косой черты во имя системой бесполезно окна.
Уведомление о новых обновлениях — twitter.com / manekinen
Скачать
cxema.my1.ru
ВНИМАНИЕ СТАТЬЯ ПЕРЕВЕДЕНА С ПОЛЬСКОГО ЧАСТЬ 1
Одной из таких систем мобильной AVR программист! Помощь там, где вам нужно обновить программное обеспечение и целевой системы находится в труднодоступном месте, и мы не можем (или будет) перетащить ноутбук и куча проводов.Тривиально проста в использовании, низкая производительность стоимости, супер небольшой, супер быстрый, поддерживает SD карты …
Особенности:
-супер маленький — размером всего 44 х 39 х 5,5 мм
-супер быстро — пишите 12,5 Кб / с , чтение до 14,5 Кб / с
, использует дешевые носители — вездесущий SD / MMC карт
-файловая система поддерживает FAT16 и FAT32
, читать, писать, пересмотреть памяти флэш и EEPROM
-читать, писать, пересмотреть fusebity и lockbity
-чтение и запись в файлы BIN , HEX и TXT
-можно установить значения по умолчанию fusebitów, стереть память
дешевой легко доступным графическим дисплеем — LPH7779
вида анимации удовольствие от каждой операции
стандарта интерфейса программирования Atmel 6-контактный разъем ISP
-имеет функцию автоматического обновления своего программного обеспечения
, очень проста в использовании, 4-кнопка навигации
меню настройки для пользователей
, автоматическое согласование программирования скорости (до 4 МГц )
, работа с 3В, системы программирования от 3В до 5В
Операция:
таймер на проведение LE (слева). Первое, что мы видим, заставки и информация о версии — информация, которую они исчезают через некоторое время, и вы можете перемещаться по меню. Нажмите UP (вверх) и DN (вниз), чтобы выбрать нужный вариант, нажмите RI (справа) подтверждения операции / ввести опцию меню и нажмите LE (слева) будет отменить операцию, чтобы возвратиться в меню, которое выглядит следующим образом:
Flash: > Write > Читать > Убедитесь, | EEPROM: > Write > Читать > Убедитесь, | Fusebits: > Write > Читать > Проверка > Default | LockBits: > Write > Читать > Проверка > стирания | Настройки > Авто Убедитесь > Auto Erase > Показать anims > Anti-бар > Файлы типа |
Описание функций:
написать , — пишет в память содержимое файла на карту памяти. Пожалуйста, выберите файл из списка. Если fusebitów или lockbitów, пишет байт настройки (из файла TXT). Файл длина длины, что программист пишет в память, остальная часть памяти, не будут сохранены. читать — считывает содержимое памяти и записывает в файл на карту памяти. Файл создается автоматически в соответствующую папку. Имя формата «x.yyy», где Х число файлов, а YYY является расширением BIN или HEX. Например, «4.bin» или «22.hex» — отображается имя, и это хорошо, чтобы записать где-нибудь. Будете читать всю доступную память, независимо от того, сколько данных находится в нем. Если fusebitów или lockbitów, пишет байт в файле настроек в текстовый файл.Убедитесь, — сравнивает содержимое памяти с содержимым файла, в результате операции «PASS» или «FAIL в х», где х это номер первой ячейки, в которой было несоответствие. Если fusebitów или lockbitów, сравнивает байты параметров.умолчанию — сброс всех fusebity к заводским настройкам. стирания — внутренняя команда «стирания» очищает всю память и сбросить безопасности lockbit.
Описание настроек:
Auto проверить — обеспечивает автоматическую проверку памяти (такие, как возможность «проверить»), кроме того, что он делает это автоматически после каждой записи. Настройки: ON или OFF. Применяется только к операциям на флэш-памяти и EEPROM, и lockbitów fusebitów байты считываются сразу же после записи. стирания Auto — автоматически выполняет команду «стирания» перед каждой записи во флэш-память. Настройки: ON или OFF. Применяется только к флэш-памяти, которые обязательно должны быть очищены перед сохранением.Исключением является, когда мы знаем, что память очищена, и в конце мы загрузили загрузчик пример. Отключение этой опции приведет к перезаписи данных без очистки содержимого, которое в свою очередь будет держать наш загрузчик или другие данные. anims Show — отображает короткую анимацию после каждой операции, в зависимости от того, успешно или нет. Настройки: ON или OFF. Анимация может быть прерван в любой момент, нажав LE . Это смешная анимация, и добавить специфику программирования, опытный серфер воспринимает их 🙂 Анимация играл в последовательности BMP файлов в папке — так что вы можете заменить их на свои собственные! Формат: Bitmap (* BMP.), 84 × 48 пикселов, монохромный (2bit). Порядок воспроизведения не в алфавитном порядке, файлы воспроизводятся в том порядке, в котором они были скопированы на карточку. бар Progr — прогресс бар для операции сохранения, проверки и читать флэш-памяти и EEPROM. Настройки: ON или OFF. Индикатор замедляется незначительно, в разделе «Тесты скорости». Файлы типа — выбрать тип файлов, которые вы хотите работать. Настройки: BIN или HEX. Применимо к операции на флэш-памяти и EEPROM, в зависимости от выбора, в списке будут отображаться только файлы этого типа. При чтении файла, он будет также создать файл (в случае HEX файлы, также будут рассчитаны суммы).
Карта памяти файлов:
файлы на карте памяти должны быть помещены в соответствующие папки. Т.е. файлы для флэш-памяти в «вспышки» EEPROM «EEPROM», fusebits в «fuseb» и LockBits в «lockb». Папка «Система» содержит другие файлы, необходимые для запуска программ, в том числе μProcesorów базу данных, в которой хранится файл настроек или BMP изображений. Копия карты памяти должны содержимого папки «SD-Files» в Приложении.
В то время как в случае с флэш-BIN файлов и EEPROM нет сомнения, они являются файлы, создаваемые компилятором, сборка файлов и lockbitów fusebitów быть описано. Эти простые текстовые файлы, которые входят шестнадцатеричные значения:
Fusebitów файл должен содержать последовательность данных для низких предохранитель, предохранитель высокой, предохранитель расширенном — в HEX формате. Например, содержание fusebitami для Attiny45 должна выглядеть следующим образом: 62DFFF. Файл может быть больше, может быть больше комментариев, но они будут учитываться только первые три байта (6 символов).Если процессор имеет два, а только один байт fusebitów, конечно, будет использоваться только для этого количества байтов.
Строительство lockbitów файла аналогична строительству файл fusebitów.Разница лишь в том, что здесь будет использоваться только один байт, но обратите внимание, что неиспользуемые биты всегда должно быть 1 Так что, если вы хотите, чтобы биты LB0 и LB1, использование «FC» (11111100). Если fusebitów применить тот же принцип в правду, даже если она будет действовать по-другому и попытаться превратить несуществующих бита (за исключением не 0) является ошибкой я получу подтверждение этих бит будет 1
При чтении fusebitów и lockbitów в файл, программист создает текстовый файл, описанной выше схеме.
Выбор памяти в меню, затем выберите сохранить или проверить список доступных файлов BIN / HEX или TXT в соответствующий каталог. Файлы отсортированы по алфавиту или иначе появляются в том порядке, в котором они были скопированы и / или создаются. Вы можете разместить любое количество файлов, все появляются в списке. Выбор файла Кнопки UP и DN , утверждение кнопку RI , кнопка отмены LE . В свое время на экране 6 имен файлов показывает следующую карту после нажатия кнопки DN , когда последний файл будет отображаться на карте. Файлы можно переключать карты только вперед (вниз), после достижения конца первой карты будет отображаться.
Программатор карт опор MMC и SD , проверено моей карта: 128MB, 512MB, 1GB, 2×2 Гб. Любые имена файлов, но на дисплее будет появляться в DOS формате 8.3 (8 символов + расширение). Больше файлов, разделенных тильдой ( ` ), и если их имена в первые 8 символов будет отличаться, файлы будут отмечены порядковый номер. Они будут также отображаться акцентированных символов и других изобретений — поэтому я предлагаю называя файлы ясно, что нет никаких проблем с ними позже идентифицировать.
Планы: SDHC Поддержка карт.
Мощность, Напряжение:
Система предназначена для работы от батареи, но нет ничего в том, как использовать правильные питания.
Номинальное напряжение: 3,3 В
напряжение Максимальный: 3,6 В
Минимальное рабочее напряжение: 2,7 В *
Потребляемая мощность во время запуска : до 100 мА *
Потребляемая мощность в процессе программирования: около 10 мА *
Потребляемая мощность в меню: 5 мА
Потребляемая мощность в режиме ожидания: 0.10μA
* Зависит от установленной карте SD
На нижней пластине есть место для пайки два слота батареи CR2032 — напряжение будет 3В и текущей эффективности этих батарей как правило, не позволяют за увеличением мощности с программируемым — падение напряжения, вероятно, вносит изменения в системные или запрограммирован на карту памяти.Вместо пайки стенд, вы можете использовать другой аккумулятор с большей емкостью (может быть также просто, как батарея мобильного телефона), не может быть позволено превышать максимальное рабочее напряжение.
Весь программист, работающий при напряжении которые он получает от аккумулятора, так как он не имеет стабилизатора. Кроме того, процесс программирования осуществляется на таком уровне (высокий уровень). Целевая система (программируемый) может быть запрограммирована с напряжениями от 3В до 5В, когда таймер работает на 3В. С одной стороны, строка ввода MI-SO обеспечивается резистора и стабилитрона для защиты входных 3V3 программиста от чрезмерного напряжения, с другой стороны системы питания 5В правильно распознает высокую 3В состояние в линии MO-SI и SCK ( см. примечание: электрические характеристики> DC характеристики> V IH = 0,6 VCC , которая является не более чем 0,6 * 5V = 3V — гарантированное значение).
Программист не имеет механический переключатель, включение и выключение осуществляется удерживая LE . Когда выключен, таймер отключения электроэнергии на дисплее и карты памяти, и он переходит в режим глубокого сна, во время зарядки батареи (типичное) 0,1 мкА.
ISP
соединения:
Вывод программирования стандартных 6pin мужчина ATMEL ISP . Рисунок показывает расположение контактный, выемка вилку от нижней поверхности пластины. Нет проблем, вы можете сделать галстук закончился 10pin гнездо в качестве стандартного провайдера KANDA , или с сочетанием универсальной галстук и 6PIN 10PIN розетки. После завершения строительства линии SCK , MOSI , MISO и RESET,становятся прозрачными к цели.
Соответствие скорости автоматического программирования:
Программирование с началом каждой программы на целевой системе автоматически регулирует скорость программирования (SCK часы скорость линии). Есть 7 шагов к контролю: 4 МГц, 2 МГц, 1 МГц, 500 кГц, 250 кГц, 125 кГц, 62.500 кГц. Теоретически, это будет 1/4 от частоты цели, но не всегда. Каждый раз, когда запускается таймер на максимальной скорости и выполняет в 10 раз больше подписей чтении теста — если вы получаете сообщение об ошибке, скорость будет снижена и тест повторяется до спуска на низкую скорость. Если низкая скорость не удается, программист возвращает сообщение о том, что система не отвечает. В течение очень долгого полосу подключения, программист может использовать более низкую скорость, если есть ошибки — короткий тест не может выявить ошибки связи, которые могут возникнуть только при записи в память. Я рекомендую не использовать ленту 20 см в длину. Эти значения относятся к SCK системные часы таймер на 8 МГц.
Вспомогательные тактового сигнала
, потому что программист работает от аккумуляторов, подал в отставку с обычными функциями VCC штифт (5 контактный разъем 6 ISP) и не может быть дана власть на целевой системе на этом выводе. Вместо выводов, которые доступны вспомогательные 8МГц тактового сигнала, который может быть использован, если целевая система установлена на нечетные / внешнего источника синхронизации. Этот сигнал подключен через резистор 1К, так что нет необходимости изменять подключение полосы, если напряжение будет присутствовать в цель.
Обновление:
Если вы получаете новую версию программного обеспечения может быть обновлена двумя способами: Провайдер: подключите разъем ISP программист-6 и перемычки с надписью «SLF-PRG» — это будет интерфейсный разъем для обновления программного обеспечения ( ., как и в USBasp) Bootloader:Устройство имеет встроенный загрузчик, так что вы можете обновить прошивку в очень простой способ! Чтобы корень карты (корень) скопируйте BIN обновление прошивки файл, и назовите его «000.bin». При включении на дисплее ничего нет — это хорошо! Файл с новой прошивкой была признана правильной, теперь просто нажмите RI для подтверждения обновления.Устройство автоматически обновляет прошивку, это займет несколько секунд, а затем начинает — на экране приветствия будут помечены как новая версия программы — вот и все! Теперь просто извлечь карту ранее загруженный файл запускается каждый прибор не находится в режиме обновления. Во время ремонта, некоторые карты могут не поддерживаться — так что если после загрузки файла «000.bin» устройства начали нормально — это одна из тех карт.
Примечания:
Fusebity: Ext: 07, высокий: D0, низкий: A2
(8 МГц внутренний генератор без обмена / 8, оказалось CLKO, коричнево-детектирование 2,7 В, сброс адрес вектора загрузчика, загрузчик 4К памяти, на EESAVE)
Atmegi328P внутреннего генератора может быть откалиброван в очень широком диапазоне. Заводская калибровка 8МГц часы, чтобы быть «калибровать» с 50% до целых 200%, то есть от 4 МГц до 16 МГц четное. Изменение Bit4 в файл «config.ini» на «1» отберет максимальная частота — существенно ускорить программирование, но не гарантируется стабильная работа в этих условиях (напряжение питания в зависимости от частоты). Изначально этот параметр отключен.
Показать, как я использовал оригинальный — есть драйвер PCD8544, организацией 84 × 48, стандарт для набора команд, и может получать данные от 4MHz часов — и это на работе. Если ваш дисплей показывает глупость и ничего не показывает, есть две возможности: а) водитель, не PCD8544 — в файл «config.ini» Бит6 установить его на «1» — на дисплее будут относиться по-разному, но это не гарантирует правильную работу. б) Не может работать на 4 МГц — файл «config.ini» бит5 установить его на «1» — на дисплее будет работать на 2 МГц, так что скорость не должна вызывать его проблемы.
На дисплее потребности для встроенных конденсаторов преобразователя напряжения (C2, C3), номинальная стоимость 1 мкФ. Для меня успешно работает с мощностью 200nF. Если у вас есть проблемы с контрастом, увеличение пропускной способности — вместо С2 и С3 можно припаять SMD конденсаторы сторону некоторых из них. Если дисплей имеет поле пайки, вы можете подключить его с помощью кабеля — если у вас есть контакт окна, используйте контакт резины, которая была на телефоне и приложить тот же дисплей хорошо. Несмотря на то, что мой дисплей имеет колодки, затем я использовал ластик контакт. Ручки сделано с корпусом разделе «разъем E + J» . Это может быть любая часть ничего, внутренний размер 5,2 мм — только разъем walało под рукой 🙂
Карты памяти, в зависимости от того, что мы получим, при запуске получает «очень большой» ток — 100 мА подряд. Очень большой, или как монета клеток вариантов батарей. Конденсатор C4 помогает поддерживать напряжение во время начала была хорошая карта в максимально возможной мощности, но не переусердствовать — три вывода конденсатора нагрузки процессора, вы не можете перегружать их. Для меня 10мкФ достаточно, чтобы начать все карты, я это проверял, но, насколько проблемы батареи могут разрядиться.
Таймер работает только в собственной папки и не будет двигаться остальные папки / файлы на карте памяти. ВНИМАНИЕ — следует иметь в виду, что из-за какой-то ошибки в файловой структуре может быть повреждена, и данные на карте могут быть потеряны навсегда или будет трудно получить их обратно! Это может произойти при снятии / установке карты в устройство или выключить питание во время чтения / записи. Это также может произойти (очень редко), что программист будет сбоить при попытке открыть список файлов в папке.Решение состоит в том, чтобы удалить последний созданный программистом файлов в этой папке.
PCB измерительной 39мм х 44мм х 5,5 мм, двухсторонний. Колодки, переходы расположены в легкодоступных местах (не под одеялом), так что пластины могут быть успешно выполнены в домашних условиях. Я использовал карты Micro SD слот является довольно популярным MSDE208, след идет далеко от стены или 500873-0806 — как вы можете видеть, что есть проблема найти несколько слотов совместимы друг с другом, просто посмотрите, что их подушечки «под ними» и сравнить с данными — должны совпадать.
ПРОДОЛЖЕНИЕ СДЕСЬ http://cxema.my1.ru/publ/skhemy_ustrojstv_na_mikrokontrollerakh/programmatory/mprog_malenkij_bystryj_portativnyj_programmator_avr_s_sd/36-1-0-5050
www.cavr.ru