历史上的今天
今天是:2026年01月30日(星期五)
2023年01月30日 | 基于Linux网络文件系统(NFS)和S3C2440的Web
2023-01-30 来源:elecfans
随着数码相机和互联网的普及,越来越多的家庭拥有自己的媒体库。媒体库中既包含有自己拍摄的影像文件,也有从网络上下载的影像资料。然而展示影像资料的手段单一,主要通过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数码相框为代表的网络多媒体终端会走进千家万户。
史海拾趣
|
1 引言 表面安装技术(SMT)在国内PCB板组装(以下简称PCBA)行业正迅速被采用,目前,国内已引进了1万多条SMT生产线。PCBA行业中的重要加工设备均属计算机控制的自动化生产设备。如点胶机、印刷机、贴片机、插件机、AOI(自动光学检测仪)、ICT( ...… 查看全部问答> |
|
USB协议分析器用来截取usb数据,有没有用过的?这个设备是一个HID(人机接口设备)么? 这个设备通过usb线连接PC机,PC上有个客户端,可以将截获的数据显示出来 现在要开发一个应用程序,从PC上连接该设备的usb口读入数据,不知道该怎么实现,如 ...… 查看全部问答> |
|
关于pocket pc 2003环境下使用socket API(非socket类)编写通信程序的问题 各位老师、前辈大家好。小弟做win ce刚入门,有问题要请教,望诸位帮助答疑解惑。我使用microsoft vc 2005开发一个PDA(win ce4.21)即时通信的客户端,使用TCP协议。所有通信函数均使用socket的API方式,没有使用C++封装过的CSocket,CCeSocket等。大 ...… 查看全部问答> |
|
这个是把svn版本的FTK运行于RT-Thread上,采用的是mini2440分支,为了让大家能够直观的看到效果就做成QEMU虚拟机的形式,下载后在Windows上解压到一个目录运行run-rtthread-ftk.bat批处理文件就可以了,不需要真实的开发板。 内部是这样的,OS跑的 ...… 查看全部问答> |
|
测温度用DS18B20?杀鸡焉用宰牛刀,既麻烦又浪费。EXP430FR5739不是板载了NTC热敏电阻了么,何不利用?(本想用片内温度传感器,但是误差可能过大,遂放弃) 板载NTC电阻在25℃下为100K,温度升高电阻减小,温度降低电阻增大。由于不知NTC电阻具体 ...… 查看全部问答> |
|
众所周知,所有FPGA基本上都是基于SRAM结构的,其程序(固件)是通过JTAG口直接加载或从外部Flash加载到内部SRAM中运行的。由于Flash本身无法加密,因此FPGA程序加密保护是所有开发者必须面临的一个主要问题。目前,FPGA程序加密主要有两种方法:1 ...… 查看全部问答> |
|
为什么.net compact framework 开发wince或 windows phone 这类的程序,都不能继承窗体呢? 直接填加项目--window窗体-继承窗体后都出现以下错误: 文件中的类都不能进行设计,因此未能为该文件显示设计器。设计器检查出文件中有以下类: Form4 ...… 查看全部问答> |




