An excellent application for dual-core microcontroller architectures, the Internet Radio Audio Streaming Solution implements basic functionality required to stream audio from SHOUTcastTM internet radio stations for playback. This solution establishes an internet connection with a radio station, streams MP3 audio data to a LPC4357 MCU for decoding, and allows user control of music selection and playback through a UI display on the integrated LCD panel. It can also work as MP3 Player. The MP3 decoder software must be added seperately (not included; requires licensing).
The Solution offers an example of application partitioning between the LPC4357's two cores:
Time-critical audio decoding and processing are handled on the MCU's Cortex-M4F core
The demo app, TCP/IP stack, and user interface are easily handled by the MCU's Cortex-M0 core
This solution utilizes the Keil MCB4300 evaluation board powered by the LPC4357 microcontroller. The MCU's unique dual-core implementation provides the pure processing power of two 32-bit cores and the flexibility to distribute different application tasks to each core. The LPC4300 family also includes other multi-core MCUs ideally suited to applications benefiting from similar task partitioning.
About the LPC4357 MCU
The LPC4357 combines industry leading performance and advanced peripheral functionality to deliver superior integration for the most challenging embedded applications. The LPC4357 architecture contains multiple cores - a sophisticated Cortex-M4 processor with a floating-point unit (FPU) plus a Cortex-M0 co-processor core. This multi-core approach allows easy partitioning of designs for maximum efficiency as the powerful Cortex-M4 core crunches numbers while the Cortex-M0 coprocessor mangages the data movement and I/O handling. More information about the LPC4357 and other products in our LPC4300 family of micrcontrollers can be found at our LPC4300 product page.
- 204 MHz, 32-bit ARM Cortex-M4
- 204 MHz, 32-bit ARM Cortex-M0 asymmetrical coprocessor
- Up to 1 MB Flash
- Up to 264 kB SRAM
- Two High-speed USB 2.0 interfaces
- One on-chip High-speed PHY
- One on-chip Full-speed PHY
- LCD Interface
- Ethernet MAC
- Unique Quad-SPI Flash Interface
- Unique State Configurable Timer Subsystem
- Unique Serial GPIO
- Up to 164 GPIO
LPC4357 Internet Radio Audio Streaming - Overview video
LPC4357 Internet Radio Audio Streaming - Extended Training Video
With the Internet Radio or MP3 Player Solution you will need the following:
- KEIL MCB4357 development board (ORDER HERE)
- Licensed version of KEIL µVision 4.70 (or newer) for re-compilations and modifications (www.keil.com)
- Demo version of KEIL µVision 4.70 (or newer) for binary download (www.keil.com)
- Alternative serial download of the binary with Flash Magic
- MicroSD card with WAV and/or MP3 files in the root directory
- Internet connection without proxy
Step 1 - Internet Radio Package Download
- Download the Internet Radio Package Zip File which contains the Quick Start Guide and Binary Files DOWNLOAD HERE
Step 2 - Extraction
- Extract all the files from zip file, which contains the following information:
1. Internet Radio v1.0 PDF (Quick Start Guide) - This document contains all the instructions for downloading the necessary free software and instructions on how to implement the demo. The document also includes instructions on how to download the emWin graphics library and MP3 decoder. Both require separate licensing which is explained in the document.
** PLEASE READ THE ENTIRE INTERNET RADIO PDF BEFORE STARTING! **
2. IRD_Bin_v1.0: This folder contains the "binary release". This is the software version without MP3 decoder. It can play WAV files from the microSD card. There are batch files provided for programming all required executables to the LPC4357 using:
- µVision 4.7x and ULINK2/ME
- µVision 4.7x and ULINK Pro
- Flash Magic
In these batch files and in the configuration files for Flash Magic you need to do some individual settings, like the system path to the µVision executable or the COM port configuration.
3. IRD_Src_v1.0: This folder contains the complete project, but without MP3 decoder and emWin libraries.
- Follow the installation instructions in the document "Internet Radio Demo v1.0.pdf" for adding the emWin and MP3 decoder files.
- The Keil µVision project file can be found in .\applications\lpc18xx_43xx\examples\dualcore_43xx\lan_radio .
About this Solution
This Solution is not a reference design, but the existing functionality could be a good basis for further development of these types of application. The current issues and restrictions are listed in the document "Internet Radio Demo v1.0.pdf", but you also find some ideas for implementation of new features and improvements of the existing components. Both ARM cores still have a lot of bandwidth available for additional tasks so other ideas/features could be implemented in the future.
- Implement USB host functionality in order to play MP3 files from a USB memory stick
- Play list control
- Larger display with a more sophisticated graphical user interface
- Audio enhancements like equalizer or DOLBY 5.1
If there are questions or suggestions please post them in the LPC43xx forum.