Mp3-spelare...
Fler framsteg...
"Filhanteraren" fungerar nu finnt... Kan bläddra igenom alla filer och mappar på hårddisken utan problem (vad jag märkt hittills iaf, finns säkert några mindre buggar). Har även idag grejat så att den kan läsa långa filnamn (Liten förklaring: Korta filnamn består av en "Direntry" som är av 32bytes varav filnamnet 11bytes, i ett långt filnamn är namet 13bytes av dessa 32 och sträcker sig över flera "Direntries"), låter kanske simpelt men jag fick klura ett bra tag på det... har nog suttit ca 3-4 timmar idag bara med det, men det då gav bra resultat också tillslut.
Nu väntar jag bara på att få lite grejer till min UV-box så jag kan etsa mig ett kretskort där Mp3-decodern kan lödas fast tillsammans med de övriga komponenterna. Jag hoppas kunna få höra musik från den inom de närmsta 3-4veckorna.
Nu väntar jag bara på att få lite grejer till min UV-box så jag kan etsa mig ett kretskort där Mp3-decodern kan lödas fast tillsammans med de övriga komponenterna. Jag hoppas kunna få höra musik från den inom de närmsta 3-4veckorna.
- lord_dubbdäck
- Inlägg: 207
- Blev medlem: 11 juni 2003, 20:00:18
- Ort: Älvkarleby
- Kontakt:
Jag surfa förbi AVRfreaks och såg ett projekt som du kan vara intresserad av.
Jag vet inte om du har sett det men det hette "The MP3cube" id#0168.
The MP3cube
Jag vet inte om du har sett det men det hette "The MP3cube" id#0168.
Kod: Markera allt
Key Features
Processor: ATmega128(16MHz)
Decoder: VS1001K
Storage Medium: 2.5" IDE Harddisk
File format: Windows FAT16/32 filesystem, long file names
User Interface: 4 x 20 character display (standard LCD or VFD)
3 pushbuttons
rotary encoder
Programming Language: E-Lab Pascal
Mechanical dimensions: 120x60x160mm (w/h/d)
Dags att uppdatera nu...
Har nu jobbat på spelaren under hela veckan till och från och äntligen har det gett resultat för ut ur hörlurarna strömmar det nu MUSIK!!!
Hade lite problem med att få Mp3-decodern(VS1001) att fungera, men igår kväll/natt vid 2-tiden så fick jag till det.. Hade bara missat att ansluta ett par pinnar på den. Nu ska mjukvaran bara fixas till en del, så man får lite låtinfo, volymkontroll och sånnt nyttigt på displayen medans man spelar.
Hårddisken får tyvär tugga ganska mycket när man bara läser in en sector i taget och en Massa sectorer i sekunden, så den ger ifrån sig ett lite störande ljud, iof en ganska gammal HD så beror kanske lite på det också, men ska se om det går att göra det lite bättre på något vis.
Och nej, jag har inga bilder på den än *skäms lite*
Har nu jobbat på spelaren under hela veckan till och från och äntligen har det gett resultat för ut ur hörlurarna strömmar det nu MUSIK!!!
Hade lite problem med att få Mp3-decodern(VS1001) att fungera, men igår kväll/natt vid 2-tiden så fick jag till det.. Hade bara missat att ansluta ett par pinnar på den. Nu ska mjukvaran bara fixas till en del, så man får lite låtinfo, volymkontroll och sånnt nyttigt på displayen medans man spelar.
Hårddisken får tyvär tugga ganska mycket när man bara läser in en sector i taget och en Massa sectorer i sekunden, så den ger ifrån sig ett lite störande ljud, iof en ganska gammal HD så beror kanske lite på det också, men ska se om det går att göra det lite bättre på något vis.
Och nej, jag har inga bilder på den än *skäms lite*
- lord_dubbdäck
- Inlägg: 207
- Blev medlem: 11 juni 2003, 20:00:18
- Ort: Älvkarleby
- Kontakt:
-
- Inlägg: 515
- Blev medlem: 31 maj 2003, 10:42:37
- Ort: Helsingborg
Jo, det låter som en ganska bra ide, tror man ska kunna läsa från cacheminnet i hårddisken, men jag vet inte om det rymmer så mycket mer än en sektor, ska kolla upp det.
Jag har nu lite problem med att läsa in flera sektorer på rad, så jag har bara löst det genom att helt enkelt läsa dom var och för sig och detta tar upp en hel del onödig tid, så för tillfället kan jag bara spela upp låtar med en bitrate på <128Kb (eller går säkert upp till kring 160, men 192hackar på ganska illa), sedan hinner inte HDD<->MCU inte med längre. Är ganska säker på att jag i början av detta projekt(när jag skrev i assambler) utan problem kunde läsa in flera sektorer på rad genom att bara behandla dom som en sektor, skrev vilken första sector som skulle läsas och hur många sectorer, sedan var det bara att ladda på, men nu vägrar det fungera... Får ta en tillbakablick på det och se om jag missat något... Finns även något kommando som heter Read Multipe för ATA, som är typ gjort för att läsa flera sectorer i följd, men jag har inte hunnit kika så mycket på det än, ska göra det imorrn tror jag..
ZZzznark...
Jag har nu lite problem med att läsa in flera sektorer på rad, så jag har bara löst det genom att helt enkelt läsa dom var och för sig och detta tar upp en hel del onödig tid, så för tillfället kan jag bara spela upp låtar med en bitrate på <128Kb (eller går säkert upp till kring 160, men 192hackar på ganska illa), sedan hinner inte HDD<->MCU inte med längre. Är ganska säker på att jag i början av detta projekt(när jag skrev i assambler) utan problem kunde läsa in flera sektorer på rad genom att bara behandla dom som en sektor, skrev vilken första sector som skulle läsas och hur många sectorer, sedan var det bara att ladda på, men nu vägrar det fungera... Får ta en tillbakablick på det och se om jag missat något... Finns även något kommando som heter Read Multipe för ATA, som är typ gjort för att läsa flera sectorer i följd, men jag har inte hunnit kika så mycket på det än, ska göra det imorrn tror jag..
ZZzznark...
Hehe... Det stämmer nog... Läste att den jag använder har typ 128KB, sedan är frågan om det går att använda på något smidigt vis...
Det finns ett kommando som heter Read Buffer, men jag vet inte när det som hamnar i buffern hamnar där eller vad som hamnar där. Om en sector hamnar i bufferten medans man läser den så är det ju inte till så stor nytta, kunde man däremot säga åt HDn att läsa X sektorer till Bufferten och sedan läsa från bufferten så kan det kanske vara till nytta, någon som vet hur HD-cachen fungerar?
Det finns ett kommando som heter Read Buffer, men jag vet inte när det som hamnar i buffern hamnar där eller vad som hamnar där. Om en sector hamnar i bufferten medans man läser den så är det ju inte till så stor nytta, kunde man däremot säga åt HDn att läsa X sektorer till Bufferten och sedan läsa från bufferten så kan det kanske vara till nytta, någon som vet hur HD-cachen fungerar?
I cachen ska systemet lagra den data som kommer att användas mycket och ofta. Systemet ska alltså "gissa" vilket data som kommer att efterfrågas. Med dagens algoritmer för detta så har vi 90% träffar i cachen.
Som du/ni kanske redan vet är ju cachen avsevärt mycket snabbare än om man måste göra en hdd-access.
Cache används för att öka processoranvändningen i ett system pga av att nuförtiden är det inte processorn som inte hinner med utan det är I/O-enheterna.
Säg till om något verkar oklart
Som du/ni kanske redan vet är ju cachen avsevärt mycket snabbare än om man måste göra en hdd-access.
Cache används för att öka processoranvändningen i ett system pga av att nuförtiden är det inte processorn som inte hinner med utan det är I/O-enheterna.
Säg till om något verkar oklart
Cache i allmänhet är ju en kopia på ett långsammare minne för att snabbt kunna levera data.
En access på hårdisken tar ca 10ms och det är tidsmässigt ohållbart om man ska ha ett snabbt system. Då spelar det ingen roll om man har 2GB i RAM och en processor som klockas med 5 GHz.
Systemet kommer bara få stå och idla medans hdd'n jobbar.
En access på hårdisken tar ca 10ms och det är tidsmässigt ohållbart om man ska ha ett snabbt system. Då spelar det ingen roll om man har 2GB i RAM och en processor som klockas med 5 GHz.
Systemet kommer bara få stå och idla medans hdd'n jobbar.