STM32 с нуля. Интерфейс SPI.

Сегодня мы будем помогать двум микроконтроллерам подружиться с помощью SPI. Для начала обсудим, что же такое вообще SPI, а потом и программку набросаем 😉 Так вот, этот интерфейс позволяет связать между собой два и более устройств. Большой плюс SPI – большое быстродействие, так что большой объем данных улетит в легкую ) Но в SPI, в отличие, например от I2C, для подключения N устройств потребуется большое количество линий (3+N), а не 2, как в I2C. Да короче, на самом деле, есть и плюсы и минусы, как и во всем, так что идем дальше.

Существуют несколько типов подключения к шине, но в общем-то, алгоритм работы при любом подключении практически один и тот же. Ведущий генерирует тактовый сигнал с вывода SCLK и синхронно с этим сигналом передает данные по линии MOSI. В то же время подчиненное устройство передает данные в обратном направлении по линии MISO. Получается, что все сыты и довольны ) Хотя используется также подключение, при котором подчиненный только кушает байты данных, а сам ничего не шлет. А при подключении нескольких устройств возможно два варианта – независимое и каскадное. При независимом требуется больше линий, но такое подключение используется чаще.

Что же нам предлагает STM в плане SPI?
Читать далее

Основы электроники. Индуктивность и трансформатор.

Продолжаем изучать электронику! Напоминаю, что начать мы решили с самого легкого, но в то же время самого важного, а именно с азов электроники, с основных элементов, которые можно встретить в любой принципиальной схеме. И вот сегодня пришло время поговорить про индуктивности.

Для того, чтобы не было недопонимания, сразу поясню, что термин индуктивность может означать как физическую величину (типа емкости, сопротивления), так и элемент схемы – катушку индуктивности (типа конденсатор, резистор). В принципе точно также конденсаторы называют емкостями, а резисторы сопротивлениями )

Итак, единица индуктивности — Генри, а на практике чаще мГн или мкГн. Для понимания работы индуктивности как элемента, давайте сравним ее с конденсатором.

Поехали…

Читать далее

Быстрый старт с отладочной платой Mini STM32.

Не уверен, что это официальное название этой платы, в общем вот она 😉
Отладочная плата Mini STM32
Итак, в этой статье мы создадим небольшой проект, просто для ознакомления с отладочной платой STM32. Пока не будем использовать дисплей, USB и другие возможности этой платы, а поиграемся, как принято, с диодами. Прошивать контроллер я буду при помощи встроенного в STM32 Discovery ST-Link программатора, о чем, если вдруг кому понадобится, написано тут. Кстати, микроконтроллер на моей Mini STM32 – STM32F103VET6. Но нам то все равно, что прошивать, главное как 😉

Читать далее

Конденсатор, соединение конденсаторов, RC цепь.

Итак, продолжаем изучать основы электроники(а начало тут )) и сегодня мы рассмотрим еще один основополагающий элемент – а именно конденсатор. Также в этой статье мы рассмотрим дифференцирующую и интегрирующую RC цепь.

Упрощенно можно сказать, что конденсатор – это резистор, но не обычный, а зависящий от частоты. И если в резисторе ток пропорционален напряжению, то в конденсаторе ток пропорционален не просто напряжению, а скорости его изменения.  Конденсаторы характеризуются такой физической величиной как емкость, которая измеряется в Фарадах. Правда 1 Фарад – это чертовски большая емкость, обычно емкости измеряются в нанофарадах(нФ), микрофарадах(мкФ), пикофарадах(пФ) итп.

Читать далее

Основы электроники. Ток, напряжение, сопротивление.

Эта статья положит начало новой рубрике под названием «Основы электроники» на нашем сайте) Рубрика эта, как, собственно, видно из названия, посвящена будет электронике – от самых азов до всяческих тонкостей при разводке плат и составлении принципиальных электрических схем. Итак начнем!

А начнем мы с рассмотрения основополагающих понятий электроники – тока, напряжения и сопротивления.

Напряжение.

По определению напряжение – это энергия или работа, которая тратится на перемещение единичного положительного заряда из точки с низким потенциалом в точку с более высоким потенциалом. Напряжение представляет собой разность потенциалов между двумя точками. Сразу же остановимся и рассмотрим подробнее понятие – электрический потенциал.

Читать далее

Быстрый старт с STM32 Discovery.

В одной из статей (вот), кстати обязательно ее посмотрите =), было разобрано подключение и прошивка самой, наверное, популярной и доступной отладочной платы STM32 Discovery. Я вот подумал и решил, что было бы не лишним, описать создание какого-нибудь простенького проекта для этой платки, другими словами быстрый старт с STM32 Discovery. Ну что-нибудь совсем банальное, типа мигания диодиком. В общем, приступим.

Не будем навешивать никаких внешних элементов, воспользуемся тем, что уже есть на плате. А есть там пара кнопок, да пара диодов, с этим давайте и поработаем. Для быстрого старта с STM32 Discovery покатит 😉 Итак, имеем: большую синюю кнопку и два светодиода – синий и зеленый. Документация нам говорит, что зеленый светодиод подключен к PC9, синий к PC8, а кнопка висит на PA0. Давайте так: если кнопка нажата, то горит синий диод, если не нажата, то горит зеленый. Приступим к реализации.

Читать далее

Программатор микроконтроллеров из STM32 Discovery.

Одна из предыдущих статей (вот она) была посвящена тому, как прошивать контроллер на отладочной плате STM32 Discovery, но этого же нам мало 😉 Давайте попробуем прошить сторонний микроконтроллер, используя STM32 Discovery в качестве ST-Link программатора. То есть из Discovery мы сделаем программатор микроконтроллеров для других плат. У меня вот, например, лежит отличная отладочная плата Mini STM32 с контроллером STM32F103VET6, его то как раз я и буду прошивать через Discovery.

Что ж, переходим от слов к делу….

Для начала подготовим Discovery для прошивки внешнего микроконтроллера. Для этого надо убрать два джампера:

Отладочная плата STM32 Discovery

Читать далее