Во время недавнего своего визита в Терру решил приобрести такое чудо. 32 битный арм микроконтроллер за копейки, сейчас его можно купить за 29.50. А вот, например, на eBay он обойдется около $10. Толи идет активное внедрение в России, то ли Терра пытается распродать крупную партию, кто знает… Ну а нам остается пользоваться!
Терра начала удивлять меня своей упаковкой. Помимо общего пакета, МК лежал «в пакетике в пакетике».
Жалко что нет ничего жесткого, совсем непривычная упаковка для МК. И о статике никто не подумал…
Итак, что это? Процитирую с gaw.ru http://catalog.gaw.ru/index.php?page=component_detail&id=49779
Основные параметры
Ядро | Cortex-M3 |
F,МГц | от 0 до 24 |
Память: Flash,КБайт | 16 |
Память: RAM,КБайт | 4 |
I/O (макс.),шт. | 37 |
Таймеры: 16-бит,шт | 6 |
Таймеры: Каналов ШИМ,шт | 3 |
Таймеры: RTC | Да |
Интерфейсы: UART,шт | 2 |
Интерфейсы: SPI,шт | 1 |
Интерфейсы: I2C,шт | 1 |
Интерфейсы: DMA,шт | 1 |
Аналоговые входы: Разрядов АЦП,бит | 12 |
Аналоговые входы: Каналов АЦП,шт | 10 |
Аналоговые выходы: Разрядов ЦАП,бит | 12 |
Аналоговые выходы: Каналов ЦАП,шт | 2 |
VCC,В | от 2 до 3.6 |
TA,°C | от -40 до 105 |
Корпус | LQFP-48 |
Отличительные особенности:
- До семи 16-битных ШИМ-таймеров, в т.ч. таймер с расширенным управлением: всего 26 каналов
- Три независимых 16-битных ШИМ-таймера с комплементарными выходами и генератором паузы неперекрытия
- Встроенный 12-битный сдвоенный ЦАП с поддержкой прямого доступа к памяти (DMA) и буферизованными выходами
- Устройства ввода-вывода для управления потребительской электроникой (CEC)
- CEC, I²C (400кГц), ведущий и подчиненный SPI (до 12Мбит/сек), USART (до 3Мбит/сек)
- 32-битный набор инструкций ARM Cortex-M3 Thumb-2 и 7-канальный DMA
- Ускоритель CRC с поддержкой DMA
- Встроенная схема сброса при подаче питания и при недопустимом снижении напряжения питания, сторожевой таймер, откалиброванный на фазе производства RC-генератор частоты 8 МГц и 40 кГц для синхронизации часов реального времени (RTC) и сторожевого таймера
10 АЦП, 2 ЦАП по 12 бит, 3 ШИМ 16 бит при частоте ядра 24 МГц и всевозможными интерфейсами! Впечатляет? Меня — да)
Ну а чем мы за это все платим?
-достаточно маленький (7 на 7 мм) и мало-паябельный корпус (площадки под ножки 0.3, шаг 0.5)
-привередливость в питании (от 2 до 3.6 вольт)
-необходимость в спец. средствах разработки
Что качается первого, то если Вы делали платы ЛУТ, то справитесь. Если нет, то можно купить уже разведенные под любой QFP корпус платы в той же Терее, или даже готовые макетки под stm32 на eBay за те-же $10.
Что касается питания, то придется искать подходящий источник питания и ставить стабилизатор. Еще ко всему нужно заводить питание на 5 точек, и на каждую желательно поставить по керамическому конденсатору.
Что касается программаторов, то тут есть некоторые варианты.
Самый простой — загрузчик через UART1. Для этого нужен COM порт с TTL уровнями, годными для этого МК (лог. ед. от 2 до 3.6). Можно использовать MAX3232 для сопряжения с обычным COM портом, можно запаять FT232R и выставить контакты на 3.3 вольта, тогда можно подключаться по USB, можно собрать программатор на самой простой AVR и библиотеке V-USB, можно даже попробовать собрать схему на диодах и делителях, как это делалось в COM программаторе Громова для AVR или на некоторых отладочных платах Olimex. Ну а для запуска бутлодера потребуется пара кнопок/перемычек.
Самый правильный способ — это фирменный JTAG программатор/эмулятор ST-LINK и его аналоги. Которые можно приобрести по цене около 800 рублей.
И очень интересный способ — это плата STM32VLDISCOVERY . На ней, помимо МК есть USB программатор SWD, который можно использовать отдельно, для этого есть перемычки и 4х пиновый разъем. А стоит это удовольствие всего 300 рублей.
Что касается документации и информационной поддержки, то ST еще далеко до ATMEL. Приходится лазать по разным документам, искать, додумывать, считать.
Вот то, что может пригодиться:
Сраничка устройства
Datasheet — краткий обзор начинки МК и хар-ки
RM0041: STM32F100xx advanced ARM-based 32-bit MCUs — подробный мануал на серию
AN2586: Getting started with STM32F10xxx hardware development — подключение МК, обвязка, разводка платы
AN2606: STM32™ microcontroller system memory boot mode — описание загрузчика, как его активировать и работать с ним
PM0056: STM32F10xxx/20xxx/21xxx/L1xxxx Cortex-M3 programming manual — как писать под МК, описание памяти, регистров, команд
PM0063: STM32F100xx value line Flash programming — более конкретизированная информация
Успешных разработок!)
Терра стала на эти контроллеры пидарасить, их теперь там нет за 30 руб.
Дело не в терре. Тогда они занимали нишу, вытесняли 8-битники. Закупочные цены выросли. Сейчас даже оптом трудно купить меньше $1.5. Иногда проще у китайцев готовую отладку купить за $9.