Рейтинг
28.46
голосов: 30

О блоге

Работа с ядром CortexM3 и периферией STM

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (263)

ploop _YS_ m3hc Krieger Tabke marvin_yorke Ultrin WildCat hexanaft Vga Alatar mzw Reverb grand1987 dievgen woogle PahanMenski anper citizen ZiB

Все читатели блога

Очередная DevBoard STM32

Захотелось сделать некоторые поделки на STM32 для дома. Так как включать утюг под корпуса с шагом 0,5мм лениво, поискал готовые на ebay, ali и ничего интересного не нашел, все или мелко, или крупно, или дорого, или цвета не того :) В общем решил сделать свою.
Основные требования были, в порядке важности
1. Универсальность
2. Стоимость
3. Экран + кнопки на плате
4. Возможность подключить беспроводные модули
То что из этого получилось:платы


Читать дальше
  • +10
  • 08 октября 2014, 16:15
  • AVF
  • 2

GPIO выход в режиме OpenDrain

Читая даташит при подготовке схемы я напоролся на интересный момент. Есть выводы которые можно использовать в режиме OpenDrain (т.е. открытый сток). Для тех кто не врубился — СТМ32 питается максимум 3.3В (3.6В вообще-то, но интегральный стабилизатор проще найти на 3.3). Большинство логики работает на 5В (так и у меня — плата с МК отдельно, а основная плата уже есть). Как бы тут сильно экономится кол-во элементов для согласования уровней (будь это специализированная микросхема или транзистор). Я довольный, с расчетом на это поставил резисторы подтяжки к +5В.
При заводке выяснилось что OpenDrain не такой уж хороший…


Читать дальше

Настройка UART в STM32 и проблемы двоично-десятичной арифметики

Данная заметка в первую очередь будет интересна без(д)умным поклонниками библиотеки SPL от конторы STMicroelectronics.


Читать дальше

DevBoard STM32 light - сделай сам, бюджетно, часть 2

Кто не помнит, пару месяцев назад я затеял бюджетно-минималистичную плату под stm32 для всяческих экспериментов.

DevBoard STM32 light — сделай сам, бюджетно, часть 1

И обещал продолжение. Заранее жутко извиняюсь за задержку, краткость и отсутствие фоток в статье, если сейчас не напишу, то могу до осени вообще не добраться до компа, — я дом строю, сейчас погода хорошая, времени совсем нет.

Платы получил где-то через месяц после заказа, как обычно, все идеально.
Комплектуха приехала следом, и я не удержался, спаял парочку плат.

В CoIDE быстренько скомпилировал моргание лампочкой. Это заняло минуту-две: при создании проекта выбрал мой чип STM32F103RBT6 и вставил в проект готовый пример типа blink. Понадобилось только 2 дефайна порта светодиода поправить. Все заработало сразу. На большее пока времени нет.

В плате обнаружились 2 косяка: паттрен под регулятор на 3.3В не тот. Слишком большой. Нужен был SOT-89, а я использовал SOT-23. С грехом пополам запял, прилось чуть разогнуть ножки на HT7330. Где ошибся, даже не знаю, наверное в голове перепуталось…

Второе — кнопки слишком близко к кварцу. Еще миллиметр и было бы не запаять на свои места. В остальном плата мне даже самому понравилась.

Желающие могут посмотреть Микро-ролик с бодрым миганием.
А фотки делать сейчас просто не на чем — телефон свой с нормальной камерой успешно расколотил…

Продолжение будет, только осенью, раньше наверное руки не дойдут. Планирую собрать на этой плате погодную станцию с 4-мя светодиодными индикаторами. Обещаю подробные фотки, описание и код.

STM32 и Питон

Оказывается, существует реализация интерпретатора Python3.х для STM32. Сайт проэкта находится здесь. Проэкт стартовал на Кикстартере, были собраны средства (в декабре 2013 года) и софт на данный момент уже доступен для свободного скачивания в GitHub (Прямая ссылка для скачивания архива с исходниками).



Читать дальше

Модернизация STM32VL DISCOVERY STlink в STM32F103 DISCOVERY Stlink/V2

    Одной из первых отладочных плат от STMicroelectronics была выпущена плата STM32VLDISCOVERY с процессором STM32F100RB и программатором  STlink. Недостатком данного программатора является отсутствие процесса трассировки. И кроме того в качестве отлаживаемого  применен не очень быстрый процессор, работающей на предельной тактовой частоте 24 Мгц.
    Данную плату довольно легко можно модернизировать. Процессор, стоящий на плате без каких либо изменений можно заменить на например STM32F103RB или другой подобный из 103 серии в корпусе QFTP64. Данная замена оправдана тем, что данная линейка процессоров полностью поддерживается в отладчике Keil. Кроме того существует огромное количество примеров для работы с этим типом процессоров.
    Для переделки STlink в STlink/V2 необходимо сделать следующее:

1. Необходимо заменить прошивку микросхемы STM32F103C8 на которой  собран программатор. Для этого можно воспользоваться Flash loader demonstrator которая позволяет с помощью штатного загрузчика изменить прошивку в самом программаторе. Для этого нам необходимо подключиться к выводам USART1_TX она же PA9 (30 вывод) и USART1_RX она же PA10 (31 вывод) — по ним будет осуществляться программирование процессора. А также к выводам BOOT0 (44 вывод) для перехода в режим встроенного загрузчика в системной памяти процессора и RST (7 вывод). Выводы 31 и 30 лучше всего подсоединить к пустым выводам (NC) на плате соответственно слева и справа (2-е выводы сверху). Процедура программирования описывалась тут и тут. Вывод BOOT1(PB2) подключаем к земле (после прошивки не забываем убрать это соединение) — для того, чтобы заставить процессор после старта перейти на запуск встроенного в системную память загрузчика. Прошивку для заливки в процессор программатора можно скачать тут. А саму программу Flash loader demonstrator тут.
2. После этого необходимо на процессоре программатора соединить PB12 (вывод 25)  и PB14 (вывод 27).
3. Соединить вывод PB3 он же JTDO (вывод 55 отлаживаемого процессора STM32F103RB) и PA10 он же TSWO (вывод 31 процессора программатора).
    В результате данной модернизации в среде Keil данный программатор определяется как STlink/V2.

Разработка для STM32F4Discovery с помощью mbed в QtCreator

В последнее время библиотека mbed набирает обороты. Одновременно с этим у замечательного C/C++ IDE от команды Qt средства работы с голым железом достигли нового уровня. Осторожно, много картинок (меньше 1Мб).


Читать дальше

STM32F103C8 + ChibiOS + uGFX + LCD WH1602 пример

Всем привет, решил разобраться с STM32, в качестве ОС выбрал ChibiOS, а в качестве задания для себя решил подключить текстовый экранчик (WH1602B) используя библиотеку uGFX (думаю использовать все это в будущих проектах). Использовал отладочную плату Pinboard II, купил её уже давненько, еще вначале осени, но только недавно нашел время и сел разбираться.
Это моя первая статья, раньше нигде не писал. Конструктивная критика была бы кстати.





Читать дальше

Многозадачный программный таймер, ver 2.0

Программный таймер, некогда описанный мною в блоге здесь неожиданно получил продолжение. Так как в системе с ARM на борту присутствуют приоритеты прерываний, стало необходимостью выживать в данных условиях. Ну обо всем по порядку:


Читать дальше

DevBoard STM32 light - сделай сам, бюджетно, часть 1

Хочешь сделать хорошо — сделай сам.

Тема выросла из чисто практических соображений. Поскольку я не поклонник лазерного утюга — места под хим. процессы нет, да и нервов и времени этот ЛУТ забирает немало, было решено найти что-нибудь готовое. Требования простые: дешево, много ножек, мощь и порядок.

В первую очередь отпали AVR — мощи мало, ножек тоже, порядка — никакого.

Далее были отсеяны msp430 — люблю я msp430, но опять же мощи мало и цена кусается: корпус 20 ног с 16кб памяти стоит 100-200 р. И это только сам МК! Дешевле ланчпад с ti.com заказать.

В результате было решено обратиться к камням stm32f. Мощи достаточно, ножек — сколько желаешь, порядок — присутствует, что показали опыты программирования. Цены — почти сказочные (но не в России).

Поиск недорогих development board's под stm32 не увенчался успехом. Борды под интересующие камни на 64-100 ножек наши восточные братья продают минимум за $10. Рассмотрение их фоток с увеличением привело к выводу — паяют в гараже. Куда там роботы, волновая пайка и космические технологии! Я и сам так паять умею. А PCB, все-таки закажу, китайцы лучше меня их делают.

Под катом схема и подробности.


Читать дальше