Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Ср апр 16, 2014 17:50:15
Родился
Зарегистрирован: Чт мар 27, 2014 14:36:39 Сообщений: 3
Рейтинг сообщения:0
Спасибо, аппноут посмотрю на досуге.
Я еще тогда попробовал в рукопашную по образу и подобию того что MIB в начале топика советовал, но что-то он так и не запустился от 8МГц, как ни ворочал регистры.
А вот что помогло, так это поставить Atmel Studio 6.2 - они, видимо, пролечили примерчики.
Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Ср апр 16, 2014 18:32:48
Родился
Зарегистрирован: Чт мар 27, 2014 14:36:39 Сообщений: 3
Рейтинг сообщения:0
Frogfot писал(а):
2 vasich61:
Так какие результаты курения камня?
На тот момент мне нужно было просто ускорить его, т.к. не хватало скорости для обработки внешних прерываний. Курение даташита меня так и не спасло, поэтому ограничился новыми библиотеками. Использовал таймеры, внешние прерывания, GPIO. Сейчас появилась необходимость прицепить еще и UART на SERCOM. И вот тут-то и начались свистопляска опять, ибо с частотой от DFLL что-то не то и в UART при тактировании от DFLL начинает сыпаться какой-то мусор. По ходу, назревает второй подход к снаряду...
vasich61 писал(а):
SERCOM запустил только в режиме UART
а не пробовали настроить stdio так, чтобы можно было в UART посылать со стандартными printf'ами?
Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Ср апр 16, 2014 18:54:03
Мучитель микросхем
Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
vasich61 писал(а):
На тот момент мне нужно было просто ускорить его, т.к. не хватало скорости для обработки внешних прерываний. Курение даташита меня так и не спасло, поэтому ограничился новыми библиотеками. Использовал таймеры, внешние прерывания, GPIO. Сейчас появилась необходимость прицепить еще и UART на SERCOM. И вот тут-то и начались свистопляска опять, ибо с частотой от DFLL что-то не то и в UART при тактировании от DFLL начинает сыпаться какой-то мусор. По ходу, назревает второй подход к снаряду...
Ну суръёзный видать проект, раз скорости не хватало
Я использовал демоборд, на нём внешний кварц только 32 кГц, как вариант - можно попробовать подключить внешний генератор на лапку камушка.
С либами ASF я не разобрался, DFLL пытался запустить ручками, да так руки не дошли.
Могу попробовать курнуть ваш проект на своей демоборде, если покажете.
vasich61 писал(а):
а не пробовали настроить stdio так, чтобы можно было в UART посылать со стандартными printf'ами?
Не, не пробовал, периферию я настраивал ручками, и байтики отправлял тоже ручками.
Даже ума не приложу, как это сделать.
_________________ Хорошему коту и в декабре - март
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Привет всем!) Что-то я совсем запутался... Хочу настроить один вывод на вход АЦП, например PA02 делаю так: PORT->Group[0].PINCFG[2].bit.PMUXEN = 1; т.е. подключаю вывод PA02 к мультиплексору. а вот что вписывать в регистр PMUXn, не могу понять..
Вот выдержка из DS: The peripheral function can be selected by writing to the PMUXO or PMUXE bit group inthe PMUXn register. The PMUXO/PMUXE bit group is at byte offset (PMUX0 + (y / 32) / 2), in bits 3:0 if y is even and in bits 7:4 if y is odd.
Поигрался с таймерами и после того, как закоментировал строку вот так: //GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_ID(TC2_GCLK_ID) | GCLK_CLKCTRL_GEN(0) | GCLK_CLKCTRL_CLKEN);
контроллер перестал подавать признаки жизни, придется выкидывать или можно как-нибудь реанимировать? Сделано все на макетке, работаю в keil 5.0, ulink2, контроллер atsamd20e14
Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Вт июл 01, 2014 08:54:56
Мучитель микросхем
Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
layabdu писал(а):
Поигрался с таймерами и после того, как закоментировал строку вот так: //GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_ID(TC2_GCLK_ID) | GCLK_CLKCTRL_GEN(0) | GCLK_CLKCTRL_CLKEN);
Если не трогать клок, то контроллер по умолчанию запустится от внутреннего RC генератора на 8 МГц с предделителем на 8 - т.е. около 1 МГц.
Закоментируй всё, что касается клока, должен запустится. Попозже попробую разобраться с кодом.
_________________ Хорошему коту и в декабре - март
Перекосило скорее всего не с клоками, а программно отрублен JTAG. Лечится элементарно: камешек певодится в бут режим включается стирается отладчиком из ST-Link Utility.
Лечится проще - надо всего то подключить RESET . Но не в этой теме.
Ребята, вопрос по АЦП по порядку что я делаю и что не так:
Код:
GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_ID(ADC_GCLK_ID) | GCLK_CLKCTRL_GEN(0) | GCLK_CLKCTRL_CLKEN); //подключаю клок к ADC PORT->Group[0].PINCFG[2].bit.PMUXEN = 1; // подключаю PORTA.2 к мультиплексору PORT->Group[0].PMUX[1].bit.PMUXE = 0x01; // Peripheral function B selected (тут не понимаю, в группе B еще имеются Y[0] VOUT) ADC->CTRLB.bit.PRESCALER = 0x01; //DIV8 Peripheral clock divided by 8 ADC->INPUTCTRL.bit.MUXPOS = 0; //положительный вход на вход АЦП.0 ADC->INPUTCTRL.bit.MUXNEG = 0x18; //отрицательный на GND ADC->CTRLA.bit.ENABLE = 1; //включаю АЦП ADC->SWTRIG.bit.START = 1; //запускаю на измерение ... читаю ADC->RESULT.reg; // а там постоянно разные значения: то 0xFF, то 0, то другие хаотичные значения
Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Вт июл 08, 2014 23:44:21
Мучитель микросхем
Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
layabdu писал(а):
Ребята, вопрос по АЦП по порядку что я делаю и что не так
Ещё вроде нужно смотреть в STATUS флаг:
Bit 7 – SYNCBUSY: Synchronization Busy This bit is cleared when the synchronization of registers between the clock domains is complete. This bit is set when the synchronization of registers between clock domains is started.
Для SERCOM и таймеров обязательно, для АЦП в даташите не сказано.
_________________ Хорошему коту и в декабре - март
Это да, я пока что не анализирую флаги, просто выдерживаю явно большую паузу и смотрю результат. Кстати, если запускаю без отладчика, т.е. измерение АЦП вывожу сразу на индикатор OLED, то работает, вроде как надо. Видимо под отладчик читает регистры АЦП и это влияет как-то.
Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Чт июл 10, 2014 17:17:27
Родился
Зарегистрирован: Ср мар 12, 2014 11:18:31 Сообщений: 5
Рейтинг сообщения:0
Народ, а кто-нибудь разбирался с внешним тактированием? Хочу запустить камень от 7,37 МГц с gain 4. Но в asf в структуре, описывающей внешний кварец (struct system_clock_source_xosc_config ), нет почему-то поля для установки gain, только autogain enable/disable. Искать где-то еще? Устанавливать значение ручками? Или вообще использовать DFLL? Он-то работает? (так и не поняла из всего обсуждения)
P.S. новая версия IAR for ARM (7.20) поддерживает explained. Можно играться. Хотя сами атмеловцы в переписке утверждали, что работает и с 7.10.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения