欢迎来到速发表网,咨询电话:400-838-9661

关于我们 登录/注册 购物车(0)

期刊 科普 SCI期刊 投稿技巧 学术 出书

首页 > 优秀范文 > 嵌入式设计系统

嵌入式设计系统样例十一篇

时间:2023-06-01 08:56:11

嵌入式设计系统

嵌入式设计系统例1

中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2012)12-0104-01

1、序言

本系统是设计一款基于ARM的嵌入式开发平台,该嵌入式开发平台是基于AT91SAM9263(基于ARM926EJ-S芯核)的嵌入式系统,可以在此系统上运行嵌入式操作系统,并在上运行嵌入式数据库、人机窗口等应用程序,此系统包括硬件和软件两部分,本文主要介绍硬件部分。

2、系统硬件设计

本系统硬件由核心板和母板组成,核心板将系统扩展可能用到的总线都引出来,与母板之间通过针形接插件连接,为以后产品开发提供了稳定、经济而又方便的平台,此种设计的好处,其一把高速和低速分开,降低了硬件之间的干扰,提高了稳定性。其二是当系统需要扩展某些特殊接口时,则只需要对母板进行修改,缩短了开发周期。

其中核心板设计这部分是任何一个ARM系统要正常运行所必备的电路,因此称为核心板,这些基础电路,包括存贮程序用的Flash存贮器,运行程序和缓冲数据所必须的SDRAM、复位模块、时钟模块、JTAG接口等。这部分电路集中在较小空间里,因此相对比较密集,而且这部分的信号是超高速信号,且电路的设计要求比较高,所以核心板采用购买成熟的核心板。

系统母板设计了大部分的电路,因为模板上的信号都是低速信号,所以从成本角度考虑,母板采用二层电路板设计,其主要电路包括了电源部分、USB接口部分、串口及10/100M以太网接口、LCD接口、CAN总线以及底板与核心板之间通过针形接插件相连的接口等,其结构如图1所示。

下面将分模块介绍电路原理。

2.1 串行接口电路设计

系统设计了一个RS-232、RS-485接口,方便与其他设备通信。具体的电路采用MAX3232作为电平转换芯片,它本身提供两组驱动器和接收器,并接有数字隔离器ADuM1201,此芯片提供了两个信道的通道,具体电路如图2。

系统的RS-485串行接口,是由ADM2483来实现,ADM2483本身是带有隔离的高速RS-485转换器,不需要其它额外的电路。

2.2 以太网接口设计

系统选用DM9161作为以太网的接口芯片,因为系统工作在100BASE-TX模式下,所以选择RMII作为DM9161与AT91SAM9263的接口模式,具体电路如图3所示。

2.3 CAN接口电路设计

本系统的CAN总线接口的实现,是通过外接CAN收发器来实现的,系统选用的是MCP2551作为系统的收发器,其特点是有差分发射和接收能力,自动检测TXD输入端接地错误及较强的抗噪声特性。

3、结语

本系统设计了基于ARM系统的嵌入式硬件平台,在此之上可以提供各种实时操作系统,从而构成一个完整的平台,其硬件部分电路已经进行了信号完整性分析具有一定的可靠性。

参考文献

嵌入式设计系统例2

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)34-9742-02

The Design on UML Embedded Systems

YU Hai-wen

(College of Information Engineering Nanchang University(Pre-Lake Campus), Nanchang 33000, China)

Abstract: UML is the the most popular standard modeling language, embedded systems are professional computer system on the centre of application and the base of computer technology, embedded systems are the integrity of software and hardware; The design's quality of embedded systems is the key of success about digital products. The paper discuss the important conception of UML,and how to use the technology of UML OOD in the design of embedded systems, then show us the steps based on the example of microwave light.

Key words: UML; embedded systems; OOD modeling; two-way engineering

近年来,数字家电、汽车电子、MP3、Smart Phone等跃居电脑产业的主流地位,数字整合的需求日益增长,嵌入式软件(Embedded Software)系统愈来愈复杂,涉及到的接口越来越多,这种软、硬件结合的协同设计(Hardware/Software Co-design)需要不同技术背景的人共同开发,如何使这些具有不同技术背景和专长的人联合开发、协同设计?UML可以解决这个问题。统一建模语言UML(Unified Modeling Language)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。不同技术背景的设计师只需懂得UML 符号就可以与对方交流、共同设计。

本文将重点讨论如何在嵌入式系统设计中使用 UML 技术,并结合实例“微波炉小灯”演示采用 UML 的嵌入式系统设计过程。

1 UML OOD建模

1.1 UML基本概念介绍

1.1.1 UML事物

UML中事物是实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物。

1.1.2 UML建模图

图是事物集合的分类,UML中包含多种图:1)类图(Class Diagram);2)对象图(Object Diagram);3)包图(Package Diagram);4)组件图(Compoment Diagram,也称构件图);5)部署图(Deployment Diagram);6)用例图(Usecase Diagram);7)时序图(Sequence Diagram);8)协作图(Collaboration Diagram);9)状态图(Statechart Diagram);10)活动图(Activity Diagram)。

由于篇幅原因,本文将结合一个需求非常简单的“微波炉小灯”的实例,给出几个重要的图。本文介绍的图采用业界使用最广泛的UML建模工具Rational Rose。Rational Rose为团队开发和规范的开发过程管理提供了良好的支持。

1.2 UML OOD建模

从应用的角度上来讲,面向对象的系统设计一般需要完成如下工作:

1)描述需求;2)根据需求建立系统的静态模型;3)建立系统的动态模型:即描述系统的行为。

1.2.1 描述需求

“微波炉小灯”的实例需求很简单,即微波炉里有个小灯,微波炉门打开时,它就亮起来,一旦关上门,就熄掉了。本文将根据此需求说明,采用UML设计一个控制程序来感应微波炉对象的状态变化,并且触发小灯对象的状态变化。

1.2.2 建立系统的静态模型

用例图(Use Case Diagram):UML的Use Case图1描述User对整体系统的功能需求,本例中,User会有两项动作――“开微波炉”与“关微波炉”,而且期待开微波炉时会亮小灯,关微波炉时小灯会自动熄掉。

类图(Class Diagram):如图2,类是OOD中一个重要概念。软件组件的模块通称为组件的类(Class),OOD设计理念是程序指令写在类里,其所检验测试的对象都是类,等到电脑执行时才由电脑在内存中定义实体组件(对象)。

1.2.3 建立系统的动态模型

建立系统的动态模型实质就是描述系统的行为。

时序图(Sequence Diagram):图3这个时序图反映了开微波炉过程中触发小灯亮的详细执行过程。

状态转换图4(Statechart Diagram):对对象行为做详细的描述。就小灯而言,消息的传达是个事件(Event),这事件令小灯改变状态(亮或熄)。

2 双向工程

2.1 正向工程

Rational Rose中可实现正向(为模型产生相应的代码,即程序框架)、逆向(从用户原来的软件系统导出该系统的模型)和双向工程(实现模型和代码之间的循环工程),从而保证模型与代码的高度一致,这个功能意味着降低了开发人员编写程序的复杂度和工作量。

Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等语言和开发工具,并能为CORBA 应用生成接口定义语言(IDL),为数据库应用生成数据库描述语言(DDL)等。Rational Rose默认支持的语言是Java。

本例中,在完成了“微波炉小灯”类图制作后,选择菜单“Tools” “Java/J2EE”“generate code”即可生成Java代码,当原建模文件更新时,代码会同步更新。

2.2 逆向工程

前面所述正向工程虽然只是得到了代码框架,实现功能部分的代码仍需开发人员输入。随着软件功能的实现及新的用户需求的加入,原建模文件在需要更新时,可不需要重新画图,只需进行逆向工程操作即可。本例中,在完成了“微波炉小灯”代码后,选择菜单“Tools”“Java/J2EE”“reverse engineer”即可生成新的建模文件。

3 小结

在软、硬件设计领域中,采用UML进行软件组件设计及其架构(Architecture)规划技术逐渐成为业界关注的焦点。根据本文及“微波炉小灯”实例,显然从UML设计图到Java(C及C++)代码的过程很流畅。

参考文献:

嵌入式设计系统例3

在嵌入式系统中,为了便于对闪存(Flash)空间进行管理,会采用文件的形式来访问Flash。目前,可以购买到的Flash文件系统一般都是兼容DOS的文件系统(Flash File System,FFS),这对需要一个具有复杂的目录层次,并且DDS文件兼容的系统来说是必要的;但是对大多数的嵌入式应用来说,这种文件系统太过奢侈。笔者在参与嵌入式系统项目的时候,设计了一种线性文件系统,它适用于大多数的嵌入式应用对Flash文件系统的需求。

线性文件系统设计基于三个目标:一是提供给应用程序通过文件名而不是物理地址访问系统Flash的能力;二是文件系统的设计独立于实时操作系统(RTOS),这样可以很容易移植到不同的嵌入式应用中;三是设计统一的底层接口,适应不同的Flash类型。本文设计的线性文件系统为典型的嵌入式系统提供了所需的类文件系统能力。需要注意的是,本文件系统不支持复杂的Flash扇区擦写次数均衡算法,没有目录层次,并且和其它的文件系统不兼容。

1 线性文件系统

线性文件系统的设计思路是这样的:文件分为文件头和文件数据区两个部分,每个文件按照顺序存放在Flash中,以单向链表来链接文件。文件的起始部分是文件头,包含文件的属性、指向下一个文件头的指针、文件头和文件数据区的32位循环冗余校验和(CRC32)等。文件头用一个32位的字来表示文件属性,每位表示一种属性,如数据文件或者是可执行文件,是否已删除的文件等,具体可以根据应用的需要来定义文件的属性;文件头和文件数据区维护独立的CRC32校验,使文件系统能更精确检测文件的完整性。文件的起始地址没有特殊需求,分配给文件系统的Flash大小限制了文件的大小。另外,线性文件系统作为嵌入式系统的一个功能模块,它为应用程序提供与标准文件系统类似的API接口,如:read()、write()、open()、close()、stat()和seek()等。对于同时在多片Flash的系统而言,每片Flash相当于一个目标,文件都可存储在任何一片中(当然受物理空间限制),但不能跨片存储。

图1 Flash文件系统空间

    在第一个文件创建之前,必须进行初始化,将所有分配给文件系统的Flash空间擦除。当创建第一个文件时,起始位置从文件系统的起始地址开始,文件头指针指向下一个空文件的起始位置(链表尾部);第二个文件的位置从当前的链表尾部开始,同时文件头中的链表指针指向新的尾部。删除文件时,仅仅是简单地把文件头的标识位中的活动文件标识位置0,表示删除。这样,在经过多次删除之后,就有必要运行碎片整理模块来进行文件系统Flash空间的碎片整理。碎片整理模块还需要在文件系统Flash空间尾部留一个扇区来数据备份,以便当碎片整理被打断时(如下电或者复位)可以恢复文件系统。这个保留的扇区称空闲扇区。它必须放在文件系统空间之后,这样可以保证文件系统的所有文件在所占用的Flash空间是连续的。整个文件空间的分配如图1所示。

阴影部分是文件头,数据结构如下:

struct hdr{

unsigned short hdrsize; /*文件头字节数*/

long filsize; /*文件头版本*/

long filsize; /*文件大小*/

long flags; /*描述文件的标识*/

unsigned long filcrc; /*文件数据的CRC32的值*/

unsigned long hdrcec; /*文件的最后修改时间*/

struct hdr *next; /*指向下一个文件头的指针*/

char name[NAMESIZE]; /*文件名*/

char info[INFOSIZE]; /*文件描述信息*/

};

碎片整个记录区包含两种数据类型:碎片整理文件头信息表defraghdr和文件区扇区整理前后的CRC值备份表sectorcre。具体的地址分配从空闲扇区的起始地址减1开始,往前分配文件系统扇区数乘以4字节作为sectorcrc的空间;从sectorcrc起始地址减1开始,往前分配活动文件个数乘以64字节作为碎片整理文件头信息表。这两个结构定义如下:

struct defraghdr{

struct hdr *ohdr; /*文件头的原始位置指针*/

struct hdr *nextfile; /*指向下一个文件的指针*/

long filsize; /*文件大小*/

unsigned long crc; /*这个头的CRC32值*/

unsigned long ohdrcrc; /*原始文件头CRC32值的拷贝*/

long idx; /*碎片整理表头的索引*/

long nesn; /*新的文件尾的扇区号*/

long neso; /*新的文件尾的扇区偏移量*/

char *nda; /*新的文件起始地址*/

char fname[NAMESIZE]; /*文件名*/

};

struct sectorcrc{

unsigned long precrc; /*碎片整理前扇区数据CRC32的值*/

unsigned long postcrc; /*碎片整理后扇区数据CRC32的值*/

};

从上面介绍可知,除了文件数据之外,文件系统还需要如下4种额外的开销。

①文件头:这是每个文件必须的开销,如果文件名和信息域各24字节,那么整个文件头共76字节。

②碎片整理文件头信息表:每个活动(非删除)的文件在进行碎片整理时在这个表里创建一个表项,每个表项64字节。

③碎片整理前后的扇区CRC32值表:保存文件整理前后的CRC32值,总的字节数约为文件所占扇区数的4倍。

④空闲块:用来在碎片整理过程中备份当前整理扇区数据。它必须不小于文件系统其它所有扇区。

可以用下面方程计算系统开销的总和:

overhead=(FTOT*(HDRSIZE+64))+SPARESIZE+(SECTORCOUNT*8)

其中:

FTOT是总的文件数;

HDRSIZE是文件头字节数(目前为76字节);

SPARESIZE是空闲块的大小;

SECTORCOUNT是分配给文件系统的Flash扇区数,不包括空闲块。

图2 文件碎片整理

2 碎片整理

创建新文件需要占用文件系统空间;但是,由于Flash的底层技术不允许Flash中的任意地址空间被删除,而是按照扇区为单位删除,为此在删除一个文件的时候,暂时没有把整个文件所占的空间删除,仅仅是在文件头的标识里作一个删除标识,并保留在Flash中。这样,被删除文件积累到一定的数量时,就会占用相当大的空间。因此,需要整理文件系统Flash空间,使被删除文件占用的空间重新使用。图2显示了碎片整理过程。文件F1、F2和F5已经被删除,并且在碎片整理之后从Flash中被清除。

进行碎片整理的方法可以有多种。对于嵌入式系统来说,选择哪种方法,衡量的依据是复杂性和功能之间的平衡。下面讨论两种不同的方法:第一种方法相当简单,但是有缺陷;第二种方法功能强大得多,笔者在线性文件实现中即采用这种方法。当然,存在更加复杂的解决办法,但通常的情况是,所添加的复杂性会使整个文件系统的实现更加复杂。目标是保持文件存储的简单和线性,保证所有的文件都是以连续的空间存储在Flash中。

最简单的方法是将活动的文件备份在RAM中,删除分配给文件系统的Flash空间,然后将RAM中备份的所有文件拷贝回Flash。这种方法很简单,并且不需要分配一个扇区作为空闲区;但问题是,需要有一整块和分配给文件系统的空间一样大的RAM来完成这项工作。更糟的是,如果此时系统被复位,或者在删除扇区内容却还没有将文件拷贝回Flash的时候被断电,文件系统将会崩溃。因为RAM中的内容会随之选择,文件内容会被破坏掉。

我们在文件系统实现设计了一种碎片整理方法,可以防止在碎片整理过程中系统复位导致文件崩溃的情况。采用这种方法,不需要大块的RAM,但是需要预选先分配给碎片整理过程一个Flash扇区作为备份区。这个扇区的字节数不小于任何分配给文件系统的扇区。在整个文件系统中,这个扇区位于分配给文件系统最后一个扇区的下一个扇区。因为扇区可能比需要分配给非删除文件的备份的空间要小,所以它必须逐个扇区进行处理,而不是一下就把所有的碎片整理完。采用备份扇区的好处是,在碎片整理过程中,无论断电或者复位都不会破坏文件系统。当下次系统重新恢复时,会根据在碎片整理前记录的每个扇区碎片整理前后CRC值,来判断当前的文件碎片整理状态。如果上次文件整理没有完成,就会继续上次的整理。这种技术的一个缺陷是空闲扇区的擦写次数会较多。这样空闲扇区就可能因为达到擦写寿命而失败。达到这一点的关键依赖于使用的Flash、所分配给文件系统的扇区数、文件删除和重建的频率。一个可行的解决办法采用电池备份的RAM来替换空闲扇区,可以增加Flash的整体寿命,但是对那些预算紧张的应用来说太过奢移。

具体的碎片整理过程是,首先建立碎片整理区。①为每个扇区建立2个CRC32表项;第一个CRC32是这个扇区在碎片整理前的CRC值;第二个CRC32值是计算出来的碎片整理后的CRC32值。这些CRC是当碎片整理过程被打断时,用来重新恢复整理用的。②创建碎片整理文件头信息表,每个活动的文件占用一个表项。③计算①和②的CRC值,并保存。①~③的数据保存在图1中的碎片整理记录区。第二步是文件重定位;遍历文件系统的每个扇区,处理重新定位后存储空间和该扇区相覆盖的文件。在每个扇区被重写之前,扇区原来的信息被保存在空闲扇区里。第三步,擦除Flash;遍历未使用的扇区,确认所有的扇区被删除。第四步,完整性检测:对新的文件进行检测,保证所有重定位的文件都是完整的。

3 应用分析

Flash的扇区有最大擦写次数。当前的Flash芯片一般支持10万~100万次的擦除。文件系统的应用各不相同,所以这里不能下结论说采用线性文件系统Flash的寿命会有多长。下面解释文件系统访问Flash的方法。这样用户可以根据应用来判断Flash的预期寿命。

我们所设计的线性文件系统并不进行扇区删除次数均衡,以延长Flash的使用寿命。如果所需要的文件系统频繁修改并需要扇区删除次数均衡,可以购买现成的Flash文件系统。扇区删除均衡算法大大增加了底层实现的复杂性,并且超出本文的讨论范围。一般来说,通过文件系统来管理Flash的需求远大于对Flash扇区擦写次数均衡的需求,特别是现在越来越多的Flash扇区都支持100万次的擦写。

如上面所提到的,文件系统本身提供给编程者的接口API与标准OS提供的接口类似。这可能误导开发者认为文件系统可以看作是一个硬盘,以任意的频率进行读写操作。事实并不是这样,线性文件系统碎片整理同制并没有进行擦写次数均衡,这意味着空闲扇区可能会是最早损坏的Flash扇区。因为在碎片整理过程中,空闲扇区被用作其它所有扇区的暂时存放扇区。例如在设计里,有13个扇区Flash用来作线性文件系统区,有1个扇区作为空闲扇区。假设对于最坏情况的碎片整理(13个扇区都影响到),如果每天进行1次碎片整理,对于100 000次擦写次数的Flash而言,可用期能够超过20年(100 000/13/365=21)。20年是基于每天进行1次碎片整理,并且所有扇区都影响到的情况。碎片整理的频率和整理所影响到的扇区数受应用程序使用文件的限制。用户可以根据文件系统的应用来估算Flash扇区的磨损情况,并作相应的处理。

下面讨论文件系统是如何使用扇区的。Flash扇区仅仅在碎片整理时候才被擦除。当删除文件的时候,只是简单地作一个标识(文件头的一个位)。如果一个存在的文件以写的方式打开,实际的修改步骤是,删除原有的文件,并在当前文件系统的最后一个文件之后重写该文件。最后,这个过程会使文件系统的Flash空间被耗尽,这要就需要运行碎片整理程序。碎片整理程序会使已被删除文件所占用的空间被清除,所有活动的文件在Flash中的位置以连续的方式存放。每个扇区的整理过程是,扇区被拷贝到空闲扇区作备份,然后原来的扇区被删除,计算出该扇区在文件整理后的内容,写入扇区,之后删除空闲扇区的备份。文件系统从头到尾每个扇区重复这样作。在碎片整理时,如果一个扇区不需要进行碎片整理,碎片整理程序就不会动这个扇区因此,受碎片整理程序影响的扇区数目依赖于当前被文件系统占用的Flash扇区数和被删除文件在Flash中的位置。

嵌入式设计系统例4

1嵌入式系统模块化教学设计思路

计算机嵌入式系统教学模式改革涉及嵌入式课程体系的设置、理论教学和实验教学的开展、综合设计与学生工程实训等方面,教学体系设计以培养学生的系统分析、设计与验证能力为出发点,以培养学生的软硬件设计能力、驱动程序设计能力为导向,构建精讲多练的模块化课程体系和教学知识体系。

1.1合理设置分层培养教学环节

嵌入式教学设计中体现分层次培养环节。在教学中可按照人才培养分类,分层次进行嵌入式人才培养:一是以面向应用为主,培养学生能够针对某个具体的嵌入式系统的软硬件平台进行应用开发的能力,这属于嵌入式系统教学的基本层次,培养嵌入式应用软件人才;二是培养的学生能够进行嵌入式系统的软硬件系统平台设计和开发,具有综合系统开发和应用能力,因此,在教学过程中注重培养学生软件、硬件设计开发能力[2]。

1.2优化课程结构和创新教学内容

以人才培养与社会行业需求度为导向,以“创新创业能力培养”为目标,对嵌入式系统的课程结构、教学内容进行改革创新。做到课程结构“任务模块化”、课程模块“动态组合化”;使课程结构和教学内容不断更新。实际教学中采用灵活多样的教学方法体系,具体方法:(1)对于初级嵌入式系统各模块按统一模式讲解,有利于提高学生的学习效率,加深对嵌入式软硬件结合的理解;(2)通过函数封装等技术对外设、接口设置和操作进行模块化设计,如在以NXP单片机为核心的初级嵌入式系统上,进行硬件和软件模块化教学设计;(3)针对实践教学环节,保持课程实验课之外,进一步加强综合性的课程设计,加强独立开设综合性、设计性实验安排,锻炼学生的实际应用能力。对于部分章节采用讨论式教学,老师引出问题,学生进行讨论,共同设计。在不断讨论、解决问题的过程中,有利于学生独立思考能力的培养和灵活、综合运用基础知识能力的提高。结束时,老师对设计原理、方法和注意事项进行总结,在此基础上再进行较复杂的设计,这样可以激发同学的学习兴趣和学习热情。

2嵌入式系统模块化教学具体设计方案

嵌入式系统教学体系构建贯穿“以学生自主学习为中心”“实践教学”等教学理念,模块化教学设计具体如下。

2.1精细划分实验课程功能单元

嵌入式系统课程因其自身特点,目前理论课按照不同的功能单元进行教学,相应地实验系统也按功能单元进行划分,但大多数实验系统是采用最小系统板加底板形式的实验箱,不易扩展和携带。笔者曾在教学过程中设计了嵌入式实验系统的“口袋化”方案,即把整个实验平台分为最小系统板、输入输出单元板和交互接口板三块,方便学生携带和课后学习演练。细化初级嵌入式课程的实验系统,尽可能划分成不可再分割的基本功能模块,如单片机与电脑的异步串行通信模块,制作以MAX232为核心的电路板,配有单片机和电脑数据接口以及电源接口;继电器模块,制作以继电器为核心的小电路板,配有单片机开关信号接口和继电器开合线路接口;最小系统板则根据所连的模块分别给出各模块的数据接口。按功能需求连接需要配置的模块,进行可裁剪式的硬件设计。对不同的功能模块在软件上按照模式设置、数据读写操作进行封装。教学上按照功能原理、操作接口和应用进行解析。课堂教学上,不同功能的模块可按原理、操作、应用这种模式讲解,便于学生归纳学习理解。理论课讲解之后可以随即分发最小系统板和相应的硬件模块,实现理论讲授、实验演练的“一堂化”,让学生能理论与操作相结合,当堂消化,提高学习和运用效率[3]。

2.2设计嵌入式实验系统的模块化平台

嵌入式设计系统例5

中图分类号:TN948.55 文献标识码:A 文章编号:1007-9416(2013)07-0150-01

1 引言

随着三网融合技术的发展,以及嵌入式Internet技术的日益成熟和普及,芯片硬件成本不断降低,基于嵌入式芯片、专业编解码芯片和通用嵌入式Linux操作系统的这种便于升级和扩展的松散型解决方案应用也日益广泛。事实上,交互式机顶盒已逐步成为家庭的网络控制中心,成为三网融合的一个重要信息终端。

2 硬件结构设计

考虑硬件的专用性和平台化,这里选择了意法半导体(STMicroelectronics,简称ST)推出的高集成度的有线互动高清录像机顶盒芯片STiH225来作为主芯片,再选择Sharp的VA1T1ED6060高频头和ST的STV0370解调器,即可作为交互式有线电视机顶盒的硬件平台(图1)。STiH225芯片内置100Mbit/s宽带上网(内置有线调制解调器)以及复杂数字录像功能。这种硬件平台,再加上嵌入式Linux系统下,就成为了一种功能强大的典型的网络双向交互式机顶盒,符合嵌入式系统平台化设计趋势,也能满足三网融合的需求。

STiH225在软件功能上兼容Linux,硬件功能上整合了STi7141芯片,并配备了1个以太网物理层接口的STV0130三路输入模拟前端,其还集成双核处理器,以确保机顶盒和宽带上网功能最大化,并能充分发挥互联网协议V6的各项功能。通常基于STiH225,只需增加几个元器件,即可完成一个3路输入机顶盒设计。

高频头用来对同轴电缆的数字电视信号进行调谐,它将接收到的传输信号通过内部增益等电路转换为IF中频信号,然后送到单片全集成数字解调器STV0370,并经过A/D转换、QAM解调等信号处理,分离出包含音视频以及其他数据信息的传输流(TS)。

3 软件系统设计

软件嵌入式Linux系统通用的分层体系架构(图2),从下至上依次分为启动引导层(BSP)、硬件抽象层(HAL)、操作系统内核层、软件抽象层、应用系统层。其中硬件抽象层就是通常所指的设备驱动层,软件抽象层则包括各种接口函数库、中间件软件、虚拟机等,CAS系统的核心库是放在软件抽象层,而EPG显示、电子政务、股票信息等则放在应用层来实现。9600,1位开始位、8位数据位、1位停止位和1位偶校验位。

嵌入式Linux中提供了对ST40内核的支持,只需要做少许修改和设置即可实现对STIH225的支持。但一个重要工作就是要对嵌入式Linux内核进行裁减和优化设计,以适应机顶盒这种家用信息终端的需要。对于暂时不需网络、USB支持的机顶盒,一般只要编译一个能启动init进程的最小内核即可,这个编译后的内核体积大概400KB左右(2.6.2版的内核)。文件系统采用Ramdisk方式,让应用程序全在内存中运行,以加快应用程序的启动过程,提高系统速度性能。另外,需要通过输出重定向或者直接注释输出语句的方式来隐藏开机启动信息,并给出与运营商相对应的启动LOGO。

4 条件接受系统

CAS是用户收看数字电视等加扰保密节目信息的核心,其主要功能是要能提取传输流中与解扰、解密的有关信息,并通过串口与符合ISO7816协议的智能卡进行通讯,以获取密钥进行解密,从而进一步完成对电视节目的解扰。CAS的核心部分是加解密算法,主要是以函数库的形式存在于软件抽象层,并为应用程序提供编程调用接口。一个完整的条件接收系统,主要包括三个部分:智能卡读卡模块、CA解密模块、EPG信息显示模块。智能卡读卡模块的通信接口通常采用ISO7816接口协议,串行通讯方式;CA解密模块是CAS的核心部分,最终目的是对需要付费的加扰电视节目进行解扰;电子节目指南EPG包括节目的分类、节目的预告、内容简介以及节目预定等,提供给用户一个友好的人机操作界面。

5 结语

本文利用高性能嵌入式单芯片设计了一个交互式网络机顶盒,其基于嵌入式Linux解决方案,可扩展性和升级性好、功能强大,能充分发挥开源系统的优点,为集成更多的应用功能提供了良好的接口。本文的解决方案对希望进行多系列产品的平台化开发,以及三网融合的交互式嵌入式机顶盒设计,具有较重要的参考价值。

参考文献

[1]张慧鹏,孙彤,章明等.基于STi7105高清机顶盒实现视频通话[J].有线电视技术,2012(2):32-34.

嵌入式设计系统例6

【关键词】嵌入式系统 无线通信 设计

嵌入式系统无线通信技术,实现单一向多元化的转变,逐渐完善了通信的功能,促使无线通信具有自动化、网络化的特点。目前,无线通信技术设计中,提高了对嵌入式系统的重视度,逐步开发嵌入式系统的应用,满足无线通信技术的设计要求,在保障无线通信技术功能的前提下,简化技术设计的内容,体现嵌入式系统的设计优势。

1 嵌入式系统无线通信技术的设计分析

1.1 设计目标

嵌入式系统无线通信技术的设计目标,是指按照低消耗、高质量的要求,开发无线通信系统,构建可靠的嵌入式系统操作平台。嵌入式系统无线通信技术设计中,采取QT制作方式,同时在设计目标中提出QT界面主程序设计,以便完善无线通信技术的应用过程。通信方式的设计目标,必须按照无线传输的方式设计,如:无线网卡,符合嵌入式系统的规范要求,根据设计目标,实现技术功能。

1.2 O计方案

嵌入式系统无线通信技术设计方案中,突出了嵌入式系统平台操作简单、针对性强的特点。嵌入式系统无线通信的设计过程,分析设计方案的内容,如:无线通信技术设计内,嵌入式系统最为关键,按照实际的需求,设计好嵌入的节点,确保嵌入节点的双方,均能获取稳定的通信信号,期间要遵循低消耗、高质量的设计目标,便于有效的开发无线通信,注重无线传输设计目标的运用。根据设计目标,分析设计方案如下:

(1)嵌入式系统支持无线通信的RTP/RTCP协议以及RTP的参数设置;

(2)在无线通信网内,提供多用户通信的平台;

(3)支持编码、解码工作,系统内提前预留算法接口;

(4)在实现Wi-Fi无线局域网通信的过程中,支持有线的联网通信;

(5)优化用户界面,以图形界面位置,降低用户通信设置的困难度。以城市监控为例,分析嵌入式无线通信技术的设计方案,无线通信运行期间,利用嵌入式系统平台,能够获取路网的全部信息,再通过互联网和定位系统,实现城市监控的全方位覆盖,同时无缝升级3G与4G网络。

2 嵌入式系统无线通信技术的软件设计

软件设计是嵌入式系统无线通信技术的关键,规划好软件的设计,有助于实现嵌入式系统无线通信技术的标准化运行。分析软件设计的内容,如下:

2.1 系统软件设计

系统软件设计,能够保障嵌入式系统在无线通信技术中的稳定,实现无线通信技术的多项功能。嵌入式系统软件设计的过程中,还要考虑降低能耗的问题,设计自动睡眠功能,避免无线通信传输期间出现浪费。软件设计时,结合无线通信系统的运行,根据无线通信信号,编制嵌入式系统软件的设计方案,可以规划无线通信信息的等级,辅助区分系统软件的设计内容。嵌入式系统无线通信的软件设计中,在最高位置,设计GPS、传感等功能,保障无线通信的实时性特征,进而维护高层工作的顺利进行。分析软件设计的两大主体,分别为:

(1)指令执行设计,尤其是ARM7指令,在无线通信技术正常运行时,按照执行指令、指令译码、指令选取的方式进行,注重指令的连接性;

(2)软件的流程设计,根据初始化、端口连接的要求,规划FLASH、RAM、ROM的设计,促使嵌入式系统平台,能够准确的操作无线通信技术中的流程信息,在每个软件串口,都能保持流程信息的通畅,杜绝发生信息丢失或遗漏的问题。

2.2 操作系统设计

嵌入式无线通信的操作系统设计,有效管理了系统内的运行资源,营造可靠的运行环境。嵌入式操作系统,通过相应的模块,实现相对的功能,避免无线通信系统设计过于复杂。例如:Linux操作系统,提供多用户、多任务的运行条件,可以进行分时操作处理,表现出微内核的特点,Linux系统在嵌入式无线通信中,支持功能扩展,系统的源代码均是开放的,可以根据无线通信技术的功能要求,完善操作系统的程序,随时都可融入新的功能,嵌入式系统无线通信技术软件设计中,之所以选择Linux系统,是因为Linux系统具有强大的支持功能,支持文件、协议、设备的应用,拓宽无线通信技术的服务范围。除此以外,嵌入式系统无线通信技术的操作系统,还要配合用户应用程序,根据用户应用程序提供的功能,设计操作系统,提高嵌入式系统软件设计的效率。

3 嵌入式系统无线通信技术的实践应用

本文以敏捷开发为研究对象,分析其在嵌入式系统无线通信技术中的实践应用。敏捷开发能跟你解决嵌入式系统无线通信技术设计中的各类问题,尤其是上层问题,因为敏捷开发可以应对快速的动态变化,所以可以在根本上满足设计的需求。嵌入式系统无线通信网络技术设计,其在敏捷开发应上,还需采用环境测试的方法,配合选择可用的开发工具,保障软件开发的合理性,敏捷开发期间,找出限制嵌入式系统无线通信技术的因素,排除技术设计的影响,解决嵌入式无线通信技术需求中的各类问题。敏捷开发提供了动态的设计环境,特别是在软件设计中,利用动态环境,降低嵌入式系统无线通信技术设计的风险,保证设计功能的有效性,表明敏捷开发在嵌入式无线通信设计内的实践状态。

4 结束语

嵌入式系统无线通信技术的设计及软件应用,完善了实践应用的状态,重点突出了嵌入式系统在无线通信技术设计中的地位。无线通信技术设计中,要提出可用的嵌入式系统方案,充分发挥嵌入式系统的优势,控制无线通信技术的过程,进而应用到各个行业内,提高无线通信技术的应用水平。

参考文献

[1]刘光.嵌入式无线通信系统设计[D].西安:西安电子科技大学,2010.

[2]种衍林.嵌入式无线视频监控系统设计与实现[D].济南:山东大学,2010.

[3]王聪,郭晖.嵌入式系统无线通信技术的应用研究[J].科技创新导报,2010(21):14.

嵌入式设计系统例7

随着社会信息化的发展,嵌入式系统在经济、教育、科技等领域得到了广泛的应用。小到电子手表,大到飞机、火箭都需要应用到嵌入式系统。在这种情况下,如何保障嵌入式系统的安全就显得尤为重要,尤其是当嵌入式系统应用到金融领域或者是科技军事领域,对其安全性能要求更好,因此,研究嵌入式系统的安全性,建立可信根和信任链来保障嵌入式系统的安全性和完整性是非常重要的。

一、嵌入式系统的发展对可信平台模块提出的新挑战

嵌入式系统具有一些特点,这个系统有特定的应用场景,硬件设计较为自由,自主设计性强,系统软件硬件设计都很灵活,具有可裁剪性,嵌入系统对TPM的功能、可靠性、成本、体积、功能等都有严格的要求。而目前,传统的TPM还存在一些不足核问题,比如,TPM的芯片缺乏主动控制能力,而嵌入式系统的灵活性很强,与之相比,TPM的主控能力却相对不足,这就与嵌入式系统之间产生较大的矛盾,对嵌入式系统的TPM提出了新的挑战。另外,TPM密码机制存在不足。

二、嵌入式系统可信平台模块设计

结合嵌入式系统的特点,需要设计一种能够满足其需要的可信平台模块,这种模块需要在传统TPM的基础上,进行创新改进,增加新的功能,这对于TPM研究是一种新的挑战。通过可信平台模块的设计需要提升嵌入式系统的可靠性,有效减低信息传递过程中的损失。新型的模块具体有总线仲裁模块、对密码引擎和备份恢复魔抗,通过建立可信平台模块提升传统TPM的控制能力,保障整个嵌入式系统的稳定新,安全性和可靠性。

1.总线仲裁模块。在可信计算平台中,引入TPM后会产生两个问题,第一,启动流程问题,在上电后,TPM需要先进行完整性的检验,这是,平台处理器和外设不能通电启动,只有在TPM检验完毕后,才能使平台处理器和外设开启,第二,TPM与平台处理器对需要对外部存储器上的数据进行读取,这种情况下,必然会产生对存储器的互斥访问问题。主要解决以上的两个问题。通过总线总线仲裁模块对外部存储器总线控制权进行仲裁后,对整个嵌入系统进行控制,通过启动控制和系统仲裁功能,以解决上述问题。在进行设计的过程中,为了保障TPM能够完成工作,还需要增加两个寄存器,也就是控制寄存器和状态寄存器。通过设置两个寄存器对信号进行复位,并保障信号传播的有效性。总线总裁模块引入到嵌入式系统可信平台模块建设中,可以使传统的TPM突破自身的限制,成为主设备控制计算机系统,对计算机系统进行有效地控制,使系统更具良好的扩展性能。同时,新设计的ETPM能够进行平台启动控制,进行系统完整性度量,系统总线互斥访问和外设控制等功能都能实现,这样,不需要添加其他配件,系统的安全可靠性能就可以得到有效的提升。这种设计使TPM更加符合嵌入式系统灵活多变的性能特点,能够有效解决嵌入式系统中的一些问题,提高系统的可信度。

2.备份恢复模块。在TPM中加入备份恢复模块,可以有效提高整个可信计算机平台的可靠性,如果系统被非法更改,备份恢复在发现异常时就会将系统关键数据进行恢复,有效保障系统的稳定性和可靠性。加入备份恢复可以提高嵌入式系统平台的持续工作能力和抗击数据信息的篡改能力,保障系统的高效性和安全性。

3.对称密码引擎模块。在TPM内部设计一个对称密码引擎可以满足嵌入式系统对对称加解密的需求,通过可信软件栈能够为上层应用提供对称密码加解密服务。加入对称密码引擎后,TPM就具有了对称密码和非对称密码加解密的功能,从而有效发挥出系统的安全性能,为用户提供安全的可靠的服务。总之,总线仲裁模块、对称密码引擎模块和系统备份恢复模块的设计都将有效提升TPM的稳定性,使TPM更加符合嵌入式系统的工作环境,通过可信平台模块在嵌入式系统环境下的功能设计,嵌入式系统的功能价值将得到进一步提升,嵌入式系统安全性将得到有效的保障。H

参考文献

嵌入式设计系统例8

中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2016)04-0000-00

网络控制系统并不仅仅为一个进行数据传输的通信系统,更是一个利用网络来实现控制功能的自控系统,在满足数据传输的基础上,还需要通过所传输数据与指令,来完成各项计算、操作以及控制等功能。网络控制系统设计具有较高的难度,而嵌入式网络控制系统的设计,必须要明确系统设计需求,从整体上确定系统构架,然后以实现各项功能为目的完成设计。

1嵌入式Linux操作系统分析

对嵌入式Linux操作系统进行分析,可以确定其具有多项特点如具有高效可裁剪微小内核、开放源代码,且可支持多种硬件运行,具有优秀的网络功能,操作运行更安全可靠。Linux操作系统内核最小可以达到134KB,运行时产生的消耗非常少,并且资源运用具有很高的可靠性与稳定性。在实际应用中其可以支持多种CPU与硬件平台运行,并且可以无故障运行多年,现在已经被广泛的应用到数据中心[1]。另外,嵌入式Linux操作系统在网络应用方面具有良好的效果,可以向TCP/IP协议提供可靠的支持,以及可以支持以太网、令牌网、无线网络以及光纤等。

2嵌入式网络控制系统设计需求分析

2.1 服务器可行性

主要包括两个方面,即应用可行性与技术可行性。随着计算机网络技术的快速发展,以太网现在已经被广泛的应用到生活工作中,嵌入式技术在网络产品中的应用具有广阔的发展前景。就嵌入式技术与以太网技术连接进行分析,势必会推动嵌入式设备远程控制与管理效果的发展。

2.2数据采集功能

嵌入式网络控制服务器可以通过以太网来满足现场数据采集的要求,以太网选择用UDP协议,则应保证其能够按照指定数据通信协议,对现场数据进行采集与分析,且还应实现与数据节点的连接,并保证通信链路的正常运行。另外,嵌入式网络的设计,还应保证数据的有效性,对于未按照指定通信协议祖帧传送的数据,应将其丢弃。

2.3 数据存储功能

应建立指定需求数据库以及数据库表,且此创建工作只有在嵌入式网络控制服务器相关功能运行前完成,并确定数据库能够稳定运行。嵌入式网络控制系统数据存储功能的实现,还需要保证数据的完整性,确保收集到的数据不会被丢失。在对设备节点所发数据接收后,及时对数据进行存储,并且要做好数据采集相关信息的记录。

3嵌入式网络控制系统设计方式

3.1 系统结构设计

嵌入式网络控制系统的设计,其中服务器通过HTTP协议与Web浏览器实现信息交互,并提供设备控制页面与数据查询页面。并且嵌入式网络控制服务器还可以支持多个Web浏览器访问与数据同步,并对系统用户进行设限,提高系统运行安全性。系统控制服务器需要满足四项功能,即实时采集网络节点数据、远程控制设备节点、Web浏览器用户配置与动态采集和显示以及数据库存储。为实现各项目功能,需要进行模块设计,且利用多线程技术来对应各功能模块,接受并处理各项业务,如图1所示。

3.2 模块功能设计

3.2.1主模块设计

(1)数据变量初始化。执行主函数时,需要对部分重要数据进行初始化处理,如服务端与网络节点端套接字描述符、网络地址结构等变量、程序运行状态标志位等。(2)设备节点表缓存。设备节点表缓存为嵌入式网络控制系统服务器中关键的全局变量,其中缓存主要存放设备节点实时采集的数据。(3)线程池初始化。能够对线程池进行初始化处理,其中包括内存设置、线程创建以及线程属性设置等。

3.2.2网络采集节点模块

嵌入式网络控制服务器与设备节点选择利用UDP协议进行通信,因此在系统设计时,需要对线程建立UDP网络,实现与各节点间的数据交换。

3.2.3通信模块

积极嵌入式网络控制服务器与Web界面通信模块设计,两部分主要通过Java Applet程序进行通信的线程,线程选择用TCP协议进行通信,能够提高程序运行的稳定性。其中,利用socket()函数建立TCP流式套接字描述符,bind()函数进行网络地址结构绑定,以及listen()函数进行网络监听。

4结语

嵌入式网络控制系统的设计,需要明确系统各功能模块,以满足实际应用需求为目的,建立系统结构并完成对所有模块的设计。嵌入式系统现在已经有着广泛的应用,在基于嵌入式技术进行网络控制系统设计时,可以提高系统可靠性与适应性。

参考文献

嵌入式设计系统例9

1.背景

如今嵌入式系统在日常生活中扮演着越来越重要的角色。从消费电子产品到航天工业,从热门的电子应用(如智能手机和平板电脑等)到相对不起眼的应用(如人造卫星等),嵌入式系统直接或间接地影响人们生活的方方面面。嵌入式系统的巨大潜力使得教育工作者对它的讨论从来没有停止过。世界无数的教育工作者提出了大量新颖和具有创造性的方法和理论,以促进嵌入式系统教育水平的提高,他们大都赞同嵌入式系统具有与实际应用紧密联系的显著特点。

嵌入式系统应用在一个广阔的领域,如简单的微控制应用、控制系统、分布式嵌入式控制、片上系统、网络、嵌入式PC、关键系统、机器人、计算机设备、无线数据系统和信号处理。同时,一些交叉领域知识对于嵌入式系统设计者也同样重要,如安全、可靠性、节能、软件/系统工程、实时计算和人机交互等。

对于想成为合格嵌入式系统设计者的学生来说,他们希望能够亲手接触这些嵌入式应用,因此设计一个高效的实验系统非常重要。实验平台应该能联系抽象的理论知识和实际应用,以帮助学生领会嵌入式系统的知识奥秘。

2.嵌入式系统实验教学的特点

嵌入式系统实验教学与其他课程实验教学有两个方面的不同:软硬件高度结合、知识和技术更新速度快。嵌入式系统实验教学的特点如图1所示。

嵌入式系统实验教学的第一个特点是软硬件高度结合。一个完整的嵌入式系统需要在软硬件基础之上工作。在嵌入式实验教学中,任何一个环节的缺失或弱化都是错误的。我们过去就犯过这方面的错误。嵌入式系统是清华大学计算机科学与技术系大四本科生的一门专业必修课。学生希望在课程结束后对嵌入式系统有一个完整的认识,但是发现在学习完这个仅有2个学分的课程后,依然无法设计出一个软硬件兼备的完整嵌入式系统。因此,我们让学生使用开源软件工具设计诸如鼠标或键盘等设备的驱动程序,但是效果并不理想,冈为学生仅仅熟悉了他们所实验的部分内容,而这些内容只是他们应该掌握内容的一小部分,这不仅是由于实验任务的限制,还因为学牛无法接触硬件层面的操作,无法全面领会嵌入式系统。

嵌入式系统实验教学的另一个特点是嵌入式系统知识和技术更新速度快。在第1节我们曾提到过,紧跟实际应用是嵌入式实验教学的一个关键元素。由于嵌入式系统技术日新月异,嵌入式实验课程讲述的知识和技能以及嵌入式实验设备和组件都必须不断发展。我们在对清华大学计算机科学与技术系学生的调查问卷中发现,对传统嵌入式实验平台的主要批评是实验设备和组件过于陈旧,实验平台与当前技术联系不够紧密,实验内容缺乏吸引力。

综上所述,设计一个高效的嵌入式实验平台必须考虑软硬件结合和嵌入式技术飞速发展这两个因素。

3.当代学生的特点

除了嵌入式实验课程本身,学生是不可忽略的另一个关键因素。学生是实验的参与者,他们对实验的感受影响着实验课程教学的成败,但是我们发现传统的实验方法令当代学生逐渐失去学习兴趣,这主要是因为学生一代一代地不断发展与进步,而传统的实验方法却多年不变。

文献[2]指出当代学生与过去的学生有所不同:缺乏钻研精神、缺乏耐心和依赖于软件。当代学生的特点如图2所示。

当代学生的第1个特点是缺乏钻研精神绝大多数学生成长于用户至上主义日益流行的社会环境。相对于基础原理,他们更关注功能;相对于架构,他们更关注表象。简而言之,当代学生中很少有人理解嵌入式系统的基本原理,另一方面,传统的实验平台专门为演示和验证书本中讲述的原理而设计,因此学生渐渐地无法将实际应用与特别设计的实验相联系,产生的问题是如果学生无法预见所学知识的未来应用前景,就会将关注点转移到其他方面。由此可见,将实验平台与时兴技术相结合非常重要。

当代学生的第2个特点是缺乏耐心。生活节奏的日益加快和互联网络的日益普及,使得当代学生渐渐缺乏耐心。他们习惯在实验开始后急于见到结果,就好像点击鼠标后立刻能在屏幕上看见反应,但是在传统的教学方法中,教学总是从对课程的全面描述分析开始。实践证明这种描述很必要,它可以帮助学生全面了解课程的知识结构,但是这些内容有时会让学生退却,因为学生感觉课程非常抽象与枯燥。鉴于这些问题,新实验平台应该在嵌入式系统的第一堂课就引起学生的兴趣,同时提供一个吸引人的“结果”。

当代学生的第3个特点是依赖于软件。嵌入式系统的发展通常被认为是民众赋予的。在某种程度上,这种发展是电子工程向更智能化发展的结果。然而,电子工程这种不可见的层面,通常被复杂的用户界面和其他图标所伪装,使得大家将其归功于计算机科学,而不是电子工程。许多大学并没有意识到这个问题,而将大部分注意力放在嵌入式软件设计,忽略硬件层次的介绍。这种在嵌入式系统教学中的错误关注导致出现“软件比硬件更加重要”的错误认识。为了纠正这个偏见,我们应该重视硬件并将其引入嵌入式系统课程。

总之,为了设计一个高效的实验平台,当代学生的特点不容忽视。

4.设计嵌入式实验平台的原则

基于上述讨论,我们提出嵌入式系统教学实验平台的几项设计原则。

完整性:实验平台应该相对完整。学生不但能接触软件,而且能操作硬件。这个原则主要解决两个问题:首先纠正学生偏重于软件的错误;其次在第一节课就能吸引学生,告诉他们课程最后能够建立一个基本的却相对完整的系统。

开发性:实验平台应该能帮助学生自由地实现创新思想。实验平台在软件和硬件上都应为学生预留足够数量和种类的接口,使学生能够以此为基础构建自己的嵌入式系统。在实践过程中,越来越多的基于实际应用的嵌入式系统由学生实现,同时学生的创造热情也被激发出来。

从教学的角度看,实验平台应包含以下特点。

可升级性:平台的软硬件应该能分别扩展和升级,而无需对整个平台进行修改。如第2节所述,嵌入式系统技术升级速度快,尤其是硬件设备。为了满足经常升级的需要,可升级性原则应该被放在关键位置。

灵活性:实验内容应该能根据课程的要求而裁剪,以便于实验平台的广泛推广。大多数定制的实验平台在灵活性上有所欠缺,其实验内容无法增加或减少,而为了适应课程学时的变化不得不重新设计实验。

为了达到上述目标,我们提出一个完整的概念模型。目标系统的概念模型如图3所示。

这个概念模型由3个中间层和2个层组成。中间层包括主系统层、中间通道层和从系统层。层包括应用层和组件层。我们将解释这个模型如何能实现前面提出的目标。

完整性:把中间3层看作一个整体,这个基本模型由一个典型嵌入式系统中的主要元素组成,从最顶层的应用层到最底层的功能组件层。学生可以接触完整系统的每一个组件。

开放性:模型的最顶层和最底层向学生开放。实验平台的设计者将足够多的软硬件接口提供给学生,这些接口必须是完整的和用户友好的。使用硬件接口,学生能够通过连接所需的硬件模块构建一个创新的嵌入式设备;使用软件接口,学生可以方便地加载硬件模块所需的软件资源。

可升级性:实验平台设计应该模块化和层次化,每一层为上一层提供上层接口,为下一层提供下层接口。每一层可独立地进行扩展和升级,与相邻层次的接口保持兼容。模型的中间层被设计为3层结构,这个灵感来自于Phidgets的设计,它能为实际设备的实现提供更多可能性。

灵活性:每个层次都能根据课程的重点而被加强或削弱,因此实验内容可根据课程要求而变化。实验课可被安排在两层或更多层之上。基础实验要求学生建立一个基本的嵌入式系统,而在高级实验中,学生能深入研究模型中的各个层,以实现创意设计。

嵌入式设计系统例10

目前,嵌入式技术已成为通信和消费类产品的共同发展方向。嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。

嵌入式系统是先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合的产物,这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统一般指非PC系统。它是以应用为中心、软硬件可裁减的、能适应应用系统对功能、可靠性、成本、体积、功耗等综合性要求的专用计算机系统。简单地说,嵌入式系统是集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,因此特别适合于要求实时和多任务的系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成。

1 嵌入式系统的基本知识

嵌入式系统是集软、硬件于一体的可独立工作的“器件”。嵌入式系统的硬件部分包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。这种系统有别于一般的计算机处理系统,它不像硬盘那样有大容量的存储介质,而大多使用E-PROM、EEPROM或闪存煟疲欤幔螅 Memory犠魑存储介质。软件部分包括操作系统软件熞求实时和多任务操作牶陀τ贸绦虮喑獭Sτ贸绦蚩刂谱畔低车脑俗骱托形;而操作系统则控制着应用程序编程与硬件的交互作用。

嵌入式计算机系统同通用型计算机系统相比,具有以下特点:

1)嵌入式系统通常是面向特定应用的,嵌入式CPU与通用型的最大不同就是,嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、小体积、高集成度等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,因此,器件的移动能力大大增强,同时跟网络的耦合也越来越紧密。

2)嵌入式系统的硬件和软件都必须高效地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。

3)因为嵌入式系统和具体应用有机地结合在一起,它的升级换代也和具体产品同步进行,所以,嵌入式系统产品一旦进入市场,一般都具有较长的生命周期。

4)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机之中,而不是存贮于磁盘等载体中。

嵌入式系统本身不具备自举开发能力,即使在设计完成后,用户也不能对其中的程序进行修改,而是必须有一套开发工具和环境才能进行开发。

2 嵌入式系统的选型原则

2.1 硬件平台的选择

嵌入式系统的核心部件是各种类型的嵌入式处理器,嵌入式开发硬件平台的选择主要是嵌入式处理器的选择。在一个系统中使用什么样的嵌入式处理器内核主要取决于应用的领域、用户的需求、成本、开发的难易程度等因素。确定了使用哪种嵌入式处理器内核以后熃酉吕淳褪亲酆峡悸窍低惩馕设备的需求情况以选择一款合适的处理器。下面列出考虑系统设备的一些因素:

总线的需求

有没有通用串行接口

是否需要USB总线

有没有以太网接口

系统内部是否需要I2C总线和SPI总线

音频D/A连接的IIS总线

外设接口

系统是否需要A/D或D/A转换器

系统是否需要I/O控制接口。

另外,还要考虑处理器的寻址空间,有没有片上的Flash存储器,处理器是否容易调试和仿真以及调试工具的成本和易用性等相关的信息。在实际过程中,挑选最好的硬件是一项很复杂的工作,充满着各种顾忌和干扰,包括其它工程的影响以及缺乏完整或准确的等。

2.2 嵌入式操作系统的选择

实时嵌入式系统的种类繁多煷筇迳峡煞治两种:商用型和免费型。商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵。免费型的实时操作系统在价格方面具有优势,目前主要有Linux和μC/OS,但是不管选用什么样的系统,都要考虑以下几点:

操作系统的硬件支持;

开发工具的支持程度;

能否满足应用需求。

由此可见,选择一款既能满足应用需求,性价比又可达到最佳的实时操作系统,对开发工作的顺利开展意义重大。

3 嵌入式系统的开发

图1是一款MP3随身听的设计框图。它的结构由存储器系统、MP3压缩模块、LCD显示模块、键盘模块、RS232通信接口和USB接口组成,该结构在原有的MP3播放功能上进行了扩展。该方案选用了ARM7微处理器和μC/OS嵌入式操作系统。

嵌入式设计系统例11

关键词:嵌入式;数据库;系统设计

1 嵌入式数据库系统介绍

1.1 嵌入式数据库系统内涵

随着计算机技术的不断发展,数据处理系统中也逐渐将嵌入式进行融合,对该系统自身功能进行全面完善,根据软硬件的不同的需求进行应用实现, 能够满足系统在进行应用过程中对数据库系统的功能以及可靠性进行一定程度的提升。在嵌入式数据库系统中毫无疑问的融入了计算机高新技术、电子操作技术以及更加先进的半导体技术,将这些先进的技术进行融合无疑是对数据库系统处理数据的时候进行速度提升。另外融合了嵌入式技术的数据库系统并不和传统的数据库桌面相同,因为嵌入式系统内存比较小,所以这种类型的数据库系统所需要的内存以及磁盘空间都比较小,同时因为这种数据库系统总是需要将不同类型的数据进行模型建造,所以可以将其分为层次性、网状性以及关系型等集中类型。

从我国目前所制定的嵌入式数据库系统的标准数据模型以及同步技术来看,嵌入式数据库系统已经成为同类型中的新兴焦点,该系统中不管是嵌入式的操作程序还是数据管理系统,所需要的内存都比较小,所以运行效率一般都比较高。但是因为在嵌入式环境中使用数据库系统方面还是存在部分难度,因为不同的嵌入式应用模块具备独特的特点以及应用条件,而普通的数据处理系统只能够完成相对比较简单的数据查询以及处理流程,所以在这方面还得加深研究。

1.2 嵌入式数据库系统特点分析

嵌入式数据库系统之所以能够被广泛运用,与其自身所具备的有点是有很大的关系的,根据同类型的数据库系统相比较,这种新型的数据库系统占有的系统资源很小,但却能保证高度可靠性,安全性也不低,系统自身可移植性也比较很高,系统所具备的易用性也是相当成功的,所以结合我国嵌入式数据库系统发展的实际情况,对其自身所具备的特点进行分析,现总结为下文所述。

1.2.1 系统资源占有量较小

由于嵌入式系统内部存储资源很是有限,所以一般内部不会设置一些存储空间比较大的设备,所以嵌入式数据库系统就组织结构就必须设计合理,以便能够在有限的内部存储空间中储存更多有用的数据,与此同时,嵌入式系统内部存储空间一般都比较小,所以就决定着嵌入式数据库体积比较小,并且运行效率很高的特点。另外影响嵌入式数据库系统占有很小的系统资源是因为必须为其他应用程序预留一些磁盘空间,所以必须对系统占有资源进行最小化,这样才能保证系统能够正常运行。

1.2.2可靠性

因为嵌入式数据库在运行过程中通常需要在移动环境中进行操作,就注定工作人员不能够对嵌入式数据库进行现场技术支持,所以注定嵌入式数据库必须可靠,并且还必须保证在没有工作人员进行维护的情况下也能够保证嵌入式数据库进行正常运行,所以对于嵌入式数据库来说,必须具备可靠性。

1.2.3良好的可移植性

因为一般的嵌入式数据库系统是根据具体情况进行需求满足之后才设计出来的,所以为了能够保证与其他软件能够进行数据通信,所以嵌入式数据库开发人员必须在进行系统开发的时候提供必备的模块,以实现嵌入式数据库的可移植性,在应用对象有所变化的时候可以根据需求进行功能实现,可移植性能够保证资源不好出现大范围的浪费。

2 嵌入式数据库系统设计方案

2.1 嵌入式数据库系统选择

嵌入式数据库在进行设计的时候,通常都是选择嵌入式Linux系统,该系统是一种源代码完全公开的嵌入式操作系统,它是对标准Linux操作系统经过小型化裁剪后,能够固化在容量只有几百千字节或者几兆字节的存储器芯片中,并且应用于特定嵌入式环境的专用Linux操作系统。而且,Linux操作系统具有稳定性好、网络能力优异、支持多种文件系统等优点。因此,嵌入式Linux一般具有性能可靠、软件资源丰富、网络功能强大、使用成本低等优点,而且支持多任务多线程,支持实时性扩充。同时,其内核可以灵活地进行配置,因此具有很强的适用性。

Linux的内核小、效率高,内核的更新嵌入式Linux速度很快,Linux是可以定制的,其系统内核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。 Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Toker ring(令牌环网)、光纤甚至卫星的支持。

2.2 系统处理过程分析

由嵌入式应用程序的界面控制部分等待使用设备用户的输入。当等到一条用户输入的数据请求时,首先分析该数据请求是否能够在本地使用设备数据库中得到满足。若能够借助本地使用设备数据库实现数据请求,则将数据请求交给使用设备嵌入式数据库管理系统:否则,将数据请求交给使用设备同步程序。当使用设备嵌入式数据库管理系统接到数据请求时,它首先分析数据请求的合法性,若合法,则响应请求,访问嵌入式数据库,得到处理结果,并将其返回给嵌入式应用程序;否则,向嵌入式应用程序返回出错信息。当使用设备同步程序接收到数据请求时,它与PC同步程序联系,建立连接后,将数据请求发送过去,由PC同步程序进行后续处理。PC同步程序的监听线程监视串口状态,发现来自PDA的数据请求便将该请求交给PC同步程序的主线程。主线程接到数据请求后,将其交给ODBC接口模块进行处理。ODBC接口接到来自PC同步程序的数据请求后,解析数据请求,并判别其合法性,若合法,则访问ODBC主数据源,得到处理结果,并将该处理结果交给PC同步程序,由其回馈给PDA;若非法,则通知PC同步程序向PDA报告出错信息。

2.3 系统数据存储过程分析

当前流行的数据库管理系统基本上都采用关系数据模型。关系模型己经成为数据库中数据模型事实上的标准,采用关系数据模型有利于为广大开发社区接受。同时关系模型的描述能力比较强,效率高。对于嵌入式计算,数据库应该是轻量级的,不宜采用面向对象模型。嵌入式设备的一个主要特征是其资源紧张性。另外,嵌入式数据库本质上还是面向个人服务的数据库管理系统,数据管理的功能相对于传统的企业级数据库来说要求相对较弱。基于上述原因,这里我们将采用效率更高的关系模型。存储组织包括数据表示和存储空间管理两个方面。数据表示是数据库中应用数据的物理存储的表现方式,它受到数据库系统所采取的存储模型的制约。存储空间组织是对存储设备可用存储空间的应用组织策略,它的目标有两个:高效利用存储空间和为快速的数据存取提供便利。在嵌入式数据库中,数据将分为“永久版本”和“临时版本”。

数据库在运行的大部分时间中都只关心临时版本,只在系统空闲或显式要求的情况下才将临时版本中的数据更新到永久版本中。这是一种乐观的持久化策略。因此,对嵌入式数据库来说,我们首先关注的是数据在主存中的高效的存取,其次,才会考虑数据的文件组织形式,尽可能地提高数据在内外存之间的调入、调出效率。因此,嵌入式数据库避免直接操作外存,而使用操作系统提供的文件系统接口实现外存处理;同时,不再使用数据缓冲区,而使用高活跃度数据存储区域替代,两者的不同在于前者在内存中按页面来组织缓冲区,每个页面对应磁盘上的一个存储块,后者则以记录为单位存储频繁被存取的数据。同时,因为数据字典占用空间很小且存取频繁,所以将其常驻内存。

2.4 系统主题架构

由于嵌入式系统地存储量有限,因此在终端嵌入式数据库中的数据不能存储大量的数据,同时,由于嵌入式系统处理器的主频较低,运行速度较慢,以及网络速度的原因,系统也不可能将每次的用户请求都提交到服务器端后台数据库处理数据,因此这就要求我们将大多数的数据处理放在终端数据库系统中处理,为了保证终端嵌入式数据库数据的有效性和实时性,我们必须保证嵌入式数据库和服务器端数据库的数据同步复制。 当终端数据库发生更新时,立即将更新的请求发送给终端同步程序,由终端同步程序和服务器端同步程序建立连接,再由服务器端同步程序将该请求交给服务器端数据库实现后台数据库的更新。

由于嵌入式系统地存储量有限,因此在终端嵌入式数据库中的数据不能存储大量的数据,同时,由于嵌入式系统处理器的主频较低,运行速度较慢,以及网络速度的原因,系统也不可能将每次的用户请求都提交到服务器端后台数据库处理数据,因此这就要求我们将大多数的数据处理放在终端数据库系统中处理,为了保证终端嵌入式数据库数据的有效性和实时性,我们必须保证嵌入式数据库和服务器端数据库的数据同步复制。当终端数据库发生更新时,立即将更新的请求发送给终端同步程序,由终端同步程序和服务器端同步程序建立连接,再由服务器端同步程序将该请求交给服务器端数据库实现后台数据库的更新。

结论

随着信息技术的不断发展,各行业中所需要处理的数据大量化,并且对于数据具体的处理结果保密性也在逐步要求保密,而嵌入式系统因其强大的保密性、可移植性以及体积小等特点,在数据处理过程中被广泛运用,嵌入式数据库由此诞生。通过对嵌入式数据库系统特点进行全面分析,对其系统选择过程进行分析,并且结合嵌入式数据库运行范围进行处理过程分析,对嵌入式数据库在对具体数据进行处理之后的存储过程进行分析,对嵌入式数据库的主题架构进行全面了解,由此可以将嵌入式数据库系统进行全面分析,对该系统与传统数据库进行对比,可以将其优越性进行全面展示。相信随着相关科技技术的不断发展,嵌入式数据库一定会发展的更为迅速,更为全面。鉴于本人学识有限,在本文撰写过程中存在一些不足之处,望各位同仁能够及时指出,以便日后及时作出修正。

参考文献

[1]张永.嵌入式数据库系统的设计与实现[D].清华大学,2012.

[2]殷晓伟,杨尚霖.关于嵌入式数据库系统设计的研究[J].科技创新与应用,2014.