|
ATXMEGA - запуск от внешнего таймера, ATXMEGA128A1 |
|
|
|
Sep 11 2013, 11:14
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Товарищи! Помогите запустить ATXMEGA128A1 от врешнего кварцевого генератора 25 МГц! Пишу под GCC в AVR Studio 4.19. В качестве результата хочется получить на PE7 clkPer (через event system). Мой код, который не дал результата, таков: Код int main(void) { cli();
OSC_XOSCCTRL = OSC_FRQRANGE_12TO16_gc | OSC_XOSCSEL_EXTCLK_gc; OSC_CTRL = OSC_XOSCEN_bm; while(!(OSC_STATUS & OSC_XOSCRDY_bm)) {; }
CPU_CCP = CCP_IOREG_gc; CLK_CTRL = CLK_SCLKSEL_XOSC_gc; OSC_CTRL &= 0xFE;
EVSYS_CH0MUX = EVSYS_CHMUX_PRESCALER_1_gc; // ClkPER div by 2^0 is event source PORTCFG_CLKEVOUT = PORTCFG_EVOUT_PE7_gc; // Event Channel 7 Output on Port E pin 7 // PORTCFG_CLKOUT_PE7_gc = (0x03<<0)
PORTA_DIR = 0b00000000; PORTB_DIR = 0b11111111; PORTC_DIR = 0b00000000; PORTD_DIR = 0b00000000; PORTE_DIR = 0b10000000; // PE7 must be configured as output for the event to be available on the pin PORTF_DIR = 0b00000000; PORTH_DIR = 0b00000000; PORTJ_DIR = 0b00011000; PORTK_DIR = 0b00000000; PORTQ_DIR = 0b0000;
while (1) { asm ("nop"); } }
Сообщение отредактировал Slonofil - Sep 11 2013, 11:15
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 14)
|
Sep 11 2013, 16:19
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Цитата(zombi @ Sep 11 2013, 18:42)  Вы уверены что правильно разрешаете работу генератора? В Си не силён, но в примерах встречал вот так : OSC.CTRL|=OSC_XOSCEN_bm; Я не накладываю маску, а задаю явное значение. Может, в этом проблема - обнуление бита работы внутреннего 2МГц генератора может быть игнорируется, а может и игнорирует всю команду... попробую сделать с маской. Но тут ещё другая проблема: не запускается каметь даже от внутреннего генератора...
|
|
|
|
|
Sep 11 2013, 16:45
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Цитата(zombi @ Sep 11 2013, 19:41)  Что значит не запускается??? От внутр. RC2M дОлжОн запускаться обязятельно! Сначала простое ногодрыганье от внутр. 2MHz! а уже потом всякие внешние генераторы, сис. событий и т.д. Во, я тоже так думал! А нифига, не дрыгаются ноги. Вот такая программа никак не идёт, хотя компилируется без ошибок (что ожидаемо), и штатно шьётся, судя по поведению AVR ISP mkII. Код #include <avr/io.h> #include <stdint.h> #include <stdlib.h> #include <avr/interrupt.h>
int main(void) { cli();
PORTA_DIR = 0b00000000; PORTB_DIR = 0b11111111; PORTC_DIR = 0b00000000; PORTD_DIR = 0b00000000; PORTE_DIR = 0b10000000; // PE7 must be configured as output for the event to be available on the pin PORTF_DIR = 0b00000000; PORTH_DIR = 0b00000000; PORTJ_DIR = 0b00011000; PORTK_DIR = 0b00000000; PORTQ_DIR = 0b0000;
while (1) { PORTB_OUT = 0x55; asm ("nop"); PORTB_OUT = 0xAA; } }
|
|
|
|
|
Sep 11 2013, 16:56
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Цитата(zombi @ Sep 11 2013, 19:51)  Ну тогда я пас. Надо сишников подождать Или накропайте микро прогу на асме. С фузами всё в порядке? А что за плата? Плата готовая, требуется освоить. На асме на такой же плате мега по крайней мере запускалась, теперь стоит задача оживить пациента на С. С фьюзами даже и не знаю, что делать, так что пока оставил всё как есть, по умолчанию. А надо с ними что-то делать? Кстати, нужно ли подтягивать внешним резистором RESET к плюсу питания или нет? Вроде ж есть внутренний.
|
|
|
|
|
Sep 11 2013, 17:11
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Цитата(zombi @ Sep 11 2013, 20:06)  Ну Вам виднее, но я бы не доверял умолчаниям. Хрен его знает кто и как их умолчал  Ну, наверное, да. Тогда что нужно там выставлять? Сейчас как на картинке. Цитата(zombi @ Sep 11 2013, 20:06)  Всегда ставлю 10кОм. Щас ткнулся осциллографом в RESET - всё как положено при шитье через PDI - дрыги при программировании, "AVRISP mkII: : Done" в окошке среды, единица колом после программирования, и никаких больше движений.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 12 2013, 09:50
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(Slonofil @ Sep 12 2013, 13:13)  Правильно ли я понимаю, но наиболее родственно-близким к ATXMEGA128A1 будет ATXMEGA128A3? Я бы так не сказала. На мой взгляд, ближайшим родственником ATXMEGA128A1 будет ATXMEGA128A1 U. И только потом всё остальное. Цитата(Slonofil @ Sep 12 2013, 13:13)  И чем ATXMEGA128A3 отличается от ATXMEGA128A3U (который в половину дешевле)? Главным образом, наличием USB. Минорные отличия описаны здесь: Migration from ATxmega256A3/192A3/128A3/64A3 to ATxmega256A3U/192A3U/128A3U/64A3UЛишний USB не мешает, т.к. его пины можно использовать по старому назначению. Берите с буквой U, они новые и в них errara исправлена. А старые стоят дороже, как антиквариат  , т.к. с производства сняты.
|
|
|
|
|
Sep 12 2013, 09:59
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Цитата(Xenia @ Sep 12 2013, 12:50)  Главным образом, наличием USB. Минорные отличия описаны здесь: Migration from ATxmega256A3/192A3/128A3/64A3 to ATxmega256A3U/192A3U/128A3U/64A3UБерите с буквой U, они новые и в них errara исправлена. А старые стоят дороже, как антиквариат  , т.к. с производства сняты. Исключительно благодарен, уважаемая Xenia! Цитата(Xenia @ Sep 12 2013, 12:50)  Я бы так не сказала. На мой взгляд, ближайшим родственником ATXMEGA128A1 будет ATXMEGA128A1U. И только потом всё остальное. Как писАл постом выше, у меня нет макетки для 100-ногого TQFP, ищу на 64 ноги, но наиболее похожий по внутренностям. Интересно, а А1/А3 действительно сняты с производства? Где можно взглянуть на их производственный статус? На странице Атмела не нашёл =(
Сообщение отредактировал Slonofil - Sep 12 2013, 10:03
|
|
|
|
|
Sep 12 2013, 10:16
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(Slonofil @ Sep 12 2013, 13:59)  Интересно, а А1/А3 сняты с производства? Где можно взглянуть на их производственный статус? На странице Атмела не нашёл =( Не признаются пока, видимо на складе старых еще полно. Но новые с буквой U клепают вовсю, да и цена у них низкая. Тут ведь как еще произошло - семейство XMega началось с самой "крутой" A1, а прочие (A3, A4, B1, B3, C3, C4, D3, D4, E5) в той или иной степени представляют ее урезанные варианты, хотя и что-то из интерфейсов бывает добавлено. В этом смысле A1 не повезло, т.к. первый блин обычно бывает комом  . Из-за этого у нее самая длинная errata, причем во многих случаях неисправимая (не работает bootloader, DMA SPI в master-режиме и многое другое). Это-то и досадно. Но тут на счастье подоспела A1U, у которой многое удалось исправить. В этой ситации продолжать производить старые A1 уже не имеет никакого смысла. С A3 ситуация получше, т.к. в ее конструкции кое-что из огрехов A1 было исправлено с самого начала, но A3U, на мой взгляд, все равно предпочтительнее. Однако надо понимать, что XMega - новая серия, имеющая очень много отличий от прошлых Mega. И к тому же пересыщенная периферией. Было бы невероятным, если бы флагман этой серии получился бы сразу без сучка и без задоринки.
|
|
|
|
|
Sep 12 2013, 10:24
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Цитата(Xenia @ Sep 12 2013, 13:16)  Не признаются пока, видимо на складе старых еще полно. Но новые с буквой U клепают вовсю, да и цена у них низкая. Тут ведь как еще произошло - семейство XMega началось с самой "крутой" A1, а прочие (A3, A4, B1, B3, C3, C4, D3, D4, E5) в той или иной степени представляют ее урезанные варианты, хотя и что-то из интерфейсов бывает добавлено. В этом смысле A1 не повезло, т.к. первый блин обычно бывает комом  . Из-за этого у нее самая длинная errata, причем во многих случаях неисправимая (не работает bootloader, DMA SPI в master-режиме и многое другое). Это-то и досадно. Но тут на счастье подоспела A1U, у которой многое удалось исправить. В этой ситации продолжать производить старые A1 уже не имеет никакого смысла. С A3 ситуация получше, т.к. в ее конструкции кое-что из огрехов A1 было исправлено с самого начала, но A3U, на мой взгляд, все равно предпочтительнее. Однако надо понимать, что XMega - новая серия, имеющая очень много отличий от прошлых Mega. И к тому же пересыщенная периферией. Было бы невероятным, если бы флагман этой серии получился бы сразу без сучка и без задоринки. Видите ли, какое дело: я ни бум-бум ни в каких мегах, ни в старых, ни в новых, так что мне в принципе всё равно с чего начинать. Если Вы говорите, что лучше с A3U - так и сделаю. Главное, чтобы потом можно было знания применить на А1, которая уже заложена в плату, с которой хошь-не хошь, а надо работать. И вот ещё хотел уточнить у Вас как у опытного пользователя данной серии: а что ещё у А1 из серьёзного не допилено кроме бутлодыря и DMA+MasterSPI? Чтобы мне на мину не нарваться при первом же подходе к снаряду...
|
|
|
|
|
Sep 12 2013, 10:55
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(Slonofil @ Sep 12 2013, 14:24)  Видите ли, какое дело: я ни бум-бум ни в каких мегах, ни в старых, ни в новых, так что мне в принципе всё равно с чего начинать. Если Вы говорите, что лучше с A3U - так и сделаю. Главное, чтобы потом можно было знания применить на А1, которая уже заложена в плату, с которой хошь-не хошь, а надо работать. Этого я не говорила, а сказала лишь, что с буквой U лучше, чем без этой буквы. Т.е. понимать сказанное надо так, что A1U предпочтительнее, чем A1, а A3U предпочтительнее, чем A3. Тогда как A1/A1U и A3/A3U между собой я не сравнивала. Но на вашем месте, а бы заменила A1 на A1U, т.к. риска тут никакого нет, ввиду практически полного подобия (в том числе и в корпусах). А вот заменять A1 на A3/A3U поостереглась. Полагаю, что рисковать здесь стоило бы только в одном случае - если флеша нужно больше, чем 128К, т.к. у A1U предел 128К, а у A3U бывает до 256К. Цитата(Slonofil @ Sep 12 2013, 14:24)  И вот ещё хотел уточнить у Вас как у опытного пользователя данной серии: а что ещё у А1 из серьёзного не допилено кроме бутлодыря и DMA+MasterSPI? Чтобы мне на мину не нарваться при первом же подходе к снаряду... К сожалению, по чаcти ATXmega я тоже новичок (только один проект сделала), а бутлодырь и DMA+MasterSPI - это как раз то, на что я сама нарвалась  .
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|