历史上的今天
返回首页

历史上的今天

今天是:2026年02月02日(星期一)

正在发生

2023年02月02日 | 嵌入式系统的实时数据接口扩展研究

2023-02-02 来源:elecfans

  嵌入式系统目前已广泛应用于信息家电、网络通信和工业控制等各个领域。典型的嵌入式系统主要由嵌入式硬件和软件构成,其中硬件部分的核心为嵌入式处理器。


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


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


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


  1 嵌入式系统的构成

  1.1 硬件系统

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

嵌入式硬件系统框图

  (1) CPU

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


  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口数据位宽度和读写时序设置等。

推荐阅读

史海拾趣

振宝佳(DMBJ)公司的发展小趣事

为了提升生产效率和产品品质,振宝佳公司在韩国引进了专业的全制动生产线和智能化的电子监察检查设备。这些先进的生产线和设备使公司的生产能力得到了显著提升,同时也确保了产品的质量和稳定性。这些投入为公司赢得了客户的信赖和好评。

台湾凌通(Generalplus)公司的发展小趣事
检查控制电路的逻辑是否正确,有无误触发或误关闭的情况。
FRONTIER公司的发展小趣事

背景:此故事基于假设存在一个专注于超级计算机研发的FRONTIER公司。

发展故事:近年来,随着大数据和人工智能技术的飞速发展,超级计算机在科研、工业等领域的应用越来越广泛。FRONTIER Supercomputing作为该领域的佼佼者,成功研发出了世界上首台突破百亿亿次计算瓶颈的超级计算机——Frontier。该计算机以其卓越的性能和广泛的应用价值,在多个领域取得了突破性成就,如太空探索、气候建模、基因组学等。Frontier的成功不仅为公司赢得了国际声誉,也为全球科技进步贡献了重要力量。

意华(CZT)公司的发展小趣事

自1995年成立以来,意华(CZT)始终秉持“诚信”的合作态度和“创新”的发展思路。在公司初创阶段,面对激烈的市场竞争,意华坚持高质量的产品和服务,赢得了客户的信赖。同时,公司不断投入研发,推出了一系列具有创新性的电子产品和连接器,迅速在市场上树立了良好的口碑。

Horizon Electronics Enterprises Group公司的发展小趣事

在21世纪初,随着数字技术的兴起,Horizon Electronics Enterprises Group(以下简称“Horizon”)由一群对电子技术充满热情的工程师创立。公司初期专注于研发高性能的半导体芯片,以解决当时市场上对高速、低功耗芯片的迫切需求。通过不懈努力,Horizon成功研发出了一款具有突破性的芯片产品,该产品在数据处理速度和能效比上远超同类产品,迅速获得了市场的认可。这一技术创新不仅为公司赢得了首批客户,也为后续发展奠定了坚实的技术基础。

GTM公司的发展小趣事

在21世纪初,随着数字技术的兴起,Horizon Electronics Enterprises Group(以下简称“Horizon”)由一群对电子技术充满热情的工程师创立。公司初期专注于研发高性能的半导体芯片,以解决当时市场上对高速、低功耗芯片的迫切需求。通过不懈努力,Horizon成功研发出了一款具有突破性的芯片产品,该产品在数据处理速度和能效比上远超同类产品,迅速获得了市场的认可。这一技术创新不仅为公司赢得了首批客户,也为后续发展奠定了坚实的技术基础。

问答坊 | AI 解惑

Rimu pcb 1.07 破解补丁 Cracked

软件名称:Rimu PCB 1.07 破解补丁 Cracked软件大小:61 KB软件语言:英文软件类别:破解补丁 / 自由软件 / 安装制作 …

查看全部问答>

开幕式升降舞台部分有“石家庄造”

开幕式升降舞台部分有“石家庄造” 世界瞩目的北京奥运会开幕式在期待中揭开了面纱。开幕式大气磅礴的气势、绚丽缤纷的色彩吸引了每一位观众。产生这样美妙的效果,除了大师的导演,位于鸟巢中央升降舞台也起到不可估量的作用。记者了解到,开幕式 ...…

查看全部问答>

实用电源电路集锦

实用电源电路集锦…

查看全部问答>

苦读四年 月薪等同农民工?

调查:大学毕业生与农民工收入仅高200—300元     专家:收入多少与身份无关     近日,人力资源和社会保障部部长尹蔚民表示:“有可能,同龄刚毕业的大学生与农民工收入逐步趋向一致”。 昨(10)日,记者来到成都市人力资 ...…

查看全部问答>

辩论一下--ARM嵌入式系统有必要跑操作系统吗

正所谓:买了个洗脸盘,不见得一定要用来洗脸,洗衣服。洗菜都可以!   大家对ARM上跑操作系统有什么理解?      …

查看全部问答>

PLC

在设计PLC电气电路时有什么方法,具体的思维像设计数字电路一样的方法去实现自动控制!!充分利用好:那些接触器,如何的去联接组合呢?请哪位高手指点下!!比如说用接触器开关去实现控制电机起动!!由星型到三角型起动!1…

查看全部问答>

[DIY]二十四小时的感动(古典版I) 自制QS30-1辉光管电子时钟【附百张图】

         辉光管是电子管的一种,属于很古老的数码显示器件,在没有LED的年代,显示数字和符号就靠它。这种管子现在应该算古董了,这次DIY用的QS30-1辉光管大部分都是70年代和80年代生产的。在国外,有不 ...…

查看全部问答>

【为C2000做贡献】合众达SEED-DSP2812开发板原理图及实例源程序

合众达SEED-DSP2812开发板原理图及实例源程序 给大家参考下::::…

查看全部问答>

假期你准备怎么安排学习FPGA?

还有一天就要放假了,一个学期的学习生活算是告一段落。这个假期还是挺长的,有近一个月的时间,大家的打算如何度过呢?随便聊聊,看看谁有更好的主意,我们怎么样安排?做点什么小的实践来提高自己的FPGA的水平呢?我计划把实验室的FPGA的板子带回 ...…

查看全部问答>

我想同时用定时器做PWM和捕获以及做一个时间基准。

不知道怎么设置呢。最好都中断使能。那位大侠能帮帮我啊?…

查看全部问答>