Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2016:mpc-device

Toto je starší verze dokumentu!


Zadání

Cílem této práce je vytvořit hudební systém MPC, který bude schopný nahrávat zvuky a následně je reprodukovat. K realizaci tohoto systému byla využita vývojová deska STM32F4DISCOVERY, která obsahuje integrovaný mikrofon MP45DT02 MEMS.Rovněž potřebujeme sluchátka, USB flash disk a tlačítka popřípadě maticovou klávesnici.

Postup řešení

Aplikace přechází mezi stavem nahrávání zvuků nebo přehrávání uložených zvuků podle toho, zda bylo zmáčnuto USER button na vývojové desce. Dojde-li ke k prvnímu stisku tlačítka, tak dochází ke zvolení režumu nahrávání („Audio recording“). Uživatel po stisknu tlačítka stiskne libovolnou klávesu na klávesnici a tím přiřadí nahrávaný zvuk k dané klávese.Po opětovném stisnutí tlačítka se audiostopa uloží na USB flash disk pod názvem podle toho jaká klávesa byla stisknuta a zařízení přechází do stavu přehrávání (Audio playback). Ve stavu přehrávání dochází k reprodukci uložených zvuků podle toho jakou klávesu stiskneme. Níže lze vidět vývojový diagram této aplikace. Mikrofon MP45DT02 je připojen přes sběrnici I2S pomocí jednoho datového a jednoho hodinového pinu. Hodiny I2S jsou nastaveny na 1024MHz podle výstupní vzokrovací frekvence audio souboru (16KHz) a zvoleného decimačního faktoru (64). I2S je nastavena tak, aby vyvolala přerušení pokaždé, když je příjmuto 16bit vzorků. Vzorky z mikrofunu jsou ve formátu PDM (Pulse density modulation) a jsou pomocí externé knihovny fultru PDMlib převáděny na 16-bit PCM a výsledná audio stopa „.wav“ je uložena na USB. Pro přehrávání je rovněž využito I2S sběrnice a DMA, kdy jsou jednotlivé bloky dat (1024bytes) přenášeny z USB do interní SRAM paměti. Při přehrávání jsou použity dva buffery. Jeden slouží k ukládání dat z USB a druhý k přehrávání vzorků pomocí externího kodeku DAC. Níže je přiložen vývojový diagram pro proces nahrávání.

Software

Základem pro mojí aplikaci je Audio playback and recording example pro STM32F4DISCOVERY (AN3997-Aplication note) a program KEIL. Audio playback and recording example projekt obsahuje následující knihovny:

  • main.c:Obsahuje inicializaci a spouští aplikaci podle toho zda zvolíme ukládání audiostopy do interní nebo externí flash paměti.
  • stm32f4xx_it.c: Obsahuje obsluhy přerušení
  • waveplayer.c: Implementuje funkci pro přehrávání
  • waverecorder.c: Implementuje funkci pro nahrávání
  • usb_bsp.c:Podpůrná knihovna pro USB
  • usbh_usr.c: Obsahuje uživatelský kód pro USB host
na

Ukázka činnosti

Závěr

Cílem této práce bylo vytvořit hudební systém MPC, který bude schopný nahrávat zvuky a následně je reprodukovat. Bylo dosaženo náhrávání zvuků do různých souboru na USB, podle toho jaká klávesa byla stisknuta. Zvuky jsou pak při přepnutí do režimu přehrávání reprodukovány, podle toho jaká klávesa je stisknuta. Bohužel se při práci na projektu nepodařilo dosáhnout efektu mixování zvuků tak, aby dva zvuky mohly být reprodukovány součastně. Aplikace nyní funguje tak, že jsou zvuky přehrávány postupně a jednotlivý audiosoubor je vždy dohrán až do konce. Možným pokračováním na projektu by bylo ošetření zákmitů tlačítek, využití celé maticové klávesnice a celková změna v řešení projektu, kdy by bylo využito možnosti přerušení při stisku určité

kláves y a část uživatelského kódu by byla napsána do obsluhy tohoto přerušení, což by nejspíše vyžadovalo větší změny v použitých knihovnách audio playback examplu .

2016/mpc-device.1484518546.txt.gz · Poslední úprava: 2017/01/15 23:15 autor: Josef Grygar