Räcker en 7 MHz ARM för att avkoda mp3 ..?
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
> Så vitpappret är fel?
Fel och fel...
Vad är problemet egentligen?
Har du någon specifikt design att välja hårdvara till?
Fel och fel...
Vad är problemet egentligen?
Har du någon specifikt design att välja hårdvara till?
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Funderar mest på hur saftig ARM man behöver för att kunna avdekoda mp3 i realtid.
(128k joint-stereo 44,1 kHz 16-bit)
(128k joint-stereo 44,1 kHz 16-bit)
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Jag vill påstå att det beror mycket på vad man vill göra mer med samma processor.
Sen får simuleringar och praktiska tester verifiera om teorierna håller.
När det gäller dokumentet så kan man i alla fall säga att det
sannolikt går lättare med den nya M4-arkitekturen, men det
säger ju ingenting om andra ARM arkitekturer.
Sen får simuleringar och praktiska tester verifiera om teorierna håller.
När det gäller dokumentet så kan man i alla fall säga att det
sannolikt går lättare med den nya M4-arkitekturen, men det
säger ju ingenting om andra ARM arkitekturer.
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Precis som sodjan säger så har M4 DSP instruktioner som underlättar vid mp3 decode, den har även en liten enklare FPU.
Vilken frekvens som behövs beror helt på CPU, en A57 klarar det säkert i 7 MHz men det är att överdriva ganska rejält.
Whitepaper som du hänvisade till verkar vara skrivet av Ittiam, de och ARM är bra kompisar.
Beställningsjobb eller inte så tror jag inte de bluffar.
http://caxapa.ru/thumbs/318831/Pg38-42_ ... rtex-M.pdf är ganksa intressant, där jämför de M3 och M4.
Där säger de att en M4 behöver 7-10 Mhz och en M3 15-18 MHz.
M0 har ingen MAC instruktion vad jag vet, så det är nog bra mycket slöare. Kanske 50MHz (ren gissning!).
Vilken frekvens som behövs beror helt på CPU, en A57 klarar det säkert i 7 MHz men det är att överdriva ganska rejält.
Whitepaper som du hänvisade till verkar vara skrivet av Ittiam, de och ARM är bra kompisar.
Beställningsjobb eller inte så tror jag inte de bluffar.
http://caxapa.ru/thumbs/318831/Pg38-42_ ... rtex-M.pdf är ganksa intressant, där jämför de M3 och M4.
Där säger de att en M4 behöver 7-10 Mhz och en M3 15-18 MHz.
M0 har ingen MAC instruktion vad jag vet, så det är nog bra mycket slöare. Kanske 50MHz (ren gissning!).
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Krävs det mao assembleroptimering för att klara sig på 7-10 MHz med M4 ?
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Tyckte det lät lite väl billigt. När jag kollade ELFA-länken så var det 130kr. Kanske du såg Euro-priset?blueint skrev:STM32F205RGT6 (ELFA 73-872-73) för 14,60 SEK ex.moms med 128 kB RAM + 1024 kB flash samt 120 MHz klockfrekvens verkar ju lämplig. LQFP-64
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Nya STM32F301 ska tydligen kosta under 1 dollar. Det är rätt billigt för en M4:a med FPU.
Det gör det nog, men hade du verkligen tänkt koda MP3-avkodningen själv? Tror inte kompilatorerna är så bra på att använda DSP-instruktionerna när man skriver vanlig C-kod. Många av de operationerna är svåra att uttrycka i C, men man kan till viss del gå runt det med macron om sådana finns.Krävs det mao assembleroptimering för att klara sig på 7-10 MHz med M4 ?
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Det verkar finnas en del färdig kod. Dock är den väl oftast i ren C. Använder man en lite snabbare CPU så kan man ju klara även det. Då är det bra att veta var minimikravet ligger.
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Som superx säger så behövs det en hel del assembler för att utnyttja DSP instruktionerna.blueint skrev:Det verkar finnas en del färdig kod. Dock är den väl oftast i ren C. Använder man en lite snabbare CPU så kan man ju klara även det. Då är det bra att veta var minimikravet ligger.
Jag skulle kollat MP3 decodning i ffmpeg och MAD. Båda någon typ av opensource.
libavcodec brukar ha en ren portabel C version och versioner optimerade för specifika platformar/CPUer.
Libavcodec ren C decoder
https://github.com/FFmpeg/FFmpeg/blob/m ... template.c
Libavcodec ARM assembler optimeringar (blandat video, audio ingen aning vad som är mp3 och m4):
https://github.com/FFmpeg/FFmpeg/tree/m ... vcodec/arm
LibMad verkar lite mindre och hanterbart:
http://www.underbit.com/products/mad/
Jag kollade lite snabbt men kunde inte se några M4 optimeringar. Du får väl krossa spargrisen och köpa från Ittiam

Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Hur många MHz kan tänkas behövas för en ren C version?
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Jag vet kanske inte så mycket, men hur fasen ska
man kunna svara på det bara genom att tänka?
man kunna svara på det bara genom att tänka?

Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Vad är viktigast, att det är ARM och du skriver koden själv eller att den drar så lite effekt som möjligt?blueint skrev:Hur många MHz kan tänkas behövas för en ren C version?
https://www.elfa.se/elfa3~se_sv/elfa/in ... &toc=20966
I audio versionerna ingår licens på optimerade bibliotek för MP3 och AAC (och säkert annat också) från Atmel.
40 mA @ 3.3V, nej jag har aldrig använt den bara sett reklamen

Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
sodjan skrev:Jag vet kanske inte så mycket, men hur fasen ska
man kunna svara på det bara genom att tänka?
1. Kompilera C only versionen med en arm kompilator till din valda arch.blueint skrev:Hur många MHz kan tänkas behövas för en ren C version?
2. Kör progammet i en ARM emulator och se hur många cykler det tar.
3. Lägg på liite marginal.
Eller ännu bättre köp ett billigt dev kit och testa

Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
Tänkte att eftersom CPU och tillämpning är given så borde antal MHz som krävs gå att utröna. Angående emulator så har jag inte lagt märke till någon instruktions eller cykelräknare. Men det kanske är ordnat numera.
Re: Räcker en 7 MHz ARM för att avkoda mp3 ..?
> Tänkte att eftersom CPU och tillämpning är given...
CPU var/är väl inte given? D.v.s utöver "ARM".
> så borde antal MHz som krävs gå att utröna.
Ja, Ittiam har ju gjort en analys *viss* modell, ARM Cortex-M4.
Om man vill "skala" det till en enklare ARM arkitektur, så får man
väl studera hur de speciella DSP instruktionerna kan översättas till
en annan arkitektur. Sedan behöver man en "profile" på koden för
att beräkna hur stor andel vid run-time som dessa instrultioner
används och sedan går det att beräkna vad samma decoder "drar"
av en viss arkitektur.
Det verkar som att Ittiam alltså har decoders som de säljer
licenser till. Det är väl rimligt att anta att dessa är kraftigt
opimerade (till Cortes-M4 i detta fall).
CPU var/är väl inte given? D.v.s utöver "ARM".
> så borde antal MHz som krävs gå att utröna.
Ja, Ittiam har ju gjort en analys *viss* modell, ARM Cortex-M4.
Om man vill "skala" det till en enklare ARM arkitektur, så får man
väl studera hur de speciella DSP instruktionerna kan översättas till
en annan arkitektur. Sedan behöver man en "profile" på koden för
att beräkna hur stor andel vid run-time som dessa instrultioner
används och sedan går det att beräkna vad samma decoder "drar"
av en viss arkitektur.
Det verkar som att Ittiam alltså har decoders som de säljer
licenser till. Det är väl rimligt att anta att dessa är kraftigt
opimerade (till Cortes-M4 i detta fall).