USB программатор для AVR без предварительной прошивки.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

USB программатор для AVR без предварительной прошивки.

Сообщение red2cat »

АХТУНГ! НОВАЯ ВЕРСИЯ USBBit 1.1 - ИЗМЕНИЛ СХЕМУ, ПЕЧАТНУЮ ПЛАТУ. ПЕРЕПИСАЛ ЗАНОВО ИНСТРУКЦИИ ПО СБОРКЕ И НАСТРОЙКЕ.
Все подробности тут

Привет всем!
Хочу похвастаться своей последней разработкой.

Вот схема.
Изображение

Собственно раньше похожий программатор публиковался, но там не было возможности запускать МК после прошивки... Я немного дополнил схему, внёс некоторые изменения в Avrdude, и вот результат.
Изображение
Изображение
Софт, печатная плата и.т.д тут
Внимание! Я не рекламирую сайт, просто в рунете множество форумов, и прыгать по каждому из них, отвечая на вопросы, не очень удобно.
Последний раз редактировалось red2cat Пт фев 12, 2010 21:06:38, всего редактировалось 2 раза.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Хорошая разработка.. :beer:
Вот бы где найти подобную с bitband-технологией, но для других контроллеров, а не только AVR...
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

пока работает только с ПРОПАТЧЕННЫМ Avrdude - http://www.reddylab.eu/rclab/#7
Последний раз редактировалось red2cat Сб фев 13, 2010 11:42:22, всего редактировалось 2 раза.
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Сообщение ssvd »

Под vista и windows 7 работает?
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

Драйверы есть и для линукса и для макинтоша. Дудка компилировалась в ХР. По идее должно и в Вистах работать.
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Сообщение ssvd »

ну что же, будем пробовать собирать )))
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

Отлично! практическая реализация порадовала. Нужно будет тоже собрать.
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

АХТУНГ! НОВАЯ ВЕРСИЯ USBBit 1.1 - ИЗМЕНИЛ СХЕМУ, ПЕЧАТНУЮ ПЛАТУ. ПЕРЕПИСАЛ ЗАНОВО ИНСТРУКЦИИ ПО СБОРКЕ И НАСТРОЙКЕ.
Все подробности тут
История изменений:
v1.0
# Базовая версия
==================
v1.1
- Убраны два светодиода HL5,HL6.
+ Добавлены защитные резисторы R9,R10,R11 на линиях RX,TX,CLK6.
# Немного изменена трассировка печатной платы.
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Сообщение ssvd »

все подробно! респект!
Аватара пользователя
BIYON_DEGREYV
Родился
Сообщения: 15
Зарегистрирован: Чт дек 10, 2009 21:24:59
Откуда: Украина, г.Брянка

Сообщение BIYON_DEGREYV »

Извиняюсь за неграмотность, просто никогда этим не занимался. Скажите WinAvr обязательно нужна или только AvrDude хватит? Мне пока что нужно для разового программирования.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

для рахового использования дороговато обойдется, по ссравнению с stk200, или с пятью проводками :))
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
BIYON_DEGREYV
Родился
Сообщения: 15
Зарегистрирован: Чт дек 10, 2009 21:24:59
Откуда: Украина, г.Брянка

Сообщение BIYON_DEGREYV »

Другого выхода нету. На компе только USB.
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

Если читал описание, то там написано - Программатор работает с модифицированным Avrdude, который можно скачать там-же. Т.е. можно пользоваться одним Аврдудом но модифицированным.
ЗЫ: Читайте, батенька, инструкции. (http://www.reddylab.eu/rclab/#7)
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Сообщение avreal »

red2cat писал(а):который можно скачать там-же
Вот за это отдельное спасибо, так как лень было качать исходники avrdude, искать и накладывать патчи. А хотелось "сверить часы".
потыкался осциллографом и успокоился :)
Я уже давно ("очень давно") ткнулся в FT232RL, но мне не понравилась рваная форма SCK - (полу)-периоды скачут по длительности в разы, если не на порядок. Не паузы в пачках, что было бы логично при довольно высокой частоте sync bitbang (надо же и когда-то отправлять данные назад в PC), а чудненький хаос, иногда выстраивающийся в что-то в духе

Код: Выделить всё

_-_-_-______------_-_-_-_--------___________-_-_-

Поскольку непонятно, не бывают ли они при такой каше изредка короче, что будет приводить к сбою программирования, я не рискнул добавлять поддержку.
Времени мало, ещё пару раз с интервалом в несколько месяцев ткнулся, перепроверил свою тестовую программу, опять потыкался - результут тот же.
Ну а тут взял готовый avrdude, посмотрел осфиллографом - да та же самая каша.
Так что чёрт с ней, с кашей. Зря я боялся. :)
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

Каша ано канешна это полезна. А главное на скорость не влияет. Каша наверное генерируется параллельно с передачей битов, а не передача битов синхронизируется с тиками. Т.е. Эдакий криво-программный SPI.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Сообщение avreal »

red2cat писал(а):А главное на скорость не влияет.
Тяжело сказать. Пожалуй, таки снижает.

red2cat писал(а):Каша наверное генерируется параллельно с передачей битов, а не передача битов синхронизируется с тиками.
Не-а. Передача битов происходит кашеобразно.
На FT2232 выставить частоту SPI - так SCK стоит на этой частоте как влитой с паузами, если из-за нехватки пропускной способности USB не успевают поступать новые данные.

А тут выставил частоту sync bitbang, а она практически не выдерживается.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

Так на сколько я понимаю, в режиме БитБанг МС ничего сама не генерирует и полностью подчиняется программе. Работа с БитБангом вроде как работа с ЛПТ портом. Или я заблуждаюсь?

Если передача данных устроена примерно так -

Код: Выделить всё

byte Sbyte = 0b10101010; // Байт который нужно передать

for(i=8; i; i--){  //Цикл для передачи 8ми бит

   if ( 0x80 | Sbyte ) FT_PORT_MOSI = 1; // Если старший бит 1, то на выводе MOSI высокий уровень.

       else FT_PORT_MOSI = 0; // Если старший бит 0, то на выводе MOSI низкий уровень.

   
   FT_PORT_SCK = 0; // На выводе SCK, для тактирования МК, низкий уровень.

   delay(); // Длительность уровня (варьируется в зависимости от нудной скорости передачи.)

  FT_PORT_SCK = 1; // На выводе SCK, для тактирования МК, высокий уровень.

  Sbyte << = 1; // сдвигаем биты в лево для следующей передачи.
   
}



Если в дудке используется подобная конструкция для передачи байтов, то каша обязательно будет.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Сообщение avreal »

Так (ну не свосем так, даже для LPT) делается в _асинхронном_ bitbang.
Если вместо FT_PORT_* = X; поставить установки-сбросы этих битов в одном буферном байте и для каждого такого обращения написать FT_Write а для чтения MISO FT_GetBitMode - то будет близкое к описанному и это будет тот дико медленный режим, о котором говорилось выше.

red2cat писал(а):Если в дудке используется подобная конструкция для передачи байтов, то каша обязательно будет.
Если бы был этот режим, то время исчислялось бы минутами, а не секундами :-)

Для FT232R в _синхронном_ режиме приблизительно так (не показана обработка ошибок, форимрование буфера ведётся без учёта возможных инверсий на линиях и т.п.):

Код: Выделить всё

    // устновить режим синхронного ногодрыга
    FT_SetBitMode( ftHandle, direction_mask, 0x04);

    // для Sync BitBang - устанавливаем частоту выдачи _байтов_
    FT_SetBaudRate( ftHandle, baud );

    ...

    // вывести len байт из указателя obuf
    // сгенерированным при помощи ногодрыга SPI
    // формируем в буфере образ состония выводов
    index = 0;
    while( len--) {
        int i = 8;
        unsigned data = *obuf++;
        do {
            uint8_t temp = 0;
            if( data & 0x80)
                temp |= mosi;
            ftdbuf[index++] = temp;
            ftdbuf[index++] = temp | sck;
            data <<= 1;
        } while(--i);
    }
    ftdbuf[index++] = 0;

    DWORD written;
    // вот по этой команде весь буфер летит по USB, падает в FIFO
    // и должен с заданной частотой выдаться на шину dbus в FT232R,
    // после выдачи каждого байта делется ввод состояния ножек
    // и отправляется назад в PC
    FT_Write(ftHandle, ftdbuf, index, &written);
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

Вон оно чё, хороший констракшн. Нужно будет что-то реализовать , что-бы лучше усвоить...
ЗЫ: В этом деле я профан, умею только чужие коды портить, а вот свои грамотно строить толком не умею....
red2cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср фев 10, 2010 11:02:11
Откуда: Estonia
Контактная информация:

Сообщение red2cat »

Кто-нибудь собрал девайс? Есть баги? Я один вроде нашел...
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»