kategorie:

menu:

části stránky:


HISTORIE MP3 PŘEHRÁVAČE

  • červen 2005

    Na konci školního roku 2004/2005 (byl jsem ve třeťáku) jsem již začínal přemýšlet co si příští rok vyberu jako maturitní projekt. V té době sháněl kámoš se kterým jsem bydlel na intru nějaké kvalitní autorádio kterým by "krmil" zesilovač ve své stodvacítce. Ideální by bylo vozit s sebou celou sbírku mp3 na nějakém disku. Přehrávače obsahující pevný disk ale stojí často víc jak 10 tisíc a jsou pro běžného českého studenta dostupné pouze s velkým odříkáním (či s dobře placenou brigádou). V té době nás napadlo si takový přehrávač vyvinout v rámci maturitního projektu (na který hradí náklady škola) a jeden exemplář (za vlastní money) vyrobit pro provoz v autě.

    Hledání na internetu ukázalo, že takový projekt není neřešitelný a že již existuje spousta amatérských zapojení přehrávajících mp3 ze všech možných paměťových zdrojů (HD, CD/DVD-ROM, flash karty...). Naše zapojení jsme se rozhodli vyvinout zcela od základu a udělat jej co nejjednodušší. Jako řídící obvody jsme zvolili mikrokontroléry PIC od Microchipu. (Protože se na naší škole vyučují.) Zapojení jsme od začátku plánovali vytvořit dvouprocesorové, kde první uP čte data z disku a obsluhuje mp3 dekodér a druhý má na starosti zobrazování údajů na LCD a ovládání pomocí klávesnice.

  • červenec, srpen 2005

    Půlku prázdnin 2005 pršelo:( No, alespoň jsem si našel čas přeložit to nejdůležitější z ATA specifikace a napsat pokusný prográmek v Pascalu, který čte přímo z disku a umí procházet složkami v oddílu FAT32. Zjistil jsem že FATka je poměrně jednoduchá, jak to ale vysvětlím PICu to netuším...

    Při prozkoumávání hlubin internetu jsem narazil na mp3 dekodér vs1001 od firmy VLSI. Nepotřebuje žádné zvláštní softwarové nastavení a ke své práci potřebuje minimum vnějších součástek. Doufám že se nám jej podaří nějakou cestou dostat do ČR a do našeho zapojení.

  • září 2005

    Zpátky ve škole. V předmětu programování se letos místo v Pascalu učíme v Delphi. Napsal jsem program který čte a zapisuje data na sériový port PC (RS323). Ten se bude hodit při ladění programu v mp3 přehrávači. Začal jsem se stavbou "bastl desky" na které chci odladit základy programu (pro PIC) pro čtení z ATA disku. Boga (Honza Kubeček) který dělá na projektu se mnou a bude programovat PIC obsluhující klávesnici a LCD má za sebou první pokusy se zobrazováním na LCD.

  • říjen 2005

    První pokusný hardware je na světě! Protože jsem lama, tak jsem desku s plošnými spoji vyrobil zrcadlově:) No, nevadí, patici pro procesor a IDE konektor jsem naletoval ze strany spojů. Je to přeci jen bastl... Procesor co bude číst z disku jsme vybraly PIC16F877.

    Několik večerů jsem strávil ve školní laboratoři nadáváním proč mi nejde přečíst žádný ATA registr, až jsem přišel na to, že port E je implicitně analogový. Taková blbost dokáže vždy zvednout náladu... Po dalších menších problémech jsem rozchodil komunikaci s diskem a napsal první program, který umí identifikovat zařízení připojené k IDE konektoru a z disku přečíst libovolný sektor.

    Při pokusech jsem zjistil, že staré disky Western Digital (Caviar 2850,850MB a Caviar 1270,270MB) nechtějí s mým softwarem spolupracovat. Pro zadání příkazu READ SECTOR(S) (21h) se nastaví bit ABRT v registru ERROR... (Na příkaz IDENTIFY DEVICE odpovídají dobře.) Budu muset vyzkoušet ještě jiné disky. Zatím soft bezpečně chodí s diskem Samsung SV0511D (5,1GB).

    Podzimní prázdniny + 2 dny řiditelského volna = týden volna! Ještě že na programování uP máme tak špičkového učitele, půjčil mi domu programátor. Poté co jsem přečetl z disku první sektor mě to chytlo a programoval jsem 5 dní skoro nonstop... Teď to umí identifikovat disk (zjistit, jestli umí LBA, jak je velký, model...), analyzovat MBR (hlavní tabulku rozdělení disku) a najít oddíly s FATkou, načíst vybraný oddíl (analyzovat spouštěcí záznam svazku), a procházet clustery (vyhledat všechny části souboru/adresáře).

    Podařilo se mi rozchodit přenost dat po USARTU směrem PC -> PIC. Splácal jsem dohrovady prvních pár příkazů budoucí komunikace mezi řídícím a výkonným uP a upravil software tak aby všechno co umí dělal na příkaz. Na listinu disků s kterými software chodí se připsal Bogův disk Seagate ST320413A (20GB).

  • listopad 2005

    Abych nějak uspořádal poznámky co jsem za dobu svého "bádání" spáchal, tak jsem sepsal dokument "Komunikace uP s ATA disky" (najdete v download), který by měl usnadnit práci všem co se vydají po stejné cestě jako já. Alespoň, až budu psát dokumentaci k projektu (k maturitě), tak nebudu muset pracně vzpomínat jak to pracuje.

    Na internetu jsem našel český amatérský přehrávač Ikoras, na jehož stránkách jsem našel odkaz na českou firmu Snailinstruments, která prodává mp3 dekodéry vs1001k ! Odpadl tím tedy problém jak tento obvod sehnat... Koncem listopadu nám také dekodér přišel. Z GM jsme si objednaly textový displej 16x4.

  • prosinec 2005

    Ke stávající bastl desce jsem připojil dekodér vs1001 s ostatními součástkami potřebnými pro jeho provoz. Rozchodit komunikaci s ním a přehrát první mp3 bylo otázkou jen dvou večerů... První přehranou skladbou byla Coldplay - Speed of Sound (Karl G Remix).mp3. ...nikdy jsem nebyl tak rát že tento hit slyším:)

    Spolužák mi postavil a daroval programátor. O vánočních prázdninách jsem naprogramoval zas pár užitečných věcí... Teď to umí (k tomu co to umělo doteď) převíjet mp3, vyčítat soubory seřazeně podle abecedy a vyčítat dlouhé názvy k souborům a adresářům. Pak jsem ještě opravil pár chyb, které jsem objevil při testování a narazil na další. Nejzávažnější je ta, že při zapisování registrů do VS1001k se někdy dekodér sám resetuje. Mám podezření na napájení dekodéru, které není přesně podle datasheetu. To budu moct ale vyzkoušet až ve škole, až ho předělám.

  • leden - březen 2006

    Postavil jsem konečnou podobu desky plošných spojů, kde je procesor, dekodér a zdroje (3V, 5V a 12V) na jedné desce. Už to není roztahané na dvou deskách s hromadou drátů a překážejícím chladičem. Na nové desce jsem trochu upravil zapojení, což mělo za následek, že procesor přestal komunikovat s dekodérem. Příčinou byly vstupy se Schmittovými obvody, které mají logickou jedničku od 4V. Vyřešil jsem to přidáním tří hradel AND s TTL úrovněmi.

    Boga dokončil řídící část a spolu jsme napsali základní řídící program. MP3 přehrávač je nyní konečně schopen samostatného života bez asistence počítače! Začíná se také rýsovat konečná podoba maturitního projektu. Celé to bude umístěno v krabici od vyhořelého videa.

  • duben 2006

    Maturita a SOČ se blíží. Začal jsem spracovávat dokumentaci. Za jedno odpoledne jsem napsal podprogram, který umožňuje do dekodéru nahrát plugin Loudness, který jsem stáhnul ze stránek výrobce. Ten umožňuje měnit frekvenční charakteristiku výstupního zvuku podle jednoho z 12 přednastavených filtrů.

  • květen 2006

    Do sekce download jsem přidal dokumentaci k maturitnímu projektu a do fotogalerie několik fotek výsledné podoby projektu. Pomalu se začíná rýsovat podoba mého přehrávače, do kterého se pustím po maturitě. Výkonná část bude shodná, řídící část bude pravděpodobně řízena PIC18F4620 a bude mít grafický displej 128x64. Snad se konečně naučím pořádně programovat i v C.

  • červen - červenec 2006

    Tak mám po maturitě. S projektem jsem se umístil na 5. místě celostátní SOČ. Přehrávač jsem doplnil o dvě věci, které mi nejvíce chyběli: prohledávání složek (přehrávání podadresářů) a spuštění přehrávání po načtení oddílu. Objednal jsem jsem si zmiňovaný grafický LCD displej 128x64 s modrým podsvícením a ještě do prázdnin postavil novou řídící část. Zbývá dopsat software a sehnat nějakou úhlednou krabici a můj přehrávač je na světě. Zatím se můžete podívat na pár předběžných fotografií displeje.