STM32F4Discovery+LabWindowsCVI. Урок 1. Часть 0. Введение

Для тех, кому лень изучать С++ и С#...

Многие начинающие или даже имеющие за плечами большой опыт программирования программисты микроконтроллеров сталкиваются с проблемой написания более менее рабочего оконного приложения для управления микроконтроллером с ПК и отображения телеметрии. В большинстве случаев для этого нужно изучать языки программирования высокого уровня, такие как С++ и C#. Процесс изучения этих языков может привести программиста, который всю жизнь программировал только на С в ступор, потому что они очень сильно отличаются от обычного С, а изучение этих языков займет у него очень много времени.
Именно для таких людей компания NationalInstruments выпустила программу LabWindowsCVI, в которой весь код пишется на простом С и человек, который программировал только на С очень легко в ней разберется…

В этом топике хочу представить вам цикл уроков по программированию LabWindowsCVI с использованием отладочной платы STM32F4Discovery…

В процессе работы мы напишем простое приложение :

С помощью этого приложения мы сможем:
    -Управлять состоянием светодиодов;
    -Управлять яркостью синего светодиода;
    -Получать значения угловых ускорений со встроенного акселерометра;
    -Изменять значения на выходе ЦАП и изменять его с помощью АЦП.

Видео, демонстрирующее работу приложения представлено ниже:


Спасибо за внимание!

хорошая звуковая карта (192/24) за выходные

После тюнинга плеера остались разные микросхемы, остался трупик старого плеера (умер своей смертью после 3х лет работы).
Решил из того что есть собрать хорошую звуковую карту. fiio E10 на сходной элементной базе превосходит все бытовые карты (включая ASUS Xonar Essence ). Собственно его схему и берем за основу.



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

Подключение SPI ЦАП к AVR

Сегодня ради освоения технологии подключил к ATMega16 в составе PinBoard2 через SPI-интерфейс 16-разрядный аудио-ЦАП BU9480F. Использовал аппаратный SPI и прерывание. Писал на С. Исходник выложу позже по причине его плохого оформления. Прикрепил архив проекта.
Пока несколько фото.


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

Плата для аудио ЦАПа на DIR9001+PCM1796


Наконец то пришла мне плата для готовящегося ЦАПа.
Два слоя, металлизация, лужение, зеленая маска, односторонняя белая шелкография. Толщина фольги 18 мкм, платы — 1,5 мм.
Кратко о проекте: S/PDIF ЦАП, 24 бита, 96 кГц на связке DIR9001 + PCM1796. В выхлопе AD8065/66 + транзисторный буфер.
Детали все куплены. Скоро можно будет начать сборку.



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

Тест точности ЦАП и АЦП на STM32F100

Задумал одну схемку, активно использующую АЦП и ЦАП. Планирую использовать преобразователи, имеющиеся в STM32. И вот задумался, насколько они там точные. В даташите, конечно, есть данные про точность, но понять по ним, насколько результат будет точным на практике, не так просто. Значит будем проверять на практике.


Читать дальше
  • +3
  • 07 октября 2011, 05:32
  • ACE
  • 3

DAC в STM32, аппаратный генератор

По сути эта статья продолжение статьи DAC в STM32
ЦАП stm32 может аппаратно генерировать сигналы. Это может быть либо треугольный сигнал, либо шум.

Генерация возможно только при запуске преобразования ЦАП от события. При возникновении события данные суммируются с DHRx и переносятся в выходной регистр DORx, затем вычисляется следующее значение на протяжении 3 тактов. Можно выбирать амплитуду и смещение сигнала относительно 0. Смещение определяется значением в DHRx, амплитуда битами MAMPx в регистре DAC->CR.


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

DAC в STM32

ЦАП (цифро-аналоговый преобразователь) нужен для преобразования числового кода в напряжение. Я опишу работу с ЦАП в stm32f100c4t6, там их целых 2 еще и 12-битных.

Они умеют:
  • Вывод напряжения от 0 до Vref+ (здесь это Vdda)
  • Генератор белого шума
  • Генератор треугольного сигнала
  • По DMA каналу на каждый ЦАП
  • Вывод данных по событию таймера или внешнего события
  • Возможность работы в 8-битном режиме
  • Возможность одновременной загрузки разных данных (через один регистр) в оба ЦАП


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

DAC в STM32, интересные наблюдения

Сегодня пытался запустить ЦАП на stm32f100, мучался около часа, испытал много параметров, наконец он заработал и я провел несколько экспериментов с его инициализацией.


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