BEN - odborná literatura s.r.o. je kamenné a internetové knihkupectví specializované na technické knihy.

Generování zvuků pomocí mikrokontrolérů

Generování zvuků pomocí mikrokontrolérů
 (Matoušek David)
obj. číslo121368
autor Matoušek David
vydal / výrobceBEN - technická literatura
rozsah / vazba250 stran A4 / brožovaná V2
vydání1. české
prodáváme od31.12.2015
ISBN / EAN978-80-7300-528-3
9788073005283
dostupnostSkladem
Cena
v kamenném obchodě
 
640 Kč
Internetová cena
pro zaslání poštou
599 Kč
Koupit   (ceny včetně DPH)  

Aktualizováno  9.3.2016

Popis

obsah download reakce odkazy keywords

Kniha se věnuje problematice generování zvuků pomocí mikrokontrolérů, je určena široké odborné veřejnosti včetně začátečníků. Série příkladů určených pro mikrokontroléry PIC16F628A a ATmega8A (resp. ATmega16A) vysvětluje jednotlivé možnosti generování zvuků počínaje jednoduchými obdélníkovými impulzy a konče přehráváním zvukových souborů typu WAV a MP3 z SD karty na kodeku VS1053b.

Pro lepší pochopení je doplněna řada aplikací určených pro Windows, které analyzují zvukové soubory nebo vytvářejí zvuky na zvukové kartě počítače. Velká pozornost je rovněž věnována rozhraní digitálních hudebních nástrojů (MIDI). Kromě jiného je realizována MIDI klaviatura a MIDI syntezátor.

Předpokládá se, že čtenář má znalosti programovacího jazyka C a orientujete se v základních pojmech mikroprocesorové techniky. Pro zájemce je text doplněn odkazy na další literaturu, kde lze dohledat doprovodné informace.

 


 

První kapitola vysvětluje základní pojmy spojené se zvukem a uvádí principy generování zvuku pomocí mikrokontroléru (jednoduché obdélníkové impulzy, použití PWM, použití D/A převodníku). Dále je řešeno buzení reproduktoru a piezoměniče.

Druhá kapitola je stručným popisem mikrokontrolérů PIC16F628A a ATmega8A, které jsou v knize používány pro realizaci jednotlivých příkladů. Též jsou uvedeny konstrukce vývojového kitu PKIT627 a kitu COM644KIT včetně redukce pro ATmega8A. Uvedené typy mikrokontrolérů byly vybrány s ohledem na poměr výkon/cena a patří k „nejoblíbenějším“ mikrokontrolérům řad PIC a ATMEL.

Třetí kapitola předvádí generování jednoduchých obdélníkových impulzů pomocí mikrokontrolérů PIC16F628A a ATmega8. Nejdříve je vysvětlena funkce jednotky Timer2, přerušovacího systému, vstupně/výstupních vývodů a konfigurace fuses (propojek). Poté je realizován první příklad ve vývojovém prostředí MPLAB X s použitím překladače XC8 (pro případ PIC16F628A) resp. Atmel Studio 6.1 s použitím překladače GCC (pro případ ATmega8A). Příklad je označen jako PROG_01.

Čtvrtá kapitola je věnována generování jednoduchých zvukových efektů pomocí mikrokontrolérů PIC16F628A a ATmega8. Nejdříve jsou vysvětleny principy generování přerušovaného tónu, střídání dvou tónů různé výšky a plynulé změny výšky tónu. Příklad je označen jako PROG_02.

Pátá kapitola ukazuje možnost přehrávání jednoduchých melodií pomocí mikrokontrolérů PIC16F628A a ATmega8. Nejdříve jsou připomenuty pojmy z hudební nauky nutné pro správné pochopení problematiky (temperované ladění, kmitočty jednotlivých tónů). Následně je pomocí piezoměniče (s využitím přerušení časovače) přehrána krátká melodie. Příklad je označen jako PROG_03.

Šestá kapitola je věnována problematice harmonické syntézy (vytváření tónů různých barev skládáním harmonických složek různých kmitočtů, fází a amplitudy). S ohledem na výpočetní náročnost generování zvuku tímto způsobem v reálném čase, je realizace předvedena pomocí zvukové karty PC a ovládací program je napsán pro Windows. Aplikace je označena jako GENER.

Sedmá kapitola se zabývá detaily vlnového zvuku. Nejdříve je podrobně popsán formát souboru WAV. Pomocí Windows aplikace WAVEINFO je předvedena pokročilejší práce s vlnovými zvuky včetně přehrávání na zvukové kartě PC ale také extrakce zvukových dat pro mikrokontroléry řady PIC nebo ATMEL.

Osmá kapitola ukazuje přehrávání vlnového zvuku pomocí jednoduchého přípravku MWAVEOUT (obsahuje 12bitový D/A převodník a výkonový zesilovač) na mikrokontrolérech PIC16F628A a ATmega8. Jeden nebo více zvuků je uloženo v programové Flash. Vzhledem k nízké kapacitě paměti Flash se jedná pouze o krátké zvuky, které tvoří například reakci na stisk tlačítka (kliknutí). Příklad je označen jako PROG_04.

Devátá kapitola je nazvána Úvod do MIDI. Po úvodním popisu hardware MIDI a přenosu zpráv je věnována pozornost systému MIDI z úrovně programování pod Windows. Výsledkem je pak Windows aplikace MIDITEST, která slouží pro úvodní seznámení s rozhraním MIDI. Tato aplikace přehrává jednoduché tóny a také akordy na zvukové kartě PC.

Desátá kapitola představuje realizaci klaviatury MIDI nazvané MIDIKBD. Klaviatura je postavena na mikrokontroléru ATmega16A, obsahuje 25 kláves (rozsah dvě oktávy) a lze ji připojit jako běžné MIDI zařízení nebo přes sériovým port k počítači. Displej zobrazuje navolený MIDI program (hudební nástroj), který lze měnit pomocí tlačítek. Pokud nemáte MIDI syntezátor (nebo počítač vybavený konektorem MIDI-IN), můžete klaviaturu připojit k počítači pomocí sériového portu a použít jednoduchou Windows aplikaci MIDIKBD, která přijímá MIDI zprávy přes sériový port a přehrává tóny na zvukové kartě PC.

Jedenáctá kapitola je věnována úvodnímu popisu hardwarového kodeku VS1053b a vývojovému kitu MP3 click. Kodek VS1053b podporuje rozličné zvukové formáty (včetně WAV a MP3) a také je schopen v reálném čase zpracovávat zprávy rozhraní MIDI. Je tedy stručně popsána funkce, dále jednotlivé vývody, rozhraní SDI a SCI, registry SCI a základní operace. Dále je pozornost věnována kitu MP3 click, který obsahuje osazený obvod VS1053b včetně podpůrných součástek. Kit je realizován tak, aby jej bylo možné zasunout například do běžného kontaktního pole. Na závěr je popsána konstrukce přípravku MVS1053B, který slouží pro připojení uvedeného kitu k mikrokontrolérům řady AMTEL a PIC.

Dvanáctá kapitola ukazuje ovládání kitu MP3 click (resp. kodeku VS1053b) pomocí mikrokontroléru ATmega8A. Příklad PROG_05 přehrává vlnový zvuk uložený v programové Flash přímo na kodeku VS1053b. Pro konverzi souboru WAV do formy zdrojového souboru je vytvořena aplikace KONVATMEL. Příklad PROG_06 provede programové přepnutí kodeku do režimu run-time MIDI. Následně je možné odesílat na kodek klasické MIDI zprávy a kodek dané zprávy zpracovává v reálném čase. Kodek lze pak použít jako základ pro realizaci MIDI syntezátoru.

Ve třinácté a čtrnácté kapitole jsou stejné příklady PROG_05 a PROG_06 (tedy přehrávání vlnového zvuku z paměti Flash a zpracování MIDI zpráv v reálném čase) převedeny na mikrokontrolér PIC16F628A. Vzhledem k absenci jednotky SPI u tohoto mikrokontroléru jsou nejdříve programy realizovány přímým programovým řízením SPI linek (s nízkou přenosovou rychlostí). Varianty označené jako PROG_05A a PROG_06B používají přípravek MVS1053BPIC s upraveným rozložením vývodů, kdy je místo jednotky SPI použita jednotka USART, pracující v synchronním režimu. Použití této jednotky vyžaduje navíc přepnutí kodeku do odlišného SPI režimu.

V patnácté kapitole je na základě kodeku VS1053b realizován MIDI syntezátor MIDISYNT. Mikrokontrolér ATmega8A realizuje spojení se vstupním konektorem MIDI-IN a přeposílání přijatých zpráv na kodek VS1053b. Mikrokontrolér dále obsluhuje tlačítko s funkcí MUTE (vypnutí/zapnutí zvukového výstupu) a rotační spínač (enkodér) pro plynulé nastavení hlasitosti zvukového výstupu. LCD slouží pro grafické znázornění nastavené hlasitosti.

Šestnáctá kapitola popisuje SD kartu a její ovládání. SD kartu lze využít pro uložení delších zvukových souborů (souborů, jejichž délka neumožňuje, aby byly uloženy v paměti Flash). Nejdříve je detailně popsán souborový systém FAT32, který se standardně používá pro ukládání souborů na paměťová média. Pro lepší pochopení a konkrétní představu je doplněna Windows aplikace DISKINFO, která rozkládá obsah kopie SD karty na jednotlivé složky (MBM, BPB) a předvádí obsah datové oblasti a tabulky FAT a dále dovoluje extrahovat soubor uložený na SD kartě. Následně je stručně popsáno ovládání SD karty na hardwarové úrovni a předvedena realizace programové jednotky SD (určena pro ATmega8A) pro základní operace s SD kartou: inicializace, vykonání příkazu a přečtení jednoho sektoru.

Sedmnáctá kapitola logicky završuje celou knihu. Spojuje dříve uváděné poznatky do příkladů PROG_07 a PROG_08, které přehrávají zvukové soubory WAV a MP3 načítané z SD karty na kodeku VS1053b. Příklady jsou určeny pouze pro mikrokontrolér ATmega8A, protože je nutné použít SPI jednotku jak pro komunikaci s kodekem, tak i pro komunikaci s SD kartou.

V příloze naleznete schémata jednotlivých přípravků a podklady pro jejich výrobu. Seznamy součástek jsou uvedeny jednak v opisné formě (vhodné například pro začátečníky) a dále ve formě značení součástek v katalozích firem GM electronic a TME. Jedná se o přípravky: PKIT627 (vývojový kit pro PIC16F628A-I/P), COM644KIT (levný vývojový kit pro ATmega644, nová verze ovládacího programu zajišťuje podporu i pro mikrokontroléry ATmega8, ATmega16, ATmega32), REDMEGA8 (redukce pro použití 28vývodového mikrokontroléru ATmega8A ve 40vývodové patici vývojového kitu COM644KIT), MSVORKY (univerzální přípravek se svorkovnicí a kolíkovou lištou), MLEDSW verze 2 (LED a spínače), MPIEZO (piezoměnič), MWAVEOUT (přehrávání vlnového zvuku pomocí D/A převodníku MCP4921 a výkonového zesilovače LM386), MIDIKBD (MIDI klaviatura s 25 klávesami – 2 oktávy), MVS1053B (modul pro připojení kitu MP3 click), MVS1053BPIC (optimalizované rozložení vývodů pro připojení kitu MP3 click na PIC16F628A), MIDISYNT (MIDI syntezátor s kitem MP3 click), MAMP3SD (modul pro připojení mikro SD karty a kitu MP3 click). Na závěr je popsána konstrukce propojovacích kablíků pro připojování přípravků.

Přehled uváděných příkladů pro mikrokontroléry:

  • PROG_01 – generování obdélníkových impulzů kmitočtu 440 Hz (PIC16F628A, ATmega8A).
  • PROG_02 – generování zvukových efektů: přerušovaný tón, přepínání dvou tónů různé výšky, plynulá změna výšky tónu (PIC16F628A, ATmega8A).
  • PROG_03 – přehrávání jednoduché melodie (PIC16F628A, ATmega8A).
  • PROG_04 – přehrávání krátkých vlnových zvuků z paměti Flash pomocí přípravku MWAVEOUT (PIC16F628A, ATmega8A).
  • PROG_05 – přehrávání vlnových zvuků z paměti Flash pomocí kodeku VS1053b (PIC16F628A, ATmega8A).
  • PROG_06 – zpracování MIDI zpráv pomocí kodeku VS1053b v reálném čase (PIC16F628A, ATmega8A).
  • PROG_05A – upravený příklad PROG_05 pro jednotku USART (PIC16F628A).
  • PROG_06A – upravený příklad PROG_06 pro jednotku USART (PIC16F628A).
  • PROG_07 – přehrávání zvukových souborů WAV a MP3 z SD karty na kodeku VS1053b (ATmega8A).
  • PROG_08 – upravený příklad PROG_07, volba přehrávaného souboru stiskem tlačítka.

Přehled uváděného firmware:

  • MIDIKBD – MIDI klaviatura (ATmega16A).
  • MIDISYNT – MIDI syntezátor (ATmega8A).

Přehled uváděných aplikací pro Windows:

  • GENER – harmonická syntéza pomocí zvukové karty PC.
  • WAVEINFO – získání informací o vybraném vlnovém zvuku (souboru WAV), přehrání a extrakce zvukových dat pro mikrokontroléry PIC nebo ATMEL.
  • MIDITEST – jednoduchá Windows klaviatura přehrávající tóny generované pomocí MIDI na zvukové kartě PC.
  • MIDIKBD – jednoduchá Windows aplikace pro příjem MIDI zpráv pomocí sériového portu. Tóny generované pomocí MIDI přehrává na zvukové kartě PC.
  • KONVATMEL – převádí soubor vlnového zvuku (WAV) na výstupní soubor ve formátu odpovídající zdrojovému textu s definicí pole zvukových dat (používá se pro programování mikrokontrolérů).
  • DISKINFO – předvedení práce se souborovým systémem FAT32 na kopii obsahu SD paměti.

Doprovodný ZIP archiv

Adresář COM644KIT_v2 obsahuje aplikaci COM644KIT.EXE pro ovládání vývojového kitu COM644KIT. Dále je zde konfigurační soubor COM644KIT.INI (výběr čísla sériového portu pro připojení kitu k počítači). Soubor COM644KIT.HEX slouží pro naprogramování řídicího mikrokontroléru AT89C2051 (viz přílohu A.2). Nová verze aplikace COM644KIT.EXE podporuje nejen mikrokontrolér ATmega644, ale i typy ATmega8, ATmega16, ATmega32.

Adresář FIRMWARE obsahuje programy pro výše uvedená zařízení MIDIKBD a MIDISYNT.

Adresář WINAPP obsahuje výše popsané aplikace pro Windows. Dále je zde ještě aplikace ALARM, která slouží pro vytvoření krátkých vlnových zvuků (ALARM.WAV, SINUS.WAV, NARUST.WAV).

Adresář PROGRAMY obsahuje v podadresářích ATMEGA resp. PIC jednotlivé programy PROG_01PROG_08 resp. PROG_01PROG_06A. Dále jsou zde adresáře ATMEGATEST a PICTEST, které obsahují jednoduché programy pro otestování funkce vývojového kitu (jedná se o „legendární“ program běžící světlo).

Adresář DOKUMENTY obsahuje katalogové listy (datasheety) použitých obvodů, případně další informace k doplnění problematiky.

Adresář SPOJE obsahuje soubory návrhového systému Eagle (SCH a BRD) a klišé plošných spojů jednotlivých přípravků.

Stručný obsah

  • obsah knihy
    1. Základní pojmy a principy
    2. Mikrokontroléry PIC16F628A a ATmega8A
    3. Generování jednoduchých obdélníkových impulzů
    4. Generování jednoduchých zvukových efektů
    5. Přehrávání jednoduchých melodií
    6. Harmonická syntéza
    7. Vlnový zvuk
    8. Přehrávání vlnového zvuku
    9. Úvod do MIDI
    10. MIDIKBD - MIDI klaviatura
    11. Kodek VS1053b a kit MP3 click
    12. Ovládání kodeku VS1053b pomocí ATmega8A
    13. Ovládání kodeku VS1053b pomocí PIC16F628A
    14. MVS1053BPIC - úprava desky MVS1053B pro PIC
    15. MIDISYNT - MIDI syntezátor
    16. SD karta a její ovládání
    17. Přehrávání zvuků z SD karty pomocí ATmega8A
    18. Přílohy: Podklady pro výrobu vývojových kitů a přípravků

  • obsah doprovodných dat
    • COM644KIT_v2
    • FIRMWARE
    • WINAPP
    • PROGRAMY
    • PROGRAMY
    • SPOJE

    Download

    Recenze lektorů a reakce čtenářů

    • zatím žádné nejsou

    Odkazy

    Keywords

    • obecná charakteristika
      slova
    • obsah knihy
      obsah
    • rejstřík knihy
      rejstříková slova
    • integrované obvody
      označení integrovaného obvodu

    URL adresa

    domovská stránka této knihy/zboží na Internetu = trvalá a neměnná internetová adresa:

    http://shop.ben.cz/cz/121368-generovani-zvuku-pomoci-mikrokontroleru.aspx

Měřicí háčky

různé barvy a velikosti

Levné bastldesky

5×7, 7×9, 9×15 cm

Měřicí jehly

průměr 1 mm

Tlačítková klávesnice

100 Kč

Jazyky

Amper BRNO