Notes from AVR32 UC3 seminar

I recently attended a seminar on the MCU version of the AVR32, known as the UC3. To say that I was impressed would be an understatement. I honestly never saw an MCU (both a processor and internal flash) that could decode MP3 before. Of course, maybe I just never noticed another device that may have already had this ability, but I seriously doubt that any other device could do this for the power budget of the AVR32. This has a very low current demand, which is especially significant considering that it easily competes with the best MCUs in terms of raw processing power.

One cool demo using the EVK1100 demo board (which is very cheap, by the way) had a USB flash drive (dongle device) hooked up to it's USB port, and it read MP3 files from the FAT filesystem and simoultaneously decoded the MP3 stream and played it in a speaker hooked up to the speaker port on the board. I understand this used FreeRTOS to make these functions work at the same time. Also, you could even browse the flash drive for other songs while one is currently playing (a lot of the open source USB/FAT software is not RTOS friendly, so this is impressive).

All of the software mentioned above is available in source form for free, as is a neat LCD graphics library, lwIP TCP/IP stack (better than uIP), and probably more. It also has an extensive software framework that helps you interface to the on-board devices, and this is free with source.

Not all of this source code is GPL licensed, but that's fine with me. As long as I have the source code, I'm a happy camper.

They also have software in a binary format for interfacing to Apple's ipod/iphone devices. I understand this requires an extra authentication chip to be used in the design, which almost certainly means you have to pay Apple royalties, or otherwise pay a licensing fee. Nonetheless, there is a big market demand for ipod interfacing, so I'm sure a lot of people will pay for it.

One the IDE front, Atmel has developed a highly customized version of Eclipse for the AVR32 family. I have used Eclipse before with Arm devices, but I never saw such a polished integration for a particular family. The debugger was especially well integrated and this is often a problem area. This was a beta for version 2 of this IDE that is supposed to be released any day now. The IDE and the gcc-based compiler are free with no size restrictions (unlike the gcc-based compiler for the PIC32).

You can get my notes here:

formatting link

By the way, I can assure you that I have no corporate relationship with Atmel. I'm just a satisfied user, who is apparently on the brink of developing another addiction. My wife is definitely not happy with this turn of events :-(

Eric

Reply to
Eric
Loading thread data ...

You must be joking... MP3 in software has been done for many years on

32-bit MCUs. MP3 needs just 7.5MHz on an ARM9E. Older iPod models use an ARM7tdmi with software decode. For the lowest power you need to do it in hardware, which is what many players do nowadays.

Wilco

Reply to
Wilco Dijkstra

I have not used ARM9E chips but they probably use a ton of current. I work almost exclusively with low-power battery applications.

I never saw an ARM7 implementation of MP3. I'd like to know if anyone has a reference to a libmad, or other, open source MP3 library for ARM7 chips.

Of the current ARM chips, it's my guess that only the STM32 (Cortex M3) could be considered a low-power chip that can decode MP3, if indeed it can. Maybe the SAM7S32 could also do it?

Eric

Reply to
Eric

LPC3180 uses 6.3mW at 13MHz (enough to decode MP3). Does that count as low power?

But even if an ARM9E used a lot more power per MHz, it would actually need less power than an ARM7 for MP3 decoding. You need to compare the total energy to get a job done, not just the mW/MHz.

I'm sure a search will give lots of hits. I know you can get free MP3 libraries for LPC and SAM MCUs. Any well-written open source MP3 decoder could be compiled for ARM7, but you probably won't get the best performance.

Cortex-M3 is by no means the only MCU that can decode MP3. It's possible on any ARM as long as it has enough memory (that excludes SAM7S32). However it is likely going to use more power on ARM7 than either Cortex-M3 or ARM9E.

Wilco

Reply to
Wilco Dijkstra

You are right in principle, you can do MP3 on a flash based ARM7, or Cortex-M3 or ARM9E. I have seen people claim that you need to run an ARM7 core at top frequency to do MP3, and this means either copy to SRAM, (preferable on a SAM7) or the 100 mA LPC chips which are really out of the league here.

Since the orignal posting was referring to flash based microcontrollers, it is irreelevant to mention what you can do with non-flash microcontrollers. Show a flash based ARM9E with lower power!

Anyway the LPC3180 does not have enough internal memory, to do a real application, so you have to add the power consumption of the external memory to your figures.

The STM32 does not have enough RAM to do MP3 decoding, so where does that leave Cortex-M3 for this application? Luminary-Micro use more power than ARM7. Chips will come, but they are not here yet.

Neither have enough memory, The typical configuration is 256 kB code for a decent application, so a SAM7S256 will fit, if executing critical code

And less on the AVR32 due to its more efficient implementation of DSP features for this application, compared to Cortex-M3.

  • single cycle SRAM access
  • use of upper/lower half of register allowing 1/2 clock cycle per load.
  • single cycle MAC (with one extra cycle for writeback at the end)

--
Best Regards,
Ulf Samuelsson
This is intended to be my personal opinion which may,
or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

The original 'Zipit Wireless Messenger' is ARM7tdmi; mp3 is easily done in s/w (under Linux 2.4.27 variant). For a summary of some capabilities see

formatting link

Regards,

Michael

Reply to
msg

That's a neat device but I was talking about single chip MCUs with internal flash and RAM. So far, there's no single chip of any kind that can run linux. I'm sure the day is coming, though. Maybe within 5 years.

Eric

Reply to
Eric

Do you include single-package devices in that (stacked die) or do you want it monolithic ?

What about stacked die, without bonding wires ?

Stacked die is the preferred volume approach, as it allows eash vendor to opeimise what they do best, and increased finished yields, as each die is pre-tested.

I would have thought some of todays stacked-die devices could run Linux ?

-jg

Reply to
Jim Granville

there are least 2 TRUE-single IC package chips running linux

AXIS etrax

formatting link

samsung

formatting link

I think those are not only examples of single IC linux devices

Antti

Reply to
Antti

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.