реклама на сайте
подробности

 
 
> ATxmega
zombi
сообщение Sep 15 2008, 23:11
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Народ, а ATxmega уже кто-нить видел живьем?
Go to the top of the page
 
+Quote Post
23 страниц V  « < 20 21 22 23 >  
Start new topic
Ответов (315 - 329)
Leonmezon
сообщение May 5 2010, 06:32
Сообщение #316


Частый гость
**

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(MDD @ May 5 2010, 08:22) *
Да чего там мелочиться - сразу 220В в чип, было бы еще бюджетнее biggrin.gif
А что касается рисунков, то на 25-10 они действительно погорячились - входное напряжение у них однозначно "слегка" заходит в отрицательную область, даже если они хотели сказать что-то другое(возможность получения отрицательных кодов из-за смещения).
Сомневаюсь, что таким образом АЦП может оцифровывать допустимые -0.5В.
Интересно, исправят ли в следующей версии...


Согласен. Я еще хочется аппаратный преобразователь RS232-USB3!, аналоговый вход с цифровыми фильтрами, выход на VGA (можно простенький), токовый выход на шаговые двигатели (по каждой фазе не менее 1 А), еще разные АЦП (24 сигму-дельту, 16 - параллельный...), можно еще ЦАП разных, цифровых потенциометров и т.п. и обязательно выход на кнопку "Шедевр" - чтоб сам тестил программу и исправлял ошибки! Во как! rolleyes.gif

А даташит не поправят: как понял из ответа МК при отрицательных напряжениях могут гореть - так что производителю это на руку.
Go to the top of the page
 
+Quote Post
Prodif
сообщение May 17 2010, 09:46
Сообщение #317





Группа: Участник
Сообщений: 14
Регистрация: 1-01-08
Пользователь №: 33 759



Как правильно .. Планируется ATxmega256A3, по докам заливается через JTAG и PDI. Даже если предположительно ISP по SPI и заработал бы (ну в теории), то все равно оба набортных SPI нагружены потребителями. При наличии не дорогого AVRISPMK2 возможен вариант только по PDI, если нюансов с AVR studio не возникнет. Но тут еще не задача, у PDI задействуется порт reset, а на этом порту тоже мониторчик питания висит. И как правильнее сей нюанец обойти? (джампер-переключатель думаю не оптимальный вариант)
Или может оно и так без проблем будет работать, потому как для всяких резисторов ... 3V питания всего.

Сообщение отредактировал Prodif - May 17 2010, 09:52
Go to the top of the page
 
+Quote Post
V_G
сообщение May 17 2010, 10:30
Сообщение #318


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(Prodif @ May 17 2010, 20:46) *
Но тут еще не задача, у PDI задействуется порт reset, а на этом порту тоже мониторчик питания висит. И как правильнее сей нюанец обойти?

А чем не устраивает встроенный мониторчик питания (brown-out), нетрадиционные уровни, что ли?

Я-то использую внешний, если меня не устраивает сброс по brown-out (предпочитаю высокоуровневое прерывание). Если вам принципиально, посмотрите выходную емкость вашего мониторчика и требования по емкости на ноге PDI.
Go to the top of the page
 
+Quote Post
Prodif
сообщение May 17 2010, 10:44
Сообщение #319





Группа: Участник
Сообщений: 14
Регистрация: 1-01-08
Пользователь №: 33 759



"V_G'
Тут получается не только емкость, монитор формирует 1 выходным ключем и есть ли там встроенный резистор доподлинно не известно. Так что позволит ли точек через ключ сформировать нормальные импульсы программатору вот в чем вопрос.
Go to the top of the page
 
+Quote Post
V_G
сообщение May 17 2010, 11:49
Сообщение #320


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(Prodif @ May 17 2010, 21:44) *
и есть ли там встроенный резистор доподлинно не известно. Так что позволит ли точек через ключ сформировать нормальные импульсы программатору вот в чем вопрос.

Внутренняя подтяжка ресета есть - читайте мануал. Главное, чтобы монитор имел открытый коллектор.
Go to the top of the page
 
+Quote Post
Fusion
сообщение May 31 2010, 13:31
Сообщение #321


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 19-07-06
Пользователь №: 18 920



Помогите разобраться с АЦП
ATxmega32A4 тактирование внутр. 32 мГц
АЦП - signed, FREERUN, 12bit left adjusted, 1 вольт внутренняя опора.
Результат измерения изменяется от частоты тактирования АЦП.
Например при 2 мГц (прескалер DIV16) результат меньше почти в два раза , чем при 62.5 кГц (прескалер DIV512).
Код инициализации АЦП:
Код
ldi temp, 1<<ADC_ENABLE_bp; ADC Enable
sts ADCA_CTRLA,temp

ldi temp, 1<<ADC_CONMODE_bp | 1<<ADC_FREERUN_bp    | 3<<ADC_RESOLUTION_gp
sts ADCA_CTRLB,temp    ; signed, FREERUN, 12bit left adjusted
        
ldi temp, 2<<ADC_PRESCALER_gp            ; /16  (2 mHz)
sts ADCA_PRESCALER,temp

ldi temp, 2<<ADC_CH_INPUTMODE_gp;    Differential input signal
sts ADCA_CH0_CTRL,temp

ldi temp, 1<<AC_MUXNEG0_bp        ; ADC1 pin NEG
sts ADCA_CH0_MUXCTRL, temp
Go to the top of the page
 
+Quote Post
Fusion
сообщение Jun 1 2010, 08:19
Сообщение #322


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 19-07-06
Пользователь №: 18 920



Вопрос снят. Все нормализовалось после замены меги.
Вероятно спалил пока экспериментировал....
При 2 мГц выдает стабильных 10 разрядов. Два младшие скачут (печатка - макетка).
Go to the top of the page
 
+Quote Post
gzigzeo
сообщение Jun 1 2010, 17:06
Сообщение #323





Группа: Новичок
Сообщений: 5
Регистрация: 13-01-09
Пользователь №: 43 316



Цитата(SAWushka @ Mar 15 2010, 20:33) *
Для отладки только: AVR Dragon; AVR JTAGICE mkII или AVR ONE
Для программирования AVRISP mkII


В описании AVR Dragon на Атмеловском сайте нет в числе интерфейсов отладки PDI, как нет и xmega в числе поддерживаемых устройств.
С другой стороны на этом же сайте есть информация, что в AVR Studio 4.18 вошла поддержка отладки xmega Драгоном.

Поэтому вопрос: дебажится xmega (интересует серия A4) Dragon'ом всё же или нет? Может кто-то проверял?

Спасибо за ответы
Go to the top of the page
 
+Quote Post
Duhas
сообщение Jul 6 2010, 17:52
Сообщение #324


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



таки добрался до железа..

ковыряю таймер.. выставил прерывание по переполнению, поставил средний уровень прерывания (других пока нет), прерывания среднего и других - разрешил.. глобально - тоже... драконом вижу флаг.. прерывания нету...
Go to the top of the page
 
+Quote Post
MDD
сообщение Jul 6 2010, 18:15
Сообщение #325


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Вроде все правильно, других хитростей там нет. Вы бы исходники привели, может там опечатка какая.
Go to the top of the page
 
+Quote Post
Duhas
сообщение Jul 7 2010, 02:27
Сообщение #326


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



все что пропущено работает...
разобрался!
сначала написал так: перепутал битмаск и битпозишн
Код
    
    ldi        tmp1,            1<<PMIC_MEDLVLEX_bm
    sts        PMIC_CTRL,        tmp1


потом когда дописывал остальные и исправлял написал корявое или )
Код
    
    ldi        tmp1,            (1<<PMIC_MEDLVLEX_bp)||(1<<PMIC_LOLVLEX_bp)||(1<<PMIC_HILVLEX_bp)
    sts        PMIC_CTRL,        tmp1


надо спать поранее ложиться)

Сообщение отредактировал Duhas - Jul 7 2010, 02:36
Go to the top of the page
 
+Quote Post
MDD
сообщение Jul 7 2010, 05:42
Сообщение #327


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Цитата(Duhas @ Jul 7 2010, 05:27) *
перепутал битмаск и битпозишн


А я вот не люблю сишную китайскую грамоту при работе с именованными битами. Предпочитаю писать так

Код
    
PMIC.CTRL|=0x07;//разрешаем обработку прерываний низкого, среднего и высокого уровня

Знаю, что это "некошерно" smile.gif . Но лично мне так удобнее. Лишний повод вникнуть в даташит, выписать на листочке какой бит за что отвечает...
Go to the top of the page
 
+Quote Post
Duhas
сообщение Jul 7 2010, 11:38
Сообщение #328


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



я сам пишу частенько так - 0b11001100 )

но местами пишу по той самой "грамоте"... как оказалось - зря ))) минут 40 перед сном убил ) какая все-таки медленная отладка...
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 9 2010, 12:29
Сообщение #329


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Вопрос по контроллеру DMA в xmega128A3.
Мне нужно по Event 0 данные из регистра IN порта записывать в циклический буфер размером в 16 байт. Контороллер конфигурирую так:
Код
//DMA Configuration
DMA_CTRL = (1<<DMA_RESET_bp);
DMA_CH0_CTRLA = (1<<DMA_CH_RESET_bp);
    
DMA_CH0_CTRLB    = (0<<DMA_CH_ERRINTLVL_gp)|(3<<DMA_CH_TRNINTLVL_gp);
//ERRINTLVL - OFF; TRNINTLVL - high
    
DMA_CH0_ADDRCTRL = (2<<DMA_CH_SRCRELOAD_gp)|(1<<DMA_CH_SRCDIR_gp)|
                    (1<<DMA_CH_DESTRELOAD_gp)|(1<<DMA_CH_DESTDIR_gp);
//SRCRELOAD - BURST; SRCDIR - INC; DESTRELOAD - BLOCK; DESTDIR - INC
    
DMA_CH0_TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH0_gc;
//Запуск от события 0
    
DMA_CH0_TRFCNT = 16;//Размер блока - 0
DMA_CH0_REPCNT = 0; //Кол-во повторов - неограничено
    
DMA_CH0_SRCADDR0 = (unsigned long)SR_ADDR & 0xFF;
DMA_CH0_SRCADDR1 = ((unsigned long)SR_ADDR>>8) & 0xFF;
DMA_CH0_SRCADDR2 = ((unsigned long)SR_ADDR>>16) & 0xFF;
    
DMA_CH0_DESTADDR0 =  (unsigned long)DataBuffer & 0xFF;
DMA_CH0_DESTADDR1 =  ((unsigned long)DataBuffer >> 8) & 0xFF;
DMA_CH0_DESTADDR2 =  ((unsigned long)DataBuffer >> 16) & 0xFF;
    
DMA_CH0_CTRLA = (1<<DMA_CH_ENABLE_bp)|//Enable DMA chanal 0
                  (1<<DMA_CH_REPEAT_bp)|//Repeat ON
                  (0<<DMA_CH_TRFREQ_bp)|//TRFRE - OFF
                  (1<<DMA_CH_SINGLE_bp)|//Single Shot Data transfer - ON
                  (0<<DMA_CH_BURSTLEN_gp); //BURSTLEN - 1byte
    
DMA_CTRL = (1<<DMA_ENABLE_bp)|(1<<DMA_DBUFMODE_gp)|(3<<DMA_PRIMODE_gp);

В результате получается, что после передачи каждого блока, когда TRFCNT доходит до 0, сбрасывается бит ENABLE в регистре CH0_CTRLA.
!!! Поскольку отлаживать в железе пока нет возможности то пытаюсь отлаживать в симуляторе avrstudio(что симуляторы - зло знаю smile.gif). Вопрос собственно в том Enable сбрасывается и в реальности или это глюк симулятора? Или с настройками контроллера что-то не так?

Сообщение отредактировал =F8= - Jul 9 2010, 12:31
Go to the top of the page
 
+Quote Post
MDD
сообщение Jul 9 2010, 14:37
Сообщение #330


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Цитата(=F8= @ Jul 9 2010, 15:29) *
это глюк симулятора? Или с настройками контроллера что-то не так?

Или то, или другое smile.gif
В конкретику реализации вникать лень. Но могу сказать, что в железе Хмега прекрасно работает с кольцевыми буферами и по "складыванию", и по "раздаче". Из замеченных тонкостей работы с DMA - если используете прерывание по окончании транзакции, то бит запроса прерывания нужно сбрасывать в прерывании вручную. Автоматически заходом в прерывание биты от DMA не сбрасываются.
Go to the top of the page
 
+Quote Post

23 страниц V  « < 20 21 22 23 >
Closed TopicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 01:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016