Войти    Регистрация
ChipFind

Новости микроэлектроники

ПРОМЭЛЕКТРОНИКА Mario на STM32

    Архитектура микроконтроллеров семейства STM32 позволят выполнять несколько задач одновременно. Гибко настраиваемая периферия + DMA позволяют отказаться от рутинных подключений ядра во множестве случаев. Например, при воспроизведении звуковых файлов. Инженеры компании Промэлектроника применили свой стек для работы с последовательной памятью типа M25, который можно скачать здесь. Во внешнюю последовательную (и весьма дешёвую) Flash память предварительно был записан файл формата wav. Для наших неблагочестивых экспериментов был выбран саундтрек из игры Mario, подвергнутый конвертации в 8-ми битный моно формат с частотой дискретизации 22кГц. Объём файла составил 452 килобайит, что составило примерно 20% от применённой последовательной памяти M25P16.
              Работа софта была построена по следующей блок-схеме:

    В процессе финального цикла «Ничего не делать» будут возникать прерывания, в момент, когда очередной фрагмент мелодии будет проигран. Прерывание будет сгенерировано контроллером прямого доступа к памяти DMA в момент окончания копирования. Работа ядра в этом случае заключается в указании DMA нового буфера, откуда требуется брать звуковые данные для ШИМ, а так же запуск процесса чтения следующей страницы внешней последовательной Flash памяти. Отметим, что оба процесса выполняются без ядра, работают таймер2, 2 канала DMA и SPI, к которому подключена внешняя память  M25.

      Как часто возникают прерывания? Частота дискретизации звука составляет 22кГц, объём одного буфера 256 байт, соответственно, с частотой 22000/256 = 86 Гц ядро подключается к работе воспроизведения. Время работы ядра – минимальное, размер обработчика прерывания составил 130 байт (хотя при отказе от использования библиотек можно объём/время выполнения кода существенно снизить), работа – практически линейная, так что на частоте 36МГц время выполнения составит 3.6 мкс. Таким образом, общая загрузка ядра составляет менее 0.05%. Куда потратить остальные 99.95% мощи ядра – решает разработчик приложения. С указанной задачей справится любой STM32.

      В процессе создания приложения возникла задача записи файла во внешнюю микросхему памяти M25. Вообще, эта задача уже решена инженерами STMicroelectronics. Они предлагают использовать USB DFU (смотреть библиотеку USB Device). С помощью программы DFUSE DEMO можно прошить через USB не только сам контроллер, но и внешнюю память нескольких типов, в том числе и M25. Со стороны контроллера софт так же написан (его надо просто использовать как загрузочный). На нашем подопытном контроллере USB – нет. Поэтому пришлось написать стек, позволяющий принимать файлы по протоколу XMODEM. Протокол старый, но он есть в программе HiperTerminal, через которую была произведена запись файла. Усечённый программный стек «как принять файл и записать его во внешнюю M25» вы так же найдёте в работе. Усечённость стека XMODEM заключается прежде всего в отсутствии сверки контрольной суммы и вытекающие из этого ветвления по приёму файла.

Компоненты, использованные в проекте:

  1. Контроллер STM32F101R8T6
  2. Память M25P15VMN6TP
  3. UART Трансивер ST3232B
  4. Транзистор STBV32
  5. Звукоизлучатель TRI-50N-C 8 Ом 1 Вт

В качестве среды разработки был использован IAR EMW версии 6.1, а отладчика – ST-Link.


За получением более подробной информации вы можете обратиться:

Бренд-менеджер:
Сорокин Сергей
E-mail: info@promelec.ru
Телефон: +7 (343) 245-68-20

Задать вопрос техподдержке Вы можете на нашем форуме.


  "ПРОМЭЛЕКТРОНИКА" - официальный прямой дистрибьютор компании "STMicroelectronics"
Источник: Промэлектроника  •  Подробнее: http://www.promelec.ru/company/news/975/

ПРОМЭЛЕКТРОНИКА

Компания является одним из крупнейших российских поставщиков электронных компонентов (ЭК) (по данным отчета EuroPartners, Paris), а на рынке Уральского региона и Сибири - самым крупным. Приоритетным направлением деятельности компании является комплексное обеспечение предприятий и организаций ЭК. Еще одно направление - розничная продажа ЭК. Ассортимент продукции насчитывает более 40.000 наименований ЭК как отечественного производства, так и известных мировых производителей. ПРОМЭЛЕКТРОНИКА является официальным дистрибьютором ряда крупных зарубежных производителей. Большие складские запасы (площадь складов около 2.000 кв. м.) выгодно отличают нашу фирму от других компаний-поставщиков и позволяют оперативно удовлетворять потребности Клиентов. Вместе с поставками со склада успешно работает система работы "под заказ".

www.promelec.ruКонтактная информация

в оглавление

© 2006 — 2024 Капитал Плюс
Телефон, e-mail, ICQ для связи
РегистрацияРеклама на сайте