Fórum témák
» Több friss téma |
Fórum » MP3 dekóder IC
Köszi a választ!
Az avr-ek mennek 16-20megán, lejátszás közben nem is kell mással foglalkoznia végülis. A honlapot néztem, a példák között láttam az önnálló lejátszót, ami kezeli a kártyát is. Lehet olyat is csinálni vele, hogy AD bemenetére kötni ellenálláslétrán gombokat, meg ilyen okosságokat. A mintaprogikat tanulmányoztam már, de C-hez sajna nem értek(még), úgy látom muszáj lesz valamilyen szinten megtanulni. Ha összeraktam a hardvert majd visszatérek.
Sziasztok!
Egy MP3 lejátszón töröm a fejem (PIC-el). Találtam is egy ígéretes dolgot, csak minél többet nézem anál gyanúsabb.... Ránéznétek hogy én nem látom jól, vagy tényleg gebasz van a dooggal? Erről van szó Nekem úgy tűnik hogy a VS1011 SPI bekötésénél az SI/SO meg van cserélve.... Az SD kártyánál jónak tűnik, de nekem a dekóder gyanús. Nem akarom a nyákot addig megtervezni amíg nem vagyok benne biztos. Köszönöm! W.
Gondolom azért, mert az egyik félen az inputra a másik outputja megy, és fordítva.
De ha biztosra akarsz menni, tervezz bele két jumpert. Esetleg megpróbálhatod elkérni az illetőtől, hátha elküldi,úgy látom eagle-ben van.
Szia !
Szerintem is fordítva van a VS1011 SI, SO lába kötve. Az SO lábnak kell az SPI interface MISO (master input, slave otput) lábára, az SI-nek a MOSI (master output, slave input) lábra menni. Az SD kártyánál szerintem OK. Nem ismerem a PIC-eket, de megnéztem a lábkiosztását, ezek szerint a 18-as láb a MOSI, ide kellene kötni a VS1011 SI lábát (13), a PIC 21-es lába a MISO ide kellene kötni a VS1011 SO lábát (14). Én vasárnap csináltam a VS1011-el mp3 lejátszót ATMEGA64-gyel, teljesen használható.
Üdv!
Az SPI-t így kell bekötni Bővebben: Link Nézd meg, hogy a SD foglalat csatlakozói a kártyán hová kapcsolódnak. Az alapján egyezteted az ábrával a kapcsolást és kiderül, hogy jól van e kötve.
Köszi, azt vágom hogy az SPI-t hogy kell kötni, pont ezért is lett a dolog gyanús...
Ami az SD foglalatot illeti nekem nem ez lesz mert ez microSD, én MMC/SD-t teszek bele, így azt mindenképp újra kell gondolni. (A Cavalier féle "megoldás" bevallom nem túl szimpatikus )
Most, hogy mondjátok, ja, felületes voltam, csak a tetejét néztem, azt gondoltam, hogy a pic felől szoftveres spi-vel dolgozik, így nem számítanak a lábak, és a VS meg közvetlenül olvas az SD kártyáról.
Én megkeresném az illetőt, aki csinálta, és rákérdeznék, Chiléből csak nem jön ide leharapni a fejünket.
Sziasztok
úgy látom a kérdésedre már megvan a válasz, én úgy gondolom hogy a rajzon nincs elkötés, ugyanis egy kis lejátszásgyorsítás érhető így el. Amint a dekoder IC is be van konfigurálva és már csak adatot kéne neki folyamatosan küldözgetni akkor előjön az hogy a memóriából ahogy kiolvas az az adat megjelenik a memória felöli SO lábon, és ha a PIC-el aktiválod a dekoder IC-t is akkor ez az adat a CLOCK láb rángatásával beírodik a dekoder IC-be is( SI lábon keresztűl ),meg persze a PIC-be is de így a PIC-nek nem is kell vele foglalkozni. Tehát a mikrokontroller programjából kihagyható az a lépés hogy a memória CS lábát magasba húzod, a VS1011 ChipSelect lábát alacsonyra rakod és a kiolvasott és addig tárolt adatot beírod neki, majd újra memóriából olvasol ...stb.. Szóval szerintem a rajz jó, programot meg ehhez kell igazítani, persze ha megvan andy_mp3_player -ének forráskódja is akkor meg örülni is lehet ui.: Eredeti hsz whalaky -től jött szóval elsősorban neki szól
Hoppá! Érdekes koncepció. Megvan a forráskódja, de abba még nem mélyedtem bele... áttanulmányozom, ha tényleg ezt csinálja akkor az egy nagy ötlet. Nem kell keresztűlpumpálni a PIC-en... Jóóóó!
Ránéztem kicsit az adatlapra és a bekötés alapján én úgy írnám a programot hogy vagy bitbanged módon küldözgetni a biteket egyszer egyik lábon máskor másik lábon, attól függően hogy melyiket akarom használni, vagy pedig úgy hogy ha a VS1011 be szeretném a regisztereket feltölteni akkor a 2vezetékes kommunikációt használnám ( I2C ) PIC 21-22 es lába, utána ha memóriából akarok olvasni és egyből már dekóderbe írni akkor az SPI vonalat aktiválom és miután a memória címkijelölése megtörtént aktiválom a dekoder ic-t is és minden egyes órajelre már a kiolvasandó adat jutna a PIC SPI bemenetére illetve a dekóder IC bemenetére is. Amíg adatot olvasok a memóriából addig a VS1011 is megkapja az adatot és már játsza is le. A 2vezetékes kommunikációnak csak az lesz a hátránya hogy a dekóder IC-ből nem tud kiolvasni, de egy szimpla mp3 lejátszáshoz lehet nem is kell. Ha mégis akkor meg marad az hogy programban kell eldönteni hogy melyik láb legyen a PICnek éppen bemenet vagy kimenet és szoftveresen kell bájtokat küldözgetni és fogadni.
Sziasztok!
Úgy néz ki sikerült összerakni az mp3 lejátszót. Már "csak" ott akadtam el. hogy két db AAA elemről szeretném használni. Normál esetben a nyugalmi árama 75mA! volt, ami nem mondható kevésnek. Ha használaton kívül a PIC-et altatom, le megy 48mA-re, de szerintem még ez is igencsak soknak mondható. Hogyan lehet a VS1011-et kisáramú módba kapcsolni? Megkérek mindenkit hogy az olvasd el az adatlapot típusú hozzászólásokat ezúttal mellőzzétek, a hiányos angol tudásom miatt ez nem vitt előrébb.
Pedig az adatlap segit. A Reset allapotban az analog es a digitalis resz max aramfelvetele 30-30 uA. Minden mas uzemmodban 1x-3x mA a felvetel.
Akkor módosul a kérdés, hogy hogy kerül reset állapotba.
Ha az XRESET lábat 0-ra húzom, valami érdekes bugyborékolás jön belőle.
Senki nem próbálta még? Esetleg valami ötlet?
A jelenség, hogy az XRESET láb földre húzásával az áramfelvétel nem csökken, marad 48mA, és valami kattogó bugyborékoló hang van a kimeneten, valami olyasmi mint mintha ki-be kapcsolgatna. Kinyomtattam az adatlapot, arra tettem a nyákot hogy lássa, de sajnos az sem segített.
A probléma leküzdve, működik.
Valaki meg tudná tippelni hogy 2 db AAA elem 200uA árammal kb mennyi ideig használható?
Szia!
Hogyan sikerült leküzdeni a problémát?
A PIC-nél volt némi affér. Altatta a VS-t, és elment szunyókálni a PIC is, de azonnal fel is ébresztette valami, így újraélesztette a dekódert is. Ettől volt a bugyborékolása, a ki be kapcsolgatástól.
Végül is elég csak az XRESET-et 0-ra húzni, így egy 18F2550, egy VS1011 és egy MAX756 együttes nyugalmi árama lemerülőben lévő elemeknél 250-280uA. Hogy ez meddig lesz elég tippem sincs.
Üdv
összedobtam én is egy ilyen hanglejátszó eszközt, és kérdésem igen egyszerű lenne : ha egy zene tartalom egy memória 0bájtjától szép sorban vannak xyz címig, akkor ennek a VS1011-nem elég csak küldenem az adatot és ő dekódolja nekem vagy nekem kell matatni a zene adatai között? Persze úgy értem hogy induláskori reset megtörténik, egy szép sinustest is lezajlik és utána csak az XDCS lábát földre tolom és nyomom neki az adatot amíg van ? olvastam valahol hogy még a végén kb2000 bájt nullát is jó lenne csatolni még. Segítenétek ha szépen kérem ?
A dolog azért ennyire nem egyszerű. 32byte-oonként tudod neki áttolni a zenét, hogy mikor van vége azt neked kell tudni (file vége). A következő 32 byte-ot csak akkor küldheted, ha az XDREC láb 1-re vált, azaz a VS-nek felszabadul a fogadó buffere. A végén pedig kell az a kazal 0 byte. Ugyan én szoktam a legjobban prüszkölni az ilyenekért, de most tényleg csak azt tudom ajánlani hogy próbáld meg kibogarászni az adatlapból, ott minden szépen le van írva (ha nekem sikerült akkor neked is menni fog ).
Köszi.
Átbogarásztam már párszor az adatlapot, most is elvileg 32 bájtos csomagok mennek át, a 32. bájt után van vizsgálva a DREQ láb . Úgy is próbáltam hogy kicsit várok mielőtt vizsgálom hátha.. Szkóppal is rávizslattam és menet közben pl egyszer se akart nullára menni. Ez lehet azért mert egyszer se jelez nekem hogy szakítsam meg az átvitelt? vagy szimplán valamit rosszul értelmezek ott? A végén a rakat nulla az is adatlap szerinti 2048 db. Ami fura nekem hogy pl eszköz üzembe helyezéskor egyből egy SINETEST megy végbe, és néha sípol egyet néha nem.Olyan mintha néha működne néha nem. Esetleg tipp mit nézek el?
Picit javítom magam, sikerült elérni azt hogy valami recsegés kijön belőle. Olyan mintha vontatottan ugyan de szólna. egy rövid dingdonggal próbálom, és tényleg mintha le lenne lassítva és recseg és nem jó.
az SCI_MODE -ot mire állítsam hogy jó legyen ? Jelenleg így megy : 0x0800-án megy, persze szoft reset után (ami 0x0804) VOL , BASS értékek nincsenek állítva (jelenleg) 24,576MHz-es kristályról van hajtva szóval az sincs állítva.
A kapcsolás és a program biztos hogy jó? Esetleg valami kufircs a nyákon?
A kapcsolás biztos jo, pl sinus teszt tökéletes sípolást ad. Olyan frekin amin én akarom. Adatátvitelre is azt mondom hogy jó. Elképzelhető hogy a mostaninál méggyorsabban kéne neki küldenem az adatot és azért ilyen? Vagy valami más ötlet? Az SCI-mode értékkel szórakozom most és néha jobb néha roszabb eredményt érek el
A körülötte lévő nyákok és más paneleknek csak szkóppal minimálisan látható a belehallása , de az is már csak az erősítő végén.
Egy kérdés felmerült.
Ha adatküldés közben a DREQ láb leesik nullára, akkor nekem szüneteltetni kell az ujabb adatátvitelt, nade ez azt jelenti hogy pl az XDCS lábat is fel kell húzni 1esbe majd ha a DREQ újra 1es akkor ismét vissza nullára az XDCS-t? PLS valaki |
Bejelentkezés
Hirdetés |