摘要: 介绍了一种以Samsung公司 的ARM 7TDMI CPU S3C4510B为核心、μCUnux 为操作系统 的嵌入式系统 应用于MPEC-2或MPEG-4等实时多媒体数据的网络 传输所面临的问题,并提出了相应的解决方案。
嵌入式 系统目前已广泛应用于信息 家电、网络通信 和工业控制 等各个领域。典型的嵌入式系统主要由嵌入式硬件 和软件构成,其中硬件部分的核心为嵌入式处理器 。与通用处理器相比,其在功耗、体积、成本等方面都受到应用要求的制约。嵌入式系统的软件部分可以像计算机一样使用操作系统,目前已有许多成熟嵌入式操作系统,如VxWorks 、pSOS、Nucleus、Windows CE 以及嵌入式Linux 等。当然,在一些简单应用中许多嵌入式系统的软件并没有使用操作系统,只有一些循环控制。这样,软件复杂度大大降低,从而减少存储器的容量要求,但是这样的软件在重复使用、网络支持等方面的能力相对较弱。
ARM系列内核是目前嵌入式处理器中广泛使用的内核。采用ARM内核的处理器具有体积小、功耗低、成本低和性能高的特点。在全球有众多生产ARM内核处理器的厂商 。
Linux是一种很受欢迎的开放源码操作系统,原先被设计应用于桌面系统,后被广泛应用于服务器。由于其开放源码和内核可裁减等特性,Linux逐渐被修改用于嵌入式领域。目前已有多个嵌入式应用的版本,μClinux 是其中的一个分支,最早被设计应用于微控制领域。其最大特征就是没有MMU(内存管理单元),很适合于许多低端的、没有MMU的嵌入式处理器。
本文设计了一种嵌入式系统用于多媒体实时数据的网络传输。ARM内核处理器与嵌入式 Linux 是目前嵌入式应用中的一种典型组合,选用了 Samsung 公司的16/32位ARM7TDMI 内核的网络处理器 S3C4510B 为嵌入式硬件核心,μClinux 为操作系统。该系统支持完整的TCP/IP协议以及许多其它的网络协议,同时它具有很低的成本。 1 嵌入式系统的构成
1.1 硬件系统
嵌入式硬件系统主要由 CPU、Flash ROM 、SD RAM 、以太网 物理层、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 下开发相应的驱动程序。 2 实时数据接口的扩展
2.1 应用要求
将上述嵌入式系统应用于实时多媒体数据的网络传输,如图2所示。这里的实时多媒体可以是 MPEG-4或 MPEG-2 等,其数据流一般是连续、恒定码率的。
2.2 硬件扩展
根据上述数据流的特点,需在嵌入式系统与外设(编、解码器)之间加入数据缓冲控制单元。对于发送端和接收端,数据缓冲控制单元的设计有所不同,下面以MPEG-2 为例说明。这里考虑系统的处理能力、网络的承受能力以及图像质量,MPEG-2 的输出为 4Mbps 的CBR(固定比特率)TS流。
2.2.1 发送端
编码器 送出连续、恒定速率的码流。如果将此码流直接送到 CPU 外部总线,将会导致操作系统频繁地处理中断,甚至会产生中断不能及时处理从而导致数据丢失。因此,有必要在编码器与外部总线之间加上 FIFO,同时用 CPLD 实现 FIFO 的读写控制逻辑。编码器送出的数据流连续不断地以恒定速率写入FIFO;当FIFO中的数据积聚到一定值后,每写入若干个数据就向CPU发一个中断;CPU在收到中断后通过外部总线读入相当量的数据,并将其打包送入网络。正常情况下,每个中断读数据个数是一定的,在一段时间内FIFO写入和读出将维持平衡,且不会产生“饥饿”状态;当操作系统因处理别的任务而没有及时响应中断时,FIFO将暂时进入“饱和”状态,但只要FIFO容量足够大就不会产生数据溢出现象。由于CPU从FIFO读取单位数据的速度大大高于外设向FIFO写单位数据的速度,“饱和”状态一般能消除。由此,可以解决前述问题。
2.2.2 接收端
在接收端,由于解码器的输入要求是一个连续、恒定速率的码流,同样要求在CPU外部总线与编码器之间加上FIFO和CPLD。同时,接收端的数据包由于经过了网络,不可避免地会引入延时,且数据包之间的延时是不确定的,甚至会产生数据包的丢失。这些都需要在接收端予以考虑,增加了接收端数据缓冲控制单元的复杂度。
为了解决数据包到达延时及抖动问题(数据包的丢失将间接导致延时的增加),可以简单地靠增大FIFO容量解决。但增大FIFO将意味着从编码器到解码器之间延时的增加,影响了实时性。因此,为了保证一定的实时性,同时考虑成本因素,不能单纯靠增大FIFO解决。
由于FIFO容量的限制,在出现大延时的情况下,FIFO将可能出现“空”状态。这意味着送给解码器的数据流会有中断,从而可能导致解码器的不正常工作并可能不能恢复(在数据流恢复正常后)。为此,需要在FIFO出现“空”状态之前,即处于“饥饿”状态时(可以设置一个阈值),由CPLD停止向FIFO读数据而向解码器发填充包。填充包中含有同步头,可以维持解码器的同步。短时间的插空包会使视频 图像出现马赛克,如果时间过长,可能会出现黑屏。在实际试验中,接收端视频的质量与网络的负载情况有关。当网络负载较重时,图像会出现马赛克,黑屏现象一般极少发生。
2.3 驱动程序
为了使μClinux下的应用程序能通过外部总线访问FIFO,需要编写相应的驱动程序。驱动程序主要包括三个基本部分,即CPU相关寄存器 的初始化设置以及CPU对外部I/O口的读操作和写操作。其中,初始化设置主要包括中断号及其类型设置、外部I/O口数据位宽度和读写时序设置等。
嵌入式系 (13886)
嵌入式系 (13886)
接口扩展 (8295)
接口扩展 (8295)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
相关推荐
电子发烧友网站提供《嵌入式 实时数据 采集系统 的设计与实现.pdf》资料免费下载
2023-10-24 10:41:22 0 本文主要介绍嵌入式 系统 的一些基础知识,从嵌入式 系统 基础,包括嵌入式 系统 的定义、嵌入式 系统 的组成、实时 系统 、逻辑电路基础以及接口 技术两方面介绍,希望对各位有帮助。
2023-04-13 15:30:21 455 (USB接口 传输速度快),可适用于多种实时 操作系统 (保存在优盘中的映像文件也可以是使用其他嵌入式 实时 操作系统 ,如PSOS、Nuclues等开发生成的);对系统 的Flash存储容量要求小(Flash中主要
2011-09-05 11:36:14
嵌入式 系统 设计来源于电科大陈虹老师的课程总结课程体系:理论与实践相结合以嵌入式 硬件的核心嵌入式 微处理器及嵌入式 软件的核心嵌入式 实时 操作系统 为重点,以应用为目的,全面介绍嵌入式 系统 使大家既能对嵌入式
2021-11-30 18:21:07 33 ,这一阶段嵌入式 系统 的主要特点是系统 结构和功能比较单一,处理效率比较低;随着微处理器的诞生,嵌入式 系统 得到了广泛的发展,这一时期出现了一些商用的嵌入式 系统 并得到了迅速发展,并且具备了高度的模块化和扩展
2021-11-03 20:36:04 11 ,是加拿大一家知名的嵌入式 系统 开发商。 QNX是一个分布式 、嵌入式 、可规模扩展 的硬实时 操作系统 。它遵循POSⅨ.1 (程序接口 )和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(实时 扩展 )。...
2021-10-20 21:35:58 10 嵌入式 系统 接口 测试策略嵌入式 系统 接口 测试策略摘要:在日益广泛应用的嵌入式 系统 中,软件测试因为系统 平台局限性需要重复下装,耗费较大的测试资源与时间成本。文章根据嵌入式 系统 软件的特性,结合实际案例智能
2021-10-20 19:06:08 13 本文档的主要内容详细介绍的是嵌入式 实时 操作系统 的应用详细教程说明包括了:1 嵌入式 系统 与嵌入式 操作系统 ,2 用于8051内核单片机的常见嵌入式 操作系统 ,3 嵌入式 实时 操作系统 uC/OS-II简介及特点,4 uC/OS-II内核 ,5 uC/OS-II在STC12C5A60S2中的移植及注意事项
2019-12-05 08:00:00 2 与汇编语言程序设计,UC/OS-II实时 操作系统 分析,嵌入式 系统 硬件接口 设计,嵌入式 系统 软件设计与编程以及嵌入式 系统 的应用开发案例等知识体系。
2018-12-10 08:00:00 28 基于嵌入式 系统 的Internet接口 开发
2017-02-07 17:25:04 11 本文主要介绍嵌入式 系统 的一些基础知识,从嵌入式 系统 基础,包括嵌入式 系统 的定义、嵌入式 系统 的组成、实时 系统 、逻辑电路基础以及接口 技术两方面介绍,希望对各位有帮助。
2016-07-25 13:30:55 1793 在高速实时数据 采集系统 设计中 我们采用了“数字信号处理芯片 + 嵌入式 中央处理器”的设计思路即将高速实时数据 采集系统 分成基于三星公司的S3C2410精简指令处理器的核心板和基于现场可编程门阵列的高速
2016-04-18 14:12:30 1 阐述了嵌入式 实时 系统 的原理及特点,分析并论述嵌入式 实时 系统 实现过程中的关键问题,讨论了嵌入式 实时 系统 在通信领域中的应用。
2012-05-30 09:52:22 2430 人机接口 是嵌入式 控制系统 的重要组成部分,用于人机之间实时 交换控制系统 并返回系统 状态。嵌入式 系统 大都采用液晶屏和键盘作为人机接口 的输入、输出设备。这里设计的人机接口
2012-05-18 16:42:32 1099 为满足嵌入式 实时 系统 快速适应硬件型号升级、快速变更要求以及可伸缩、可修改、可复用等方面的需求,本文提出了一种适用于嵌入式 实时 系统 的设计模式--ERTSDP,解决了系统 分析设计
2011-10-14 15:33:56 2228 概述了嵌入式 系统 的开发工具实时 操作系统 的特点和核心内容;分析了在利用实时 操作系统 进行嵌入式 系统 设计时,经常要面对的几个方面的问题。
2011-10-10 15:23:24 42 本文设计了一种嵌入式 系统 用于多媒体实时数据 的网络传输。ARM内核处理器与嵌入式 Linux 是目前嵌入式 应用中的一种典型组合,选用了 Samsung 公司的16/32位ARM7TDMI 内核的网络处理器 S3C
2011-08-16 16:49:42 900 本文给出了实现嵌入式 实时 系统 优盘启动的嵌入式 主机硬件结构、软件协议栈以及主要程序流程,探讨了实现嵌入式 实时 系统 从优盘启动的可行性。
2011-07-20 15:09:49 1500 摘 要:阐述了嵌入式 系统 的概念、特点及应用,并对其软硬件系统 、实时 软件开发技术进行了详细叙述,对嵌入式 CPU各种类型及代表产片的进行了比较说明;提出了嵌入式 系统 的模型、嵌入式 实时 软件的开发过程和方法;针对目前嵌入式 系统 的发展现状,论述了嵌入式 系统 的
2011-02-25 13:03:41 55 基于ARM的蓝牙实时数据 采集系统 的设计
摘要:本文提出了一种基于ARM的蓝牙无线数据 采集系统 。结合嵌入式 技术与蓝牙技术的优势,解决了传统工业现场数据 采集系统 中
2010-02-02 11:27:03 1078 设计了一种基于ARM9 与Linux 的嵌入式 实时数据 采集系统 。通过对数据 采集实时 理论的研究和对系统 应用需求的分析选择设计了系统 的软硬件,其中主要包括基于AD7892的采集模块硬
2010-01-13 15:45:11 29 本文主要提出了一种可应用于监控组态软件的实时数据 库的实现方法。通过对实时数据 库在组态软件中的地位与作用的分析,结合嵌入式 Linux 在实时 多任务方面的特性,设计并实
2010-01-06 15:48:20 17 DSP嵌入式 系统 人机接口 设计
1 引言
人机接口 是嵌入式 控制系统 的重要组成部分,用于人机之间实时 交换控制系统 并返回系统 状态。嵌入式 系统 大都采用液
2009-12-24 16:34:13 749 本文介绍一种实用的基于嵌入式 TCP/IP技术的实时数据 传输系统 ,分析了其硬件和软件系统 。结合系统 控制对象的分散性和网络化管理的特点,重点论述嵌入式 操作系统 、嵌入式 TCP/IP
2009-09-23 11:35:29 38 该文提出了一种基于uClinux 嵌入式 操作系统 的嵌入式 系统 中,使用Java 实现嵌入式 实时数据 采集系统 中数据 在WEB 中实时 图形化显示的方案。该方案弥补uClinux 不支持java 的缺憾,实现
2009-09-18 10:46:21 31 实时 仿真与嵌入式 系统 :Matlab 和VxWorks 是当今工业流行的仿真软件和嵌入式 操作系统 , 二者之间的结合极大的方便了程序在嵌入式 平台上的仿真。本文介绍了Matlab 中RTW 面向VxWork
2009-09-13 10:44:08 21 实时数据 库是嵌入式 系统 的核心,用来定义数据 变量,负责与外部设备进行实时数据 交换。在用组态软件开发嵌入式 应用时,在开发环境中定义实时数据 库结构、数据 来源及类型
2009-08-22 09:45:14 10 本文探讨了利用Linux 的实时 扩展 RTAI 在工业PC 机硬件平台上,构建实时 嵌入式 通用数据 采集系统 的设计思想和实现方法。深入地剖析了驱动程序与用户程序的关系。同时,介绍了
2009-08-21 09:14:11 12 介绍了以嵌入式 芯片S3C2410X为核心的远程监控系统 ,阐述了基于嵌入式 Web服务器的监控系统 的总体设计思路与系统 体系架构方法,通过嵌入式 Web服务器将现场的实时数据 上传到网
2009-08-11 08:30:12 31 基于 ARM 处理器的32 位嵌入 系统 具有极高速和大容量的数据 处理能力,如何设计ARM 与主机设备或系统 的通信接口 、提升数据 通信能力,成为嵌入式 系统 设计的一大问题。文章给出了
2009-08-06 10:06:39 10 基于GPRS网络的嵌入式 系统 可以利用嵌入式 系统 结构紧凑、功能强和实时 性强等特点,用GPRS网络进行数据 传输,扩展 了嵌入式 系统 的应用范围,使得该嵌入式 系统 可以广泛适用于
2009-06-17 09:16:09 17 在工业控制嵌入式 实时 系统 中应用的数据 库要同时满足嵌入式 和实时 性两方面的要求。工业控制系统 中的嵌入式 实时数据 库通常作为软件部件镶嵌于设备中或实时 应用环境中,它往
2009-06-10 11:01:42 16 嵌入式 实时数据库系统 是近几年才兴起的一项新的数据 管理技术。本文首先描述了实时 事务并发控制并发控制协议,然后探讨了具有功能替代性和补偿性的实时 事务并发控制的新
2009-06-01 15:30:23 20 嵌入式 实时数据库系统 是近几年才兴起的一项新的数据 管理技术。本文首先描述了实时 事务并发控制并发控制协议,然后探讨了具有功能替代性和补偿性的实时 事务并发控制的 新
2009-06-01 15:17:48 8 提出利用SL811HS 和8 位单片机实现USB-Host 实时数据 采集嵌入式 模块。该系统 的数据 传输,遵守大规模存储协议和USB 1.1协议规范,可作为嵌入式 设备的数据 输入输出模块。它以文件的形
2009-05-16 14:57:48 13 嵌入式 实时 操作系统 教程:以VRTX为对象详细介绍了嵌入式 实时 操作系统 的原理和应用,特别是第一部分关于嵌入式 实时 操作系统 的介绍非常适合初学者全面了解嵌入式 实时 系统 ,
2009-04-19 21:55:52 43 提出利用SL811HS 和8 位单片机实现USB-Host 实时数据 采集嵌入式 模块。该系统 的数据 传输,遵守大规模存储协议和USB 1.1协议规范,可作为嵌入式 设备的数据 输入输出模块。它以文件的形
2009-04-15 09:24:19 13 近年来, 嵌入式 实时 系统 已经在工业等各个领域得到广泛关注与应用。 本文介绍嵌入式 实时 系统 的特点、关键技术、优势,以及嵌入式 实时 系统 在高档卷接设备和包装设备中的应用
2009-04-07 09:51:57 9
已全部加载完成
评论
查看更多