mp3-plejer-player-mikroelektronika-automatika-rs.png
mp3-plejer-player-mikroelektronika-automatika-rs.pngUpotreba MP3 formata je dovela do revolucije u kompresiji digitalnog zvuka omogućujući da audio fajlovi budu i po nekoliko puta manji. Ako želite da u vaš projekat uključite zvučne poruke ili muziku, videćete da je to veoma lako. Potrebna vam je bilo koja standardna MMC ili SD memorijska kartica, nešto hardvera i malo vremena.

 Za razvoj softvera i  njegovo testiranje korišćeni su razvojni sistem  EasyPIC5 i  modul  Smart MP3.  Pre početka rada, potrebno je formatirati MMC karticu i na nju snimiti fajl  sound1.mp3 (kartica se formatira u FAT16, tj. FAT formatu). Kvalitet reprodukcije zvuka u MP3 formatu zavisi od brzine semplovanja i bitrejt-a. Kao i audio CD, većina MP3 fajlova je semplovana frekvencijom 44.1 kHz. Bitrejt MP3 fajla nam označava koliko je verno kodiran originalni zvuk. Za reprodukciju govora je dovoljno 64 kbit/s dok se za muziku koristi bitrejt 128 kbit/s ili viši. U našem primeru smo koristili muzički fajl sa bitrejtom 128 kbit/s.

Hardver

 Zvuk u ovom fajlu je kodiran u MP3 formatu tako da nam je za njegovu reprodukciju potreban  MP3 dekoder. U našem primeru, za ovu svrhu se koristi čip VS1011E. Ovo kolo dekoduje MP3 zapis i vrši digitalno-analognu konverziju signala tako da se nakon obrade dobija signal koji se preko malog audio pojačavača može dovesti na zvučnike. 

 Zbog činjenice da MMC/SD kartice koriste sektore sa 512 bajtova, za kontrolu rada MP3 dekodera je potreban mikrokontroler sa više od 512 bajtova RAM-a. Mi smo izabrali PIC18F4520 koji ima 1536 bajtova RAM memorije.

Softver

 Rad programa koji upravlja ovim uređajem može se podeliti u pet koraka:
Korak 1:  Inicijalizacija SPI modula mikrokontrolera.
Korak 2:  Inicijalizacija Mmc_FAT16 biblioteke kompajleru  čime se omogućava čitanje MP3 fajlova sa MMC ili SD kartica.
Korak 3:  Čitanje dela fajla.
Korak 4:  Slanje podataka u bafer MP3 dekodera.
Korak 5:  Ako nije završena reprodukcija kompletnog fajla, vracamo se na korak 3.

blok-dijagram-smart-mp3-modula.jpg

 Testiranje

 Testiranje rada uređaja je bolje početi sa manjim bitrejt faktorom pa ga zatim postepeno povećavati. Naime, bafer MP3 dekodera je veličine 2048 bajtova. Ako taj bafer popunimo delom MP3 fajla bitrejta 128 kbit/s, on će sadržati dva puta više odbiraka zvuka nego kada bismo u njega upisali deo fajla bitrejta 256 kbit/s. Samim tim, zvuk koji je u baferu će se reprodukovati duplo duže kod fajla sa manjim bitrejtom. Ako suviše povećamo bitrejt fajla može se desiti da se zvuk iz bafera reprodukuje pre nego što mikrokontroler stigne da pročita sledeći deo fajla sa kartice i upiše ga u bafer, zbog čega će zvuk biti isprekidan. Ako se to desi, možemo smanjiti bitrejt MP3 fajla koristeći neki od audio editora ili upotrebiti kristal frekvencije više od 8MHz (pogledajte šemu 1).

 U svakom slučaju, o ovome ne morate previše brinuti jer je naš program testiran na nekoliko familija mikrokontrolera sa različitim vrednostima kristala i bio je u stanju da reprodukuje MP3 fajlove srednjeg i visokog kvaliteta. Sa druge strane, mali bitrejt znači da bafer dekodera punimo zvukom dužeg trajanja. Može se desiti da dekoder ne reprodukuje zvuk iz bafera pre nego što mi pokušamo da ga ponovo napunimo. Da bismo to izbegli, pri slanju podataka uvek proveravamo da li je dekoder spreman za prijem novih podataka. Stoga u funkcijama za slanje podataka čekamo da data request signal dekodera (DREQ) bude na logičkoj jedinici (1).

Proširenja programa

 Kada isprobamo ovaj primer možemo ga proširiti. DREQ signal se može periodično proveravati. Može se dodati rutina za kontrolu jačine zvuka, za kontrolu ugrađenog Bass/Treble enhancer-a itd.  MMC biblioteka nam daje mogućnost da odaberemo fajl sa nekim drugim imenom. Na taj način možemo stvoriti bazu MP3 poruka, zvukova ili pesama koje ćemo koristiti u našoj aplikaciji i poslati odgovarajući MP3 fajl dekoderu u zavisnosti od situacije.


zip Izvorni kodovi 95.73 Kb


 Na sledećoj slici je prikazana lista funkcija koje se nalaze u biblioteci Mmc_FAT16. Ova biblioteka je sastavni deo kompajlera mikroC PRO for PIC compiler.

 lista-funkcija-mikroc-automatika-rs.jpg


Više informacija o SmartMP3 modulu možete pronaći na
ovoj adresi.

Informacije o EasyPIC5 razvojnom sistemu možete naći ovde .

NAPOMENA: Ovaj projekat postoji i varijantama za AVR i dsPIC mikrokontrolere. Više o ovome možete naći ovde.

POSTAVI ODGOVOR

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.