Например TDA7294

Форум РадиоКот :: Просмотр темы - USB программатор для AVR без предварительной прошивки.
Форум РадиоКот
https://radiokot.ru/forum/

USB программатор для AVR без предварительной прошивки.
https://radiokot.ru/forum/viewtopic.php?f=20&t=25921
Страница 1 из 5

Автор:  red2cat [ Ср фев 10, 2010 11:12:02 ]
Заголовок сообщения:  USB программатор для AVR без предварительной прошивки.

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

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

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

Собственно раньше похожий программатор публиковался, но там не было возможности запускать МК после прошивки... Я немного дополнил схему, внёс некоторые изменения в Avrdude, и вот результат.
Изображение
Изображение
Софт, печатная плата и.т.д тут
Внимание! Я не рекламирую сайт, просто в рунете множество форумов, и прыгать по каждому из них, отвечая на вопросы, не очень удобно.

Автор:  МитяРа [ Ср фев 10, 2010 11:32:05 ]
Заголовок сообщения: 

Хорошая разработка.. :beer:
Вот бы где найти подобную с bitband-технологией, но для других контроллеров, а не только AVR...

Автор:  red2cat [ Ср фев 10, 2010 12:13:04 ]
Заголовок сообщения: 

пока работает только с ПРОПАТЧЕННЫМ Avrdude - http://www.reddylab.eu/rclab/#7

Автор:  ssvd [ Ср фев 10, 2010 12:21:06 ]
Заголовок сообщения: 

Под vista и windows 7 работает?

Автор:  red2cat [ Ср фев 10, 2010 12:29:16 ]
Заголовок сообщения: 

Драйверы есть и для линукса и для макинтоша. Дудка компилировалась в ХР. По идее должно и в Вистах работать.

Автор:  ssvd [ Ср фев 10, 2010 16:59:55 ]
Заголовок сообщения: 

ну что же, будем пробовать собирать )))

Автор:  Alexeus [ Пт фев 12, 2010 08:25:13 ]
Заголовок сообщения: 

Отлично! практическая реализация порадовала. Нужно будет тоже собрать.

Автор:  red2cat [ Пт фев 12, 2010 21:07:22 ]
Заголовок сообщения: 

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

Автор:  ssvd [ Вс фев 14, 2010 15:00:03 ]
Заголовок сообщения: 

все подробно! респект!

Автор:  BIYON_DEGREYV [ Вт фев 16, 2010 07:35:17 ]
Заголовок сообщения: 

Извиняюсь за неграмотность, просто никогда этим не занимался. Скажите WinAvr обязательно нужна или только AvrDude хватит? Мне пока что нужно для разового программирования.

Автор:  Arlleex [ Вт фев 16, 2010 08:31:18 ]
Заголовок сообщения: 

для рахового использования дороговато обойдется, по ссравнению с stk200, или с пятью проводками :))

Автор:  BIYON_DEGREYV [ Вт фев 16, 2010 09:30:16 ]
Заголовок сообщения: 

Другого выхода нету. На компе только USB.

Автор:  red2cat [ Вт фев 16, 2010 11:33:41 ]
Заголовок сообщения: 

Если читал описание, то там написано - Программатор работает с модифицированным Avrdude, который можно скачать там-же. Т.е. можно пользоваться одним Аврдудом но модифицированным.
ЗЫ: Читайте, батенька, инструкции. (http://www.reddylab.eu/rclab/#7)

Автор:  avreal [ Ср фев 17, 2010 23:31:46 ]
Заголовок сообщения: 

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

Поскольку непонятно, не бывают ли они при такой каше изредка короче, что будет приводить к сбою программирования, я не рискнул добавлять поддержку.
Времени мало, ещё пару раз с интервалом в несколько месяцев ткнулся, перепроверил свою тестовую программу, опять потыкался - результут тот же.
Ну а тут взял готовый avrdude, посмотрел осфиллографом - да та же самая каша.
Так что чёрт с ней, с кашей. Зря я боялся. :)

Автор:  red2cat [ Чт фев 18, 2010 00:46:45 ]
Заголовок сообщения: 

Каша ано канешна это полезна. А главное на скорость не влияет. Каша наверное генерируется параллельно с передачей битов, а не передача битов синхронизируется с тиками. Т.е. Эдакий криво-программный SPI.

Автор:  avreal [ Чт фев 18, 2010 01:44:56 ]
Заголовок сообщения: 

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

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

А тут выставил частоту sync bitbang, а она практически не выдерживается.

Автор:  red2cat [ Чт фев 18, 2010 10:06:07 ]
Заголовок сообщения: 

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

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

Код:
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 [ Чт фев 18, 2010 23:03:34 ]
Заголовок сообщения: 

Так (ну не свосем так, даже для 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 [ Чт фев 18, 2010 23:16:31 ]
Заголовок сообщения: 

Вон оно чё, хороший констракшн. Нужно будет что-то реализовать , что-бы лучше усвоить...
ЗЫ: В этом деле я профан, умею только чужие коды портить, а вот свои грамотно строить толком не умею....

Автор:  red2cat [ Ср фев 24, 2010 17:44:35 ]
Заголовок сообщения: 

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

Страница 1 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/