Showing posts with label Sd/Mmc. Show all posts
Showing posts with label Sd/Mmc. Show all posts

Sunday, September 11, 2011

MikroMMB for Xmega MP3 Player

This project is created in AVR GCC with 100% my own drivers and libraries , this player can play MP3, WMA and OGG files from micro SD/SDHC memory card fat16/32 formatted.

V1.3

On this firmware I made some bug fixes and I adding some functions to player:

Bug fixes:

  1. The previous versions has a bug that forces user to put on first location of root directory the volume ID or a file or folder with the short name only.
Function's added:
  1. A progress bar to track the melody, with the same progress bar the user can force the audio player to play file from a specified point.
  2. Player can run now like a thread "Open player" "Close Player" when card is inserted is automatically opened the player, when SD card is removed all resources used by Audio Player will be freed.
  3. Now you can play music from SD/SDHC card's formatted in FAT16 or FAT32(The FAT16 has a little bug, on root directory is displayed only files and directory's from first Page(512Bytes).
On this version you can play: MP3, AAC, OGG, WAV and WMA.



V1.2

 On this version I made some changes:

  1. I change the navigation from the "next" "previous" button to a list box.
  2. On this version is not capable to display bitmap's because I want to design another interface to view bitmap photo.
  3. The VS chip data is send by a service that work inside the RTC interrupt service, in this case has a high priority to send data to VS chip.




Download V1.2 demo version of this player.

V1.1

On this version I made huge improvements.

  1. Now you can navigate through the directories when you listen music, you can choose another melody when you listen another melody.
  2. The player has change the listen melody with the next from the current directory, the payback is stopped after the last melody is played.
  3. Now you can see bitmaps images in 8, 24 and 32 bit/pixel with some limitations, maximum size 240x200pixels, the maximum file size 140KB (140000bytes), the 240x200 pixels limitation is implemented to no interference with the player interface, the 140KB limitation is made because I have a bug in the bitmap library, that can't read files bigger than this value.
This version is limited to play only MP3 files, the core clock is 32Mhz.







V1.0

The controller is running at 16Mhz.

On this version can't manage the power consumption.

This version can play MP3, WMA and OGG.






Wednesday, April 29, 2009

DiY: MP3 player with ATmega64 VS1011a and Samsung E700 color Display

This is my new mp3 player.

For this MP3 player is new: the display and a new graphical interface explorer.

Knowing that the display of the Nokia 6100 is an old and extremely poor quality, I thought to exchange it with one TFT display ( higher quality ) , by doing this I thought I make an new interface, and this is the result:

-File type played (VS1011): Decodes MPEG 1.0 & 2.0 audio layer III
(CBR, VBR, ABR); layers I & II optional;
WAV (PCM + IMA ADPCM)

-File type played (VS1033): Decodes MPEG 1 & 2 audio layer III (CBR
+VBR +ABR); layers I & II optional;
MPEG4 / 2 AAC-LC-2.0.0.0 (+PNS);
WMA4.0/4.1/7/8/9 all profiles (5-384 kbps);
WAV (PCM + IMA ADPCM);
General MIDI / SP-MIDI format 0 files
-File type played (VS1053): Decodes Ogg Vorbis;
MPEG 1 & 2 audio layer III (CBR +VBR
+ABR); layers I & II optional;
MPEG4 / 2 AAC-LC(+PNS),
HE-AAC v2 (Level 3) (SBR + PS);
WMA4.0/4.1/7/8/9 all profiles (5-384 kbps);
WAV (PCM + IMA ADPCM);
General MIDI 1 / SP-MIDI format 0 files

For bitrate higher than 320Kb/s is necessary to increase the CPU frequency from fuses for 4Mhz to fuses for 8Mhz internal RC

This project is under develop.
Last update 14-06-2009
Download source code
Download the board .max and gerber files
Download orcad schematick
Download PDF schematick




Mp3 Player with Winamp skin

Mp3 Player with Synthetic skin

Mp3 Player with Media Player skin Download demo hex fileThe fuse bit be set for 4Mhz Internal RC Oscillator

Mp3 Player with Half Life skin

This player run 2 threads , one for navigating and one for serving data to VS1011.

The last rectify of compatibility of Fat32 filesystem library and Player data service library has increase the transfer rate , in this moment the player is capable to read 256Kbit/s melody at 4Mhz internal RC clock with osccal=199(default), and 320Kbit/s at 4Mhz and osccal=255 (approximately 5Mhz) internal RC clock.

Now i work to one explorer configured from skin file like XML file.

This navigator display the short filename if the long file name is not writed on the name of file.

For support post a comment






This project was abandoned for another more powerful.

Wednesday, October 22, 2008

Real schematik to interface a SD/MMC card to atmega microcontrollers

Because many sites operate a scheme to connect an SD/MMC card to a ATmega microcontroller that is non functional, I mean scheme with dividing resistive to the ground, I decided to post an overall scheme real functional and will post and parameters operation of a card at different voltages, everything after more probe:

We know that most cards SD/MMC operates in a voltage between 2.7 and 3.6 V, I will recommend one to use the minimum operating voltage.
However such a card works at 5V supply voltage without any risk of failure, but a voltage across the card manufacturer's specifications will work only read data and read CID etc. Write delete functions will not work

SD/MMC card and ATmega at diferent voltages:





SD/MMC card and ATmega at same voltages:


Sunday, October 5, 2008

Manage page from SD/MMC/HDD memory with page bufer

This is one driver for accessing SD/MMC/HDD drive on byte level with auto replacement page selection

This driver support drives until up to the amount 2^41 in 512Bytes on page and 2^48 bytes in 65536Bytes per page

This library is ready to serves pages from 256 to 65536Bytes

Download ASM driver file


And this driver is interface to up driver and SD card memory


Download ASM driver file

With this drivers on ATmega640 at 19,5Mhz the transfer rate betwen Controller and SD card is :
-63167Bytes/s Linear write
-111550Bytes/s Linear read