当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]O 引言随着数码相机和互联网的普及,越来越多的家庭拥有自己的媒体库。媒体库中既包含有自己拍摄的影像文件,也有从网络上下载的影像资料。然而展示影像资料的手段单一,主

O 引言

随着数码相机和互联网的普及,越来越多的家庭拥有自己的媒体库。媒体库中既包含有自己拍摄的影像文件,也有从网络上下载的影像资料。然而展示影像资料的手段单一,主要通过PC来实现。因此未来构建以媒体库为中心的家庭多媒体网络,把多媒体资料在各式各样的家庭网络媒体终端上展示出来,将成为一种必然的趋势。媒体终端包括Web数码相框、网络数字电视等。

Web数码相框的提出正是为了设计一种家庭嵌入式网络媒体终端,但目前市场上常见的数码相框的网络可扩展性差,本设计方案的提出正是为了能够弥补这方面的不足,提高网络可扩展性。并在本设计方案的基础上构建网络数字电视等其他多功能终端实体。

1 技术方案

Web数码相框要具有JPEG图像文件显示功能,需要进行大量解码处理,且实时性要求高,因此选用低功耗、高性能的32位处理器ARM。基于ARM920T体系结构的S3C2440嵌入式微处理器具有如下特点:l6/32bitARM920T内核,最高工作频率400MHz,运算能力为440MIPS,能够胜任多媒体文件的处理任务。所以,硬件部分采用在S3C2440基础上构建的一个具有Web功能的嵌入式系统。

软件部分选择最新的Linux2.6操作系统,该操作系统属于开源免费的,可大大降低产品的开发成本。Linux2.6操作系统遵守GPL开发原则,可找到丰富的驱动程序源码,该系统还支持TCP/IP协议栈,可以有效降低开发难度,缩短开发周期。另外Linux2.6内核相比Linux2.4 内核操作系统的实时性更好,功能也更加丰富,完全满足Web数码相框的设计要求。

2 硬件设计

2.1 LCD接口设计

S3C2440芯片集成了TFT LCD的驱动器(图1),因此本文采用了256k色240×320的TFT真彩LCD,所以LCD接口的设计就相对简单(图2)。LCD接口用一个 41Pin插座,包含了常见LCD所用的大部分控制信号(行场扫描、时钟和使能等),和完整的RGB数据信号(RGB输出为8:8:8)。同时还有一个跳线的设计方便支持不同的LCD工作电压。

 

 

2.2 网络接口设计

网络接口设计采用目前常见的DM9000芯片。该芯片是一款快速以太网控制处理器,合成了MlAC、PHY、MMU,自适应10/100M网络,非常适合作为嵌入式系统的网络接口芯片。在本设计中,S3C2440与DM9000之间采用地址线和数据线复用的方式。同时DM9000的AEN端接 S3C2440的nGCS4,这样DM9000的地址线IO为Ox20000000,数据IO为0x20000004。此外Linux2.6内核支持 DM9000的驱动,这样给开发带来很大的方便。网络接口设计如图3所示。

 

3 软件设计

3.1 嵌入式操作系统

目前常见的嵌入式操作系统包括:WinCE、VxWorks、uC/OS-II和Linux。其中uC/OS-II操作系统虽然可以免费获得,但功能过于简单,实用性较差,后续开发工作量很大。而前两种操作系统虽然功能较强,但不属于开源免费的操作系统,不适用于低成本的消费类电子产品。

Linux内核是基于GNU通用公共许可,也就是GPL。它的源代码完全开放,也很容易移植到嵌入式系统中,Linux2.6的内核对ARM系列的嵌入式系统已经有了很好的支持。同时有大量的开源软件包可供使用,方便了后期开发。

3.2 网络文件系统(NFS)

网络文件系统(NFS)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。对于Linux系统来说NFS包括两方面:一是Linux服务器端的NFS服务器支持;二是嵌入式目标系统的NFS客户端的支持。因此,在本设计中配置了一台Linux的PC机来提供NFS服务,同时它也作为多媒体网络的媒体库。嵌入式目标系统是 Web数码相框,本设计在其嵌入式Linux系统上移植了NFS客户端。借助NFS客户端Web数码相框能随时读取媒体库中共享出来的多媒体文件。

3.3 NFS的简单配置

为了使Web数码相框能够正确地从Linux服务器上取得多媒体资料,要列NFS的服务器端和客户端作简要的配置。

对于服务器端,为/ect/export文件添加如下内容:

/home/media 192.168.0.*(ro,sync,no_root_squash)

添加的内容表示:允许ip地址范围在192.168.0.*的客户端以只读的权限来访问/home/media目录。

然后执行如下命令,启动NFS服务:

#service portmap start

#service nfs start

对于客户端(Web数码相框),在Linux Shell下,执行如下命令来进行NFS共享目录的挂载:

#mkdir/mnt/NFS

#mount-tnfs 192.168.0.20:/home/media/mnt/NFS-onolock

客户端对本地/mnt/NFS目录里的多媒体文件进行读取并显示,相当于读取了网络服务器的/home/media目录的文件,完成了网络媒体库的共享。

4 结束语

以上内容叙述了基于ARM构架的嵌入式多媒体终端,同时具备了Web数码相框的基本功能。本设计的创新之处在于把Linux系统强大的网络功能和S3C2440高效的多媒体处理能力结合起来,构建了高性能、低功耗、低成本的网络多媒体终端。可以预见在不久的将来,以Web数码相框为代表的网络多媒体终端会走进千家万户。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭