基于ARM Cortex-M3的嵌入式网络播放系统

发布者:勾剑寒最新更新时间:2010-04-10 来源: 电子设计工程关键字:嵌入式系统  ARM  Cortex-M3  以太网接口  API  应用程序 手机看文章 扫描二维码
随时随地手机看文章

  随着网络应用的普及,为普通嵌入式系统增加网络功能,能更好满足消费者对网络资源的需求。这里采用基于ARM Cortex-M3的微控制器LM3S1138实现一种具备网络功能的播放终端系统,该系统不仅具有良好的播放效果,还可从网络音乐服务器上点播音乐并实时播放。

  1 网络播放系统的设计方案

  该网络播放系统由服务器、用户终端和音响设备组成。其中,服务器通过以太网提供音乐资源,用户终端通过网络下载音频数据再实现音频解码,音响设备实现音乐播放。图1给出该系统设计框图。

系统设计框图

  该系统设计采用基于ARM Cortex-M3的控制器LM3Sll38作为主控制器。该控制器改进了代码密度,减少中断延时,实现Thumb-2指令集,并具有更低功耗,适用于嵌入式微处理器;网络模块采用以太网控制器ENC602J28;音频编解码器采用VSl003,该器件拥有自主产权的DSP处理器核,具有高性能、低功耗等特性;并采用USB总线接口器件CH375扩展存储模块。支持海量存储。

  将嵌入式实时操作系统μC/OS-II移植到主处理器上,实现多任务的调度管理。系统工作时,通过操作播放器上的配置按钮,设置服务器和用户终端的相关网络配置,点击播放器中的连接按钮,发送连接服务器请求,服务器收到用户终端的连接请求,验证终端帐号正确后开始网络连接,向用户传送点播的资源列表,用户终端在播放器界面显示列表,此时,用户可以选择点播的歌曲,然后将音乐文件下载到存储设备中,下载完毕后,服务器关闭网络连接,播放器就可播放已下载歌曲。

  2 系统硬件模块设计

  2.1 以太网接口

  ENC28J60是独立的以太网控制器,采用业界标准的SPI串行接口,具有10 Mb/s SPI接口,符合IEEE802.3协议,内置10 Mb/s以太网物理层器件(PHY)及介质访问控制器(MAC)。另外,它还具有可编程8 KB双端口SRAM缓冲器,此缓冲存储器具有灵活可靠的数据管理机制,以高效方式进行信息包的存储、检索和修改,以减轻主控器件的内存负荷。

网络接口硬件连接示意图

  图2为网络接口硬件连接示意图。ENC28J60通过SPI总线实现与LM3Sll38的数据传输,CS为片选信号,SCLK为时钟信号,MOSI/MISO为数据传输串口。此外,ENC28J60还与网络变压器HR901l70A相连,引出刚45接口。

  2.2音频接口

  VSl003音频编解码器为VSl0XX系列第3代产品,包括MP3/WMA/MIDI解码和ADPCM编码2个单器件。其内置有高性能、低功耗的DSP处理核(VSDSP),工作内存,可供用户程序使用的5.5 KB RAM,串行SPI总线接口,高质量的采样频率可调的过采样D/A转换器以及16位的过采样A/D转换器。图3为音频编解码器模块硬件连接示意图,VSl003采用SPI总线与LM3Sll38实现通信。其中,SCLK为输入时钟,CS为片选信号,MOSI/MISO为数据串口,Demand为命令有效信号,VSl003外接音频输出设备。

音频编解码器模块硬件连接示意图

  2.3 USB控制接口

  CH375是一款支持USB-HOST主机方式和USB-DE-VICE/SLAVE从设备方式的器件,主机端点输入和输出缓冲区各64字节,支持常用的12 Mb/s全速USB设备,支持USB设备的控制传输、批量传输、中断传输。内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和 SCSI,UFI,RBC或等效命令集的USB存储设备。

USB控制接口模块硬件连接示意图

  图4为USB控制接口模块硬件连接示意图,CH375通过UART串口与LM3S1138传输数据,*****为中断信号,TXD/RXD为数据传输串口,CH375连接USB存储设备。

   3 系统软件设计

  μC/OS-II是专门为嵌入式应用设计的实时操作系统内核,其具有以下优点:源代码公开,代码结构清晰,注释详尽,组织有条理,具有良好的可扩展性和可移植性,最多可以管理60个任务。该系统移植的μC/OS-II由用户层、中间件层、μC/OS-II源码层、μC/OS-II移植层和驱动库组成。用户层存放用户代码及设置,其中Main.c是用户编写任务处,Main.h定义堆栈大小及优先级;中间件层Middleware存放UART、 SPI等串口通信中间件和TCP/IP协议栈LwIP;μC/OS-II源码层Source存放μC/OS-II的源代码;μC/OS-II移植层 Port存放μC/OS-Ⅱ基于LM3S的移植代码,包括OS_CPU_C.C,OS_CPU_A.A,OS_CPU.C等3个必要文件;驱动库层是直接面向硬件设备层,它是硬件设备和应用程序之间的枢纽,直接与系统底层的硬件设备打交道,按照硬件设备的具体工作方式读写设备寄存器。将寄存器的数据与应用软件交互,ENC28J60、VSl003和CH375的驱动函数都在该层。

系统软件设计

  3.1网络驱动程序

  本系统采用ENC28J60以太网控制器,需编写网络设备驱动程序,实现低层网络接口及硬件函数驱动。该驱动程序设计主要包含网卡的初始化和数据的发送接收。

  网卡初始化的驱动程序包括定义发送缓冲区大小、发送缓冲区数、ENC28J60的片选信号、ENC28J60的复位引脚以及网卡自检。具体程序代码如下:

具体程序代码

  网卡数据传输的驱动程序包括申请IP地址,建立与服务器的连接,以及数据的接收和发送等,图5为其程序流程。

  3.2文件系统

  文件系统是一种以结构化格式存储和信息检索的实现方法,可使用户方便快捷的管理存储数据。文件系统一般包括 FAT32/16,NTFS,ext2/3,NFS等,本设计采用FATl6,可支持2 GB的最大分区,用于管理U盘中的音频文件,该文件系统的实现主要针对USB接口器件CH375进行驱动开发。

  在CH375驱动设计中,先实现FAT32/16文件系统层,再实现文件级API应用层。文件系统层采用CH375开发商提供的U盘文件级子程序库来实现,CH375的 U盘文件级子程序库具有以下特性;支持常用的FAT16和FAT32文件系统,磁盘容量可达100 GB以上,支持多级子目录。支持8.3格式的大写字母和中文文件名,支持小写字母或长文件名,支持文件打开、删除、读写以及搜索等。文件系统移植好后,再进行API应用层驱动设计。应用层驱动包括CH375引脚配置、文件读写缓冲区配置、CH375读写程序的设计。在读写程序的设计中,要注意对CH375的延时操作,满足CH375的时序要求。

  3.3音频驱动程序

  音频驱动的设计主要是针对VSl003的初始化设置和实现音频数据流的传输,并对应用层提供API接口,这里完成了音频播放功能程序的设计。

  在该程序设计中,首先对LMll38和VSl003控制接口的(MISO、MOSI、SCK、CS、Demand)引脚进行相应配置,VSl003初始化配置完成后,开始等待系统的播放标志置位,播放标志为“0”时,重新初始化VSl003,播放标志为“l”时,接收到系统的播放消息,使能SPI接口,选择将要播放的数据包,把音频数据写入SPI的缓冲存储区,然后再发送给VSl003的数据寄存器,当音频数据发送完成后,开始由 VSl003处理这些音频数据,实现模拟音频数据的输出。该函数能够流畅地完成音频播放功能。

  3.4用户应用程序

  系统的应用程序主流程如图6所示。

应用程序主流程

  系统主任务启动后,先初始化人机界面库函数,它提供了操作界面的按键中断处理函数以及LCD的显示函数;再读取初始系统配置数据,如本地IP、服务器IP、用户账号、密码等,完成网络、音频编解码以及存储等模块的初始化;然后,主任务再创建多个子任务,包括ENC28-J60task,CH375task,VSl003task,humaninteRFacetask,接着进入消息循环,消息循环是整个应用程序的核心部分,通过消息循环,系统不断获取用户操作消息,并做出相应处理,实现系统功能;当收到一个退出消息时,系统强制主任务跳出消息循环,关闭播放器操作界面,系统退出应用程序。

  4 系统测试及分析

  系统调试成功后,可流畅地从服务器中下载音频数据,保存到外接USB设备中,然后再通过音频解码从音响播放出来。图7为该系统主界面,系统音质良好,达到设计要求。

系统主界面

  5 结束语

  本系统设计采用基于ARM Cortex-M3的嵌入式器件LM3S1138作为主控制器件,采用ENC28J60作为网络接口器件,在μC/OS-II平台上构建一个实时的网络播放系统。该系统能够实现网络点播功能。如将ENC28J60更成为具有USB接口的无线网卡,则该系统还具有无线网络功能。而随着以太网技术的深入发展,将嵌入式系统与网络结合,在嵌入式实时操作系统中引入TCP/IP协议栈,以支持嵌入式设备接入网络,成为嵌入式领域重要的研究方向,且对于一些基于网络接口的嵌入式系统都将具有广泛的应用前景。

关键字:嵌入式系统  ARM  Cortex-M3  以太网接口  API  应用程序 引用地址:基于ARM Cortex-M3的嵌入式网络播放系统

上一篇:基于LPC2210的LED显示屏控制系统设计
下一篇:恩智浦基于ARM Cortex-M4内核的数字信号控制器

推荐阅读最新更新时间:2024-03-16 12:28

基于ARM的红外光汽车速度管理系统研究
1 引 言 车辆在公路上应以与路况相符的速度行驶,太快了易出事故, 太慢了将成为后续车辆的绊脚石。但是,常有个别司机不按规定的速度行驶而违章,导致事故频生。交管部门为了取证纠违, 目前多采用雷达测速系统(利用多普勒效应)对违章车辆进行测速取证,予以处罚。 可近期市场上出现了一种叫做 电子狗 的反雷达测速装置,此装置在接近雷达测速区时,能提前捕捉到雷达测速的信息而报警,使违章车辆逃脱处罚,事故隐患犹存。因此,研究一套既能准确测定汽车速度, 又不会被 电子狗 所发现的可靠测速、管理系统就尤为必要。 本文研究的以红外光传感器、ARM 为核心部件的新型测速系统测速时不会被 电子狗 所发现,不仅能识别汽车速度V 的大小,还能测出其
[单片机]
基于<font color='red'>ARM</font>的红外光汽车速度管理系统研究
ARM嵌入式汽车节能控制系统
由于各种原因,公交车总是不断重复加速-减速或停车-再加速的过程。通过加装本节能装置,当汽车需要制动时,在主控单元的控制下,可将汽车行驶时具有的巨大动能通过空气压缩机转化成高压气体的势能并储存起来,从而实现汽车减速或停车。当汽车需要启动或加速时,用储存起来的高压气体势能代替燃油来驱动汽车,从而实现汽车能量的回收再利用,达到节能的效果。同时由于汽车在起动或加速时能耗最大,如果汽车是用燃油驱动,则此时油料燃烧不充分,燃烧效果最差,而且产生的噪音最大。   系统工作原理    本系统主要由三部分组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞位置传感器、汽车运行速度传感器、储气罐压力传感器等
[汽车电子]
ARM-Linux架构的远程可控电源插座设计方案
互联网的迅速发展,实现了信息的高速传输和资源共享,极大地方便了人们的生活。嵌入式系统广泛应用于各种电器产品、智能仪表和控制设备中,它与互联网的结合是一种必然的趋势。 嵌入式系统和网络技术的快速发展,为网络远程控制的发展和完善提供了技术基础。 笔者综合运用嵌入式系统和Web技术,设计了一种可通过互联网进行远程控制的电源插座系统,实现对家用或工业电器的远程实时控制。用户通过网页浏览器访问该系统,对各插座进行打开或关闭的操作,实现对与其相连接的电器的远程控制。 1 嵌入式Web工作原理 嵌入式Web的体系结构如图1所示。客户端和嵌入式系统中Web服务器之间的通信协议采用HTTP(超文本传输协议)。嵌入式操作系统提
[单片机]
于<font color='red'>ARM</font>-Linux架构的远程可控电源插座设计方案
基于ARM的视频监控系统的设计与实现
  摘要: 提出一种基于ARM 嵌入式开发平台视频监控的实现方案。通过V4L2 在Linux 下构建视频图像采集和显示,然后使用servfox 和spcaview 构建视频服务器,系统可在Linux 和Windows 操作系统下通过窗口或者网页进行视频监控和图像抓拍。测试表明系统的监控图像清晰,并具有体积小、成本低、可靠性强等优点。   目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求体积小、远程化、成本低、功耗小、操作界面人性化等。本系统基于嵌入式Linux 平台上利用USB 摄像头采集视频图像,通过视频图像压缩及结合网络进行视频图像传输,使远程监控成为可能。   1
[单片机]
基于<font color='red'>ARM</font>的视频监控系统的设计与实现
ARM发布Mali-C71图像信号处理器,推动下一代汽车图像处理
ARM今天正式发布Mali-C71图像信号处理器(ISP),应对汽车图像处理所面临的挑战,包括在极端条件下对图像进行快速的处理和分析,符合严苛的汽车安全标准的设计要求。Mali-C71也是ARM Mali Camera系列的第一款产品。 随着技术的演进,汽车已经成为一个充满活力的创新平台,不仅正在改变驾驶者的体验,也使得真正的自动驾驶离我们越来越近。先进驾驶辅助系统(ADAS)是这一技术演进的一个不可或缺的关键。一些最新的ADAS应用,例如更先进的后视镜、驾驶员疲劳检测以及行人保护系统,都对车内图像处理提出了更高的要求。这些技术要求更多数量的车内摄像头;据Strategy Analytics的预计,在未来几年内,绝大部分市售高端
[汽车电子]
12个热门移动医疗应用程序
  移动医学无处不在。目前有基于iPhone的应用程序可以让你去掉肌肉层图像看看下面有什么,有基于iPad下的电子健康记录系统,还有基于智能手机的血压监测程序。下面是12个创新的程序。 3D4Medical的肌肉系统(头颈部)   这个免费的iPhone应用程序展示了大量的肌肉系统的视图。你可以点击放大、旋转、“切掉”肌肉层然后看肌肉层的下方。该应用程序可以对特定的肌肉群进行放大特写,可以一层一层的深入。当你旋转图像时可以看到肌肉系统的侧面图以及后视图和前视图。该程序告诉你肌肉受什么神经支配,它将对你进行测试并告诉你每一块肌肉是什么,肌肉的起端和附着点,肌肉的活动(它是做什么的)和神经分布。 3D4Medical.co
[医疗电子]
12个热门移动医疗<font color='red'>应用程序</font>
基于ARM9处理器S3C2410的LCD显示系统设计
引言 S3C2410是三星公司生产的基于ARM920T内核的RISC微处理器,其主频可达203MHz ,适用于信息家电、PDA、手持设备、移动终端等领域,本文介绍了基于S3C2410的显示系统的硬件电路及驱动软件设计方法。 TFT-LCD模块的时序要求 本显示模块选用的LQ080V3DG01是Sharp公司的TFT-LCD器件,该器件的分辨率为640%26;#215;480,控制时序图如图1所示,时间参数如表1所列 。    硬件电路设计 在该显示系统的硬件电路中,S3C2410与LCD模块的连接是关键,S3C2410内部自带一个LCD驱动控制器,其接口可以与单色、
[应用]
基于FPGA和ARM的图像采集传输系统
0 引言 图像处理技术的快速发展,使得图像采集处理系统在提高农业生产自动化程度中的应用越来越广泛。目前的图像采集系统有的基于CCD摄像机、图像采集卡和计算机,有的基于CCD摄像机、解码器、FPGA和DSP,而有的基于CMOS图像传感器芯片、FPGA和DSP,它们在实时性,灵活性,可维护性方面各有优缺点。而在农业生产中,以基于CCD摄像机、图像采集卡和计算机的系统居多。本文结合实际系统中的前端图像处理和图像数据传输需要.充分利用ARM的灵活性和FPGA的并行性特点,设计了一种基于ARM+FPGA的图像快速采集传输系统。所选的ARM (Ad-vanced RISC Machines)体系结构是32位嵌入式RISC微处理器结构,该微处
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved