用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

嵌入式系统的实时数据接口扩展

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:50:39
【本文由PB创新网为您整理】
摘要:介绍了一种以Samsung公司的ARM7TDMI CPU S3C4510B为核心、μCUnux 为操作系统的嵌入式系统应用于MPEC-2或MPEG-4等实时多媒体数据的网络传输所面临的问题,并提出了相应的解决方案。

    关键词:嵌入式系统 μClinux 实时多媒体 接口扩展

嵌入式系统目前已广泛应用于信息家电、网络通信和工业控制等各个领域。典型的嵌入式系统主要由嵌入式硬件和软件构成,其中硬件部分的核心为嵌入式处理器。与通用处理器相比,其在功耗、体积、成本等方面都受到应用要求的制约。嵌入式系统的软件部分可以像计算机一样使用操作系统,目前已有许多成熟嵌入式操作系统,如VxWorks、pSOS、Nucleus、Windows CE 以及嵌入式Linux 等。当然,在一些简单应用中许多嵌入式系统的软件并没有使用操作系统,只有一些循环控制。这样,软件复杂度大大降低,从而减少存储器的容量要求,但是这样的软件在重复使用、网络支持等方面的能力相对较弱。

ARM系列内核是目前嵌入式处理器中广泛使用的内核。采用ARM内核的处理器具有体积小、功耗低、成本低和性能高的特点。在全球有众多生产ARM内核处理器的厂商。

Linux是一种很受欢迎的开放源码操作系统,原先被设计应用于桌面系统,后被广泛应用于服务器。由于其开放源码和内核可裁减等特性,Linux逐渐被修改用于嵌入式领域。目前已有多个嵌入式应用的版本,μClinux 是其中的一个分支,最早被设计应用于微控制领域。其最大特征就是没有MMU(内存管理单元),很适合于许多低端的、没有MMU的嵌入式处理器。

本文设计了一种嵌入式系统用于多媒体实时数据的网络传输。ARM内核处理器与嵌入式 Linux 是目前嵌入式应用中的一种典型组合,选用了 Samsung 公司的16/32位ARM7TDMI 内核的网络处理器 S3C4510B 为嵌入式硬件核心,μClinux 为操作系统。该系统支持完整的TCP/IP协议以及许多其它的网络协议,同时它具有很低的成本。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 嵌入式系统的构成

1.1 硬件系统

嵌入式硬件系统主要由 CPU、Flash ROM、SDRAM、以太网物理层、FIFO以及CPLD等芯片构成,如图1所示。

(1) CPU

本系统采用了 ARM7TDMI 内核的 RISC 处理器S3C4510B。该芯片具有如下一些主要特点:

8/16/32位的外部总线支持 ROM、RAM、Flash 存储器、DRAM 和外部I/O;

·8K 字节的 Cache;

·一个I2C 接口;

·一个带 MII 接口的100Mbps/10Mbps 以太网控制器;

·两个 UART 通道;

·两个通用 DMA 通道;

·两个 HDLC 通道;

·18个通用I/0通道;

·两个32位定时器;

·共有21个中断源,其中4个用于外部中断;

·一个内部 PLL 用于提供高频率的系统时钟,最高系统时钟可达50MHz。

由此可见,S3C4510B 很适用于低端的网络设备,如集线器、交换机、家庭网关等。

(2)Flash ROM 和 SDRAM

Flash ROM 和 SDRAM 构成了系统的存储空间。其中Flash ROM 作为程序存储器,用于存放操作系统、应用程序等;SDRAM为系统内存。

(3)以太网物理层和串行接口芯片

CPU 内部的以太网控制器只提供了MAC(媒体接入控制器),需在外部接一个物理层芯片完成编解码和时钟恢复等功能。串行接口芯片主要完成串行线路接口的电平转换。

(4)CPLD 和 FIFO

为了能使系统支持实时数据通信,需要在外设和嵌入式系统的外部总线之间加上 FIFO 和CPLD。FIFO 用于数据缓冲,CPLD 用于产生 FIFO控制逻辑和外部总线控制逻辑。

1.2 操作系统

ARM7TDMI 内核已被众多的嵌入式操作系统所支持,如 VxWorks、pSOS 及 Nucleus 等。这些商业化操作系统在网络和用户图形界面等方面都有很好的支持,并且在稳定性和实时性方面都有相应的保证,但其价格也相当高。这里选用了开放源码的嵌入式 Linux,它一般免费或花较少的费用就可得到,同时它在网络和图形界面方面也有很好的支持。另外,嵌入式 Linux 的高度模块化使它可以根据实际应用需要灵活配置,能有效精简内核代码。嵌入式 Linux 具有很高的稳定性。在实时性方面,尽管 Linux 本身未作过多关注,但可通过打实时 Linux(RTLinux)补丁解决。

针对所采用的 CPU 没有 MMU,选用了目前在嵌入式系统中被广泛使用的μClinux。μClinux 是从标准的Linux 2.0 内核发展而来的,但其源代码针对典型的嵌入式应用已经作了许多精简和修改,使得其内核比标准的 Linux 内核要小很多,不过它仍然保留了标准 Linux的主要特色。

目前最新的μClinux 版本已经支持 S3C4510B 及典型开发板,如果所采用的 CPU 及开发板没有被支持,应根据实际情况移植。此外,由于在外部总线接了 CPLD和 FIFO,为了使应用程序能访问它,需要在μClinux 下开发相应的驱动程序。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2 实时数据接口的扩展

2.1 应用要求

将上述嵌入式系统应用于实时多媒体数据的网络传输,如图2所示。这里的实时多媒体可以是 MPEG-4或 MPEG-2 等,其数据流一般是连续、恒定码率的。

2.2 硬件扩展

根据上述数据流的特点,需在嵌入式系统与外设(编、解码器)之间加入数据缓冲控制单元。对于发送端和接收端,数据缓冲控制单元的设计有所不同,下面以MPEG-2 为例说明。这里考虑系统的处理能力、网络的承受能力以及图像质量,MPEG-2 的输

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:6,593.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号