收音机作为接纳播送的东西,经过绵长的开展进程,由单波段开展到多波段,由电子管,晶体管开展到集成电路,由机械调谐开展到数字调谐功用等,其技能和质量都有了长足的前进。现在,在收音机这个宗族中新的成员也在不断参加,如卫星播送接纳机等。当社会进入网络时代后,更是呈现了网络收音机这种跨过全球的信息接纳设备。可是,现在这种网络收音机大多是经过依据PC机上的软件开发来完结的其功用的,也就是说这种网络收音机不能脱离电脑这种相对比较大的和比较贵重的设备。
为了战胜PC机方式的网络收音机的缺陷,本文研讨了一种依据ARM的嵌入式技能的网络收音机的规划计划。该计划以ARM处理器及其外围模块作为硬件渠道,以嵌入式Linux作为操作体系,以Mplayer作为网络播映软件,再合作规划的用户使用程序,一起完结了嵌入式网络收音机的悉数功用。这种规划办法在网络收音机的规划史上是一个立异。一起,跟着网络技能的高速开展,该规划将具有极好的商场使用远景。
1体系的结构及作业原理
体系的层次结构如图1所示。体系以S3C2410及其外围电路为硬件渠道,以嵌入式Linux和设备驱动程序作为体系的软件渠道,为上
层Mplayer播映器和用户使用程序供给用户接口支撑[1]。在这三层结构的支撑下,一起来完结嵌入式网络收音机的悉数功用。
图1 体系层次结构图
体系的硬件结构框图如图2所示。本体系选用的ARM处理器是Sumsing(三星)公司的一款ARM9系 列的芯片,型号为S3C2410。网卡芯片选用的是CirrusLogic公司的一颗网络处理芯片CS8900。FLASH芯片选用的是 K9F5608,用来存储发动引导程序U-boot、内核及文件体系,SDRAM芯片选用的是HY57V281620,作为该体系的内存。16*4的字符 型液晶显现模块用来显现网络电台、音频文件名等相关信息。音频D/A转化芯片选用的是飞利浦公司的UDA1341芯片,该芯片具有IIS接口,能够便利的 与S3C2410衔接。
图2 体系硬件结构框图
体系在Linux供给的TCP/IP协议的支撑下,经过使用程序和Mplayer操控,经过网卡衔接到internet上指定的网络电台服务 器,下载网络电台列表。体系支撑在按键的操控下的网络电台挑选和LCD上显现电台信息等功用。Mplayer解分出选中的电台的IP地址后,再衔接到要收 听的电台的网站,体系便能够接纳并解分出该网站宣布的流媒体数据。体系将接纳到的流媒体数据保存到SDRAM中。之后,经过Mplayer的解码,送到音 频D/A转化芯片,即可收听到该网络电台播映的声响等信息。
2 体系的硬件规划
2.1 S3C2410
本体系的硬件中心渠道选用的是Samsung 公司的处理器S3C2410。该处理器内部集成了ARM 公司ARM920T 处理器核的32 位微操控器,资源丰富,带独立的16KB 的指令Cache 和16KB 数据Cache、MMU虚拟内存办理单、LCD 操控器、RAM操控器、NAND 闪存操控器、3 路UART、4路DMA、4 路带PWM的Timer、并行I/O 口、8 路10 位ADC、Touch Screen 接口、I2C 接口、I2S 接口、2 个USB接口操控器、2 路SPI,主频最高可达203MHz[2]。其内部结构如图3所示。
图3 S3C2410内部结构图
2.2 网络接口
体系的网卡芯片选用Cirrus Logic公司的一种局域网处理芯片CS8900,该芯片内部集成了RAM、10BASE-T收发滤波器,而且供给8位和16位两种接口。其片选信号衔接 到S3C2410的nGCS1,因而网卡的地址空间映射到0X08000000~0X0FFFFFFF。在Linux内核中,一般都含有CS8900的驱 动程序,使用时只需修正驱动与处理器的地址映射联系,并在装备内核的Device Driver选项中,选中CS8900项。
2.3 SDRAM存储器
本规划的SDRAM选用的是HY57V281620芯片。该芯片是一个数据宽度为16BIT,容量为16M字节的SDRAM。HY57V281620与S3C2410的衔接图如图4所示。
图4 HY57V281620电路图
HY57V281620的ncs引脚接到处理器的nGCS6。因为在处理器的存储空间中,字节是存储容量的仅有单位。而HY57V281620 的数据宽度为16位,它的每一个存储单元都包括2个字节。因而HY57V281620的A0引脚接到了S3C2410处理器的地址线ADDR01上面。 HY57V281620的容量为16MB,因而它需求ADDR00~ADDR23共24跟地址线来寻址,所以,BA0~BA1引脚应该接到 ADDR22~ADDR23地址线上。
3 体系的的软件规划
3.1 嵌入式Linux的移植
嵌入式Linux内核的版别许多,一般状况下版别越高,体系越安稳,驱动更完善,本体系挑选了2.6.18的Linux内核。其实关于2.6以 后版别的Linux内核,对S3C2410的支撑都有了很好的支撑,所以移植进程都比较简单[3]。Linux2.6.18移植到S3C2410的根本步 骤如下:
(1)下载Linux2.6.18内核,并解压到相应目录。
(2)修正内核顶层目录下的Makefile文件,指明穿插编译器。进入Linux-2.6.18内核目录,输入指令vi Makefile,找到ARCH和CROSS_COMPILE两项,将其修正为ARCH = arm,CROSS_COMPILE = arm-linux-。
(3)设置PATH环境变量,使其能够找到穿插编译东西。输入su root,进入root,在输入vi/etc/bashrc,在结尾处参加以下行:export PATH="/usr/local/arm/3".4.4/b
inPATH,然后重启终端或从头登陆即可。
(4) 设置Flash分区。首要要在arch/arm/mach-s3c2410/devs.c文件中增加分区信息,其次在arch/arm/mach- s3c2410/mach-smdk2410.c文件的smdk2410_devices[]的成员中增加&s3c_device_nand。这 样Linux内核发动时,就会对Flash分区的设置初始化。
(5)制止Flash ECC校验。修正drivers/mtd/nand/s3c2410.c 文件,找到s3c2410_nand_init_chip()函数,在该函数体最终加上一条句子:chip->eccmode = NAND_ECC_NONE。
(6)装备内核。经过make menuconfig指令装备内核。
(7)编译内核,make zImage指令,得到Linux内核的映像文件zImage。
(8)制造根文件体系。
3.2 Mplayer移植
Mplayer是Linux下的一个多媒体网络播映器。它的主要功用是对接纳到的各种格局的流媒体数据进行解码,一起也完结对接纳的网络电台的 IP地址进行解析的使命。Mplayer支撑mp3、ogg 和wma等多种格局的流媒体数据进行解码,是一个功用非常强壮的开源使用软件。Mplayer的移植过程如下:
(1)下载源代码MPlayer-current.tar.bz2,并解压。
(2)为了让mplayer支撑在线播映,然后能够播映网络电台,还必须下载安装网络协议包(主要指RTSP、MMS等协议)。可从www.live555.com上下载live555协议包,解压后装备并编译。
(3)装备mplayer的指令格局如下:
./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的目录/ –2>&1 | tee logfile。
其间,–host-cc=gcc是用来编译一些需求在host上履行的中心文件的,如codec-cfg。–cc=arm-linux- gcc 是用来指定穿插编译东西。关于 –target=arm-armv4l-linux这个参数要注意的是它被分为三部分,榜首部分的arm是指arch,这儿设定为arm;第二部分的 armv4l是指详细的版别;第三部分是体系渠道。–enable-static是设定静态衔接。–2>&1 | tee logfile意思是将履行的状况在输出到屏幕的一起记录到logfile文件中,在操控台下编译比较有用。
(4)输入make指令开端编译,编译完结后在顶层目录生成mplayer可履行文件。
3.3软件主流程图
体系主流程图如图5所示。体系上电后,bootloader(U-boot)发动,完结硬件设备的初始化, 并引导体系内核发动。体系发动履行初始化使命后,首要装备网络衔接,经过运转DHCP Clieant向DHCP Server请求获取本体系IP地址。然后体系主动拜访默许的电台服务器,该服务器上有最近更新的世界各地的网络电台的URL地址,体系下载该列表,并更 新前次保存的列表。然后体系判别有无按键按下,若有按键按下,体系依据按键挑选相应网络电台,若在必定时间段内没有按键按下,体系主动衔接电台列表的榜首 个电台地址,并开端播映该网络电台。一起,LCD将显现电台的有关信息和体系信息。在播映进程中,相同能够依据按键来中止、挑选网络电台。
图5 体系主流程图
4 结束语
本规划依据ARM的嵌入式技能,经过软硬件等三层结构,完结了一个嵌入式网络收音机体系。该体系战胜了PC机方式的网络收音机的许多缺陷,是一个极具立异思想的规划。跟着网络技能和嵌入式技能的高速开展,该规划具有很好的商场使用远景和科研价值。
本文作者立异点:
1、初次提出了用嵌入式技能规划网络收音机的体系规划计划,极具立异特色。
2、完结了Mplayer软件在Linux体系渠道下向ARM9的移置。