近年来,网络音乐,特别是网络电台的风行,受到越来越多的大众追捧。网络音乐以其及时、海量、灵活、个性化、时尚的风格,吸引了越来越多消费者的加入和众多商家的关注。但是,作为网络音乐的终端--流媒体播放器,最直接面向大众的窗口,却显得单一,大部分商家只提供PC上的流媒体播放器。正出于此,本课题把目光投向那些不使用PC或者不愿长时间使用PC的用户,为他们量身定制流媒体播放设备,让用户不必使用PC也可享受网络音乐带来的快乐。 本课题的研发正是基于上述背景,研发支持无线网络的嵌入式多功能流媒体播放设备。本课题的研究目标是实现一个嵌入式流媒体播放器(亦称为InternetRadio),Internet Radio是一个可以在家中自由移动、任意摆放的网络流媒体播放设备。只要处在有网络环境中,Internet Radio的音乐平台让用户不必打开计算机,就能接收全球数千个不同风格、不同国家的各种类型音乐电台。除了可以直接透过因特网收听网络广播外,还可以播放储存于计算机硬盘或MP3设备中的音乐。 本系统采用ARM920T作为处理器,基于嵌入式Linux操作系统、vTuner网络电台地址数据库、Mplayer播放器软件和FLTK界面开发工具来实现。系统实现了除一般意义的音频流媒体播放和接收调频广播等功能之外,还增加了本地相框和网络数码相框Flickr在线分享的流行时尚元素。本论文具体分析了系统的硬件平台,主要论述了软件的实现,系统的主要软件功能包括bootloader和嵌入式Linux系统的移植,根文件系统的构建,播放器软件程序的研究、比较、移植和编写,系统与网络电台地址数据库vTuner和网络相框Flickr的交互,Microwindows、Nxlib和FLTK的移植和基于FLTK的图形界面开发,以及基于FLIK开发出良好的人机交互界面。作为项目的主要核心人员,作者负责系统的软件架构设计、Linux系统的移植、播放器软件的研究和开发、GUI开发工具和图形库的移植、图片播放的实现、用户与设备交互的实现和大部分界面程序的编码等关键工作。
上传时间: 2013-07-10
上传用户:小枫残月
随着计算机、通信及网络技术的高速发展,嵌入式系统广泛地渗透到各行各业及人们日常生活的方方面面中。由于嵌入式系统的复杂性不断增加,嵌入式操作系统成为了嵌入式系统中最重要的组成部分。在各种嵌入式操作系统中,Linux凭借其性能优异、结构清晰、平台支持广泛、网络支持强劲及开放源代码等多方面的优势,被嵌入式系统开发者广泛的采用。同时随着近几年来国内嵌入式领域发展非常迅速,其中32位ARM处理器结构体系的嵌入式CPU在商用领域、工控领域和军用领域都得到了广泛使用。 近几年随着无线通信技术、传感器技术、信息采集和处理技术的飞速发展,出现了低成本、低功耗、多功能的微型无线传感器节点。无线传感器网络是随着传感器节点的发展而兴起的计算机科学技术的一个新的研究领域,它是由一组无线传感器节点通过ad-hoc方式构成的无线网络,综合传感器技术、嵌入式计算技术、分布式信息处理技术和无线通信技术,能够协作地实时监测、感知和采集各种环境或监测对象的信息,并对其进行处理,并传送到需要这些信息的用户处。这种无线网络系统被广泛地用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业、反恐救灾等领域,具有十分巨大的发展潜力,引起了学术界和工业界的高度重视。 目前,手持终端的应用范围主要是在商业领域,开发一款适合在工业现场等无线传感网络监控领域的手持终端是本文的初衷。本文从嵌入式系统的角度,采用目前比较流行的ARM9处理器和嵌入式Linux的操作系统,阐述手持终端硬件平台的设计和软件的移植方案;接着研究了系统引导程序的原理、设备驱动开发的关键点、根文件系统的制作方法。在此基础上,分析和移植引导程序U-Boot 1.1.4的实现、无线收发芯片CC2420的驱动开发和帧缓冲驱动的开发,并针对目标平台的特点完成了文件系统的构建;然后介绍了基于Qt/Embedded的图形界面开发的基础,最后对本文研究工作进行总结。
上传时间: 2013-06-26
上传用户:lguotao
基于ARM的嵌入式运动控制器是集计算机数字控制技术、ARM技术、运动控制技术以及嵌入式操作系统技术等技术为一体的技术含量高的运动控制器;是对低成本、高性能运动控制器研究的一个新的尝试。本论文的研究重是点基于双端口RAM上下位机通讯的数控系统总体软件架构设计、嵌入式运动控制器轨迹规划算法的研究、嵌入式系统软件的构建以及运动控制器外设驱动程序的开发,其主要工作及成果如下: 1.针对数控系统上下位机信息交互频繁,提出了一种基于双端口RAM通讯结构的上下位机交互方式,实现了上下位机信息的高速、稳定通讯;且完成了基于双端口RAM上下位机通讯结构的数控系统总体软件架构设计。 2. 针对目前高速数控加工轨迹规划中存在的一些关键问题进行深入的探讨。提出一种轨迹拐角的速度平滑方法,当高速加工不在同一直线方向而形成拐角的加工段时,在拐角过渡时能获得很好的速度响应和较小的轮廓误差;还提出了一种高速数控加工小线段的前瞻平滑算法,当高速加工多段微小直线段时,能够优化规划多段微小线段的加工速度,有效避免了频繁的加减速给系统带来较大冲击以及加工效率低的问题。 3. 构建了适合本运动控制器系统的系统软件;研究了嵌入式运动控制器引导程序的移植、嵌入式Linux内核的优化配置以及根文件系统的构建。 4.探讨了Linux驱动程序开发的原理以及流程;并以双端口RAM为例介绍了运动控制外设驱动程序开发的方法。
上传时间: 2013-07-02
上传用户:笨小孩
本文介绍了一种基于现场可编程门阵列FPGA器件的电子密码锁的设计方法。重点阐述了红外遥控电子密码锁的整体架构设计;介绍了一种由PT2248作为发送器,MIM-R1AA 38KHZ红外一体化接收解调器作为接收器的红外遥控系统的构建方法;详细说明了如何运用EDA技术自顶向下的设计方法,来实现基于XILINX公司出品的Spartan-3E系列FPGA芯片的红外遥控解码、密码锁的解锁、密码修改、报警提示及液晶显示等功能。在分析红外遥控电子密码锁各功能模块时,本论文详细阐述了各模块的功能及外部接口信号,给出了各模块的仿真波形以及整个系统的测试流程和测试结果。本论文在介绍Spartan-3E系列FPGA芯片的特点和性能的同时,利用Spartan-3E系列的XC3S500芯片中的KCPSM3和自行设计完成的状态机控制器分别实现液晶显示控制器,通过比较分析得知KCPSM3实现的控制器,在对FPGA的资源利用方面更加合理,实现更加便捷。 本论文利用红外遥控技术解锁,大大提高了电子密码锁的安全性能;采用FPGA开发设计,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高,同时由于FPGA具有在系统可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。因此,采用FPGA开发的数字系统,不仅具有很高的工作可靠性,其升级与改进也极其方便。
上传时间: 2013-06-19
上传用户:111111112
本手册主要介绍了 Linux-2.6.32.2 内核的详细移植过程,它包含了友善之臂提供的几乎所有驱动程序的移植或编写、测试等;本手册还详细介绍了mini2440 所用文件系统的构建过程。
上传时间: 2013-05-29
上传用户:bjgaofei
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
上传时间: 2015-01-08
上传用户:lifangyuan12