Arduino на ARM(или ATmega vs STM)

Тема в разделе "Arduino & Shields", создана пользователем Mestniy, 12 фев 2016.

  1. Mestniy

    Mestniy Гуру

    Всем привет. Начнем с начала: наткнулся в сети на такую штуку(как на картинке). С виду Arduino mini. Но вот что в даташит написано:http://catalog.gaw.ru/index.php?id=11656&page=component_detail.
    Там сказано, что этот проц может работать на 72 MHz:eek::eek::eek::eek::eek:. Однако кварц стоит на 8. Вопрос: Это маркетинговый ход ARM-овцев или и правда есть платы, с такой производительностью. И вообще, кто может что-нибудь сказать про STM Cortex M3?
    Заранее спасибо.
    С Уважением, Евгений).
     

    Вложения:

    Viquis нравится это.
  2. geher

    geher Гуру

    Сложно сказать. На старых, еще пентиумных ПК стояли кварцы на 50,60 и 66 МГц. При этом процессоры работали на частотах до 200 МГц. Т.е. тактовая процессора получалась умножением частоты кварца с множителем до 3х (для P-200).
    Вполне возможно, что в данной конкретной "штуке" применен тот же фокус, и исходные 8 кварца разгоняются до 72 умножением на 9.
    Другой теоретически возможный вариант - встроенный в само ядро осциллятор на нужную частоту.
     
    Mestniy нравится это.
  3. Alex19

    Alex19 Гуру

    Да с такой производительностью.

    C STM Cortex M3 не работал, работал с STM Cortex M4, там умножением. Предположу, что в M3 аналогично.

    А что Вы хотите услышать, на мой взгляд превосходный контролер. Сравнений в сети не мало, хоть сравнивать ее с Ардуиной пожалуй не корректно (может только с теми, которые на ядре ARM).

    Вообще STM32 это другой мир, мне он показался немного сложнее AVR, при наличии времени и усидчивости, ни каких проблем не должно возникнуть.

    А к Ардуине они не имеют ни какого отношения. Хоть есть платы, с прошивкой для Ардуино IDE, вот только сколько для них готовых библиотек, еще, тот вопрос. Без библиотеки добро пожаловать в старый добрый Std Periph Lib или STM32Cube HAL.

    Если на думаете заниматься STM32, позволю себе совет, купите родную отладочную плату, к примеру такую - stm32f3discovery.
     
    Последнее редактирование: 13 фев 2016
    Mestniy нравится это.
  4. Mestniy

    Mestniy Гуру

    Спасибо буду знать. Просто увидел такую частоту. И подумал: ну не че себе! Но можете подобнее обьяснить, как увеличивают частоту кварца, ну или там самого процессора напрямую?
     
    Viquis нравится это.
  5. Onkel

    Onkel Гуру

    фаза и частота внутреннего генератора stm определяется кварцем, гуглите по апчиф.
     
  6. Mestniy

    Mestniy Гуру

    простите что?
     
    Viquis нравится это.
  7. Mestniy

    Mestniy Гуру

    Но там на кварце вообще написано 8000.
     
    Viquis нравится это.
  8. Onkel

    Onkel Гуру

    Все правильно. По фазе этого кварца подстраивается внутренний генератор, кратный этим 8 М. В даташите на stm страниц 100 посвящено внутренним таймерам, там все разжевано. Вообще по специальным вопросам, по деталям бибел для вас - даташит на мк.
    Гуглите.
     
    Mestniy нравится это.
  9. Mestniy

    Mestniy Гуру

    Понял спасибо. Уже прогуглил про АПЧиФ.
     
    Viquis нравится это.
  10. geher

    geher Гуру

    Кстати, такой момент: ардуины на ARM (Zero, M0, Due) не защищены от 5В на пинах, что приводит к необходимости дополнительно делать преобразование уровней между такой ардуиной и исполнительными устройствами на 5 В.
    Не знаю, как STM, но есть такая платка на ARM Cortex M4 (те же 72 МГц), как Teensy 3.1, все порты которой толерантны к 5 В. Удобная и шустрая штука, кстати.
     
    Mestniy нравится это.
  11. Alex19

    Alex19 Гуру

    Итак сначала ответ в STM32Cube HAL, видео на русском, на 4-той минуте настройка, сейчас это рекомендовано производителем -



    Я настраивал по старой схеме, тогда STM32 рекомендовала скачивать Excel файл и с помощью его генерировался файл настройки, его уволакивал в проект -



    Вообще я бы посоветовал Вам сначала определится, для чего он Вам нужен. Я знаю 5 вариантов работы с STM32. Возможно, сейчас, что-то устарело, что-то добавилось.

    Если поверхностно.
    1. CMSIS - работа с регистрами, только баловался.
    2. Std Periph Lib - работа через библиотеку, библиотека построена CMSIS, работал на ней, на сколько мне известно устарело.
    3. HAL новая библиотека, библиотека построена CMSIS, только баловался.
    4. mbed - система программирования, которая создавалась как аналог Ардуино, очень огр. список процессоров. Один раз глянул и забыл:).
    5. Arduino IDE, слышал, но не пробовал.

    Я бы рекомендовал бы HAL, она не сложная, более переносимый код между проц. и сериями. И на нем можно раскрыть весь потенциал данных контролеров. Начальное видио по HAL (там канал с 8 видео) -

    .

    Аналогично у M4 версии, не знаю как у всех, но у многих в серии STM32F4, к примеру на STM32F407VG, STM32F401RET6.

    UPD. Если хотите остаться на Arduino IDE, действительно возьмите Teensy 3.1. Или аналогичное решение, DUE и т.д.
     
    Последнее редактирование: 13 фев 2016
  12. geher

    geher Гуру

    Лучше Teensy, по причине, озвученной ранее. При этом, правда, поддерживаются не все версии Arduino IDE.
    В частности, 1.6.7 c arduino.сс поддерживается, а версии с arduino.org не поддерживаются.
    Польза от Arduino IDE в данном случае, пожалуй, только в том, что она дает доступ к накопленным для данной среды библиотекам, может оказаться привычной и обеспечить программирование разных микроконтроллеров в одной среде. Программировать и прошивать Teensy можно и без нее.

    Можно, кстати, и STM из Arduino IDE пользовать.
    Средства для программирования из Arduino IDE под него сделаны по тому же принципу, что и для Teensy - собраны в кучу компилятор, утилита для загрузки прошивки, поправленная под новый МК стандартная библиотека, и эта куча прикручивается к Arduino IDE.
    Для STM32 M3, например, что-то доступно тут:
    http://we.easyelectronics.ru/aliaksei/arduino-ide-i-stm32.html
     
    Последнее редактирование: 13 фев 2016
  13. Alex19

    Alex19 Гуру

    Говорил о тех Ардуинах, которые на ARM, возможно Вы правы и Teensy лучше DUE, не сравнивал и не изучал.

    Что качается разных уровней, не понимаю, как это может сказаться на выборе платформы, не хотите/не требуется делать плату с опторазвязкой, есть LLC 5V - 3,3V стоит копейки, можно использовать и на макетке и в хоббийных проектах. Сейчас тенденция такова, что все идет в сторону уменьшения рабочих напряжений. Но я всего лишь любитель и может чего-то не понимаю.

    Что лучше Teensy, STM или какой-то другой контролер, ответ на этот вопрос зависит, от того, для чего планируется использовать данный контролер.

    Мне требовалась широкая и гибкая линейка 32 разрядных микроконтроллеров с превосходной документацией, большим сообществом, открытыми библиотеками и хорошими платами и средствами отладки и при этом не дорого:), поэтому мой выбор пал на STM32.

    Это большой плюс, как и минус. Да плюс в том, что если есть библиотека и она нас устраивает мы в дамках, если нет, начинается изучение конкретного контролера.

    И тут начинается веселье, к примеру Teensy, есть модели AVR 8 от Atmel, Teensy 3.0 > ARM от Freescale. M0\DUE ARM от Atmel. Да средства разработки и отладки можно найти универсальные, как и то, что они похожи, но все же.

    Хотя справедливости ради, нужно отметить, что выбор библиотек не мал и Вы можете ни когда не столкнутся с подобными проблемами.

    Да я слышал, просто не пробовал.

    Если Вы начнете работать к примеру на HAL, Вас потом ни какими пряниками не заманить на написание кода для STM32 в Arduino IDE.

    Другое дело, что само использование 32 битных микроконтроллеров, требует определенных задач. Все это лишь сугубо мое мнение.
     
    Последнее редактирование: 13 фев 2016
  14. geher

    geher Гуру

    Как мне кажется, на начальном этапе, когда слишком велик риск что-то случайно спалить и тем самым в самом начале отвратить себя от занятий с микроконтроллерами, некоторая защищенность платы никогда не помешает.
    А когда уже приходит понимание, что к чему, то можно выбирать и из других соображений.
    Конечно, есть еще такой фактор, как шилды, которые удобно ставить как раз на аутентичные ардуины, но их подавляющее число рассчитано на 5В, и они вполне способны спалить плату, которая не защищена от подобных проблем.
     
  15. Alex19

    Alex19 Гуру

    Ваша точка зрения мне понятна, спасибо за пояснение.