[ВХОД]

Главная | Содержание | Форум | Файлы | Поиск | Контакт
NAVIG
О форуме
Резонансные генераторы
Магнитные генераторы
Механические центробежные (вихревые) генераторы
Торсионные генераторы
Электростатические генераторы
Водородные генераторы
Ветро- и гидро- и солнечные генераторы
Струйные технологии
Торнадо и смерчи
Экономия топлива
Транспорт
Гравитация и антигравитация
Оружие
Нейтронная физика
Научные идеи, теории, предположения...
Прочие идеи (разные)
Новые технологии
Коммерческие вопросы
Барахолка
Патентный отдел
Сделай сам. Советы.
Конструкторское бюро
мобильная версия
Печатать страницу
Форум - Новые технологии - Сделай сам - Микроконтроллеры с архитектурой ARM Cortex-M. STM32 и другие - Стр.1
[ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 ][>
sw1972 | Post: 507563 - Date: 10.09.16(18:55)
Тема посвящена микроконтроллерам с архитектурой ARM Cortex-M.
Они стали "убийцами" 8-разрядных микроконтроллеров, так как они 32-разрядные, дешёвые, производительные, нафаршированы мощной периферией, например, 16 разрядными таймерами(есть модели с 32-разрядными таймерами), 12-разрядными АЦП (как правило), 12-разрядными ЦАП (как правило), различными приёмо-передатчиками.
Их изготавливают многие производители. Выпускаются множество недорогих ознакомительных плат со встроенными отладчиками и программаторами.
Есть свободные среды разработки, что тоже важно.

_________________
Хорошее - враг лучшего
sw1972 | Post: 507564 - Date: 10.09.16(18:56)
Микроконтроллеры AVR всё ещё популярны, но они 8-разрядные. При той же самой цене можно найти гораздо более навороченные и нафаршированные более крутой периферией (как правило, содержат 12-разрядные АЦП, некоторые модели имеют даже 16-разрядные сигма-дельта АЦП на борту) 32-разрядные микроконтроллеры с архитектурой ARM Cortex M, например STM32 фирмы ST Microelectronics или SAM3 фирмы Atmel или LPC1XXX фирмы NXP. Найболее ходовые сечас STM32. Понятное дело, что конкурировать с 32-разрядными недорогими микроконтроллерами 8-разрядным микроконтроллерам AVR с каждым годом всё сложнее.
Для микроконтроллеров с архитектурой ARM Cortex M есть множество сред разработки, в том числе свободные:
- для микроконтроллеров от разных производителей есть свободная среда разработки CooCox[ссылка] - для микроконтроллеров STM32 есть свободная среда разработки System Workbench for STM32[ссылка] - есть также несвободная среда разработки IAR
Для начинающих фирма ST Microelectronics предлагает различные недорогие ознакомительные платы, например STM32F4DISCOVERY, которые содержат на борту отладчики ST-LINK, что очень удобно.

В микроконтроллерах с архитектурой ARM Cortex-M4, например STM32F3 и STM32F4 имеют на борту МАТЕМАТИЧЕСКИЙ СОПРОЦЕССОР и с их помощью можно осуществлять цифровую обработку сигналов. Но время не стоит на месте, сейчас самыми новыми считаются микроконтроллеры с архитектурой ARM Cortex-M7, например STM32F7, которые тоже относительно недорогие, но ещё более производительные, чем их предшественники.
Микроконтроллеры ARM Cortex-M потребляют немного и, в то же время, имеют высокую производительность.

_________________
Хорошее - враг лучшего
sw1972 | Post: 507565 - Date: 10.09.16(19:02)
Но имейте также в виду, что микроконтроллеры ARM Cortex-M сложнее, чем те же микроконтроллеры AVR или PIC. Их на порядок сложнее программировать, чем микроконтроллеры AVR или PIC, но они стоят того, чтобы их применяли в новых проектах, так как в большинстве случаев их применение более выгодно, чем применение 8-разрядных микроконтроллеров.

_________________
Хорошее - враг лучшего
dedivan | Post: 507566 - Date: 10.09.16(19:07)
Есть задачи, где определяющим является не числодробилка, а время реакции на прерывание- тут у АРМов пока плохо. Реакция на прерывание занмкает от 13 до 26 тактов и никто заранее не знает сколько точно будет. Все зависит от момента прерывания случайно.
С большинством восьмиразрядников все четко -2 такта строго.




_________________
я плохого не посоветую
sw1972 | Post: 507569 - Date: 10.09.16(19:15)
dedivan Пост: 507566 От 10.Sep.2016 (16:07)
Есть задачи, где определяющим является не числодробилка, а время реакции на прерывание- тут у АРМов пока плохо. Реакция на прерывание занмкает от 13 до 26 тактов и никто заранее не знает сколько точно будет. Все зависит от момента прерывания случайно.
С большинством восьмиразрядников все четко -2 такта строго.


Да, я тоже столкнулся с этой проблемой. Тем более, у тех же AVR обработчик прерывания пишется гораздо проще, чем для STM32. В программах для STM32 приходится вручную сбрасывать флаги, а в AVR это делается автоматически. В итоге обработчик прерывания у AVR короче по числу команд. Но STM32 отыгрываются более высокой тактовой частотой и 32-разрядной архитектурой, что даёт возможность уменьшить количество команд при выполнении математических и логических операций. А в 8-разрядных ЭВМ приходится делать многоходовые операции, перебрасывать данные из регистра в регистр, делать лишние операции с флагами. Преймущество 32-разрядных микроконтроллеров налицо.

_________________
Хорошее - враг лучшего
Maximusua | Post: 507581 - Date: 10.09.16(20:51)
Для первого знакомства такое годится ?
[ссылка]
[ссылка]


- Правка 10.09.16(20:53) - Maximusua
dedivan | Post: 507592 - Date: 10.09.16(23:01)
sw1972 Пост: 507569 От 10.Sep.2016 (16:15)
Но STM32 отыгрываются более высокой тактовой частотой

Для того чтобы сравняться тут с атмелами , армы долны иметь частоту выше 600 мгц. Есть такие. но это уже другие требования к монтажу, печатке, это уже не домашние технологии- только готовые заводские модули брать. Благо они уже тоже не такие дорогие бывают.
Старые сотики типа мотороллы можно на это использовать.
А если юэсби не нужен, то и сименсы старенькие пойдут.
Тут уже другой плюс армов вылазит- одинаковая архитектура.

_________________
я плохого не посоветую
sw1972 | Post: 507622 - Date: 11.09.16(08:25)
Maximusua Пост: 507581 От 10.Sep.2016 (17:51)
Для первого знакомства такое годится ?
[ссылка]
[ссылка]

Эти платы имеют совсем другое назначение, они по-сути являются полноценными персональными ЭВМ с цифровыми выходами, которыми пользователь может произвольно управлять, кроме того, на них установлены МИКРОПРОЦЕССОРЫ ARM Cortex-A, а это несколько другая архитектура. В ветке речь идёт о МИКРОКОНТРОЛЛЕРАХ с архитектурой ARM Cortex-M.

Можно предложить несколько плат.

STM32VLDISCOVERY, на которой установлен микроконтроллер STM32F100RBT6, ядро ARM Cortex-M3.


STM32F4DISCOVERY, на которой установлен микроконтроллер STM32F407VGT6, ядро ARM Cortex-M4.
Ключевые особенности(на английском):
STM32F407VGT6 microcontroller featuring 32-bit ARM Cortex® -M4 with FPU core, 1-Mbyte Flash memory, 192-Kbyte RAM in an LQFP100 package
On-board ST-LINK/V2 on STM32F4DISCOVERY or ST-LINK/V2-A on STM32F407G-DISC1
ARM® mbed™ -enabled (http://mbed.org) with ST-LINK/V2-A only
USB ST-LINK with re-enumeration capability and three different interfaces:
Virtual com port (with ST-LINK/V2-A only)
Mass storage (with ST-LINK/V2-A only)
Debug port
Board power supply: through USB bus or from an external 5 V supply voltage
External application power supply: 3 V and 5 V
LIS302DL or LIS3DSH ST MEMS 3-axis accelerometer
MP45DT02 ST MEMS audio sensor omni-directional digital microphone
CS43L22 audio DAC with integrated class D speaker driver
Eight LEDs:
LD1 (red/green) for USB communication
LD2 (red) for 3.3 V power on
Four user LEDs, LD3 (orange), LD4 (green), LD5 (red) and LD6 (blue)
2 USB OTG LEDs LD7 (green) VBUS and LD8 (red) over-current
Two push buttons (user and reset)
USB OTG FS with micro-AB connector
Extension header for all LQFP100 I/Os for quick connection to prototyping board and easy probing
Comprehensive free software including a variety of examples, part of STM32CubeF4 package or STSW-STM32068 for legacy standard libraries usage


Фирма STMicroelectronics предлагает множество ознакомительных плат с различными микроконтроллерами, разной комплектацией, разнообразным набором периферии и, соответственно, различные по стоимости. Их можно купить на радиорынках и в интернет-магазинах, их легко найти.

Для любителей Ардуины выпускаются платы STM32 Nucleo.

_________________
Хорошее - враг лучшего
- Правка 11.09.16(08:39) - sw1972
sw1972 | Post: 507623 - Date: 11.09.16(08:34)
dedivan Пост: 507592 От 10.Sep.2016 (20:01)
sw1972 Пост: 507569 От 10.Sep.2016 (16:15)
Но STM32 отыгрываются более высокой тактовой частотой

Для того чтобы сравняться тут с атмелами , армы долны иметь частоту выше 600 мгц. Есть такие. но это уже другие требования к монтажу, печатке, это уже не домашние технологии- только готовые заводские модули брать. Благо они уже тоже не такие дорогие бывают.
Старые сотики типа мотороллы можно на это использовать.
А если юэсби не нужен, то и сименсы старенькие пойдут.
Тут уже другой плюс армов вылазит- одинаковая архитектура.

Не спорю, проблемы с прерываниями есть. Компиляторы генерируют очень длинный машинный код в обработчиках прерываний, не знаю почему, сам с этим столкнулся. Но не стоит забывать, что Кортексы отыгрывают в другом: в разрядности кода, более высокими тактовыми частотами, навороченной периферией. В большинстве случаев это перевешивает недостаток обработчиков прерываний.


_________________
Хорошее - враг лучшего
dedivan | Post: 507626 - Date: 11.09.16(09:33)
sw1972 Пост: 507623 От 11.Sep.2016 (05:34)
Компиляторы генерируют очень длинный машинный код в обработчиках прерываний, не знаю почему,

Не- это не компилятор виноват.
Это особенности железа- хитрый контроллер прерываний с приоритетами
и конвейерная архитектура с длинным конвейером- пока он сбросится, новым загрузится....это все время, это еще все не считая пересылок-сохранения рабочих регистров. В общем долго он все это делает.
Бывают задачки где этого времени нет- там атмелы ставят дополнительно к армам.
Посмотри -есть спутниковые рессиверы, смартфоны какие то- там так сделано.

_________________
я плохого не посоветую
Maximusua | Post: 507680 - Date: 11.09.16(16:00)
sw1972 Пост: 507622 От 11.Sep.2016 (05:25)
Эти платы имеют совсем другое назначение,...

Жалко что разговор о АРМах задержался и я поспешил
самостоятельно ...
Рекомендуемые платы не видел , а на глаза попала
вот такая . Еще взял к ней в придачу программатор
ST-LINK V2 .
Генератор понадобился с длительностью импульса
пока 100 нан , а там может и короче маленько.
Пока выкрутился обычным , а воспаленная фантазия
требует двустволку . Да еще и старт второго - от
синхронно , до с задержкой до 200 нан.
Пока тема не открывалась я был спокоен , а сейчас
заволновася ...
Вопрос : реально ли на этой плате (там Cortex M3
STM32F103C8T6 ) сделать такой генератор с несколькими
каналами да с независимой регулировкой параметров
импульса и скважности . Не упрусь ли в прерывания ?
Или еще во что ни будь .

У Вас нет прав скачивать этот файл. Зарегистрируйтесь .
- Правка 11.09.16(16:11) - Maximusua
Maximusua | Post: 507682 - Date: 11.09.16(16:22)
Вот тут виднее
Точная копия тог что у меня .

У Вас нет прав скачивать этот файл. Зарегистрируйтесь .
sw1972 | Post: 507691 - Date: 11.09.16(17:41)
Maximusua Пост: 507680 От 11.Sep.2016 (13:00)
sw1972 Пост: 507622 От 11.Sep.2016 (05:25)
Эти платы имеют совсем другое назначение,...

Жалко что разговор о АРМах задержался и я поспешил
самостоятельно ...
Рекомендуемые платы не видел , а на глаза попала
вот такая . Еще взял к ней в придачу программатор
ST-LINK V2 .
Генератор понадобился с длительностью импульса
пока 100 нан , а там может и короче маленько.
Пока выкрутился обычным , а воспаленная фантазия
требует двустволку . Да еще и старт второго - от
синхронно , до с задержкой до 200 нан.
Пока тема не открывалась я был спокоен , а сейчас
заволновася ...
Вопрос : реально ли на этой плате (там Cortex M3
STM32F103C8T6 ) сделать такой генератор с несколькими
каналами да с независимой регулировкой параметров
импульса и скважности . Не упрусь ли в прерывания ?
Или еще во что ни будь .

Без паники!
Я Вас утешу. Похоже, плата подойдёт для ваших задач.
Вы в прерывание не упрётесь. В таймерах есть функции ШИМ. Таймеры в этих контроллерах могут друг другом управлять согласно записям в управляющие регистры таймеров, не надо даже подпаивать внешние проводники.
Советую почитать даташит CD00161566.pdf и очень большое руководство пользователя на серию микроконтроллеров CD00171190.pdf (RM0008 Reference manual) размер которого 9536281 байт. Причём во втором документе раскрыты все подробности работы как с ядром МК, так и с периферией. Эти документы есть на сайте STMicroelectronics.



_________________
Хорошее - враг лучшего
Maximusua | Post: 507697 - Date: 11.09.16(17:57)
sw1972 Пост: 507691 От 11.Sep.2016 (14:41)
Я Вас утешу.

Большое спасибо !
Рекомендованные документы будут очень кстати !

sw1972 | Post: 507715 - Date: 11.09.16(20:20)
Maximusua Пост: 507697 От 11.Sep.2016 (14:57)
sw1972 Пост: 507691 От 11.Sep.2016 (14:41)
Я Вас утешу.

Большое спасибо !
Рекомендованные документы будут очень кстати !

Ядро микроконтроллера STM32F103C может работать на частоте до 72 МГц, которая формируется путём умножения частоты кварцевого генератора от 4 до 16 МГц или внутреннего RC-генератора 8 МГц с помощью системы ФАПЧ. Коэфициенты умножения задаются при старте программы.
Для длительностей импульсов 100 нс частоты до 72МГц будет маловато, так как точно задать 100 нс не получится. Но для тренировки и отработки программы плата подойдёт.
Потом можно будет перейти на микроконтроллеры STM32 с более продвинутыми ядрами, например STM32F4 или STM32F7.

dedivan Пост: 507626 От 11.Sep.2016 (06:33)
sw1972 Пост: 507623 От 11.Sep.2016 (05:34)
Компиляторы генерируют очень длинный машинный код в обработчиках прерываний, не знаю почему,

Не- это не компилятор виноват.
Это особенности железа- хитрый контроллер прерываний с приоритетами
и конвейерная архитектура с длинным конвейером- пока он сбросится, новым загрузится....это все время, это еще все не считая пересылок-сохранения рабочих регистров. В общем долго он все это делает.
Бывают задачки где этого времени нет- там атмелы ставят дополнительно к армам.
Посмотри -есть спутниковые рессиверы, смартфоны какие то- там так сделано.


В книге Мартин М. Инсайдерское руководство по STM32 на странице 27 сказано, что с момента возникновения прерывания до выполнения первой инструкции его обработки проходит ВСЕГО ЛИШЬ 12 циклов. По времени достаточно много.
И ещё 12 циклов потребуется для возобновления выполнения фоновой программы. По-сути 12+12=24 цикла впустую.

_________________
Хорошее - враг лучшего
- Правка 11.09.16(21:17) - sw1972
[ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 ][>
У Вас нет прав отвечать в этой теме.
Форум - Новые технологии - Сделай сам - Микроконтроллеры с архитектурой ARM Cortex-M. STM32 и другие - Стр 1

Главная | Содержание | Форум | Файлы | Поиск | Контакт