Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: Elektroemre - 08 Ocak 2011, 16:47:52

Başlık: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Elektroemre - 08 Ocak 2011, 16:47:52
Selamlar;

Bu aralar finallerin yaklaşmasından mıdır nedir ARM kiti gözümü daha güzel görünmeye başladı. (beni cezbedip ders çalışmamı engellemek için :) )
Hep MP3 player yapmak istiyordum ancak, mp3 decode entegresi bulamamaktan dolayı yapamadım, wav dosyalarıyla idare ettik.
Sonra kuzu kuzu yatan ARM kitimiz boş durmasın, bu kadar işlem gücü varken MP3'ü software decode edelim dedim, araştırmaya başladım ve 2 gününün sonunda Helix mp3 kütüphanesini LPC1768'e port edip mp3 çaldırabildim. MicroSD için ChaN'in FatFs'ini kullandım.

Kullandığım software mp3 decode librarysinin linki;
https://datatype.helixcommunity.org/Mp3dec (https://datatype.helixcommunity.org/Mp3dec)

LPC1768 ile 48000KHz 320Kbit/s Stereo mp3 real-time olarak çözülebiliyor. Yaptığım test devresinde LPC'nin dahili 10bitlik DAC'ini kullandım.
Ses stereo çözülüyor ancak, tek kanalı dışarı veriliyor ve onunda 6biti kırpılıyor ancak ses yine yeterli kalitede.

Deneme Videosu:


Video telefonla çekildiği için pek net değil ancak gerçekte ses güzel.
Helix kütüphanesiyle yapılmış örnek devreler:
http://www.stm32circle.com/projects/project.php?id=82 (http://www.stm32circle.com/projects/project.php?id=82)
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3619159&bbs_page_no=5&bbs_id=3020 (http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3619159&bbs_page_no=5&bbs_id=3020)
http://embdev.net/articles/ARM_MP3/AAC_Player#The_DAC_-_First_Version:_CS4331 (http://embdev.net/articles/ARM_MP3/AAC_Player#The_DAC_-_First_Version:_CS4331)

ChaN üstadımızın Fat librarysi:
http://elm-chan.org/fsw/ff/00index_e.html (http://elm-chan.org/fsw/ff/00index_e.html)

LPC17xx için port edilmiş FatFs:
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html (http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html)

(http://img341.imageshack.us/img341/9355/image0256.jpg)

(http://img577.imageshack.us/img577/8318/image0261.jpg)

(http://img88.imageshack.us/img88/8287/image0260s.jpg)


İyi çalışmalar...
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Mucit23 - 08 Ocak 2011, 17:21:25
Tebrikler kardeş çalışman çok başarılı olmuş.
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: X-Fi - 08 Ocak 2011, 18:03:30
güzel olmuş kutlarım hocam lpc1768 in  DAC'ı ile 320kbit/s çok iyi sizin sayenizde bizde görüp öğrenmiş olduk. :) iyi çalışmalar.
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Elektroemre - 08 Ocak 2011, 18:16:54
@mucit23
teşekkür ederim

@FxDev hocam teşekkür ederim. Mezun olunca "Mühendis" sıfatını hakedebilmek için şimdiden çalışıyoruz.
Sitenizi ve çalışmalarınızı ilgiyle takip ediyorum. ARM ilgili başlangıç bilgileri ve hatta bu projedeki DAC kısmındada sizin sitenizden yararlandım :)

@X-Fi hocam LPC1768 oldukça iyi işlem gücüne ve donanıma sahip, altından kalkamayacağı iş yok gibi. Bu projede 320kbit/44,100KHz stereo mp3'te mp3 decode için işlem gücünün yaklaşık %45'i (~55 DMIPS) kullanılıyor.
Arka plandaki interruptlar ve SD'den veri okumayla %50-60'ları buluyor. Diğer işler için hala %40 (50 MIPS) işlem gücümüz var. Mükemmel bir rakam bence.

İyi çalışmalar...
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: X-Fi - 08 Ocak 2011, 18:23:25
evet şimdi baktımda maximum update rate of 1 MHz demiş 44100KHz vız gelir buna :)  keşke 16 bit olsaymış 10 bit biraz az bugün atxmega'larda bile 12 bit DAC var.
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: muuzoo - 08 Ocak 2011, 21:34:22
Gerçekten güzel bir çalışma olmuş elinize sağlık. Bu arada söylemeden geçemeyeceğim, sanırım bu sınav dönemleri insanın ilham kanallarını tetikliyor ders çalışmak dışında herşey daha bir güzel geliyor  :). Başlıkla alakasız olacak ama ekşisözlükten geliyor :
http://www.eksisozluk.com/show.asp?t=ders%20%C3%A7al%C4%B1%C5%9Fmamak%20i%C3%A7in%20yap%C4%B1lan%20anlams%C4%B1z%20hareketler (http://www.eksisozluk.com/show.asp?t=ders%20%C3%A7al%C4%B1%C5%9Fmamak%20i%C3%A7in%20yap%C4%B1lan%20anlams%C4%B1z%20hareketler)
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Elektroemre - 09 Ocak 2011, 01:27:24
Alıntı yapılan: gerbay - 09 Ocak 2011, 00:57:27
hocam mp3 çalar denemesi ne kadar flash ve ram kullanıyor?

Devre bu haliyle 72KB ROM ve 38KB RAM kullanıyor.
RAM'in 24KB'si MP3 library için + 9,2KB (2x4608 byte) çözülen PCM datayı saklamak için buffer + 4KB SD karttan dosya okumak içi buffer.
Diğer normal değişkenler <1KB yer kaplıyor.
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: DEno_12 - 12 Ocak 2011, 02:24:21
Çok nefis olmuş tebrikler. :] @elektroemre'nin daha nice çözümlerini görmek dileğiyle...
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: serdararikan - 12 Ocak 2011, 12:07:32
güzel çalışma olmuş.tebrik ederim.sen buna jpeg decoding de eklersin şimdi:)
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Elektroemre - 12 Ocak 2011, 15:41:57
Sağolun Serdar hocam, kısmetse finallerden sonra JPEG decode içinde çalışma yapacağım, hatta düzgün bi RTOS port edebilirsem MP3 arka planda çalarken aynı anda JPEG decode ettirmeyi düşünüyorum ama bitmediki şu finaller :)
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: fatihinanc - 12 Ocak 2011, 19:51:45
Tebrik ederim @Elektroemre gerçekten çok güzel bir iş çıkartmışsın.
Aslında RTos işi benimde aklımdaydı bu aralar. Bakalım sınavlar bir bitsin de...
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Erhan YILMAZ - 12 Ocak 2011, 21:19:25
Hocam tebrik ederim gerçekten çok güzel uygulamaların var her gün kendini geliştiriyorsun.Aman finalleri aksatma hocam Kocaeli çok kazık diyorlar. :)
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Elektroemre - 12 Ocak 2011, 22:29:00
@fatihinanc teşekkür ederim. Cortex-M3 için tavsiye edebileceğiniz bir RTOS var mı?
Geçenlerde nette dolaşırken CooCox - CoOS adında bir RTOS takıldı gözüme. Manuelini ve örneklerini indirdim. Gayet güzel gibi : http://www.coocox.org/CoOS.htm (http://www.coocox.org/CoOS.htm)

@tamirci_erhan sağolun hocam. Valla doğru hocam en iyisi ders çalışmaya döneyim :)
Finallerde tüm arkadaşlara başarılar.

İyi çalışmalar.
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: muhittin_kaplan - 13 Ocak 2011, 00:24:04
freertos lpc1768 i destekliyor.
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: muhittin_kaplan - 13 Ocak 2011, 00:26:57
http://www.freertos.org/a00090.html#NXP
http://www.freertos.org/shop/education-evaluation-kits-c-38.html
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Elektroemre - 13 Ocak 2011, 13:57:34
FreeRtos'a da daha önce göz atmıştım, ancak şu na kadar hiç RTOS deneyimim olmadığı için biraz teferruatlı geldi bana.
Fakat bu kadar çok kişi FreeRTOS kullandığına göre vardır bir bildikleri. Daha derinden incelemek lazım uygun zamanda.
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: strom - 13 Ocak 2011, 15:25:01
Eline sağlık hocam gerçekten çok hoş bir çalışma.Tebrikler gerçekten
Birde sorum olacaktı.Kullandığınız ekran nokia 1208 sanırım.Acaba lehimi sıkıntı çıkarıyor mu?TFT ekranlarla bir uygulama yapmak istiyorumda.Lehimlemede sıkıntı yaşamayacağım (ya da en rahat olan) bir modeli tercih etmek istiyorum.Tavsiye eder misiniz acaba?

Ayırca bütün öğrenci arkadaşlara finallerde başarılar  :D
Başlık: Ynt: LPC1768 ile mp3 çalar - Denemesi (Software mp3 Decode -Cortex-m3)
Gönderen: Elektroemre - 13 Ocak 2011, 23:25:14
@gerbay, sade bir RTOS'la başlayıp ilerlemek istiyorum. CoOS'la yapılmış güzel bir örnek, aynı anda SD karttan wav dosyası okuyup çalarken, diğer taraftan FFT yapılıp ekrana basılıyor: http://projectproto.blogspot.com/2010/06/mini-stm32-wave-audio-player.html (http://projectproto.blogspot.com/2010/06/mini-stm32-wave-audio-player.html)

@strom teşekkür ederim. Resimdeki ekran Nokia 6610'a ait. Ancak aynı sistemde 1208-1600 ekranlarınıda çalıştırdım.
10'lu incecik bacakları olan soketleri var LCD'lerin, telefon tamircilerinden temin edilebilir, lehimlemesi biraz zor ama altı-üstü 10 pin.
6610-1208-1600 ekranlarının hepsinde aynı sürücü chip var, sadece bacak bağlantıları farklı. Nette mevcut bağlantılar.

İyi çalışmalar.