当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]嵌入式系统目前已广泛应用于信息家电、网络通信和工业控制等各个领域。典型的嵌入式系统主要由嵌入式硬件和软件构成,其中硬件部分的核心为嵌入式处理器。与通用处理器相比

嵌入式系统目前已广泛应用于信息家电、网络通信和工业控制等各个领域。典型的嵌入式系统主要由嵌入式硬件和软件构成,其中硬件部分的核心为嵌入式处理器。与通用处理器相比,其在功耗、体积、成本等方面都受到应用要求的制约。嵌入式系统的软件部分可以像计算机一样使用操作系统,目前已有许多成熟嵌入式操作系统,如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、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/O通道;

·两个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是从标准的Linux2.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 写单位数据的速度,“饱和”状态一般能消除。由此,可以解决前述问题。[!--empirenews.page--]

2.2.2 接收端

在接收端,由于解码器的输入要求是一个连续、恒定速率的码流,同样要求在CPU外部总线与编码器之间加上FIFO和CPLD。同时,接收端的数据包由于经过了网络,不可避免地会引入延时,且数据包之间的延时是不确定的,甚至会产生数据包的丢失。这些都需要在接收端予以考虑,增加了接收端数据缓冲控制单元的复杂度。

为了解决数据包到达延时及抖动问题(数据包的丢失将间接导致延时的增加),可以简单地靠增大FIFO容量解决。但增大FIFO将意味着从编码器到解码器之间延时的增加,影响了实时性。因此,为了保证一定的实时性,同时考虑成本因素,不能单纯靠增大FIFO解决。

由于FIFO容量的限制,在出现大延时的情况下,FIFO将可能出现“空”状态。这意味着送给解码器的数据流会有中断,从而可能导致解码器的不正常工作并可能不能恢复(在数据流恢复正常后)。为此,需要在FIFO出现“空”状态之前,即处于“饥饿”状态时(可以设置一个阈值),由CPLD停止向FIFO读数据而向解码器发填充包。填充包中含有同步头,可以维持解码器的同步。短时间的插空包会使视频图像出现马赛克,如果时间过长,可能会出现黑屏。在实际试验中,接收端视频的质量与网络的负载情况有关。当网络负载较重时,图像会出现马赛克,黑屏现象一般极少发生。

2.3 驱动程序

为了使μClinux下的应用程序能通过外部总线访问FIFO,需要编写相应的驱动程序。驱动程序主要包括三个基本部分,即CPU相关寄存器的初始化设置以及CPU对外部I/O口的读操作和写操作。其中,初始化设置主要包括中断号及其类型设置、外部I/O口数据位宽度和读写时序设置等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭