Воскресенье
03.08.2025, 15:37
Секреты
электроники
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Форма входа

Категории раздела
51 [8]
PIC [0]
AVR [0]
STM32 [1]

Поиск

Главная » Статьи » Микропроцессоры » STM32

STM32 DSP KIT

Часть 1

Название устройства отражает то, что оно есть на самом деле есть и то, что было создано. Ключевым элементом является микроконтроллер STM32, оснащенный ядром ARM, а конкретнее Cortex-3M. Целью данной статьи является показать, как сделать первые шаги в освоении микроконтроллеров ARM фирмы STMicroelectronics. Что бы начать практику потребуется одна платка описанная в этой статье, обычной блок питания 9V переменного тока или постоянного тока (предпочтительно на ток около 0,3 А), конечно компьютер, доступ в Интернет (необходимо программное обеспечение, но вы можете его скачать у друзей), и внимание! Программатор не нужен! Будет использоваться зашитый производителем bootloader.

Буквы DSP в названии проекта являются сокращением от Digital Signal Processing, или цифровая обработка сигналов (ЦОС). Она охватывает такие вопросы, как преобразование сигнала из аналогового в цифровой и наоборот, сжатие, обработка, фильтрация и многое другое. Это очень интересная область знаний присутствует во многих аспектах жизни, лучшим примером этого, может быть мобильный телефон и портативные медиаплееры. Моим намерением было создать такую тестовую плату, которая позволяет познакомиться с таким темами, как:

  • Использование основных периферийных устройств STM32 (ADCSPIUART, портов ввода-вывода, таймеры и т.д.)
  • оцифровка/восстановления звука
  • DFT/FFT
  • Цифровая фильтрация
  • Простой генератор DDS
  • Эффекты специальные (эхо, реверберация, вибрато, металлизация и т.д.)
  • АЧХ-метр (например, для исследования характеристик фильтров)
  • Синтезатор звуков
  • Эквалайзер
  • Маскировка по времени и частоте звука (введение в модели психо-аккустики)
  • Шум квантования, сглаживание
  • Спектрограф
  • Синтезатор речи
  • Кодирование DPCM/ADPCM
  • Обратное воспроизведение
  • Изменение частоты звука
  • Синхронизация полушарий мозга

Обратите внимание! Схема предназначена для обучения, поэтому у нее не коммерческие параметры. Применяются дешевые и доступные 12–битные преобразователи. Программное обеспечение представленное далее в этой статье было полностью написано на языке С. Без знании С/C++ по крайней мере основ не обойтись. Читателей не знакомых с С или С++ я призываю ознакомиться с курсом С, который был опубликован в  EdW, посмотреть соответствующие Интернет ресурсы или купить книгу. Со своей стороны я могу порекомендовать книгу «Симфония C++» JGrebosz, по которой учился сам.

Аппаратная часть

Схема устройства показано на рисунке 1. «Странная» трехзначная нумерация элементов позволяет выделить три основных блока устройства и облегчает конструирование печатной платы.


Рисунок 1 - Принципиальная схема учебной платы.

Первый блок – питание нумерация его элементов начинается с цифры 1. Разделение питания для аналоговой и цифровой части улучшает надежность и повышает качество обработки звука. Устройство может питаться как от переменного, так и постоянного напряжения.

Второй блок представляет собой 32-разрядный микроконтроллер, оснащенный современным Cortex-M3 ядром группы ARM. Записанный bootloader позволяет программировать память без программатора. Микроконтроллер имеет 64 Кб памяти для программы и 20 Кб оперативной памяти. Два SPI интерфейса, три UART и два 12 битовых AЦП преобразователя, обслуживающих 10 каналов.

Читатели, которые решат приобрести специальные инструменты (например, JTAG, но он не является необходимым) могут их использовать, для этого есть разъем Z201. Интерфейс пользователя состоит из семи сверхярких светодиодов. Вы можете уменьшить сопротивление резисторов R201..R207, но потребляемый ток одного порта не должен быть более 8 мА. Для взаимодействия с пользователем, есть 4 кнопки, благодаря внутренней подтяжке к питанию, они работают по низкому состоянию.

Микроконтроллер работает с кварцем «всего лишь» 8 МГц, но встроенный умножитель (петля PLL) позволяет получить максимальные 72 МГц.

Микросхема U202 – память типа Flash, для хранения выборок звука, в виде простого WAV файла для записи/воспроизведения звука.

Система оснащена портом USB через конвертор USB<–>RS232 FT232, который позволяет с помощью загрузчика отображать информацию на экране компьютера. На плате пять перемычек ответственных за загрузку программы.

В устройстве есть пять аналоговых каналов, два линейных входа (WE_L и WE_R), микрофонный вход и два выходных канала с преобразователями ЦАП. В каждом простой  фильтр высоких частот на усилителе NE4432. Частота среза этого фильтра равна половине частоты выборки (как это следует из теории Найквиста).

Выходные каналы не имеют усилителей, и наушники подключаются непосредственно к выходу ОУ, это позволило упростить плату, но на плате есть нормальный регулятор громкости, конечно при этом нельзя напрямую к плате подключить динамик. Регулировка громкости может осуществляться потенциометрами PR401 и PR501.

Все операционные усилители питаются напряжением 5 Вольт, что позволяет получить пиковый сигнал переменного тока около 3Вольт (3Vpp). Преобразователь процессора работает в диапазоне напряжений от 0 Вольт до 3,3. Для согласования используется схема гальванической развязки и делителя напряжения (на пример: на элементах C709, R705, R706).

Среда разработки

 Все примеры были скомпилированы в среде Ridi 7 фирмы Raisonance. Она была выбрана в основном из-за отсутствия ограничений на длину кода, понятного интерфейса, возможностью добавлять библиотеки, предоставляемые производителем микросхем STM32, и ни какой платы за лицензию. К сожалению как обычно это всего лишь «наживка», а конкретней Ride 7 работает только с отладчиком/программатором RLINK который можно купить на территории Польши за 400 злотых. После покупки RLINK стандартной версии по этой цене есть, возможность отлаживать программы, не более 32 КБ, для работы с большим кодом нужно приобрести профессиональную версию программатора, которая стоит намного больше.

Как я уже говорил в начале, мы будем использовать для программирования загрузчик (бутлоадер), а от Ride 7 нам потребуется только созданный HEX файл.

Читатели, которые хотят иметь отладчик, могут приобрести клон ST-Linka – ZL30PRG по доступной цене. Он поддерживается такими средами как Keil и Arollic TrueSTUDIO. Однако вы должны считаться с ограничениями в функционировании этих IDE. Обе среды так же поддерживают библиотеки для STM32, поэтому не должно быть проблем с этими инструментами.

Перед началом работы, необходимо загрузить из Интернета три вещи. Первая это бесплатный драйвер для микросхемы FT232 http://www.ftdicip.com на главной странице кликните ссылку Drivers, а затем VCP и выберите нужный драйвер для вашей операционной системы. Щелкните на его установку, да же если у вас уже установлен немного старей.

После установки драйверов зайдите на страницу Raisonance (http://raisonance.com) скачайте Ride 7 и Rkit-ARM и установите в таком же порядке. Когда инсталлятор спросить, устанавливать драйверы, стоит согласиться. 

Первый проект

Создать новый проект не особенно сложно. Просто откройте среду Ride 7, выбрав ее из меню Пуск, а затем выберите New Project из меню Project. Это откроет диалоговое окно. В поле Processor раскройте группу STM32x и выберете STM32F103C8T6, выберите папку для хранения файлов и нажмите кнопку Готово. Нужно изменить имя проекта, что бы он имел более понятное, чем предложенное по умолчанию Application0. Правильно заполненное окно показано на рисунке 2.


Сразу должен быть создан основной файл, в котором будет функция main. Самый простой способ сделать это, кликнуть по названию проекта правой кнопкой мыши и выберите Add, нажмите Item рисунок 3. 


В открывшемся диалоговом окне перейдите в папку проекта, а в поле Name введите main.c и нажмите открыть. Конечно, такого файла в каталоге нет, но в этот момент он будет создан и добавляется в проект – рисунок 4. 


Двойной щелчок на нем откроет файл в редакторе. Он пуст, в него нужно вписать основные инструкции – рисунок 5. 


Так возникла простейшая программа. Ее можно скомпилировать нажать клавишу F9 или выбрав Project->Make Project. Если читатель заглянет в папку с проектом но не найдет там файла HEX. Он создается только после «сборки» проекта Project> Build Project (или Alt + F9).

Перед тем, как написать настоящую программу, несколько отступлений. Во-первых – библиотеки. Контроллер STM32 представляет собой современный, мощный процессор 32-разрядный таким образом работать с его периферией не легко, трудно определить, что и где вводить. Анализ документации утомителен, поэтому компания STMicroelectronics подготовила библиотеки упрощающие использование периферийных устройств. Они позволяют легко настраивать периферийные устройства, без необходимости углубляться в смысл каждого бита. Цена за это незначительное увеличение размера объектного кода за счет включения библиотек. Поэтому подключайте только те библиотеки, которые в данном проекте нужны.

Во-вторых вам следует знать что Ride 7 (по крайнем версия, в которой были написаны учебные программы) поставляется с двумя версиями библиотек, новой и старой. На интересует более поздняя, так что вы должны отключить использование более ранней, что бы не допустить конфликта версий (в противном случае исходный код, может быть и нескомпилируется). Для это в свойствах проекта изменить две опции с YES на NO, как показано на рисунке 6. 

Дополнительные материалы для курса:

http:///STM32/chast1/201101avt2975.zip

Категория: STM32 | Добавил: Nikola201212 (24.05.2013)
Просмотров: 7224 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Наш опрос
Что хотите видеть на сайте?
Всего ответов: 46

облако ссылок

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Все права на переводы принадлежат автору сайта © 2025
    Конструктор сайтовuCoz