Z překladu stránek původního projektu 255-Voice PCM sound generator zde napíšu to důležité a přidám poznámky k realizované verzi.
Jedná se o jednoduchý zvukový generátor. Je postaven na mikrokontroléru Atmel ATtiny861 s paměťovou SD kartou. Tiny861 má rychlý PWM výstup, proto je ve srovnání s jinými AVR čipy, možné vytvořit čistý zvuk. Na obvodu je k dispozici mnoho vstupně výstupních pinů, což umožňuje ovládat zvukový generátor vnějšími signály.
Hardware
Jako paměťové médium je použita micro SD karta. Karta musí být naformátována na souborový systém FAT. Většina použitých součástek byla zvolena v THT pouzdru. Slot pro SD kartu, procesor a napěťový stabilizátor AMS1117-3.3 jsou v SMD pouzdru a jsou proto osazeny ze strany spojů. Pájecí plošky LSP1 a LSP2, které jsou z pinů procesoru vyvedeny, slouží pro naprogramování již zaletovaného procesoru. Zapojení bylo doplněno o napájecí část, obsahující usměrňovací můstek a stabilizátor napětí. Přehrávač tak lze napájet napětím v rozsahu od 8V do 20VDC, nebo od 7V do 16VAC. Jako NF zesilovač je použit obvod LM386 v zapojení s minimem součástek. Podle verze obvodu LM386 může být napájecí napětí až 12V (resp.18V), proto je možno napěťový stabilizátor 7805 zaměnit za stabilizátor s vyšším napětím, např. 7808.
Firmware nahraný do AVR musí být shodný s konfigurací výstupního obvodu. Nastavení pojistek je low 0xC1, high 0xDD a extended 0xFF.
Software
Podporované zvukové soubory jsou RIFF/WAVE v LPCM formátu, 8/16bit, mono/stereo a 8kHz-48kHz. Ostatní zvukové soubory, jako například ADPCM, MP3 a AAC, musí být převedeny do formátu PCM. Tyto zvukové soubory musí být pojmenovány NNN.wav, kde NNN je trojciferné číslo v rozsahu od 001 do 255. Tyto zvukové soubory musí být vloženy do kořenového adresáře SD karty.
Ovládání provádíme uzemňováním vstupů 1-8 konektoru SELECT v binárním kódu, který odpovídá zvukovým souborům, které mají být přehrávány. Vstup 1 odpovídá souboru 001.wav, vstup 4 odpovídá souboru 008.wav a vstupy 1+5 odpovídají souboru 017.wav. Zvukový generátor podporuje čtyři režimy spouštění řídícími příkazy. Režim je konfigurován souborem 000.txt umístěném v kořenovém adresáři karty. Režimy pracují následovně.
Režim 0 : Spouštění úrovní (možná změna kódu)
Přehrává zvukový soubor odpovídající vstupnímu kódu a automaticky jej opakuje. Pokud je vstupní kód změněn, je zvuk také změněn. Pokud je vstup vypnut, přehrávání je zastaveno.
Režim 1 : Spouštění úrovní (přehrávání celého souboru)
Stejný jako režim 0, ale soubor je přehráván vždy celý a pokud bude vstup vypnut, bude opakované přehrávání zastaveno.
Režim 2 : Spouštění hranou
Zvukový soubor odpovídající vstupnímu kódu se přehraje pouze jednou. Pokud během přehrávání dojde ke změně kódu, bude tato změna zvuku ignorována.
Režim 3 : Spouštění hranou (možná změna kódu)
Stejný jako režim 2, ale změna kódu je při přehrávání přijata. Pro opětovné spuštění stejného kódu vypněte (0) a kód opět přiveďte na vstup.
Režim 4 : Spouštění hranou (zastavení)
Stejný jako režim2, ale přehrávání zvuku je zastaveno, pokud je vstup vypnut
Led indikace
LED indikuje, že je zvukový soubor přehráván. Při chybě vždy bliká. Počet bliknutí + následné zhasnutí odpovídá typu chyby následovně:
2 bliknutí - I/O chyba (chyba hardware - vstup/výstup, souborový systém)
3 bliknutí - zvukový soubor nebyl nalezen
4 bliknutí - zvukový soubor je neplatný