Design of Embedded Internet Radio Based on ARM

This article refers to the address: http://

Abstract: This paper studies the design of an embedded network radio based on ARM processor. The system uses ARM processor and its peripheral modules as the hardware platform, embedded Linux as the operating system, Mplayer as the network playing software, and realizes all the functions of embedded network radio. Implementing Internet radio with embedded technology is an innovation in design technology. The design has high scientific research value and excellent market application prospects.
Keywords: embedded system; Linux; ARM9; network radio

As a tool for receiving broadcasts, the radio has undergone a long process of development, from single-band development to multi-band, from electron tubes, transistors to integrated circuits, from mechanical tuning to digital tuning functions, and its technology and quality have made great progress. . Today, new members of the radio family are constantly joining, such as satellite broadcast receivers. When the society entered the Internet era, there was an Internet-based information receiving device that spanned the globe. However, most of these Internet radios are currently implemented by software development based on PCs, which means that such Internet radios cannot be separated from relatively large and expensive devices such as computers.

In order to overcome the shortcomings of Internet radio in the form of PC, this paper studies the design scheme of an Internet radio based on ARM embedded technology. The program uses ARM processor and its peripheral modules as the hardware platform, embedded Linux as the operating system, Mplayer as the network playing software, and the designed user application program to realize the full function of the embedded network radio. This design approach is an innovation in the history of Internet radio design. At the same time, with the rapid development of network technology, the design will have an excellent market application prospect.

1 system structure and working principle

The hierarchical structure of the system is shown in Figure 1. The system uses S3C2410 and its peripheral circuits as the hardware platform, and embedded Linux and device drivers as the system software platform to provide user interface support for the upper Mplayer player and user applications [1] . With the support of this three-layer structure, all the functions of the embedded network radio are realized together.

Figure 1 System hierarchy diagram

The hardware structure of the system is shown in Figure 2. The ARM processor selected by this system is an ARM9 series chip of Sumsing (Samsung), the model is S3C2410. The NIC chip uses a network processing chip CS8900 from Cirrus Logic. The FLASH chip uses the K9F5608 to store the bootloader U-boot, the kernel and the file system. The SDRAM chip uses the HY57V281620 as the memory of the system. The 16*4 character LCD module is used to display information such as Internet radio stations and audio file names. The audio D/A converter chip is selected by Philips' UDA1341 chip, which has an IIS interface and can be easily connected to the S3C2410.

Figure 2 system hardware block diagram

The system is supported by the TCP/IP protocol provided by Linux. Through the application and Mplayer control, the network card is connected to the designated network radio server on the internet to download the list of network stations. The system supports the selection of network radios under the control of buttons and the display of radio information on the LCD. After Mplayer parses the IP address of the selected station and connects to the website of the station to be listened to, the system can receive and parse the streaming data sent by the website. The system saves the received streaming media data to the SDRAM. After that, after being decoded by Mplayer, it is sent to the audio D/A converter chip, and then the information such as the sound played by the network station can be heard.

2 system hardware design

2.1 S3C2410

The hardware core platform of this system uses Samsung's processor S3C2410. The processor integrates ARM's ARM920T processor core 32-bit microcontroller, rich in resources, with independent 16KB instruction cache and 16KB data cache, MMU virtual memory management sheet, LCD controller, RAM controller, NAND flash memory Controller, 3 UARTs, 4 DMAs, 4 Timers with PWM, Parallel I/O Ports, 8 10-Bit ADCs, Touch Screen Interface, I2C Interface, I2S Interface, 2 USB Interface Controllers, 2 SPIs The main frequency can reach up to 203MHz [2] . Its internal structure is shown in Figure 3.

Figure 3 Internal structure of S3C2410

2.2 Network interface

The system's network card chip uses a LAN processing chip CS8900 from Cirrus Logic. The chip integrates RAM, 10BASE-T transceiver filter, and provides 8-bit and 16-bit interfaces. The chip select signal is connected to the nGCS1 of the S3C2410, so the address space of the network card is mapped to 0X08000000~0X0FFFFFFF. In the Linux kernel, the driver of CS8900 is generally included. When using, just modify the address mapping relationship between the driver and the processor, and select the CS8900 item in the Device Driver option of the configuration kernel.

2.3 SDRAM memory

The SDRAM of this design uses the HY57V281620 chip. The chip is a SDRAM with a data width of 16 BIT and a capacity of 16 Mbytes. The connection diagram of HY57V281620 and S3C2410 is shown in Figure 4.

Figure 4 HY57V281620 circuit diagram

The ncs pin of the HY57V281620 is connected to the nGCS6 of the processor. Since in the storage space of the processor, the byte is the only unit of storage capacity. The HY57V281620 has a data width of 16 bits, and each of its memory cells contains 2 bytes. Therefore, the A0 pin of the HY57V281620 is connected to the address line ADDR01 of the S3C2410 processor. The HY57V281620 has a capacity of 16MB, so it requires ADDR00~ADDR23 to be addressed with 24 address lines. Therefore, the BA0~BA1 pins should be connected to the ADDR22~ADDR23 address lines.

3 system software design

3.1 Embedded Linux Migration

There are many versions of the embedded Linux kernel. Generally, the higher the version, the more stable the system and the better the driver. The system selects the Linux kernel of 2.6.18. In fact, for the Linux kernel of 2.6 and later versions, the support for S3C2410 is very good, so the migration process is relatively simple [3] . The basic steps for migrating Linux2.6.18 to S3C2410 are as follows:

(1) Download the Linux 2.6.18 kernel and extract it to the appropriate directory.

(2) Modify the Makefile in the kernel top-level directory to indicate the cross compiler. Go to the Linux-2.6.18 kernel directory, enter the command vi Makefile, find ARCH and CROSS_COMPILE, and change it to ARCH = arm, CROSS_COMPILE = arm-linux-.

(3) Set the PATH environment variable so that it can find the cross-compilation tool. Enter su root, go to root, type vi/etc/bashrc, and add the following line at the end: export PATH=/usr/local/arm/3.4.4/bin:$PATH, then restart the terminal or log in again.

(4) Set the Flash partition. First add the partition information in the arch/arm/mach-s3c2410/devs.c file, and then add &s3c_device_nand to the members of smdk2410_devices[] in the arch/arm/mach-s3c2410/mach-smdk2410.c file. When the Linux kernel is started, the settings of the Flash partition will be initialized.

(5) Flash ECC check is prohibited. Modify the drivers/mtd/nand/s3c2410.c file to find the s3c2410_nand_init_chip() function, and add a statement at the end of the function body: chip->eccmode = NAND_ECC_NONE.

(6) Configure the kernel. Configure the kernel with the make menuconfig command.

(7) Compile the kernel, make zImage command, get the image file zImage of the Linux kernel.

(8) Make a root file system.

3.2 Mplayer transplantation

Mplayer is a multimedia network player under Linux. Its main function is to decode the received streaming media data in various formats, and also to complete the task of parsing the IP address of the received network station. Mplayer supports streaming media data in various formats such as mp3, ogg and wma for decoding. It is a very powerful open source application. The migration steps of Mplayer are as follows:

(1) Download the source code MPlayer-current.tar.bz2 and unzip it.

(2) In order to enable mplayer to support online playback, and thus be able to play Internet radio stations, you must also download and install network protocol packages (mainly RTSP, MMS, etc.). The live555 protocol package can be downloaded from , configured and compiled after decompression.

(3) The command format for configuring mplayer is as follows:

./configure --cc=arm-linux-gcc --target=arm-armv4-linux --enable-static --disable-win32 --host-cc=gcc --disable-dvdread --enable-fbdev -- Disable-mencoder --disable-mp3lib --enable-mad --enable-libavcodec --enable-live --with-livedir=/live555 directory / --2>&1 | tee logfile.

Among them, --host-cc=gcc is used to compile some intermediate files that need to be executed on the host, such as codec-cfg. --cc=arm-linux-gcc is used to specify cross-compilation tools. About --target=arm-armv4l-linux This parameter should be noted that it is divided into three parts. The first part of the arm refers to the arch, which is set to arm; the second part of the armv4l refers to the specific version; the third Part is the system platform. --enable-static is to set a static connection. --2>&1 | tee logfile means that the execution will be recorded in the logfile while outputting to the screen. It is useful to compile under the console.

(4) Enter the make command to start compiling, and generate the mplayer executable file in the top-level directory after the compilation is completed.

3.3 software main flow chart

The main flow chart of the system is shown in Figure 5. After the system is powered on, the bootloader (U-boot) starts, completes the initialization of the hardware device, and boots the system kernel. After the system starts the initialization task, first configure the network connection and apply to the DHCP server to obtain the IP address of the system by running DHCP Clieant. The system then automatically accesses the default radio server, which has the URL address of the most recently updated Internet radio station around the world. The system downloads the list and updates the last saved list. Then the system determines whether there is a button press. If a button is pressed, the system selects the corresponding network station according to the button. If no button is pressed within a certain period of time, the system automatically connects to the first station address of the station list and starts playing the button. Internet radio. At the same time, the LCD will display information about the station and system information. During playback, you can also interrupt and select an Internet radio station based on the button.

Figure 5 system main flow chart

4 Conclusion

This design is based on ARM embedded technology, and realizes an embedded network radio system through three layers of software and hardware. The system overcomes many of the shortcomings of Internet radio in the form of a PC and is a highly innovative design. With the rapid development of network technology and embedded technology, this design has a good market application prospect and scientific research value.

The author of this article is innovative :

1. The system design scheme for designing Internet radio with embedded technology was first proposed, which is very innovative.

2. Realized the displacement of Mplayer software to ARM9 under the Linux system platform.


[1] Zhou Ligong and so on. ARM Microcontroller Fundamentals and Practice [M]. Beijing Aerospace University Press, 2003.7.

[2] Li Wei, Liao Qizheng. Image acquisition application based on s3c2410 platform and embedded Linux [J]. Microcomputer Information, 2006, 3-2: 125-127.

[3] Sun Qiong. Detailed explanation of embedded Linux application development [M]. People's Post and Telecommunications Publishing, 2006.7.

A Multifunctional Military Shovel
This folding and portable military shovel is perfect for camping, hiking, backpacking, fishing, hunting, field survival and gardening. Also is a great tool to help cars out of snow, mud or ice.Or you can use it as a weapon of dealing with emergencies and self-defense.
A Durable Military shovel
This multifunctional military shovel is made of high-carbon steel which is high-strength and wear-resistant. Digging,hitting or breaking are easy to handle.
A Folding Military Shovel
This military shovel can be adjusted according to your use demand. And it can be assembled and disassembled easily.You can put all parts in the tactical waist pack and carry everywhere you want to go. A good equipment for outdoor enthusiasts.
Accessories Including
Knife:Chopping,cutting,and other tactical uses
Saw:Sawing small things in the wild
Screwdriver: A good tool for repairing and installing
Warranty Policy
Every customer who purchase our products enjoys our 12-month warranty service . And If you have any problem in your use, please contact us,our after - sales team will be glad help you out.

Foldable Shovel

Foldable Shovel,Outdoor Shovel,Multi-Function Shovel,Snow Shovel

Ningbo Sharing Trading Co.,Ltd ,

This entry was posted in on