. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
MP3/WAV přehrávač s FPGA
16. května 2013 - 7:00 | Pandatron | MP3/WAV přehrávač s FPGA | Komentářů: 2  

MP3/WAV přehrávač s FPGA

Cílem projektu je vytvořit standardní MP3/WAV přehrávač, který bude využívat pouze obvod FPGA, paměť RAM a stereo DAC. Uplatnění takového přehrávače je pak především v oblasti průmyslových systémů a v aplikací s konfigurovatelným hradlovým polem a požadavkem na zvukový výstup.

Následující projekt využívá implementaci 32-bitového softwarového procesoru, který ve struktuře FPGA (konfigurovatelného hradlového pole) běží ne frekvenci těsně pod 60MHz. Procesor se stará o real-time dekódování MP3 streamu, tedy zcela bez použití externího dekodéru či hardwarového akcelerátoru. Projekt byl představen na serveru Ultra-Embedded.com.


Obr. 1: MP3/WAV přehrávač s FPGA

Popis hardware
Základem přehrávače je již zmíněný obvod FPGA, sestávající se z čipu Xilinx Spartan 6 FPGA a několika podpůrných obvodů (2x regulátor napětí a SPI-PROM), dále pak asynchronní SRAM s kapacitou 512 KB, 24-bitový stereo DAC a jako zdroj dat slouží slot na Micro SD kartu.

Na následujícím obrázku je uvedeno zjednodušené rozložení prvků na desce s plošnými spoji.


Obr. 2: Rozmístění základních prvků na desce s plošnými spoji

Regulátory napětí a několik dalších součástek je samozřejmě také na spodní straně desky.

Rozšiřující port je dostupný na klasickém 10-pinovém konektoru, který lze použít pro připojení libovolných dalších modulů, například kompatibilních z produkce společnosti OLIMEX Ltd.

Díky použití plně konfigurovatelného obvodu lze však na těchto pinech vytvořit prakticky libovolné rozhraní typu UART, SPI, GPIO, nebo úplně jiné. Tento konektor by tak mohl být využit také například pro připojení desky s displejem, tlačítky a IR přijímačem, která umožní pohodlné ovládání funkcí přehrávače.

Při pohledu na celkovou koncepci je tedy jasné, že se autor projektu snažit vytvořit minimalistický design s podporou velkého množství funkcí, realizovaných přímo v FPGA.

Struktura FPGA
Implementovaný 32-bitový softwarový procesor vychází z řady MPX Core a byl původně napsán v jazyce VHDL. Nyní je však dostupný také v jazyce Verilog. Jedná se o RISC procesor s pipeline, který většinu instrukcí ve standardu MIPS-I ISA realizuje pomocí speciálních load/store instrukcí, stejně jako nativní HW násobičky a děličky (instrukce mult, multu, div, divu). Díky násoben a dělení pomocí nativního jádra je celý proces pipeline zjednodušen a jádro je mnohem menší.


Obr. 3: Blokové schéma implementace FPGA

Násobení a dělení je pak v programu zajištěno pomocí knihovních funkcí jazyka C (mulsi3, divsi3, atd.).

Dále je na desce přehrávače umístěn 8.192MHz oscilátor, který se přímo používá jako zdroj hodinového signálu pro DAC (MCLK) a rovněž se pomocí jednotky Xilinx DCM interně násobí na frekvenci 57,34MHz, která dále řídí zbytek SOC a jádro procesoru.

Bohužel, použití 8.192MHz hodin znamená, že při přehrávání 44.1kHz sklatby je DAC přibližně o 3% pomalejší. Frekvence DAC MCLK by totiž měla být přesně 8.467MHz, tedy 192 x LRC hodiny (44,1 kHz). Ovšem v praxi je tato odchylka naprosto nepostřehnutelná.


Obr. 4: Obvody Spartan 6 od společnosti Xilinx

MPX Core
Podrobný popis MPX Core a software, stejně jako další informace o projektu jsou dostupné na webových stránkách autora. Zde je rovněž možné stáhnout všechny projektové soubory, výrobní data pro desku s plošnými spoji a samozřejmě také zdrojové kódy.

Zdroj: FPGA based MP3/WAV Player







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (2):

Zobrazit starší 30 dnů (2)...



Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
USB teploměr a vlhkoměr
Digitální USB teploměr a vlhkoměr s možností připojení externího čidla, funkcí termostatu se zasíláním e-mailu i přenosem dat na webový server.
Skladem od 600 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007