《嵌入式系统实时数据接口扩展》由会员分享,可在线阅读,更多相关《嵌入式系统实时数据接口扩展(2页珍藏版)》请在金锄头文库上搜索。
1、 嵌入式系统实时数据接口扩展 嵌入式系统实时数据接口扩展嵌入式系统实时数据接口扩展嵌入式系统目前已广泛应用于信息家电、通信和工业控制等各个 领域。典型的嵌入式系统主要由嵌入式硬件和软件构成,其中硬件部 分的核心为嵌入式处理器。与通用处理器相比,其在功耗、体积、成 本等方面都受到应用要求的制约。嵌入式系统的软件部分可以像计 算机一样使用操作系统,目前已有许多成熟嵌入式操作系统,如 Vx7TDMI 内核的处理器 S3C4510B 为嵌入式硬件核心,Clinux 为 操作系统。该系统支持完整的 TCP/IP 协议以及许多其它的协议,同 时它具有很低的成本。 1 嵌入式系统的构成 1.1 硬件系统 嵌
2、入式 硬件系统主要由 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 位定时器;
3、 共有 21 个中断源,其中 4 个用于外部中断; 一个内部 PLL 用于提供高频率的系统时钟,最高系统时钟可达 50MHz。 由此 可见,S3C4510B 很适用于低端的设备,如集线器、交换机、家庭关等。(2)Flash ROM 和 SDRAM Flash ROM 和 SDRAM 构成了系统的 存储空间。其中 Flash ROM 作为程序存储器,用于存放操作系统、 应用程序等;SDRAM 为系统内存。 (3)以太物理层和串行接口芯片 CPU 内部的以太控制器只提供了 MAC(媒体接入控制器),需在外部 接一个物理层芯片完成编解码和时钟恢复等功能。串行接口芯片主 要完成串行线路接口的电平转换。
4、 (4)CPLD 和 FIFO 为了能使系 统支持实时数据通信,需要在外设和嵌入式系统的外部总线之间加上 FIFO 和 CPLD。FIFO 用于数据缓冲,CPLD 用于产生 FIFO 控制逻 辑和外部总线控制逻辑。 1.2 操作系统 ARM7TDMI 内核已被众多 的嵌入式操作系统所支持,如 VxMU,选用了目前在嵌入式系统中被 广泛使用的 Clinux。Clinux 是从标准的 Linux 2.0 内核发展而来 的,但其源代码针对典型的嵌入式应用已经作了许多精简和修改,使得 其内核比标准的 Linux 内核要小很多,不过它仍然保留了标准 Linux的主要特色。 目前最新的 Clinux 版本
5、已经支持 S3C4510B 及典 型开发板,如果所采用的 CPU 及开发板没有被支持,应根据实际情况 移植。此外,由于在外部总线接了 CPLD 和 FIFO,为了使应用程序能 访问它,需要在 Clinux 下开发相应的驱动程序。 2 实时数据接口 的扩展 2.1 应用要求 将上述嵌入式系统应用于实时多媒体数据的 传输,如图 2 所示。这里的实时多媒体可以是 MPEG-4 或 MPEG-2 等,其数据流一般是连续、恒定码率的。 2.2 硬件扩展 根据上述数 据流的特点,需在嵌入式系统与外设(编、解码器)之间加入数据缓冲 控制单元。对于发送端和接收端,数据缓冲控制单元的设计有所不同, 下面以 MP
6、EG-2 为例说明。这里考虑系统的处理能力、的承受能力 以及图像质量,MPEG-2 的输出为 4Mbps 的 CBR(固定比特率)TS 流。2.2.1 发送端 编码器送出连续、恒定速率的码流。如果将此码流直 接送到 CPU 外部总线,将会导致操作系统频繁地处理中断,甚至会产 生中断不能及时处理从而导致数据丢失。因此,有必要在编码器与外 部总线之间加上 FIFO,同时用 CPLD 实现 FIFO 的读写控制逻辑。 编码器送出的数据流连续不断地以恒定速率写入 FIFO;当 FIFO 中的 数据积聚到一定值后,每写入若干个数据就向 CPU 发一个中断;CPU 在收到中断后通过外部总线读入相当量的数据,并将其打包送入。正 常情况下,每个中断读数据个数是一定的,在一段时间内 FIFO 写入和 读出将维持平衡,且不会产生“饥饿”状态;当操作系统因处理别的任务 而没有及时响应中断时,FIFO 将暂时进入“饱