Внимание! У вас нет прав для просмотра скрытого текста.
Конструкция:Схема
программатора приведе
на на рисунке
ниже. Предохранитель
F1 служит для
защиты линий питания порта
USB от случайного замыкания
по цепям питания
программатора.
Диоды VD1, VD2 – обычные
выпрямительные,
с прямым
падением напряжения ~0,6…0,
7В, предназначены
для понижения питания
микроконтроллера DD1
до 3,
6 В.
Согласно документации ATMEL
на ATmega8(L), микроконтроллер может
работать при таком напряжении
питания до частоты
немногим
выше 14 МГц. Светодиоды VL1(“RD”),
VL2(“WR”)
сигнализируют о
текущих действиях программатора, и,
соответственно, обозначают
режимы чтения и
записи. Светодиод
VL3(“PWR”) предназначен
для сигнализации
подачи питания на
программатор.
Джампер J1 –
(MODify) служит для начального
программирования управляющего МК
программатора.
При его замыкании, к разъему
ISP
подключается внешний
программатор и производится загрузка
в МК
управляющей программы. После
программирования управляющего
МК программатора
этот джампер
необходимо разомкнуть и
замкнуть джампер J2 -
NORMal.
С помощью джампера
J3 LOW SCK
возможно
понижать тактовую частоту порта SPI
МК
программатора до
~20 кГц. При разомкнутом
джампере частота
SPI нормальная, при
замкнутом -
пониженная. Переключать
джампер можно
на ходу, так
как управляющая программа МК
программатора проверяет состояние линии
PB0 при каждом
обращении
к порту SPI. Не рекомендуется
переключать
джампер при
запущенном процессе записи/чтения программируемого
МК, т.
к., скорее всего,
это приведет
к искажению
записываемых/читаемых данных.
Джампер J3 введен
для возможности программирования МК
AVR, тактируемых от внутреннего
генератора 128 кГц.
Резисторы
R10 - R14 предназначены для
согласования
уровней сигналов
МК программатора и внешних,
подключенных к
программатору, цепей (программируемый
МК или
другой программатор).
Тактовая частота
порта SPI МК
программатора при разомкнутом джампере
J3 равна 187,5
кГц. Это позволяет
программировать
контроллеры с тактовой частотой примерно
от
570 кГц
для ATtiny/ATmega, 750 кГц
для 90S
и 7,5
МГц для
89S. Контроллеры
программируются от
10 до 30
секунд (при использовании утилиты
AVRProg v.1.4
из пакета AVR
Studio)
вместе с верификацией в зависимости
от
объема FLASH
памяти и тактовой частоты.
На вывод
LED разъема ISP
выведен меандр
с частотой
1 МГц
для "оживления" МК,
у которых были ошибочно
запрограммированы фьюз-биты, отвечающие за
тактирование. Сигнал генерируется
постоянно
и не зависит от режима
работы
программатора.
Программатор
тестировался с программами A
VRProg v.1.
4 (входит в
пакет AVRStudio),
AVROSP (ATMEL
AVR Open
Source Programmer), CodeVisionAVR,
AVROSP (ATMEL AVR Open
Source Programmer). Кроме того,
программатор тестировался с
программой
AVRDUDE, однако, программа с данным
программатором
не совместима,
так как не все
команды протокола
AVR910 отрабатывает корректно.
На данный
момент с
вышеперечисленными программами
протестировано программирование контроллеров:
89S53, 89S8252, 90S2313, 90S8515,
ATtiny13, ATtiny26, ATtiny45, ATtiny2313,
ATmega48, ATmega8, ATmega8515,
ATmega8535,
ATmega16, ATmega32, ATmega64, ATmega128, AT90CAN128.
Я
рекомендую повторять
схему один-в-один, так как
выкидывание "лишних"
деталей из схемы
может привести
либо к
неправильному функционированию
программатора, либо к
возможному выходу из строя
USB порта на РС,
за что, естественно,
я
ни какой ответственности не несу.
ДеталиУправляющий МК
без переделки схемы можно
заменить на
ATmega8-16PU (Корпус PDIP-28).
Можно так
же использовать
МК ATmega8-16
c другими буквенными
индексами (корпуса TQFP или
MLF). Но, следует помнить,
что нумерация выводов
у
МК в корпусах TQFP и
MLF
отличается от
нумерации выводов МК в
корпусе PDIP-28.
Диоды VD1 и
VD2 –
любые выпрямительные
малогабаритные с
прямым падением напряжения
~0,6…0,7В.
Светодиоды
типа АЛ307БМ.
Конденсатор С5
– электролитический, с
номинальным
напряжением не менее 10 вольт.
Остальные
конденсаторы –
обычные малогабаритные керамические.
Резисторы
– МЛТ-0,
125.
Разъем USB
– типа
USBB-1J (Разъем
USB(м) на
плату. Тип В).
Разъем ISP – типа
BH-10 (Двурядный разъем IDC-Вилка
2х5 на плату.
Прошивка FUSE BITSДля нормального функционирования
контроллера
в схеме
необходимо, чтобы были запрограммированы
(установлены в
"0") биты SPIEN,
CKOPT, SUT0
и BODEN.
Обычно микроконтроллеры ,
идущие с завода,
т.е. новые, имеют
уже запрограммированный бит SPIEN.
Остальные биты должны
быть
незапрограммированные (установлены в "1").
ИнсталляцияПрошить
контроллер. Подключить
свежеиспеченный программатор к РС
через свободный
разъем USB. Операционная
система найдет
новое устройство
– AVR910
USB Programmer, при
предложении автоматически найти драйвер,
отказаться, и указать путь
к inf-файлу, в
зависимости
от установленной на вашем компьютере
операционной
системы.
В
архиве с прошивкой имеется
папка "AVR910.
Driver" в которой
расположены три
директории для
разных вариантов
операционных систем:
-"2k_xp_32" - для операционных систем
Windows 2000/XP 32-bit (используется
штатный драйвер usbser.
sys)
-"vista_xp_32" - Для операционных систем
Windows XP/Vista 32-bit (usbser.sys + lowbulk.
sys[32-bit] от
Osamu Tamura)
-"vista_xp_64" - Для
операционных систем
Windows XP/Vista 64-bit (usbser.sys
+ lowbulk.sys[64-bit] от
Osamu Tamura) - не
тестировалось
Особенности установки:Windows 2000В принципе, инсталляция не
отличается от подобной
для Windows XP, но
есть од
но НО - задержки
в драйвере
usbser.sys
данной ОС
портят цепочку команд
от ПО на РС
до программатора и, соответственно,
цепь ответов обратно
от
программатора до ПО на РС...
Проблему
я пока
не установил, но есть
решение. Ко
нечно не самое красивое,
но работает
надежно :-)
Необходимо заменить
файл usbser.sys
в системных папках Windows
2000 на аналогичный от
Windows XP. Это
папки ...
\winnt\system32\drivers\ и ...\winnt\system32\dllcashe\. Естественно, что
драйвер
придется подменять
загрузившись под другой ОС
(например с
загрузочного диска).
Windows XP/Vista 64 bitЭтих
операционных систем,
к сожалению, пока
в распоряжении не имею,
по этому не гарантирую
работу драйвера. Вот
мой
перевод рекомендаций по установке от
Osamu
Tamura.
Windows
Vista 64-bit не принимает
драйверы привилегированного
режима без цифровой
подписи. Чтобы
использовать данный
драйвер на
64 битной платформе,
Вы должны отключить проверку
цифровых подписей драйверов, нажимая
функциональную клавишу F8
во
время начала загрузки системы.
Второй
вариант,
использование программы
"Driver Signature Enforcement Overrider",
которая подписывает
драйвер как "testdriver"
и активизирует
"testmode", таким
образом Вы
можете загрузить драйвер
без реальной цифровой подписи.
Вы можете найти более
детальное описание на
странице
программы, пройдя по ссылке выше.
Установка:1. Загрузить
""Driver Signature Enforcement Overrider";
2. Запустите
DSEO (инсталляция не
требуется).
3.
Выберите "Sign
a System
File", нажмите кнопку
"Next" и выберете файл
avr910.usb.vista.xp.
64.inf из
директории
AVR910.Driver/vista_xp_64.
4. Выберите "Sign
a
System File"
еще раз, нажмите кнопку
"Next" и
выберете файл lowbulk.
sys из
директории AVR910.
Driver/vista_xp_64.
5.
Выберите "Enable Testmode"
и нажмите кнопку "Next".
6. Перезапустите свой компьютер.
Оригинальные драйвера для
AVR
CDC от Osamu Tamura можно
взять
Внимание! У вас нет прав для просмотра скрытого текста.
НастройкаКак
правило, правильно
собранный, программатор
с правильно
запрограммированным МК в
настройке не нуждается. Есть
единственное замечание – если
у программируемого МК
вход
RESET подтянут к напряжению питания
резис
тором, то номинал
резистора не должен быть
ниже 10
кОм – это
связанно с
пониженным напряжением
питания управляющего
МК программатора и
введением ограничительных резисторов на
шине ISP-разъема.
Если возникли проблемы* Проверить
схему
на отсутствие ошибок, обрывов и
коротких
замыканий.
*
Проверить напряжение питания на
выводах питания
(7, 8) МК
программатора –
оно должны
быть в
пределах 3,5
– 3,8 вольт.
* Проверить, запустился ли
кварцевый генератор МК.
Это
можно сделать с помощью осциллографа,
подключив
его к
выводу 10 МК. Если
нет осциллографа,
то можно определить
запуск генератора
и с
помощью обычного
светодиода. Для этого
к выводу 10 МК
через токоограничительный резистор номиналом
330 – 510
Ом
подключается светодиод, анодом к МК,
катодом
на землю.
При подаче питания светодиод
должен слабо
светиться. Следует заметить,
что программатор
не будет
определяться ни
одной ОС, если
номинальная частота кварца
отличается от 12 МГц. Это
связанно с особенностями
работы
USB – тактовая частота передачи
данных
по USB
для Low Speed Device
равна 1,
5 МГц –
тактовая частота
управляющего МК
программатора должна
быть ровно в
8 раз выше.
*
Проверить, запустилось ли внутренняя
программа в МК
программатора.
На контакте LED ISP-разъема должен
присутствовать
меандр частотой
1 МГц. Наличие меандра
так же
можно проконтролировать с
помощью осциллографа.
Если нет
осциллографа, можно
произвести проверку при
помощи светодиода. Светодиод подключается
анодом к контакту LED,
катодом к любому
контакту
GND ISP-разъема. При подаче питания
светодиод
должен с
ветится в «полнакала». При замыкании
пинцетом ножек
кварцевого генератора светодиод
должен либо
засветится в
«полный накал»,
либо свечение должно
отсутствовать.
Файлы:Все архивы
содержат файл прошивки, установочный
inf-файл и схему
в
формате Adobe pdf. Кроме этого
старые
версии содержат
описание в виде старой
html страницы.
Вы не можете скачивать файлы с нашего сервера -
Версия от 16.
12.2006. Добавлено подключение
внутреннего pull-up резистора ко
входу MISO МК
программатора
во время программирования таргета. Возможно,
будет
полезно при
чтении плат с пониженным
напряжением питания,
да и вообще,
думаю, положительно
скажется на
надежности чтения
программируемого МК...
Вы не можете скачивать файлы с нашего сервера -
Версия от 17.
01.
2007. Добавлен джампер J3 LOW
SCK
для понижения
тактовой частоты порта SPI
программатора.
В
настоящий момент самая
свежая версия
прошивки.
Вы не можете скачивать файлы с нашего сервера - Исходники
версии 1.05 Заточенно
и обкатанно на
IAR
v.4.10B
Автор проекта Рыжков Андрей aka PROTTOSS. Новокузнецк.
Источник: eldigi. ru