Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: XMEGA программатор
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2
dimka76
Исходники тут ( схемы нет )

http://www.fourwalledcubicle.com/files/MyU...FA%20091223.zip
Rst7
Я так понимаю, в качестве железяки используется AT90USB1287 (или чего-там), которая стоит на плате XPlain. Это судя по define'ам в исходнике.
Dx!
Железка - любая USB AVR.
http://www.fourwalledcubicle.com/AVRISP.php
Rst7
Гыгы...

Цитата
For device pinout information, build the Doxygen documentation from the source by executing "make doxygen". The resulting documentation will be located in the /Documentation/html/ directory of the source folder.


У кого под рукой есть подходящий тулчейн? Соберите под AT90USB162, а?
Dx!
Оно под WinAVR, да и схемка платы нужна же...
Rst7
Цитата
Оно под WinAVR


Если быть точным, то собирается гнутым тулчейном. Я не держу таких, потому и прошу.

Цитата
да и схемка платы нужна же...


make doxygen создаст .html-файл с документацией. Там будет написано назначение пинов. Выкапывать их из мейкфайла мне лень.
Dx!
Нихрена там не написано 8)
Rst7
Цитата
Нихрена там не написано 8)


Все понятно (ибо все написано). Конфиги таки надо править. Ладно, выпадет свободный вечер, соберу.
dimka76
В режиме PDI обмен похоже по USART осуществляется

Код
void PDITarget_SendByte(const uint8_t Byte)
{
#if defined(PDI_VIA_HARDWARE_USART)
    /* Switch to Tx mode if currently in Rx mode */
    if (!(IsSending))
    {
        PORTD  |=  (1 << 3);
        DDRD   |=  (1 << 3);

        UCSR1B |=  (1 << TXEN1);
        UCSR1B &= ~(1 << RXEN1);
        
        IsSending = true;
    }
    
    /* Wait until there is space in the hardware Tx buffer before writing */
    while (!(UCSR1A & (1 << UDRE1)));
    UCSR1A |= (1 << TXC1);
    UDR1    = Byte;
#else ....................

а в режиме ISP аппаратный SPI, в качестве выходной ножки ресет - ножка PB4

файл LUFA 091223\Projects\AVRISP\makefile

Код
# Place -D or -U options here for C sources
CDEFS  = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS)
CDEFS += -DRESET_LINE_PORT=PORTB
CDEFS += -DRESET_LINE_PIN=PINB
CDEFS += -DRESET_LINE_DDR=DDRB
CDEFS += -DRESET_LINE_MASK="(1 << 4)"
CDEFS += -DVTARGET_ADC_CHANNEL=2
CDEFS += -DENABLE_ISP_PROTOCOL
CDEFS += -DENABLE_PDI_PROTOCOL


в этом же файле и контроллер прописан

Код
# MCU name
MCU = at90usb1287


А в файле LUFA 091223\LUFA\Drivers\USB\LowLevel\LowLevel.h
целый букет поддерживаемых контроллеров
Код
/* Preprocessor Checks and Defines: */
        #if !defined(F_CLOCK)
            #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile.
        #endif
    
        #if (F_CLOCK == 8000000)
            #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \
                 defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__))
                #define USB_PLL_PSC                0
            #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
                #define USB_PLL_PSC                0
            #elif (defined(__AVR_AT90USB646__)  || defined(__AVR_AT90USB1286__) || defined(__AVR_ATmega32U6__))
                #define USB_PLL_PSC                ((1 << PLLP1) | (1 << PLLP0))
            #elif (defined(__AVR_AT90USB647__)  || defined(__AVR_AT90USB1287__))
                #define USB_PLL_PSC                ((1 << PLLP1) | (1 << PLLP0))
            #endif
        #elif (F_CLOCK == 16000000)
            #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \
                 defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__))
                #define USB_PLL_PSC                (1 << PLLP0)
            #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
                #define USB_PLL_PSC                (1 << PINDIV)
            #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_ATmega32U6__))
                #define USB_PLL_PSC                ((1 << PLLP2) | (1 << PLLP1))
            #elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__))
                #define USB_PLL_PSC                ((1 << PLLP2) | (1 << PLLP0))
            #endif
        #endif
        
        #if !defined(USB_PLL_PSC)
            #error No PLL prescale value available for chosen F_CPU value and AVR model.
        #endif
Rst7
Да это все понятно. Контроллер - заменить на 90USB162, порт выбрать подходящий и все, зашибись smile.gif

Цитата
В режиме PDI обмен похоже по USART осуществляется


Ну видимо есть и второй способ, судя по #ifdef.
dimka76
Цитата(Rst7 @ Jan 11 2010, 15:54) *
Ну видимо есть и второй способ, судя по #ifdef.


А второй способ это программный ногодрыг UARTовскими ногами ))).

На мой взгляд, удобнее было бы использовать USART в обоих случаях (PDI & ISP), только в режиме ISP USART переключить в SPI mode.
Rst7
Цитата
На мой взгляд, удобнее было бы использовать USART в обоих случаях (PDI & ISP), только в режиме ISP USART переключить в SPI mode.


Мне - пофиг. Абы работало smile.gif
dimka76
Цитата(Rst7 @ Jan 11 2010, 16:06) *
Мне - пофиг. Абы работало smile.gif


И путаться в двух разъемах
Rst7
Цитата
И путаться в двух разъемах


Не поверите smile.gif В одном разъеме 5 ножек, в другом - 3 smile.gif
dimka76
Цитата(Rst7 @ Jan 11 2010, 16:13) *
Не поверите smile.gif В одном разъеме 5 ножек, в другом - 3 smile.gif


Один разъем лучше двух biggrin.gif

Цитата
Так оставьте ненужные споры! Я себе уже все доказал
Rst7
Цитата
Один разъем лучше двух


Я думаю, Вы сможете допилить все самостоятельно smile.gif
dimka76
Цитата(Rst7 @ Jan 11 2010, 16:26) *
Я думаю, Вы сможете допилить все самостоятельно smile.gif


Я тоже smile.gif

Что-то расфлудились мы с этими разъемами wink.gif
Dx!
По уму ещё в мейкфайле нужно указывать плату (USER или совсем своё описалово допилить), или вычищать всякое упоминание светодиодов/кнопок из основного тельца..
dimka76
Цитата(Rst7 @ Jan 11 2010, 14:22) *
У кого под рукой есть подходящий тулчейн? Соберите под AT90USB162, а?


Вот пожалуйста.

--------- Target Information ---------
AVR Model: at90usb162
Board: USBKEY
Clock: 8000000Hz CPU, 8000000Hz Master

Нажмите для просмотра прикрепленного файла
dimka76
Выкладываю свою схемотехническую реализацию проекта, ссылку на который приводил выше.
Контроллер AT90USB162
Кварц 8 МГц
Разъем выхода программатора - один, с распиновкой как у оригинального AVR ISPmkII.

Нет поддержки TPI.

Полностью проверено на tyni2313 и mega644.
ATxmega128A3 проверено только стирание и чтение сигнатуры.

Размеры платы выбраны произвольными, т.е. плата не была рассчитана под установку в какой-либо корпус.

Кстати, на сайте http://www.fourwalledcubicle.com появилась новая версия проекта от 02.19.2010 даже со схемой.

Нажмите для просмотра прикрепленного файла
swisst
Цитата(dimka76 @ Feb 27 2010, 11:57) *
Выкладываю свою схемотехническую реализацию проекта, ссылку на который приводил выше.
Контроллер AT90USB162
Кварц 8 МГц
Разъем выхода программатора - один, с распиновкой как у оригинального AVR ISPmkII.

Нет поддержки TPI.

Полностью проверено на tyni2313 и mega644.
ATxmega128A3 проверено только стирание и чтение сигнатуры.

Размеры платы выбраны произвольными, т.е. плата не была рассчитана под установку в какой-либо корпус.

Кстати, на сайте http://www.fourwalledcubicle.com появилась новая версия проекта от 02.19.2010 даже со схемой.

Нажмите для просмотра прикрепленного файла


RESPECT. Буду иметь в виду. biggrin.gif
V_N
Вот здесь готовый програматор http://www.kosmodrom.com.ua/el.php?name=XMEGA-FP
swisst
Цитата(V_N @ Feb 28 2010, 13:58) *
Вот здесь готовый програматор http://www.kosmodrom.com.ua/el.php?name=XMEGA-FP


за 300 грн...упаси Боже...уж лучше на Дракон подсобирать
microsin
Цитата(Dx! @ Jan 11 2010, 14:17) *
Железка - любая USB AVR.
http://www.fourwalledcubicle.com/AVRISP.php


Вот эта хорошо подойдет - AVR-USB162. Стоит недорого - 500 рублей (в сборе). Пустая плата - 300 рублей.

Владивольт
Цитата
AVR-USB162

совершенно напрасно на C1 сэкономили.
• Ucap capacitor таки should be 1μF (+/- 10%) for correct operation.
dimka76
Тут в моей схемке ошибочка обнаружилась.
После программирования контроллеров серии xmega программа не запускается пока не отключишь
программируемый контроллер от программатора.

Доработки для устранения:
1. Не устанавливать R9.
2. Я обновил прошивку программатора.Нажмите для просмотра прикрепленного файла
oll
По подсказке товарищей - новая тема, где сам отпишусь, или может кто чего расскажет...
сразу скажу программатор ув. Петки не делал - до того давно сделал (утюгом) программатор Гудвина (сделал и под USB и под COM порт - оказалось надежнее) - он с возможностью отладки, но не о нем тема.
Сейчас заказал платки нового перспективного программатора (мое мнение) AVRISP mkII новый клон
Начало положено тут:
http://caxapa.ru/178587.html?todo=full
продолжение:
http://radiokot.ru/forum/viewtopic.php?f=20&t=26417
http://kazus.ru/forums/showthread.php?t=17413
платы мне задерживают до следующей недели, извиняйте пока лично не могу написать о результатах.
p.s. Тут правда LPC11xx предложили по 0.42$...
dimka76
Цитата(oll @ Apr 6 2010, 19:37) *
По подсказке товарищей - новая тема, где сам отпишусь, или может кто чего расскажет...


А сюда не смотрели wink.gif
oll
Цитата(dimka76 @ Apr 7 2010, 10:49) *
А сюда не смотрели wink.gif

пропустил laughing.gif
IGK
Цитата(oll @ Apr 6 2010, 18:37) *
p.s. Тут правда LPC11xx предложили по 0.42$...

А где такое предлагают, если не секрет? Зело интересно, мне бы так предложили...
oll
Цитата(IGK @ Apr 7 2010, 20:06) *
А где такое предлагают, если не секрет? Зело интересно, мне бы так предложили...

Знакомый, который покупает микроконтроллеры большими партиями, завтра может все прояснится - отпишусь...
oll
последний злостный off не в тему по кортексам:
Ну в общем все стало на свои места - есть "Специальное предложение на отладочное средство для микроконтроллеров NXP серии LPC1100 с ядром Cortex-M0 всего за 750 рублей" от
http://www.gamma.spb.ru/news.php?id=512
http://www.gamma.spb.ru/news.php?id=496
При покупке оного дают (вначале было 10 шт.) сейчас 5 шт. LPC1114 по 0.42$ (это моему товарищу, а может и всем - 100 пока не дают) - буду брать, все равно, даже озвучена в Киеве завышенная цена 1.86$ - для меня как замена mega88/mega32 вполне приемлема.
akatenev
Собирал себе программатор для Xmega на платке, которую предложил microsin (AT90USB162 и минимум обвязки). Собственно, в самой простом варианте никаких дополнительных компонентов, кроме разъема, вообще не нужно. Все работает и на обычных AVR и на XMega - проверял на ATXmega32A4. Платка перемычкой переключается на 3 вольта, и вполне способна при том питать программируемое устройство, если там потребление небольшое.

С AVRStudio работает как родной AVRISP MkII.

Работает и с программным, и с аппаратным PDI, аппаратный в несколько раз быстрее, но и программный работает достаточно шустро, и особенных проблем не создает. Я оставил себе программный вариант, для совместимости по разъемам с ISP.

В качестве дополнения можно поставить конвертер интерфейса с 5 на 3 вольта.

В общем, рекомендую. Глюков пока не заметил. Дешево и сердито. Платка сама по себе очень удобная, можно просто поставить разъем на основную часть, а можно на макетной части добавить конвертер.
zltigo
Цитата(oll @ Apr 8 2010, 14:49) *
Cortex-M0 всего за 750 рублей" от

Ну и зачем этот LPC-Link с CodeRed ? Выбросить? Купите себе на эти деньги сколько надо LPC1xxx пусть хоть и за 1,5-2 бакса.
oll
Цитата(zltigo @ Apr 9 2010, 00:07) *
Ну и зачем этот LPC-Link с CodeRed ? Выбросить? Купите себе на эти деньги сколько надо LPC1xxx пусть хоть и за 1,5-2 бакса.

индус на странице напугал biggrin.gif :
http://ics.nxp.com/lpcxpresso/
пока своих плат наделаю - хочется поиграться, потом, может продам.
Да надо было сразу это заказывать http://www.coocox.org/CoLinkLPCGuide/Buy_CoLinkEx.htm
artem79
Цитата(dimka76 @ Feb 27 2010, 13:57) *
Выкладываю свою схемотехническую реализацию проекта, ссылку на который приводил выше.


Собрал по приведенному проекту. Все отлично. Работает. Если что "вылезет" отпишусь.
level
Подскажите схема от dimka76 пишет еепром на mega8 , mega32 ? А то на радиокоте
жалуются на этот глюк . Вот думаю есть ли смысл собирать ,если запись еепром глючит ?
level
Что никто не проверял что ли ?
dimka76
Цитата(level @ Sep 7 2010, 12:41) *
Подскажите схема от dimka76 пишет еепром на mega8 , mega32 ? А то на радиокоте
жалуются на этот глюк . Вот думаю есть ли смысл собирать ,если запись еепром глючит ?


На таких контроллерах не проверял. Но обнаружились баги, которые пока не исправлял.

Пишет FLASH m168, m324PA, m1284, ATxmega128A3. (провнрено)

Сбои при программировании m16, t24.
Sun525
Mega128, eeprom не пишет.
Антон Малыгин
Попоробую собрать тоже. Незнаю правда лазерно-утюжная печать позволит имеющиеся файлы перевести на тестолит или же придётся переразводить.
dimka76
Кстати, подправил прошивку.

Нажмите для просмотра прикрепленного файла


Неприятности с непрошивкой должны устраниться
ArseGun
To dimka76:
Вопросы по вашему программатору.
1. Какой смысл в ISP разъеме X1? Или здесь прошивку в AT90USB162 через USB & LUFA не залить?
2. Для чего нужны джамперы J1 и J2?
Спасибо.
dimka76
Цитата(ArseGun @ Oct 14 2010, 00:10) *
1. Какой смысл в ISP разъеме X1? Или здесь прошивку в AT90USB162 через USB & LUFA не залить?

Для программирования AT90USB162, можно и FLIP конечно применить.
Цитата
2. Для чего нужны джамперы J1 и J2?

Для входа в режим загразчика для работы с FLIP. Сначала ставите обе, потом подается питание, снимается перемычка RESET, снимается вторая перемычка.
После этого AT90USB162 готова для прошивки FLIP.
За более подробной информацией обращайтесь к datasheet стр.220 "Entering the Boot Loader Program".
oll
Сегодня как раз флипом шил свою платку на AT90USB162 с целью использовать как программатор AVRISP-MKII. 13 нога висит в воздухе, на ресете (24 нога) только ёмкость на землю 0.1. 13 ногу - подсоединил проводком на землю, подсоединил плату к USB - флип спокойно залил новую прошивку, кнопка Start Application - у меня новый девайс программатор AVRISP-MKII. Установились автоматом какие то драйвера в XP, AVR Studio распознала девайс. Убрал на всякий перемычку на землю с 13 ноги. Прошил 30 мег48 с EEPROM без проблем.
ArseGun
To dimka76
Спасибо большое за разъяснения, почитал, разобрался вроде.
Антон Малыгин
Самое плохое..не могу найти AT90USB162...везде в магазинах под заказ либо вообще нету..
Да и как то совсем плохо скало с МК и дисплеями на стекле...как раз нужно, а они все исчезли.
11vetal
А на 90USB1287 кто нибудь собирал? Есть ли глюки? Нашел микруху хочу попробовать собрать программатор.
dimka76
На днях попробовал прошить все 512 байт EEPROM mega8 своей версией программатора (речь о котором идет в этом топике).

Прошивка прошла успешно, без ошибок sm.gif
prottoss
Цитата(dimka76 @ Dec 13 2010, 14:11) *
На днях попробовал прошить все 512 байт EEPROM mega8 своей версией программатора (речь о котором идет в этом топике).

Прошивка прошла успешно, без ошибок sm.gif
Автору LUFA сообщили?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.