В качестве среды разработки нужна AVR Studio 6.1 SP2, после 4.18/4.19 - куча нововведений и размер увеличился конкркетно, да и для работы машина нужна поновее - особенно ОЗУ любит - при загрузке примера почти пол Гектара кушает. Пока запускал только примеры с сайта Atmel. После AVR8 чип курится тяжко.
_________________ Хорошему коту и в декабре - март
Последний раз редактировалось Frogfot Пт дек 06, 2013 20:48:32, всего редактировалось 2 раз(а).
О! А я думал что сам сижу и въезжаю в эти чипы. Изучаю регистры, биты и группы битов. Что к чему. Курится тяжело, вот на тактировании застрял, с ASF всё идёт гладко, только с understanding туго, и видно что в либах набыдлокодили нехило. Думаю со временем приведут в порядок либы. Со всеми чипами так.
P.S. народ, кто разобрался с тактированием на уровне понимания. Помогите плз.
_________________ Do You Like Water?.. Yes?.. Good, Then You Already Like 72% Of Me
Ну назвать их генераторами сложно. Скажем так, GCG это модули у которых на входе мукс выбирающий откуда он клок возьмёт, далее делитель который умеет делить как кратно степеням двойки, так и любым значениям вплоть до 65535, и на выходе снова мукс который задаёт куда этот GCG отдаст клок. Модуль GCG может брать клок и у другого такого же GCG, и естественно не может использовать свой же клок. Кроме всего каждый из таких модулей имеет свой пин для подачи такта и пин для выдачи такта наружу. пин активизируется переферическим муксом (определяет какая переферия работает с этим пином или это обычный пин порта ВВ).
А вот самих настоящих генераторов у МК несколько. Три из них на 32 кГц. один ультра-лов-пауэр OSCULP32K - работает всегда, после ресет используется как тактировалка WDT, потом встроенный RC-генератор 32 кГц, его фишка в достаточно высокой точности и стабильности. и наконец внешний кварцевый генератор XOSC32K работает. Медленно запускается (еденицы секунд) генерит точный такт мало жрёт.
Далее идёт высокочастотный RC-генератор 8 МГц (OSC8M), имеет свой предделитель. После старта генерит 1 МГц для ядрышка.
Внешний кварцевый генератор 3... 30 МГц (кажись так, пишу не глядя в ДШ).
И самая жирная штуковина DFLL48M - тот же PLL но цифровой. Его опора такт в 32 кГц, но при этом он может разгонять свой выход до 48 МГц. Джитер вроде как лучше чем у обычного аналогового PLL. Чем DFLL от PLL отличается я не понял.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Пт дек 06, 2013 19:19:47
Мучитель микросхем
Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
2 MIB: а как насчёт поделиться рабочим примером инита клока, пока по ни по даташиту не могу вкурить, ни разобраться в примерах с сайта Атмела через кучу *.h файлов.
_________________ Хорошему коту и в декабре - март
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Просто решил не выкладывать на форум ничего пока не появятся те кто уже разобрался или проявляет интерес. (Незачем лишний раз загаживать ветку). own_defs.c - мои личные дефайны в моём же стиле. Чувствую сейчас полетят в меня какахи, мол, зачем тратить время если можно воспользоваться уже готовыми либами. Пишу этот файлик из-за того что-бы по максимуму почитать и разобраться.
volatile влепил скорее из-за метода научного тыка, хотя он не помог, всё равно не работает. оптимизацию отключил полностью.
Виснет в одном из мест где вызывается wait_status_syncbusy_is_busy(); причём если выбрать любой из уже работающих внутренних RC-генераторов, то не виснет (пример GENCTRL_SRC_OSC8M_bg, где виснет смотрите в камментах к коду, выше). А если выбрать GENCTRL_SRC_XOSC32K_bg то для GCG-1 происходит вешалка. самое интересное что XOSC32K запускается. это видно когда его отпускает while((SYSCTRL->PCLKSR.reg & PCLKSR_XOSC32KRDY_bm) == 0){}; (XOSC32KRDY бит готовности находится в PCLKSR регистре). И самое главное что на ножках 32-х кГц кварца вижу чёткое подобие синуса.
Ладно, пора домой топать. Frogfot, спасибо за поддержку. Мож кто отпишется к понедельнику. Поковыряю ещё чуток этот чип, но мыслей "что же не так" уже нет.
_________________ Do You Like Water?.. Yes?.. Good, Then You Already Like 72% Of Me
Заголовок сообщения: Re: Новый ARM Atmel Cortex-M0+ ATSAMD20
Добавлено: Вс дек 08, 2013 18:07:37
Мучитель микросхем
Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
MIB писал(а):
Внешний кварцевый генератор 3... 30 МГц (кажись так, пишу не глядя в ДШ).
Я таки начал смотреть в даташит - от 11/2013 стр. 127 - правильней будет 0,4-32 МГц.
На этот раз Atmel намутили чиста конкретна - раскидали тактирование и регистры генераторов по 4-м разделами 13-16 (а я мозги парю, пытаюсь вкурить по первым 2-м разделам 13-14).
Не скажу что сделали плохо - просто непривычно после AVR8 туева хуча регистров.
_________________ Хорошему коту и в декабре - март
Здесь нужно просто привыкнуть. Простой сёрфинг по AVR-ким даташитам это тоже выработанная привычка. Так же и с ARM.
С туевой хучей регистров ага, это сперва оно кажется избыточным. К примеру порты ВВ. Тут некислая жменька регистров. Сперва задаёшся вопросом - а нафига? Позже когда вникаешь начинаешь понимать. Ога, есть привычные регистры в который какую битовую комбинацию сунул, такая и высыпалась на выводах. Потом смотришь на регистры по соседству с этим регистром, и видишь что есть этот же регистр, но который умеет только устанавливать линии порта в лог. 1 и есть регистр который умеет только сбрасывать линии порта ВВ в лог. 0 состояние. Начинаешь въезжать что это нужно для того что-бы не делать процедуру чтение-модификация-запись. Это избавляет от необходимости использования масок для групп линий (когда из скажем 32-х линий порта нужно управлять только 8-ю, к примеру). Что имеем в результате? - меньше кода, быстрее работа с линиями портов ВВ.
Кстати с портами с самого начала сразу же и разобрался. Оч. понравилось что что-бы начать работать с портом достаточно настроить его направление (на выход) и тут же уже можно что-то выписывать в порт без обращения к дополнительным регистрам которые конфигурят массу прикольных функций порта. Иначе говоря дополнительный регистр PIN CONFIG уже настроен по умолчанию так что его не нужно трогать. Ну а если уж захочется настроить подтяжку вверх, подтяжку вниз, открытый коллектор, открытый эмиттер, режим slew rate (36 Ом резистор подключенный последовательно с линией порта для устранения ВЧ звона на длинных трассах) или же просто отрубить функцию порта и задействовать одну из групп периферий находящихся на этом пине, тогда нужно обратиться к регистрам PIN CNFG и периферическим MUX регистрам.
И да, в Cortex-M0+ доступ к портам ВВ однотактный. Фактически ядро работающее на 48 МГц сможет выдать на линии порта ВВ меандр частотой 24 МГц. Я компилил код, смотрел дизасм, никаких sbi или cbi инструкций как у AVR нет, но при этом видна всего одна строчка с одной асмовой инструкцией. Скажем, для старших кортексов типа М3 и М4 это слабое место, у них на "поднять линию" или "сбросить линию" уходит минимум 6 строчек, ну и естесно не менее 6-ти тактов (не знаю, все ли там инструкции однотактные).
_________________ Do You Like Water?.. Yes?.. Good, Then You Already Like 72% Of Me
Просмотрел камень . Atmel в своем репертуаре - аляповатый даташит . Камень жалкое подобие STM32F0xxx . Нет DMA , таймеры урезанные по самое не могу . RTC нет Backup домена и даже батарейку присобачить не куда . И все это на фоне неимоверных цен...
Всем добрый день. Мне тоже досталась плата Atmel® SAM D20 Xplained Pro. Народ помогите написать простенькую программу по управлению парой выводов МК. Необходимо для тестирования этой платы. Уже второй день мучаюсь, не могу разобраться с PORT PA10-PA19 EXT2 любые 2 вывода. Заранее благодарен.
Ну что тут скажешь, ATMEL это дерево с поздними плодами, пусть хоть и сочными. Знакомый который регулярно тусит и официального дистра ATMEL грит что будет следующее развитие SAM D20 в SAM D21. Там вроде как USB добавят и DMA каналы. Ну а так, полистал даташитинку на STM32F0, ффкусные чипики с жирными плюсами, но у ATMEL вроде как тоже есть преимущества:
1) SAM D20 жрёт 150 мкА/МГц, STM32F0 250 мкА/МГц.
Здесь думаю дело в технологии чипа. ST используют самую дешевую технологию 180 нм, ATMEL 90 нм, эта технология вдвое дороже 180-ти нм. (Это и отражается на стоимости чипа). Это же и отражается на токи утечек через кристалл в спящем режиме - меньше нормы - меньше токи.
2) ATMELовцы сделали универсальный модуль SERCOM который легко трансформируется в SPI, I2C или USART, таких модулей до 6-ти на кристалле (самый многоногий чип - 64 вывода). Это упрощает трассировку ПП, нет необходимости тянуть выводы в неудобно расположенным выводам SPI, I2C или USART. Как это в чипах с фиксированными модулями. Все модули SERCOM настраиваются одиннаково, это упрощает моменты "въехать как оно работает".
3) Питание SAM D20 1,63... 3,62 В против STM32F0 у которого 2... 3,6В.
4) Аппаратный QTouch (в SAM D20 почему-то называется PTC - Peripheral Touch Controller, (можно подумать что это термистор Positive Temperature Coefficient )). позволяет организовать матрицу сенсоров до 256-ти шт!!! (Для 64-х выводных корпусов).
5) Больший диапазон Flash-памяти для SAM D20 - 16... 256 кБ. У ST для M0 16... 64 кБ
6) Более новое ядро Cortex-M0+ против Cortex-M0 что добавляет такие плюшки как аппаратное умножение за 1 такт с 64-х битным результатом и 1-но тактный доступ к линиям портов ВВ.
7) Самый мелкий из лекгопаяемых корпусов TQFP-32 c шагом выводов 0,8 мм, как по мне это поудобнее будет чем TSSOP-20 с шагом 0,65 мм. В частности более эффективно использует площадь ПП, при этом такой чипок можно ставить на доски с толстым слоем фольги у которых идут ощутимые ограничения по минимальной ширине трассировок и зазоров между оными.
_________________ Do You Like Water?.. Yes?.. Good, Then You Already Like 72% Of Me
Последний раз редактировалось MIB Пн дек 09, 2013 16:07:35, всего редактировалось 3 раз(а).
Ну что тут скажешь, ATMEL это дерево с поздними плодами, пусть хоть и сочными. Знакомый который регулярно тусит и официального дистра ATMEL грит что будет следующее развитие SAM D20 в SAM D21. Там вроде как USB добавят и DMA каналы. Ну а так, полистал даташитинку на STM32F0, ффкусные чипики с жирными плюсами, но у ATMEL вроде как тоже есть преимущества:
Когда ATMEL разродится чем то отдаленно похожим STM32F0xx , STM снова уйдет вперед. И снова это будет лучше и дешевле. На данный момент для себя не вижу никаких стимулов, кроме как поиграться, юзать SAM D20. STMF0xx прекрасно заменили все 8ми битки в моих реализациях., даже девайсы c LED получили аппаратную поддержку ...
MIB писал(а):
1-но тактный доступ к линиям портов ВВ.
Ну да ну да, только софтового ногодрыга в ARM и недоставало. Как то и без ручного дрочительства обходимси - аппаратно.
Последний раз редактировалось dosikus Пн дек 09, 2013 14:52:20, всего редактировалось 1 раз.
Всем добрый день. Мне тоже досталась плата Atmel® SAM D20 Xplained Pro. Народ помогите написать простенькую программу по управлению парой выводов МК. Необходимо для тестирования этой платы. Уже второй день мучаюсь, не могу разобраться с PORT PA10-PA19 EXT2 любые 2 вывода. Заранее благодарен.
Мяукать пока только учусь.
Создайте новый проект, только с путями без кириллицы и пробелов. Файлами из архива замените main.c в том каталоге где он находится. Должно мигать. Извините, я на работе. проверить не могу на своём бордике. Мигать должно оранжевым диодом, он по умолчанию висит на PA14.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения