|
|
|
21284 44 0 0 |
|
Опции темы | Поиск в этой теме |
15.09.2011, 21:09 | 1 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Микроконтроллеры серии STM32 (ARM Cortex M3)
Добрый вечер. Мне уже давно не хватает производительности 8-ми битных МК от AVR, и я решил поискать что-нибудь не дорогое, достаточно мощное и распространённое. Выбор пал на семейство STM32. Почитать за них можно, к примеру тут: Ознакомительное руководство по ARM-микроконтроллерам Cortex-M3. На этой архитектуре МК делает далеко не одна компания, соответственно выбор хороший, в отличии от AVR. Проблема только в том, что эти МК настолько популярны и стандартны, что в даташитах на них практически ничего нет. Похоже что производители опускают само собою разумеющиеся вещи, которые понятны только опытным разработчикам. А как быть таким как я, начинающим? Как вообще народ их осваивает, где достаёт информацию? Что-то нагуглить толком ничего и не получается. Непонятно даже какие альтернативные функции есть на выводах конкретно взятого чипа. Куда, к примеру, подключать к АЦП, к ШИМ и т.п.?
Есть ли среди нас разбирающиеся в этом деле люди? У меня на эти чипы уже столько планов, а документации найти не могу в достаточном количестве ... |
15.09.2011, 22:09 | 2 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1090
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Я на ARM только готовые платы использовал. Похоже на ARM проще поставить линукс, чем разбираться в чипе на низком уровне.
Как вариант, попробуй поискать уже готовые исходники. ПС: Ты вернулся?
__________________
Чем бы дитя не тешилось - лишь бы не лазером... |
15.09.2011, 23:28 | 3 |
Ветеран Фонарёвки
Регистрация: 14.02.2010 Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Наверняка, на рутрекере книжки по ним есть.
|
15.09.2011, 23:48 | 4 |
Завсегдатай Фонарёвки
Регистрация: 07.05.2010 Последняя активность: 25.08.2017 18:18
Сообщений: 453
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Кстати поисковик по книжкам неплохой.
http://bookfi.org/ |
16.09.2011, 10:29 | 5 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Я не вернулся, я никуда и не пропадал .
Линух не катит, это не микропроцессор, тут высокие требования к латентности (МК на то и МК, что ему достаточно нескольких тактов, чтоб среагировать на событие, в отличии от процессора с ОС). Задачи требуют высокого быстродействия (не путать с производительностью). Как мне из библиотек вытянуть распиновку, чтоб знать куда что подключать? Вот рисую я схему, под которую потом буду писать программу, а нарисовать не могу, т.к. непонятно что куда подключать... Попробую книги поискать. В даташите хоть нарисовали куда кварц вешать и как питание подключать, и на том спасибо. А куда остальное подключать - а тут уже включайте свои телепатические способности... |
16.09.2011, 11:48 | 6 |
Ветеран Фонарёвки
|
Оно случаем не настраивается в программе - выводи куда хочешь, что хочешь? Странно что отсутствует описание.
|
16.09.2011, 12:07 | 7 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1090
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Обычно в таких случаях у производителя заказывают наиболее подходящий для твоей задачи демо кит. Там платка с процом и кучкой переферии, прошивки, описания, примеры, исходники... Но стоят они дорого.
|
16.09.2011, 15:42 | 8 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Что хочешь и куда хочешь ты не выведешь. У каждого пина есть свои ограниченные возможности. Например половина портов работает на пониженной скорости, а расширенные таймеры выводят свой хитрый ШИМ только на конкретные пины. То же самое относится и к АЦП, ЦАП... За питание и всякие выводы начальной загрузки, выхода из спящего режима и т.п. я молчу, за них хоть что-то в даташите написано. Но факт остаётся фактом - без нормальной документации я нормально схему не нарисую. И врятли у различных производителей камни идентичны. Вот AVR разжевывает всё, да, но у них и камни дорогущие и не достать у нас. Да и по возможностям они неинтересны...
|
16.11.2011, 15:24 | 9 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1090
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Чем не даташит -http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf
|
16.11.2011, 15:34 | 10 |
Ветеран Фонарёвки
Регистрация: 14.02.2010 Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Как это ни странно, по Cortex мало информации в сети. Наверно, подразумевается, что надо ее брать из даташитов (у TI даташиты доходят до 1300 страниц).
Нашел единственную книгу на английском (447 страницы): The definitive guide to the ARM Cortex-M3 / Joseph Yiu |
19.11.2011, 19:31 | 11 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Да я уже нашел всё, как и положено вечно теряющимся вещам - под носом лежало . Потихоньку курю, может к дембелю и освою (кстати, не долго мне служить осталось ).
|
23.04.2012, 09:16 | 12 |
Ветеран Фонарёвки
|
Cortex M3
Под кортексы не так много доккументации, одно радует - цены на них снижаются, а возможности у них меня радуют Кстати кто нибудь их в живую шупал? какие проблеммы с ними есть? так как отзывы по интернету бывают протеворечивые.
|
23.04.2012, 10:50 | 13 |
Ветеран Фонарёвки
Регистрация: 14.02.2010 Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
|
23.04.2012, 11:43 | 14 |
Завсегдатай Фонарёвки
|
Если кого-то интересует, могу выложить довольно много ссылок по кортексам, правда, в основном там "небольшие" статьи, на ресурсах вроде easyelectronics и форумах Давайте вообще создадим отдельную тему, в ней будем обмениваться информацией по ним.
Насчет написания кода - есть несколько вариантов: писать, используя довольно высокоуровневые библиотеки работы с переферией, вроде CMSIS; писать на Си на достаточно низком уровне (ручками конфигурировать регистры и т.д.), писать на ассемблере. Предпоследний вариант выходит не намного-то проще последнего, хотя, это смотря как смотреть... Сравнивал среды KEIL uVision и IAR, второй понравился больше. И отладка с программатором STLink куда более рабочая. |
23.04.2012, 11:59 | 15 | |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1090
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Цитата:
По ценам уже дешевле AVRок. Быстродействие обалденное. Но программировать сложнее, по даташиту, без примеров и библиотек от производителя не разберешся. И отладчик с JTAG нужен. С AVR-ками мне отладчик не разу ни понадобился, а с этими без отладчика никак... |
|
23.04.2012, 12:19 | 16 |
Завсегдатай Фонарёвки
|
Совсем не обязательно JTAG. Можно купить плату STM32 Discovery с выведенным интерфейсом SWD, там немного обрезанный STLink. Стоит около 400-500 рублей. Программатор-отладчик можно отпилить от самой платы, использовать независимо. Опять же контроллер с основной части платы в случае чего можно перепаять на свою плату.
Небольшая подборка ссылок: Знакомство с Cortex M3 http://www.robocraft.ru/blo... STM32, учебный курс. Начало работы со средой IAR http://easyelectronics.ru/a... STM32, учебный курс. Начало работы со средой KEIL. Подключение библиотеки CMSIS. http://easyelectronics.ru/a... Быстрый старт c STM32-Discovery (Среда CooCox IDE, основанная на Eclipse ) http://habrahabr.ru/post/12... Руководство по быстрому старту STM32 http://we.easyelectronics.r... Уроки по STM32 + быстрый старт http://www.robocraft.ru/tag... STM32 система тактирования, работа с АЦП, ЦАП, DMA, первый старт, таймеры http://ziblog.ru/category/s... Ассемблер для STM32. Начало http://we.easyelectronics.r... STM32 работа с портами ввода-вывода теоретическая часть http://mcucpu.ru/index.php/... примеры кода http://mcucpu.ru/index.php/... STM32 применения, порты GPIO, система тактирования, система прерываний, модуль UART, атомарный доступ к битам ОЗУ http://eugenemcu.ru/publ/13 Огромная куча всего по STM32 http://we.easyelectronics.r... |
23.04.2012, 12:37 | 17 | |
Ветеран Фонарёвки
Регистрация: 14.02.2010 Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Цитата:
|
|
23.04.2012, 12:48 | 18 |
Завсегдатай Фонарёвки
|
Для тех, кто только начинает осваивать - добавлю насчет документации: после AVR непривычно, но на эти контроллеры есть даташит (на конкретную модель или линейку) и Reference Manual на все семейство с описанием регистров и прочего.
|
23.04.2012, 18:26 | 19 |
Завсегдатай Фонарёвки
|
Даташиты зависят от конкретного производителя уже. У Atmel одинаково хорошая документация как на AVR так и на ARM. Достаточно подробная, и даже иногда с примерами. С ними особо не приходится сторонние ресурсы искать.
Единственная цена такого удовольствия - цены на ARM у них выше среднего. Плюс, в инете инфы очень мало (но компенсируется хорошим даташитом). Вот как раз начал изучать их. Из центральных элементов, с чем надо разобраться в первую очередь - это PIO, система тактирования (PMC) и прерывания. Ну и если внезапно обнаружите, что ваш контроллер работает ровно 16 секунд и перезагружается - вспомните про WDT Всё остальное - блоки периферии, которые можно рассматривать независимо. Некоторые очень простые, некоторые наоборот "без поллитра не разберёшься". Из мелочей, которые у меня получились сразу - PCK (выводит тактовый сигнал на лапы. удобен как для проверки настроек тактирования самого контроллера (например PLL), так и для тактирования внешних устройств), SysTick (очень удобный таймер, и настройки простейшие), UART (если не соединили контроллер с компом для вывода отладочных сообщений - много теряете. возможность использовать комп как виртуальную консоль, и расставлять в программе printf очень облегчает разработку). Таймеры-счётчики (TC) немного огорчили. Так и не понял, возможно ли вообще их тактировать от внутреннего сигнала. Из опций только тактирование с внешних лап, либо с выхода другово TC. UDP (USB модуль) - настоящий ад. И хотя с настройкой самого модуля я справился за полдня, и успешно получаю прерывания и даже запросы от компа, мне так и не удалось ни на один запрос ответить. Точнее, на самый первый, который дескриптор спрашивает. Нашёл в инете 5 заведомо рабочих дескрипторов, плюс один написал сам. Как ни тыкал - комп их не принимает, только переспрашивает ещё раз. И так 3 раза, а потом сдаётся.
__________________
e-mail: euro@hobbi.tv jabber: shop@hobbi.tv Сообщение: http://forum.hobbi.tv/sendm... |
23.04.2012, 22:22 | 20 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1090
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
C USB действительно беда. Единственный вариант - поискать готовые примеры от прозводителя. Обычно стандартный набор: CDC, HID и флеш диск у них есть. А потом понемногу "подкрутить" под свои нужды
|