中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 嵌入系统 >>电子行业新闻正文

基于ARM的嵌入式网络收音机的设计

时间:2008/3/8 10:57:00  作者:  来源:IC72  浏览人数:2898
 
 

      收音机作为接收广播的工具,经过漫长的发展过程,由单波段发展到多波段,由电子管,晶体管发展到集成电路,由机械调谐发展到数字调谐功能和质量有了长足的进步,在收音机这个家族中新的成员也在不断加入,如卫星广播接收机等,当社会进入网络时代后,便出现了网络收音机。但是这种收音机都是基于PC机到应用软件,也就是说这种网络收音机不能脱离电脑,而本系统通过网络接口与英特网相连,在嵌入式Linux提供的TCP/IP协议的基础上直接访问网络电台的地址,实现收音的功能,因而使该嵌入式网络收音机无需PC机,就可以方便的收听来自全世界的声音。

      1 系统的结构及工作原理

      系统的硬件结构框图如图1所示。本系统选用的ARM处理器是Sumsing(三星)公司的一款ARM9系列的芯片,型号为S3C2410。有线网卡芯片采用CS8900,该芯片是Cirrus Logic公司生产的一种局域网处理芯片,它的封装是100-pin TQFP,内部集成了RAM、10BASE-T收发滤波器,并且提供8位和16位两种接口。无线网络接口采用无线网卡模块,该模块为USB接口,通过USB接口与S3C2410相连。FLASH芯片采用 K9F5608,用来存储启动引导程序U-boot、内核及文件系统,SDRAM芯片采用HY57V281620,作为该系统的内存。LCD选用16*4的字符型液晶显示模块,用来显示网络电台、音频文件名等相关信息。音频D/A转换芯片选用具有IIS接口的UDA1341。

      该系统的软件模型如图2所示。系统以S3C2410及其外围电路为硬件平台,嵌入式uclinux和设备驱动程序为上层mplayer播放器和用户应用程序提供软件平台。

      〈!--[if !vml]--〉〈!--[endif]--〉

ic72新闻中心

      图 1  硬件结构框图

ic72新闻中心

      图2  软件模型

      2 系统的硬件设计

      2.1 S3C2410

      S3C2410 芯片基于 ARM920T 内核,采用五级流水线和哈佛结构,提供1.1MIPS/MHz 的性能,是高性能和低功耗的硬宏单元。ARM920T 具有全性能的MMU、指令和数据Cache以及高速AMBA总线接口。

      作为 S3C2410 芯片的 CPU 芯核,16/32 位ARM920T RISC微处理器采用0.18ìm CMOS标准单元结构,具有独立的16kB指令缓存和16kB数据缓存。S3C2410 内部结构较复杂,提供可扩展的功能模块较多,主要有 ARM920T 内核(16-/32-bit RISC CPU),独立的 16kB 指令和 16kB 数据缓存,MMU虚拟内存管理单元,LCD控制器(支持STN和TFT),NAND flash boot loader,系统管理单元(SDRAM控制器等),3通道 UART,4通道 DMA,4通道具备PWM 功能的定时器,I/O 口,RTC(实时时钟),8通道10bit精度ADC和触摸屏控制器,IIC总线接口,IIS数字音频总线接口,USB主机,USB设备,SD/MMC卡控制器,2通道 SPI 和 PLL数字锁相环组成。其内部结构如图3所示。

ic72新闻中心

      图3  S3C2410内部结构图

      S3C2410提供了多种存储设备的接口,其中包括接ROM、SRAM、SDRAM、NOR Flash、NAND Flash等,同时S3C2410的外接存储空间被分为8个bank,每个容量为128M。本系统中Flash存储器(Boot SRAM)、网络接口(NET)、LCD Frame Buffer和SDRAM存储器分别映射到存储空间的bank0、bank1、bank2和bank6。如图4所示。

ic72新闻中心

      图4 存储空间映射

      2.2 网络接口

      本系统分为有线网络接口和无线网络接口,有线网络接口选用CS8900芯片局域网处理芯片,其片选信号连接到S3C2410的nGCS1,因此网卡的地址空间映射到0X08000000~0X0FFFFFFF。无线网络采用带有USB接口的WLAN(Wireless Local Area Nerwork)卡,插入系统的USB接口即可。

      2.3 SDRAM存储器

      HY57V28160是一个数据宽度为16BIT,容量为16M字节的SDRAM芯片。HY57V28160与S3C2410的连接图如图5所示。

ic72新闻中心

      图5  HY57V28160电路图

      SDRAM的地址空间映射到存储空间的bank6,如图5所示,HY57V28160的ncs引脚接到处理器的nGCS6。由于在处理器的存储空间中,字节是存储容量的唯一单位。而SDRAM(HY57V28160)的数据宽度为16,它的每一个存储单元都包含2个字节。因此SDRAM(HY57V28160)的A0引脚接到了S3C2410处理器的地址线ADDR01上面。 HY57V28160的容量为16M(2^24)字节,因此它需要ADDR00~ADDR23共24跟地址线来寻址,所以,BA0~BA1引脚应该接到ADDR22~ADDR23地址线上。

      2.4  Flash存储器

      本系统中,Flahs存储器主要用于存储U-boot、Linux内核及文件系统。常见的Flash存储器有NOR Flash和NAND Flash,两种Flash各有优缺点。本系统综合考虑了各项因素,选用了16M*16BIT的NAND Flash,型号为K9F5608。系统启动时,CPU从0x00000000地址开始运行,所以要将Flash的首地址映射到0x00000000,因此该Flash芯片的片选引脚要接到nGCS0,其电路图设计如图6所示。

ic72新闻中心

      图6 nand flash电路图

      3 系统的的软件设计

      3.1 嵌入式Linux的移植

      嵌入式Linux内核的版本很多,一般情况下版本越高,系统越稳定,驱动更完善,本系统选择了2.6.18的Linux内核。其实对于2.6以后版本的Linux内核,对S3C2410的支持都有了很好的支持,所以移植过程都比较简单。

      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/bin:$PATH,然后重启终端或重新登陆即可。

      (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下的一个媒体播放器,它对媒体格式的支持非常广泛,而且支持实时在线播放音视频流。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 --disable-dvdread --enable-fbdev --disable-mencoder --disable-mp3lib --enable-mad --enable-libavcodec --enable-live --with-livedir=/live555的目录/,其中,--host-cc=gcc是用来编译一些需要在host上执行的中间文件的,如codec-cfg。--cc=arm-linux-gcc如果没有将arm-linux-gcc的位置加入到$PATH中的话,在这个指定绝对路径好了。--target=arm-armv4l-linux这个参数要注意的是一个分三部分,第一部分的arm是指arch,这里设定为arm;第二部分的armv4l是指具体的版本;第三部分是系统平台。--enable-static是设定静态连接。最后的一个2〉&1 | tee logfile意思是将执行的情况在输出到屏幕的同时记录到logfile文件中,在控制台下编译比较有用。

      (4)、输入make命令开始编译,编译完成后在顶层目录生成mplayer可执行文件。

      3.3系统软件主流程图

      系统上电后,bootloader(U-boot)启动,完成硬件设备的初始化, 并引导系统内核启动。系统启动执行初始化任务后,首先配置网络连接,通过DHCP Clieant向DHCP Server申请获取IP地址。然后系统自动访问电台服务器,该服务器上有最近更新的世界各地的网络电台的URL地址,系统下载到该列表并更新原有列表后,自动连接列表的第一个网络电台。若在该过程中有按键产生,系统根据按键类型及当前状态调用相应的功能。系统主流程图如图7所示。

ic72新闻中心

      (a)

ic72新闻中心

      (b)

      图7 系统主流程图

ic72新闻中心

 

 
【相关文章】
·基于ARM的嵌入式网络收音机的设计
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9