下面是小编给各位读者分享的嵌入式系统的应用与开发论文(共含14篇),欢迎大家分享。同时,但愿您也能像本文投稿人“macey”一样,积极向本站投稿分享好文章。
嵌入式系统的应用与开发论文
一、嵌入式系统及其应用概述
嵌入式系统是以应用为中心,以计算机技术为基础,软件可编程,硬件可剪裁、重构的专用计算机系统。该系统通常嵌入在对象环境中,并通过其在对象环境下运行的特定程序,完成对外界物理参数地采集、处理,达到对控制对象地响应或人机交互的功能。
目前,嵌入式系统的发展方向主要是解决接口多样性、适应性、灵活性和集成开发环境等的特定应用问题。嵌入式系统应用的底层性与对象系统的紧耦合性是其显着的基本特征。所以,最大限度的满足对象数据采集、控制、开发环境、功耗,以及适应能力、可靠性等品质因数是选择嵌入式系统的标准。
为适应技术发展需求,嵌入系统在不断追求结构紧凑、坚固可靠、技术密集、高度分散的同时,尤以不断创新为嵌入式系统的发展核心。使嵌入系统凸现了高技术门槛,主要表现在软硬件设计的紧密相关性上,特别是构建RTOS系统需透彻了解RTOS的工作机制和系统资源配制,掌握底层软件、系统软件和应用软件的设计、调试方法。
随着对嵌入式系统的智能化愈加关注,现场可编程、调试、引脚配置变得非常重要和必不可少。所以,用户可配置的SCO(在片系统)已成为现阶段嵌入式系统的核心发展技术。通过现场可编程阵列把接口应用设计和系统开发留给系统设计者,提供灵活、多样的片上电路设计平台,使电路板设计变成在片的芯片配置,将嵌入系统地设计带入了软硬件的双编程时期,进一步缩短了产品开发周期。而下一代的在片系统还将发展成一个MUC数量可缩放的集合体。
在嵌入式应用系统中,虽然高端产品不断涌现,但由于应用对象、环境的不同特点,嵌入系统的8位机产品仍因应用对象的有限响应时间、完备的集成开发环境、良好的性价比等优势仍然占据着低端应用系统的主流地位。Cygnel公司的C8051F系列产品就充分印证了这点。
回顾嵌入式系统的发展历程,已经历了由模拟向数字的演进过程,现又逐步演变为数模并存情形。由最初软件编程主宰的微处理器(嵌入式微处理器、数字信号处理器、单片机),到硬编程主宰的专用集成电路时代,再到今天的现场可编配置时代。嵌入式系统的核心技术正沿着“许氏循环”的浪潮不断前行。而配套的`软件设计平台也随着科技进步在不断得到完善。可以预期,软硬双可编程的嵌入式系统时代必会带来更加便捷的开发环境和技术支持。
二、嵌入系统的设计原则
嵌入系统设计具有很强的针对性,软硬件协同设计是系统设计的关键。需解决好软硬件的同步与集成设计问题,要结合具体应用进行综合考虑,保证设计工作的一致性与正确性。在针对具体应用系统的功能目标分析基础上,分解整个系统的各项功能指标和技术要求,结合系统的实时响应要求、接口功能定义与标准、嵌入芯片的处理能力、编程语言、开发环境、产品的升级与维护问题、开发投入能力、产品综合成本等多方面因素进行权衡考虑。
(一)在明确系统性能需求的基础上,细化以下考虑因素
1。系统功能实现手段的软硬件分配。
2。器(部)件选择和系统构建。包括微处理器芯片、外围接口电路、各种驱动电路形式、器部件类型、前后向通道处理方式、人机界面和手段等。
3。控制算法设计以及软件系统的架构形式。
4。语言选择。依据设计者熟练程度和习惯、开发环境和控制功能要求选取。
5。抗干扰问题的解决与设计。包括软件的和硬件的、常规的和特定的。
6。实现工艺和方式。包括印制板设计、走线安装、装配工艺、新材料或新技术的应用等。
在各实施阶段,对项目进度、关键技术的风险因素必须进行审查评估,评价软一硬件的功能设计与分配,以及实现的技术性能、工作量和时间进度。明确电路之间的接口参数、软一硬件功能衔接,以及项目中存在的问题和缺陷,及时发现关键部位或矛盾突出点的瓶颈问题,将隐患排除在早期设计阶段。
(二)嵌入系统中微处理器选择应考虑
1。MCU的算术、逻辑处理能力;运算速度和时钟频率;总线控制功能、中断方式和仲裁机制;RAM和FLASHROM容量;软件加密保护。
2。外围接口功能的可重构配置能力;数据通讯模式;前后向通道类型;端口电压的适应能力等;
3。开发工具的在线调试或仿真能力;FLASH代码读写环境;编程语言的支持程度;代码的可移植性等。
4。电源电压;功耗等。
三、嵌入系统的软件特点
嵌入式系统是可利用资源有限、专用性很强、实时性要求也很高的应用控制系统。故在软件设计方法和实现手段上,嵌入系统软件同PC机软件存在很大差异,主要表现在:
(一)实时性的控制方法
PC软件提升速率方法,极大依赖处理器性能提升,还体现在缓存方案、动态分配等技术手段上。但在嵌入式系统中应用这些技术就存在硬件资源不足、工作频率低的现实问题,会降低系统的可靠性。
(二)特定的异构特征
嵌入式控制软件设计既要考虑特定的硬件固有部分,也要考虑来自系统之外的各种通讯、传感器的专用信号处理接口,以及不同控制目标的实时期望和执行机构的异步并发事件处理能力。因此不同的硬件系统或控制/文秘站-您的专属秘书,中国最强免费!/目标,将会产生不同的系统构建方案。
(三)系统的性能目标
编写嵌入式软件必须着重考虑与硬件系统相匹配的功耗、不间断运行、故障恢复、高可靠性等方面的约束条件,实现特定应用环境下的控制功能、实时性响应的目标要求。因此,嵌入系统要在借鉴通用软件技术,遵循软件工程理论,规范软件开发过程的同时。还应根据嵌入式系统特点研究开发技术和算法结构,提高开发效率,确保系统软件的质量和可靠性,以及软件的复用性、可移植性和易维护性。纵观嵌入式软件设计方法的发展历程,走过了从结构化设计、面向对象设计、基于构件的设计阶段,经历了单任务到多任务的系统转变。
嵌入式系统关键技术分析与开发应用
摘要:基于嵌入式系统的概念,阐述嵌入式系统的关键技术、嵌入式开发以及广泛的应用。首先,分析嵌入式系统的技术特点,分别从嵌入式处理器和嵌入式操作系统两方面介绍,着重说明它不同于其它操作系统的一些处理方法和过程;在此基础上阐述嵌入式软件的开发过程,并结合作者嵌入式软件开发的实践,着重阐述嵌入式软件的一些开发技巧。接着,介绍目前嵌入式系统一些流行的应用,以及南京东大移动互联技术有限公司自行研制的基于蓝牙技术的嵌入式产品。最后,给出作者的体会,展望嵌入式系统的前景。关键词:嵌入式系统 嵌入式处理器 微内核 内存管理单元 蓝牙系统
引 言
在当前数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。
1970年左右出现了嵌入式系统的概念,此时的嵌入式系统很多都不采用操作系统,它们只是为了实现某个控制功能,使用一个简单的循环控制对外界的控制请求进行处理。当应用系统越来越复杂、利用的范围越来越广泛的时候,每添加一项新的功能,都可能需要从头开始设计。没有操作系统已成为一个最大的缺点了。
C语言的出现使操作系统开发变得简单。从上世纪80年代开始,出现了各种各样的商用嵌入式操作系统百家争鸣的局面,比较著名的有VxWorks、pSOS和Windows CE等等,这些操作系统大部分是为专有系统而开发的。另外,源代码开放的嵌入式Linux,由于其强大的网络功能和低成本,近来也得到了越来越多的应用。
1 嵌入式系统的技术特点
嵌入式系统通常包括构成软件的基本运行环境的硬件和操作系统两部分。嵌入式系统的运行环境和应用场合决定了嵌入式系统具有区别于其它操作系统的一些特点。
(1)嵌入式处理器
嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:PowerPC、Motorola 68000、ARM系列等等。
嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051。
嵌入式DSP专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。
(2)微内核结构
大多数操作系统至少被划分为内核层和应用层两个层次。内核只提供基本的功能,如建立和管理进程、提供文件系统、管理设备等,这些功能以系统调用方式提供给用户。一些桌面操作系统,如Windows、Linux等,将许多功能引入内核,操作系统的内核变得越来越大。内核变大使得占用的资源增多,剪裁起来很麻烦。
大多数嵌入式操作系统采用了微内核结构,内核只提供基本的功能,比如:任务的调度、任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,比如网络功能、文件系统、GUI系统等均工作在用户态,以系统进程或函数调用的方式工作。因而系统都是可裁减的,用户可以根据自己的需要选用相应的组件。
(3)任务调度
在嵌入式系统中,任务即线程。大多数的嵌入式操作系统支持多任务。多任务运行的实现实际是靠CPU在多个任务之间切换、调度。每个任务都有其优先级,不同的任务优先级可能相同也可能不同。任务的调度有三种方式:可抢占式调度、不可抢占式调度和时间片轮转调度。不可抢占式调度是指,一个任务一旦获得CPU就独占CPU运行,除非由于某种原因,它决定放弃CPU的使用权;可抢占式调度是基于任务优先级的,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其它任务;当两个或两个以上任务有同样的优先级,不同任务轮转地使用CPU,直到系统分配的CPU时间片用完,这就是时间片轮转调度。
目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。
(4)硬实时和软实时
有些嵌入式系统对时间的要求较高,称之为实时系统。有两种类型的实时系统:硬实时系统和软实时系统。软实时系统并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;硬实时系统对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。
(5)内存管理
针对有内存管理单元(MMU)的处理器设计的一些桌面操作系统,如Windows、Linux,使用了虚拟存储器的概念。虚拟内存地址被送到MMU。在这里,虚拟地址被映射为物理地址,实际存储器被分割为相同大小的页面,采用分页的方式载入进程。一个程序在运行之前,没有必要全部装入内存,而是仅将那些当前要运行的部分页面装入内存运行。
大多数嵌入式系统针对没有MMU的处理器设计,不能使用处理器的虚拟内存管理技术,采用的是实存储器管理策略。因而对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址;而且,大多数嵌入式操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储器的连续空间。
由此可见,嵌入式系统的开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少内存;在开发应用程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外,由
于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地址空间,程序开发时要保证不侵犯其它程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其它程序的运行异常;因而,嵌入式系统的开发人员对软件中的一些内存操作要格外小心。
(6)内核加载方式
嵌入式操作系统内核可以在Flash上直接运行,也可以加载到内存中运行。Flash的运行方式,是把内核的可执行映像烧写到Flash上,系统启动时从Flash的某个地址开始执行。这种方法实际上是很多嵌入式系统所采用的方法。内核加载方式是把内核的压缩文件存放在Flash上,系统启动时读取压缩文件在内存里解压,然后开始执行。这种方式相对复杂一些,但是运行速度可能更快,因为RAM的存取速率要比Flash高。
由于嵌入式系统的内存管理机制,嵌入式操作系统对用户程序采用静态链接的形式。在嵌入式系统中,应用程序和操作系统内核代码编译、链接生成一个二进制影像文件来运行。
2 嵌入式系统开发相关技术
相对于在Windows环境下的开发应用程序,嵌入式系统开发有着很多的不同。不同的硬件平台和操作系统带来了许多附加的开发复杂性。
2.1 嵌入式开发过程
在嵌入式开发过程中有宿主机和目标机的角色之分:宿主机是执行编译、链接、定址过程的计算机;目标机指运行嵌入式软件的硬件平台。首先须把应用程序转换成可以在目标机上运行的二进制代码。这一过程包含三个步骤:编译、链接、定址。编译过程由交叉编译器实现。所谓交叉编译器就是运行在一个计算机平台上并为另一个平台产生代码的编译器。常用的交叉编译器有GNU C/C++(gcc)。编译过程产生的所有目标文件被链接成一个目标文件,称为链接过程。定址过程会把物理存储器地址指定给目标文件的每个相对偏移处。该过程生成的文件就是可以在嵌入式平台上执行的二进制文件。
嵌入式开发过程中另一个重要的步骤是调试目标机上的应用程序。嵌入式调试采用交叉调试器,一般采用宿主机-目标机的调试方式,它们之间由串行口线或以太网或BDM线相连。交叉调试有任务级、源码级和汇编级的调试,调试时需将宿主机上的应用程序和操作系统内核下载到目标机的RAM中或直接烧录到目标机的ROM中。目标监控器是调试器对目标机上运行的应用程序进行控制的代理(Debugger Agent),事先被固化在目标机的Flash、ROM中,在目标机上电后自动启动,并等待宿主机方调试器发来的命令,配合调试器完成应用程序的下载、运行和基本的调试功能,将调试信息返回给宿主机。
2.2 向嵌入式平台移植软件
大部分嵌入式开发人员选用的软件开发模式是先在PC机上编写软件,再进行软件的移植工作。在PC机上编写软件时,要注意软件的可移植性,选用具有较高移植性的编程语言(如C语言),尽量少调用操作系统函数,注意屏蔽不同硬件平台带来的字节顺序、字节对齐等问题。以下是我们在移植协议栈过程中的一些体会。
2.2.1 字节顺序
字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的。因而对int、uint16、uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺序。通常我们认为,在空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字节序转换为主机字节序。
2.2.2 字节对齐
有的嵌入式处理器的寻址方式决定了在内存中占2字节的.int16、uint16等类型数据只能存放在偶数内存地址处,占4字节的int32 、uint32 等类型数据只能存放在4的整数倍的内存地址处;占8字节的类型数据只能存放在8的整数倍的内存地址处;而在内存中只占1字节的类型数据可以存放在任意地址处。由于这些限制,在这些平台上编程时有很大的不同。首先,结构体成员之间会有空洞,比如这样一个结构:
typedef struct test{
char a;
uint16 b;
}TEST
结构TEST在单字节对齐的平台上占内存三个字节,而在以上所述的嵌入式平台上有可能占三个或四个字节,视成员a的存储地址而定。当a存储地址为偶数时,该结构占四个字节,在a与b之间存在一个字节的空洞。对于通信双方都是对结构成员操作的,这种情况不会出错,但如果有一方是逐字节读取内容的(通信协议大都如此),就会错误地读到其它字节的内容。其次,若对内存中数据以强制类型转换的方式读取,字节对齐的不同会引起数据读取的错误。因为假如指针指在基数内存地址处,我们想取得占内存两个字节的数据存放在uint16型的变量中,强制类型转换的结果是取得了该指针所指地址与前一地址处的数据,并没有按照我们的愿望取该指针所指地址与后一地址处的数据,这样就导致了数据读取的错误。
解决字节对齐有许多方法,比如可以在GCC的项目管理文件MakeFile中增加编译选项--pack-struct;但这种方法只能去除结构中的空洞,并不能解决强制类型转换引起的错误。为了增强软件的可移植性以及和同类其它平台产品的互通性,我们在收数据包处增加了拆包的函数,发数据包处增加了组包的函数。这两个函数解决了字节序的问题,也解决了字节对齐的问题。即组包时根据参数中的格式字符串将内存中的不同数据类型的某段数据放在指定地址处,组成包发给下层;拆包时,根据参数中的格式字符串将收到的内存中的数据存放在不同类型的变量或结构成员中。在函数中针对不同的数据类型作不同的处理。
2.2.3 位 段
由于位段的空间分配方向因硬件平台的不同而不同,对X86平台,位段是从右向左分配的;而一些嵌入式平台,位段是从左向右分配的。分配顺序的不同导致了数据存取的错误。解决这一问题的一种方法是采用条件编译的方式,针对
不同的平台定义顺序不同的位段;也可以在前面所述的两个函数中加上对位段的处理。
2.2.4 代码优化
嵌入式系统对应用软件的质量要求更高,因而在嵌入式开发中尤其须注意对代码进行优化,尽可能地提高代码的效率,减少代码的大小。虽然现代C和C++编译器都提供了一定程度的代码优化,但大部分由编译器执行的优化技术仅涉及执行速度和代码大小的平衡,不可能使程序既快又小,因而必须在编写嵌入式软件时采取必要的措施。
(1)提高代码的效率
①switch-case 语句。在程序中经常会使用switch-case语句,每一个由机器语言实现的测试和跳转仅仅是为了决定下一步要做什么,就浪费了处理器时间。为了提高速度,可以把具体的情况按照它们发生的相对频率排序。即把最可能发生的情况放在第一,最不可能发生的情况放在最后,这样会减少平均的代码执行时间。
② 全局变量。使用全局变量比向函数传递参数更加有效率,这样做去除了函数调用前参数入栈和函数完成后参数出栈的需要。当然,使用全局变量会对程序有一些负作用。
(2)减小代码的大小
嵌入式系统编程应避免使用标准库例程,因为很多大的库例程设法处理所有可能的情况,所以占用了庞大的内存空间,因而应尽可能地减少使用标准库例程。
(3)避免内存泄漏
用户内存空间(堆)为RAM中全局数据和任务堆栈空间都分配后的剩余空间,为了使程序能有足够的内存运行,必须在申请的内存不用后及时地将其释放,以确保再次申请时能有空间。如果程序中存在内存泄漏(即申请内存后没有及时释放)的情况,程序最终会因为没有足够的内存空间而无法运行。
3 嵌入式系统的广泛应用
嵌入式系统的应用前景是非常广泛的,人们将会无时无处不接触到嵌入式产品,从家里的洗衣机、电冰箱,到作为交通工具的自行车、小汽车,到办公室里的远程会议系统等等。特别是以蓝牙为代表的小范围无线接入协议的出现,使嵌入式无线电的概念悄然兴起。当嵌入式的无线电芯片的价格可被接受时,它的应用可能会无所不在。在家中、办公室、公共场所,人们可能会使用数十片甚至更多这样的嵌入式无线电芯片,将一些电子信息设备甚至电气设备构成无线网络;在车上、旅途中,人们利用这样的嵌入式无线电芯片可以实现远程办公、远程遥控,真正实现把网络随身携带。下面介绍几种具体的应用。
(1)嵌入式移动数据库
所谓的移动数据库是支持移动计算的数据库,有两层含义:① 用户在移动的过程中可以联机访问数据库资源。② 用户可以带着数据库移动。典型的应用场合有在开着的救护车上查询最近的医院。该系统由前台移动终端、后台同步服务器组成,移动终端上有嵌入式实时操作系统和嵌入式数据库。中国人民大学正在开发该系统,他们和Hopen公司合作,开发了前台移动终端“小精灵”。
(2)嵌入式系统在智能家居网络中的应用
智能家居网络(E-Home)指在一个家居中建立一个通信网络,为家庭信息提供必要的通路;在家庭网络操作系统的控制下,通过相应的硬件和执行机构,实现对所有家庭网络上家电和设备的控制和监测。其网络结构的组成必然有家庭网关。家庭网关主要实现控制网络和信息网络的信号综合并与外界接口,以便作远程控制和信息交换。不论是网关还是各家电上的控制模块,都需有嵌入式操作系统。这些操作系统必须具有内嵌式、实时性好、多用户的特点。南京东大移动互联技术有限公司研制的智能多媒体家庭网关,就是以嵌入式Linux作为该嵌入式设备的操作系统,设备之间的相互通信遵从蓝牙通信协议,可以支持多个设备同时接入到固定电话网、国际互联网等其它外部网络。
(3)嵌入式语音芯片
嵌入式语音芯片基于嵌入式操作系统,采用语音识别和语音合成、语音学层次结构体系和文本处理模型等技术;可以应用在手持设备、智能家电等多个领域,赋予这些设备人性化的交互方式和便利的使用方法;也可应用于玩具中,实现声控玩具、仿真宠物、与人对话的玩具;也能应用于车载通信设备实现人机交流。该芯片应用在移动通信设备中,比如,手机上短消息来时,我们不必费力地去看,而是可以听到声音。
(4)基于小范围无线通信协议的嵌入式产品
以蓝牙为代表的小范围无线接入协议与嵌入式系统的结合,必将推动嵌入式系统的广泛应用。近来,基于这些协议的嵌入式产品层出不穷,包括各种电话系统、无线公文包、各类数字电子设备以及在电子商务中的应用。这些产品以其微型化和低成本的特点为它们在家庭和办公室自动化、电子商务、工业控制、智能化建筑物和各种特殊场合的应用开辟了广阔的前景。
东南大学移动通信国家重点实验室以及依托实验室建立的南京东大移动互联技术有限公司,从开始跟踪蓝牙技术,在香港特区政府创新科技基金、江苏省“十五”重大科技攻关以及国家“十五”科技攻关的资助下,先后设计和研制了多种基于蓝牙技术的嵌入式产品。其中包括符合Bluetooth V1.1标准的嵌入式PSTN网关和语音终端。它们基于蓝牙“三合一电话”应用模型,选用了中国科学院凯思昊鹏软件技术工程有限公司提供的Hopen OS作为嵌入式开发的软件平台,选用华邦的W90221作为硬件平台。语音终端能通过PSTN网关以无线的方式接入到PSTN网络中,实现和PSTN网用户的互通。还有符合Bluetooth V1.1标准的嵌入式局域网接入点,它基于蓝牙“局域网接入”应用模型,选用嵌入式Linux操作系统作为软件平台,选用Motorola公司的CodeFire 5272作为硬件平台。通过该接入点,终端用户可以自由地接入到Internet,可以同时支持多个终端用户连接到Internet。其它一些嵌入式产品包括智能多媒体家庭网关、远程抄表系统、信息家电等等。
结 语
以上重点介绍了嵌入式系统的特点、嵌入式产品的开发和应用。我们在开发过程中体会到:嵌入式系统开发和以前从事的开发工作实质上并无区别,唯一改变的是每个硬件平台都是独特的,这一个不同点导致了许多附加的开发复杂性,因而,在嵌入式开发过程中要格外注意软件创建过程;而且,在开发嵌入式产品之前要对选用的嵌入式硬件平台有较多的了解,具备相应的硬件知识,和硬件工程师密切配合;在选用嵌入式操作系统和硬件平台时要根据所要开发的应用的需要以及成
本等方面的考虑选择合适的系统和平台。
在科技快速发展的今天,嵌入式产品将会越来越多地被广泛应用。我们相信,只要遵循嵌入式产品的开发规律,适应市场的需求,就一定能开发出越来越多的嵌入式产品。
嵌入式系统关键技术分析与开发应用
摘要:基于嵌入式系统的概念,阐述嵌入式系统的关键技术、嵌入式开发以及广泛的应用。首先,分析嵌入式系统的技术特点,分别从嵌入式处理器和嵌入式操作系统两方面介绍,着重说明它不同于其它操作系统的一些处理方法和过程;在此基础上阐述嵌入式软件的开发过程,并结合作者嵌入式软件开发的实践,着重阐述嵌入式软件的一些开发技巧。接着,介绍目前嵌入式系统一些流行的应用,以及南京东大移动互联技术有限公司自行研制的基于蓝牙技术的嵌入式产品。最后,给出作者的体会,展望嵌入式系统的前景。关键词:嵌入式系统 嵌入式处理器 微内核 内存管理单元 蓝牙系统
引 言
在当前数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。
1970年左右出现了嵌入式系统的'概念,此时的嵌入式系统很多都不采用操作系统,它们只是为了实现某个控制功能,使用一个简单的循环控制对外界的控制请求进行处理。当应用系统越来越复杂、利用的范围越来越广泛的时候,每添加一项新的功能,都可能需要从头开始设计。没有操作系统已成为一个最大的缺点了。
C语言的出现使操作系统开发变得简单。从上世纪80年代开始,出现了各种各样的商用嵌入式操作系统百家争鸣的局面,比较著名的有VxWorks、pSOS和Windows CE等等,这些操作系统大部分是为专有系统而开发的。另外,源代码开放的嵌入式Linux,由于其强大的网络功能和低成本,近来也得到了越来越多的应用。
1 嵌入式系统的技术特点
嵌入式系统通常包括构成软件的基本运行环境的硬件和操作系统两部分。嵌入式系统的运行环境和应用场合决定了嵌入式系统具有区别于其它操作系统的一些特点。
(1)嵌入式处理器
嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:PowerPC、Motorola 68000、ARM系列等等。
嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051。
嵌入式DSP专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。
(2)微内核结构
大多数操作系统至少被划分为内核层和应用层两个层次。内核只提供基本的功能,如建立和管理进程、提供文件系统、管理设备等,这些功能以系统调用方式提供给用户。一些桌面操作系统,如Windows、Linux等,将许多功能引入内核,操作系统的内核变得越
[1] [2] [3] [4] [5] [6]
摘要:嵌入式系统是先进的计算机技术、半导体技术、电子技术以及各种具体应用相结合的产物,是技术密集、资金密集、高度分散、不断创新的新型集成知识系统。文中介绍了嵌入式系统的基本知识,提出了在嵌入式系统开发过程中应遵循的原则,并结合实例进行了说明。
关键词:嵌入式系统;设计原则
目前,嵌入式技术已成为通信和消费类产品的共同发展方向。嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统是先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合的产物,这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统一般指非PC系统。它是以应用为中心、软硬件可裁减的、能适应应用系统对功能、可靠性、成本、体积、功耗等综合性要求的专用计算机系统。简单地说,嵌入式系统是集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,因此特别适合于要求实时和多任务的系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成。
1 嵌入式系统的基本知识
嵌入式系统是集软、硬件于一体的可独立工作的“器件”。嵌入式系统的硬件部分包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。这种系统有别于一般的计算机处理系统,它不像硬盘那样有大容量的存储介质,而大多使用E-PROM、EEPROM或闪存?Flash Memory?作为存储介质。软件部分包括操作系统软件?要求实时和多任务操作?和应用程序编程。应用程序控制着系统的运作和行为;而操作系统则控制着应用程序编程与硬件的交互作用。
嵌入式计算机系统同通用型计算机系统相比,具有以下特点:
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,但是不管选用什么样的系统,都要考虑以下几点:
●操作系统的硬件支持;
●开发工具的支持程度;
●能否满足应用需求。
由此可见,选择一款既能满足应用需求,性价比又可达到最佳的实时操作系统,对开发工作的顺利开展意义重大。
图1是一款MP3随身听的设计框图。它的结构由存储器系统、MP3压缩模块、LCD显示模块、键盘模块、RS232通信接口和USB接口组成,该结构在原有的MP3播放功能上进行了扩展。该方案选用了ARM7微处理器和μC/OS嵌入式操作系统。
对于MP3压缩数据的解压缩播放,只需要使用ARM7TDMI微处理器架构核心的25MHz工作频率就可以流畅地播放,而ARM7TDMI的工作频率最高可达72MHz,建议工作频率为64MHz,完全能满足需要,空出的微处理器资源还可以实现功能扩展。而且市场中已有成熟的开发平台,其中三星公司的SamArmDvk就是一个完善的开发环境,它可使开发变得可靠简单。
4 结论
信息时代数字时代使得嵌入式产品获得了巨大的发展机遇,也为嵌入式市场展现了美好的前景?同时也对嵌入式系统的开发者提出了新的挑战。开发出的产品除了应具有独特的创新功能外,开发者还应遵循一定的原则,只有这样,才能使嵌入式系统产品的开发事半功倍。
嵌入式系统的设计与开发
摘要:嵌入式系统是先进的计算机技术、半导体技术、电子技术以及各种具体应用相结合的产物,是技术密集、资金密集、高度分散、不断创新的新型集成知识系统。文中介绍了嵌入式系统的基本知识,提出了在嵌入式系统开发过程中应遵循的原则,并结合实例进行了说明。关键词:嵌入式系统;设计原则
目前,嵌入式技术已成为通信和消费类产品的共同发展方向。嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统是先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合的产物,这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统一般指非PC系统。它是以应用为中心、软硬件可裁减的、能适应应用系统对功能、可靠性、成本、体积、功耗等综合性要求的`专用计算机系统。简单地说,嵌入式系统是集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,因此特别适合于要求实时和多任务的系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成。
1 嵌入式系统的基本知识
嵌入式系统是集软、硬件于一体的可独立工作的“器件”。嵌入式系统的硬件部分包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。这种系统有别于一般的计算机处理系统,它不像硬盘那样有大容量的存储介质,而大多使用E-PROM、EEPROM或闪存?Flash Memory?作为存储介质。软件部分包括操作系统软件?要求实时和多任务操作?和应用程序编程。应用程序控制着系统的运作和行为;而操作系统则控制着应用程序编程与硬件的交互作用。
嵌入式计算机系统同通用型计算机系统相比,具有以下特点:
1)嵌入式系统通常是面向特定应用的,嵌入式CPU与通用型的最大不同就是,嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、小体积、高集成度等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,因此,器件的移动能力大大增强,同时跟网络的耦合也越来越紧密。
2)嵌入式系统的硬件和软件都必须高效地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应
[1] [2] [3]
嵌入式系统应用现状及发展趋势论文
论文摘要:嵌入式技术的创新和应用推动了自动化和信息化进程。阐述了嵌入式系统的基本概念并分析了应用现状及发展趋势。
论文关键词:嵌入式系统,多任务实时操作系统
信息技术的使用和纳米微电子技术的突破,正有力推动着工业生产和科学实验等领域的自动化和信息化进程。全过程自动化产品制造、高度协同科学实验以及现代化家庭起居,为嵌入式产品造就了崭新而巨大的商机。随着信息化、智能化、网络化的发展,嵌入式系统技术也将获得广阔的发展空间。
1.嵌入式的定义及组成
嵌入式系统的定义
根据IEEE的定义,嵌入式系统式是“控制、监视或者辅助装置、机器和设备运行的装置”。从中可以看出嵌入式系统式软件和硬件的综合体,还可以涵盖机械等附属装置。
国内一个被认同的定义是:以应用为中心、以计算机技术为基础、软硬件可以裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统的组成
一个嵌入式系统装置一般都嵌入式计算机系统和执行装置组成,嵌入式计算机系统式整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。
2.嵌入式系统的特点
系统内核小。由于嵌入式系统一般应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。
专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对部同的任务,往往需要对系统进行较大更改。
3.嵌入式操作系统的应用现状
VxWorks。VxWorks是美国WindRiver公司的产品,是目前嵌入是系统领域中应用很广泛、市场占有率比较高的嵌入式操作系统。
uC/OS-II.它是在UC/OS的基础上发展起来的,是美国嵌入是系统专家jeanJ.Labrosse用C语言编写的,有执行效率高、占用空间小、实时性能优良和扩展性强等特点。
uCLinnx.uCLinux是一种优秀的嵌入式Linux版本。有良好的稳定性和移植性、强大的网路功能、出色的'文件系统支持、标准丰富的APL以及TCP/IP网路协议等。
4.嵌入式系统的发展趋势
嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。目前,许多厂商已经考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。
网络互连成为必然趋势未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络硬件接口。传统的单片机对于网络支持不足,而新一代嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。
提供友好的多媒体人机界面嵌入式设备能与用户亲密接触,而最重要的因素就是它能提供非常友好的用户界面。图象界面,灵活的控制方式,使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。
5结束语
嵌入式技术正飞速发展,并期待着在各种行业深入渗透。我国具有雄厚的制造业基础,与传统的制造业结合,嵌入式系统有着巨大的市场空间。文章阐述了嵌入式系统的概念、组成、特点,分析了应用现状及发展趋势。基于嵌入式技术的应用和技术创新,将会极大地推动自动化和信息化进程。
参考文献
1 浅谈嵌入式系统 wenku.baidu.com/view/d50a7e791711cc7931b71619.html
2 马义德.嵌入式系统应用及前景 www.docin.com/p-93020820.html
基于μC/OS的嵌入式系统应用开发研究
摘要:本文介绍了嵌入式系统的概念,分析了μC/OS的内核结构,并详细介绍了在具有ARM体系结构的S3C44B0微处理器上进行μC/OS操作系统的移植和应用程序及驱动程序的开发。关键词:嵌入式系统 μc/os 微处理器
Abstract: The paper bring forward the conception of Embedded System ,Analyse the core kere of μc/os ,moreover detailedly introduce grafting the μC/OS's operating system on the ARM's architectural structure of S3C44B0's microprocessor and empolder on application and driver program 。
Key words: Embedded System μc/os MicroProcessor
一、嵌入式系统概述
嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,目前嵌入式系统已经渗透到日常生活的各个方面,其在工业、服务业、消费电子等领域的应用范围都不断扩大,嵌入式计算机系统的正式定义为:以应用为中心,以计算机技术为基础,软件硬件可裁减,符合应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。嵌入式系统的主要特征有:系统内核小;专用性强;系统精简;嵌入式软件要求高实时性的`操作系统软件;软件要求高质量和高可靠性;嵌入式系统开发需要专门的开发工具和环境。
嵌入式系统由硬件和软件两大部分组成,在本开发应用中,选择ARM7TDMI内核结构的samsung公司的s3c44b0作为微处理器芯片,该芯片具有主频高、运算速度快,超低功耗、价格低廉、结构简单等特点,在该内核基础上扩展了一系列完整的通用外围器件,主要有:片内8KB高速缓存、带有1个专用DMA通道的LCD控制器、2个通用DMA通道、1个多主机I2C总线控制器、5个PWM定时器及1个内部定时器、71个通用I/O口、8个外部中断源、8个10位ADC等资源,主频为66MHZ,系统支持大小端模式,共256MB的地址空间,支持8/16/32位数据总线编程。
开发平台外配与用户交互接口有RS-232串口电路、外扩flash、sdram,USB控制电路、以太网电路、键盘,JTAG接口电路部分。
实时嵌入式操作系统的种类繁多,大体上可以分为两种:商用型和免费型,前者系统功能稳定、可靠,并有完善的技术支持和售后服务,建立应用开发较为容易,但价格昂贵,代表性的有美国WindRiver公司的VxWorks操作系统、Microsoft公司的WinCE操作系统;免费型可以节约成本,且源码公开,便于开发,代表性的有嵌入式Linux系统、μC/OS系统。
二、嵌入式μC/OS的体系结构介绍
由于μC/OS结构简单,编程工具绝大部分是C语言编程,可以在大多数界面友好的编译器中编译生成目标代码,如Borland C、Keil等工具,且其内核最小可以到几十K,可以在多种体系结构的微处理器上移植,用户的工作较小,源代码开放,便于学习。μC/OS-II的几大组成部分有:
核心部分(OSCore.c) 是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。
任务处理部分(OSTask.c)完成任务的操作;包括任务的建立、删除、挂起、恢复等等。
时钟部分(OSTime.c)主要完成任务延时等操作。
任务同步和通信部分 为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分; μC/OS-II的软件体系结构如图1所示。从图1中可以看到,如果要使用μC/OS-II, 必须为其编写OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM三个文件。
三、μC/OS在ARM微处理器上的移植
μC/OS-II的全部源代码量大约是6000-7000行,一共有15个文件。将 μC/OS-II 移植到ARM处理器上,需要完成的工作也非常简单,只需要修改三个和ARM体系结构相关的文件,代码量大约是500行。以下分别介绍这三个文件的移植工作:
OS_CPU.H 文件 数据类型定义,这部分的修改是与所用的编译器相关的,不同的编译器会使用不同的字节长度来表示同一数据类型,这里采用的编译器为集成可视化开发环境ARM SDT 2.5,相关的数据类型的定义如下:
#define BYTE INT8S /* Define data types for backward compatibility */
#define UBYTE INT8U /* .to uC/OS V1.xx. Not actually needed for . */
#define WORD INT16S /* ... uC/OS-II. */
#define UWORD INT16U
#define LONG INT32S
#define ULONG INT32U
堆栈单位因为处理器现场的寄存器在任务切换时都将会保存在当前运行任务的堆栈中,所以OS_STK 数据类型应该是和处理器的寄存器长度一致的。
typedef unsigned int OS_STK; /* Each stack entry is 16-bit wide */
堆栈增长方向该设置由编译器选项决定,在本开发中设定堆栈由高地址向低地址增长。
#define OS_STK_GROWTH 1 //define the stack to grow from high to low
2、OS_CPU_C.C 文件
任务堆栈初始化 这里涉及到任务初始化时的一个堆栈设计,也就是在堆栈增长方向上如何定义每个需要保存的寄存器位置,在ARM体系结构下,任务堆栈空间由高至低依次将保存着pc、lr、r12、r11、r10、… r1、r0、CPSR、SPSR。
void *OSTaskStkInit (void (*task)(void *pd), void *pdata, void *ptos, INT16U opt)
{
unsigned int *stk ;
opt = opt; /* 'opt' is not used, prevent warning */
stk = (unsigned int *)ptos; /* Load stack pointer */
*--stk = (unsigned int) task; / * lr */
……; /* r12—r0 */
*--stk = ARM_MODE_SYS; /* system mode */
*--stk = ARM_MODE_SYS; /* system mode */
return ((void *)stk);
}
当前任务堆栈初始化完成后,OSTaskStkInit 返回新的堆栈指针stk,在 OSTaskCreate执行时将会调用 OSTaskStkInit 的初始化过程,然后通过OSTCBInit()函数调用将返回的sp指针保存到该任务的TCB块中。
OSStartHighRdy() 该函数是在主程序OSStart( )多任务启动后执行,负责从最高优先级任务的TCB控制块中获得该任务的堆栈指针sp,通过sp依次将cpu现场恢复,这时系统就将控制权交给用户创建的该任务进程,仅执行一次,此后多任务优先级调度由下面函数执行。
古典文学中常见论文这个词,当代,论文常用来指进行各个学术领域的研究和描述学术研究成果的文章,简称为论文。以下就是由编为您提供的嵌入式毕业论文。
一、嵌入式系统及其应用概述
嵌入式系统是以应用为中心,以计算机技术为基础,软件可编程,硬件可剪裁、重构的专用计算机系统。该系统通常嵌入在对象环境中,并通过其在对象环境下运行的特定程序,完成对外界物理参数地采集、处理,达到对控制对象地响应或人机交互的功能。
目前,嵌入式系统的发展方向主要是解决接口多样性、适应性、灵活性和集成开发环境等的特定应用问题。嵌入式系统应用的底层性与对象系统的紧耦合性是其显着的基本特征。所以,最大限度的满足对象数据采集、控制、开发环境、功耗,以及适应能力、可靠性等品质因数是选择嵌入式系统的标准。
为适应技术发展需求,嵌入系统在不断追求结构紧凑、坚固可靠、技术密集、高度分散的同时,尤以不断创新为嵌入式系统的发展核心。使嵌入系统凸现了高技术门槛,主要表现在软硬件设计的紧密相关性上,特别是构建rtos系统需透彻了解rtos的工作机制和系统资源配制,掌握底层软件、系统软件和应用软件的设计、调试方法。
随着对嵌入式系统的智能化愈加关注,现场可编程、调试、引脚配置变得非常重要和必不可少。所以,用户可配置的sco(在片系统)已成为现阶段嵌入式系统的核心发展技术。通过现场可编程阵列把接口应用设计和系统开发留给系统设计者,提供灵活、多样的片上电路设计平台,使电路板设计变成在片的芯片配置,将嵌入系统地设计带入了软硬件的双编程时期,进一步缩短了产品开发周期。而下一代的在片系统还将发展成一个muc数量可缩放的集合体。
在嵌入式应用系统中,虽然高端产品不断涌现,但由于应用对象、环境的不同特点,嵌入系统的8位机产品仍因应用对象的有限响应时间、完备的集成开发环境、良好的性价比等优势仍然占据着低端应用系统的主流地位。cygnel公司的c8051f系列产品就充分印证了这点。
回顾嵌入式系统的发展历程,已经历了由模拟向数字的演进过程,现又逐步演变为数模并存情形。由最初软件编程主宰的微处理器(嵌入式微处理器、数字信号处理器、单片机),到硬编程主宰的专用集成电路时代,再到今天的现场可编配置时代。嵌入式系统的核心技术正沿着“许氏循环”的浪潮不断前行。而配套的软件设计平台也随着科技进步在不断得到完善。可以预期,软硬双可编程的嵌入式系统时代必会带来更加便捷的开发环境和技术支持。
二、嵌入系统的设计原则
嵌入系统设计具有很强的针对性,软硬件协同设计是系统设计的关键。需解决好软硬件的同步与集成设计问题,要结合具体应用进行综合考虑,保证设计工作的一致性与正确性。在针对具体应用系统的功能目标分析基础上,分解整个系统的各项功能指标和技术要求,结合系统的实时响应要求、接口功能定义与标准、嵌入芯片的处理能力、编程语言、开发环境、产品的升级与维护问题、开发投入能力、产品综合成本等多方面因素进行权衡考虑。
(一)在明确系统性能需求的基础上,细化以下考虑因素
1.系统功能实现手段的软硬件分配。
2.器(部)件选择和系统构建。包括微处理器芯片、外围接口电路、各种驱动电路形式、器部件类型、前后向通道处理方式、人机界面和手段等。
3.控制算法设计以及软件系统的架构形式。
4.语言选择。依据设计者熟练程度和习惯、开发环境和控制功能要求选取。
5.抗干扰问题的解决与设计。包括软件的和硬件的、常规的和特定的。
6.实现工艺和方式。包括印制板设计、走线安装、装配工艺、新材料或新技术的应用等。
在各实施阶段,对项目进度、关键技术的风险因素必须进行审查评估,评价软一硬件的功能设计与分配,以及实现的技术性能、工作量和时间进度。明确电路之间的接口参数、软一硬件功能衔接,以及项目中存在的问题和缺陷,及时发现关键部位或矛盾突出点的瓶颈问题,将隐患排除在早期设计阶段。
(二)嵌入系统中微处理器选择应考虑
1.mcu的算术、逻辑处理能力;运算速度和时钟频率;总线控制功能、中断方式和仲裁机制;ram和flashrom容量;软件加密保护。
2.外围接口功能的可重构配置能力;数据通讯模式;前后向通道类型;端口电压的适应能力等;
3.开发工具的在线调试或仿真能力;flash代码读写环境;编程语言的支持程度;代码的可移植性等。
4.电源电压;功耗等。
嵌入式系统设计中UML的应用论文
摘要:随着计算机技术的发展,嵌入式系统被广泛应用到社会生产中。嵌入式计算机系统与普通的个人计算机系统存在很大区别,它具有节约成本、可靠性高等优势,主要被用于工厂生产设备、大型器件等的控制与监视。而随着人类社会对生产的要求越来越高,因此,需要开发一个更加高效的嵌入式系统。基于此,通过运用UML语言,对嵌入式系统进行设计,以寻求更高效的,符合社会生产需求的计算机嵌入式系统。
关键词:计算机技术;嵌入式系统;UML语言
UML语言又被称为标准建模语言,主要是被用来进行软件开发与支持模型化的计算机图形化的语言。在软件开发过程中,可以通过标准建模语言提供的可视化与模型化支撑进行软件规格、配置及构造的最优化。与此同时,它还是一种易于表达、功能强大、定义良好的建模语言,基于这些优势,将UML语言应用到嵌入式系统的开发设计中,能实现目前用户对该系统的功能、体积、功耗及可靠性的要求。
1嵌入式系统应用背景的产生
嵌入式系统是基于计算机技术,融合了电子技术、半导体技术,并对应用领域实际需求产生的一种具有功能强大、可塑性强及应用广泛的知识集成系统。由于该系统自身的优势,因此,被广泛应用于技术、资金密集的工业生产中。目前,市场中的电子产品、汽车、数码等都应用了嵌入式系统进行生产。嵌入式系统最早形成时还形不成“系统”概念,因为最初的嵌入式系统主要是依靠单片机运行的,只能执行单线程的工作程序[1]。随着计算机技术及商业社会的发展需求,嵌入系统初步形成,可以运用计算机嵌入式系统进行应用软件的编辑,执行任务管理和内存管理等功能。发展到至今,嵌入式系统已经可以实现实时的多任务操作,成为目前应用软件开发的主流,发展与应用前景广阔。
2UML语言及其框图的应用模式分析
UML语言是一种应用于计算机系统编程的可视化建模语言,在具体应用操作中可以实现满足用户对系统需求的刻画、分析、设计集成以及实现和测试,实现系统功能的构建更加合理[2]。UML建模语言可以将建立的模型数据信息运用标准的图形元素直观地展示在用户、测试人员、管理人员以及开发人员或是其他项目相关人员面前,使他们可以对系统的功能、结构设计进行更好的交流,实现对系统的良好构建。目前,市场上最为常用的建模语言主要有Booch、OMT及UML三种语言,相较于其他两种建模语言来讲,UML语言更加简化,操作简单、适用范围广泛,因此,被许多企业采用。UML语言不仅可以对静态的结构进行建模,还可以对具有动态行为的系统进行建模,因此,适用于系统的全部开发阶段。UML语言是一种可视化的建模语言,因此,该语言中的所有语素都是由一个个的框图组成的。系统设计人员应用在UML语言时,就是通过对框图的描述来实现对整个系统的设计。UML语言的框图有很多种,现针对几种主要框图进行分析。BusinessUseCase框图与UseCase:这两种框图所对应的语素不同,BUC框图所代表的语素主要是对整个系统的机构功能进行描述;而UC框图则主要是根据用户对系统的需求,进行系统功能描述。因此,经常被用来与客户之间进行交流,提取有效建构信息。Class框图:此种框图是一种静态图,代表语素主要被用来对系统中的类进行描述。通过对该框图的观察,可以清楚地了解系统中类的内容、功能以及结构关系。StateChart框图:该框图主要被用来对建模对象的状态及各个建模对象之间的转换关系进行描述,主要用来提供建模系统的动态功能[3]。此种框图在实际应用中被广泛运用到系统的实际建立中,可以生成系统构建所需的全部代码。Collaboration框图与Sequence框图:这两种框图都是对系统对象之间的相互关系进行描述的框图。但Sequence框图在进行描述时主要以时间顺序进行,而Collaboration框图则是针对系统角色与显示对象之间的交互进行着重描述。通过Collaboration框图,可以让系统建筑师与质量保证工程师及时了解分析对象的分布情况,若出现不合理状况,系统建筑师便可及时进行调整或重新分配。UML语言中包含的这些框图,在进行系统设计、建模以及分析的过程中,会提供多种不同的图片表达形式,因此,可以用在系统开发的不同阶段。将UML语言中的这些框图应用在嵌入式系统开发中,通过它们之间的有机结合可以构建出一个功能完整、一致的高效系统。
3UML语言在嵌入式系统中的有效应用
3.1以车载GPS终端为例
嵌入式系统在各个领域被广泛应用,在本文中,我们以车载GPS终端为例进行UML语言在嵌入式统中的有效应用研究[4]。机动车的车载GPS终端是用来进行实时定位的装置,被广泛应用在出租车或运输车这类需要进行调度、定位的车队中。该终端的功能实现主要通过车载GPS终端与卫星进行实时的信号传输,实现对机动车位置的掌握,进而进行准确定位。准确定位后,再通过无线通讯网络将机动车位置反馈给远程的中心系统。此时,中心指挥系统就可以清楚掌握终端反馈的位置信息,实现对机动车的远程控制与跟踪。在机动车遇到特殊情况时,中心系统可以通过终端对车辆进行控制,实现车队的正常运行。与此同时,若是车辆遇到险情,车载终端还可以起到电话功能,进行远程报警。
3.2进行嵌入式设计时对UML语言的需求分析
运用UML语言对嵌入式车载GPS终端系统需求进行分析时,可以通过UseCase框图进行系统功能分析。UseCase框图在进行系统功能表达时,在图中显示的车载GPS终端系统功能需求将其分为两部分来展示,即角色与案例。所谓的角色就是指与系统之间进行交互的人和物,而其中的案例则是用来表示系统所提供的功能块。通过UseCase框图对系统进行观察,可以帮助人们将系统实现与系统目标进行分离,因此,可以使系统开发人员详细了解系统的重要组成部分。最后,设计出的系统功能能实现用户的需求,而不会使设计人员在系统细节实现上过多地浪费时间[5]。通过观察UseCase框图发现,车载GPS终端中的角色定位主要有两类,即车载终端的用户与监控中心的.用户。车载终端的用户可以通过终端进行报警。而监控中心系统的用户则可以通过系统查询车辆位置信息及发送调度信息。
3.3通过UML语言对产品进行规格说明
对系统的规格说明要求要比需求分析的显示更为详细,因此,运用UML语言进行嵌入式系统的设计,可以使系统规格说明更加清晰与直观。在对车载终端系统中的规格进行说明时,首先、可以通过Class框图进行描述。该框图可以对系统处理的数据结构进行描述,对接收到的GPS卫星信号进行描述。其次,Class框图在进行规格说明时,还要将系统进行功能模块划分,并且找出所有系统,对主要对象进行识别。之后再通过UML语言中的Collaboration框图对各对象之间的关系进行描述。最后,在进行规格说明的业务描述时,也就是对规范的操作系统完成主要功能流程的显示,此时,可以运用UML语言中的Activity框图进行展示。
4结语
通过对嵌入式系统开发需求以及UML语言的功能进行分析,发现利用UML语言进行嵌入式系统设计可以满足提高该系统的开发速度与产品质量要求。与此同时,还可以增加系统设计的可重复使用性,实现了对系统设计的优化及利用,满足了用户对系统的各项需求,具有广阔的应用前景。
参考文献
[1]禚百田.UML在空调嵌入式系统开发中的应用研究[D].青岛:山东科技大学,.
[2]王承启.嵌入式系统设计方法研究与嵌入式避障机器人的实现[D].北京:北京交通大学,.
[3]廖晓文.基于UML与Petri网的嵌入式系统建模方法的研究[D].广州:广东工业大学,.
[4]曹雷,薛平贞.UML建模在嵌入式系统开发中的应用[J].现代电子技术,(16):41-44.
[5]陶明,唐路其.UML在嵌入式系统开发中的应用[J].江西通信科技,2013(2):7-10
浅谈基于嵌入式系统在教学中的应用论文
论文关键词:嵌入式系统 Proteus ARM 应用
论文摘要:本文指出在嵌入式系统课程的各教学环节引入Proteus、ARM(重点介绍Proteus软件)软件,通过动态仿真模型的设计,能用到毕业设计以及创新设计当中。
1、嵌入式系统的概述
(1)从技术的角度定义:嵌入式系统是以应用为中心,基础是计算机,能够适应应用系统对功能、可靠性、及功耗严格要求的专用计算机。
(2)从系统的角度定义:嵌入式系统是能够完成复杂功能的软件和硬件的组合,并使其紧密粘合在一起的计算机系统。“嵌入式”反映出的这些系统是更大系统中的一个完整部分,称为嵌入式系统。
2、Proteus、ARM软件介绍
Proteus是由英国Labcenter公司开发的嵌入式系统仿真及开发平台,该软件具有以下特点:
(1)能进行智能原理布图;进行单片机软件调试和单片机与外围电路的协同仿真;满足单片机软件仿真系统的标准。
(2)支持常见的单片机类型和飞利浦公司ARM7( LPC系列) 处理器及常见的外围器件如8255,ADC0809。
(3)可以与Keil Version3,ADS1两个集成开发环境结合,,把用汇编和C语言编写的程序编译后,进行软、硬件结合的系统仿真。
3、Proteus软件的应用
3.1 Proteus软件在教学中的应用
在教学的过程中,老师可以将Proteus和Keil 建立的虚拟实验平台搬到课堂上,能够将实践教学和理论教学融为一体,从而让教学的效果得到提高。下面笔者引进一个实际的课堂教学实例。在讲到外部中断处理过程这一章节时,我们可以将Proteus和Keil进行联调,然后通过仿真处理的步骤,可将单片机处理中断的软件执行过程以及单片机内部资源变化的情况以一种直观地感受呈现给学生,从而能够达到单纯的理论教学难以达到的效果。
在运行Protues软件的`状态下,按住Proteus中的电路闭合键,P3.2引脚会有一个下跳沿,PC= 0x0003H,指向AJMP INT0的转移命令,堆栈的指针SP= 0.9H,数据存储器的0.8H和0.9H单元存放着0.1H和0.5H,即该处存放着下一条指令的地址。因此,学生能够迅速的知道,当外部有中断地请求时,程序的自动存储功能可以保存断点的地址,同时程序将会转到中断服务程序的入口地址,因为中断请求是由外部中断0产生的,因此程序就会转到外部中断0的入口地址0003H。通过外部中断执行的例子我们可以看出,在课堂教学上使用Protues和Keil 联调建立的实验平台,我们可以将许多抽象概念直观的介绍给学生,使学生不仅能观察到软件执行时单片机内部的I/ O口和存储器的变化,还可以观察到软件程序和外围电路之间的互动过程。
3.2 Proteus软件的应用
目前所拥有的单片机实验教学包括两个关键的环节,即课内的实验以及课程的设计。所有的实验操作步骤基本上都是在实验箱上完成的。由于受硬件实验箱结构以及资源的限制,学生在做实验的时候不能将所学的知识和软件充分的融会贯通。所以当我们的学生进行自主设计的时候,很多的学生几乎无法完成综合性的实验。假设采用了Proteus软件的仿真实验,就可以弥补硬件实验能力的不足。基于Proteus软件的实验可以分为以下3个阶段。
(1)验证阶段。此阶段的主要任务是让学生熟悉Proteus与Keil软件的运行环境,使学生对单片机虚拟系统的仿真有自身的认识。实验指导方面的教材只需要列出实验的任务和要求、Proteus软件的实验原理图、操作的步骤、流程以及和程序相关的源代码等。学生就可可自行根据实验步骤或实验操作得到录像进行操作、调试,以及观察程序的运行结果。
(2)程序设计阶段。这个阶段主要是培养学生用Proteus绘制系统原理图,以及使用Keil软件进行源程序设计的能力,学生可以根据实验的原理图用Proteus绘制硬件电路图,按照实验的要求完成程序的设计,在Keil的环境下编写出源代码,调试成功后,加载程序到Proteus硬件图仿真。
(3)综合学习阶段。此阶段的主要目的是激发学生学习兴趣,提高学生的主观能动性、以及培养学生的创新能力。学生自主的根据实验的任务和要求设计出硬件额电路(包括CPU型号、元器件及参数的设置等) 并绘制出Proteus的硬件原理图;根据硬件的功能模块对软件进行设计。完成对软硬件设计之后,需对两者进行联调,充分利用Proteus与Keil软件间的联合仿真的功能,及时的发现并改正硬件电路以及程序源代码的错误。系统仿真成功后,再进行实物的制作。在对课程的设计环节中,需要学生在Proteus环境下绘制出硬件的电路图,在Keil软件中编写出设计程序的源代码,并且在设计硬件电路时后尽可能的考虑到实验箱的有限资源,便于在Keil中编写的程序能够更好的被移植到实验箱上。学生可以针对不同的应用类型,选择最适合的单片机,而不是仅仅局限于课堂上常讲解到的单片机。学生也可在联合仿真成功之后,再去进行电路的焊接、软件系统的调试以及程序的固化等,可以避免因设计方案的不正确所造成的不必要的浪费。
4、结语
Proteus和ARM的嵌入式软件在教学中的运用,能充分的利用机房的现有设备,减少了实验设备的硬件维护又与实际的工程系统接近,拉近学习和就业之间的距离。实践证明,这种嵌入式的教学方法不但能降低成本,经济优势明显,而且还具有较高的推广价值。
参考文献
[1]万军,马正华.嵌入式系统及应用课程实践教学的研究[J].中国现代教育装备,2009(15):7779.
[2]李芳,李家庆.基于Proteus+Keil的单片机实验仿真平台[J].中国教育技术装备,2009(4):78.
[3]陈燕,李娜娜.Proteus和Keil在单片机教学中的应用[J].中国科技信息,2009(20):194195.
[4]王玮,曹会宁.Proteus仿真软件在单片机一体化教学中的应用[J].机电产品开发与创新,2009,22(5)
产品设计数据库管理系统的开发及应用论文
摘要:潞安机械公司成功开发的产品数据库管理系统,将产品的研究、开发等各方面的信息集中在一起,解决了目前技术管理中的薄弱环节,使机械公司的产品数据更加精确明了。
关键词:产品设计数据库;图文档管理;通用零件库
潞安机械公司根据本单位的产品结构和设计研发现状,开发出切合本单位实际的产品数据库管理系统,促进了机械公司向专业化、规模化、数字化方向发展。即在现用的CAXA软件基础上引进了CAXA图文档数据管理系统,用来管理所有与产品相关的信息和所有与产品设计相关的过程。
1CAXA图文档管理系统的功能特点
CAXA图文档管理系统主要具备以下功能:文档管理、产品结构管理、设计检索和零件库等功能。主要解决的是文档内容的快速浏览、快速索引和查询,文档的安全性、一致性和版本管理,文档组织结构定义和管理等方面的问题。利用这些功能特点对图纸设计进行管理。
2CAXA图文档管理系统在实际中的应用
2.1明确责权范围,分权限管理
CAXA图文档提供完备的权限管理模式,能将权限的设置工作分解到不同层次的组织管理者,在安全和效率的平衡上有一个很好的解决方案。为了方便日常管理,机械公司针对不同级别的工作人员进行不同的授权。总工程师具有最高权限:可以对产品的大类、产品、产品总装以及零部件进行建立、删除,数据及图纸的导入导出;工程师的权限:可以对产品、产品总装进行建立、删除;而普通科员的权限仅为浏览、创建零件、编辑、出入库、复制、打印等一些基本的应用功能。
2.2实现技术文件的共享和统一管理
CAXA图文档把所有的.产品图纸和工艺文件统一存放在服务器中,并清楚地记录了是谁,在什么时候上传的图纸等详细资料,并提供对图纸快速浏览的工具。以前产品图纸都存放在个人电脑中,一旦技术人员调离,查找图纸就十分困难。将图纸导入图文档,通过查询功能,就可以快速找到所需要的图纸。有时也会出现这样一种情况:客户传真来图纸订做产品,由于纸质图纸保存不当,一旦和客户发生争议就无据可循。现在由于把所有传真文件和产品图纸都存放到图文档中,有效地解决了这个问题。
2.3有序的文件版本控制
在企业的生产运营过程中,产品图纸有时需要作变更设计,经多次变更设计后,图纸的变更信息不能及时反映到其它部门,而CAXA图文档有着很优秀的图纸版本控制功能,见图1。图文档可以记录每次修改时间、修改人、修改原因,当前版本是哪个,还可以查看所有的历史图纸,详细记录了图纸的所有变更过程。每一次对图纸、文件的出库、入库以及修改都会在文档的工作版本情况中产生一个新的文档版本,同时旧版本的文档信息仍旧保留在产品数据管理的数据库中,而且可以根据设计对象所处的不同状态,形成不同版本的状态名。其一般形式为a.1、a.2、a.3......,以此来记录产品图纸的设计过程和演变过程。
2.4实现清晰的产品结构
在采用图文档管理系统以前,机械公司的产品组成关系比较笼统,经常出现图纸上标识的零配件与实际使用的不相符合等情况,图纸等资料只能靠熟悉情况的工作人员来进行管理。可是,在实际的生产过程中,一旦熟悉资料情况的工作人员不在时,其他有需要使用的工作人员则要花费大量时间和精力去查询已有图纸,这就大大降低了员工的工作效率。CAXA图文档的产品结构树中可以清晰明了地表示产品的组成关系,使得这个问题得到完美解决,有力地促进了企业的信息化管理。
2.5建立通用零件库
模块化设计是产品设计开发过程中的重点和关键,即充分利用标准化的原理和方法,提高产品零部件的标准化程度,最终形成产品图纸的系列化和模块化。这种方法可以用最少种类的零件,设计出尽可能多的成品,使企业在运营中产品的总成本降到最低。借着开发图文档的机会,潞安机械公司通过对液压支架销轴类、立柱千斤顶,胶带机托辊等技术进行全面的分析和研究后,形成了液压支架销轴类、立柱千斤顶、托辊标准件等一系列的标准化的零件库,避免了在产品设计过程中重复出图纸,提高了产品的设计效率。
3结语
采用数据库管理系统后,各种信息及时存入数据库,极大地满足了信息共享,用户提出新的要求时,方案设计及时更新,在图纸设计阶段,将技术协议、配套方案及时入库,方便设计人员查看;同时可以及时查看各种零部件,直接借用相同部件,在标准件库之间调用销轴类、立柱千斤顶类零部件,避免了重复出图,节省了设计时间。同时,数据库导出的材料信息可以与ERP生产系统进行物料输入、工单投料有机结合,满足生产需要,缩短了产品研发周期。
注射机仿真系统软件设计与开发论文
摘要:文章介绍了注塑机的发展历史,及将注塑系统与虚拟制造技术相结合,采用OpenGL建立图形控制平台,3D数字化技术、多传感交互技术以及高分辨显示的科学可视化技术。通过生成三维逼真的虚拟场景,使用户与场景进行实时交互,感知和操作虚拟的注射机。
一、注塑机综述
(一)注塑机的原理
现以XS—ZY—250A型注塑机液压系统为例介绍注塑机的原理。该注塑机采用了液压—机械式合模机构。合模液压缸通过对称五连杆机构推动模板进行开模和合模。连杆机构具有增力和自锁作用,依靠连杆弹性变形所产生的预紧力来保证所需的合模力。系统通过比例阀对多级压力(指开合模、注射座前移、注射、顶出、螺杆后退时的压力)和速度(指开合模、注射时的速度)的控制,油路简单,使用阀少、效率高,压力及速度变换时冲击小,噪声低,能实现远程控制和程控,也为实现计算机控制创造了条件。注射过程主要分为如下几个过程:合模–注射座前进–注射–保压–预塑–注射座后退–开模–顶出–螺杆后退。
(二)注塑机的发展
从注塑机出现起,大多数的中小型注塑机锁模力只达到1000~5000kN,注射量达到50~g。到七十年代末期,工程塑料取得了飞速的发展,特别是在宇航、汽车、机械、船舶以及大型家用电器方面的广泛应用,使大型注塑机的发展取得了巨大的进步,其中美国最为明显。在1980年全美国市场上大约有140多台10000kN以上锁模力的大型注塑机,到了1985年增加到500多台。目前,当今世界最大的注塑机是由日本名机公司制造的,其锁模力达到12万kN,注射量达到92kg。但是当前国内外尚无注塑机仿真系统软件的开发与设计,只是单纯的注塑机优化设计,在教学与培训中只能有昂贵的注塑机实体来进行。在注塑机仿真系统软件开发与设计领域,现在处于一片空白,塑料注射成型过程仿真集成系统是注射成形CAE软件用来模拟、分析、优化和验证塑料零件和模具设计。所以此软件的开发与设计具有广阔的前景。
(三)注塑机现状
注塑机是将热塑性塑料或热固性塑料利用塑料成型模具制成各种形状的塑料制品的主要成型设备。由于塑料制品广泛应用于各个邻域,使得注塑机和注塑模具的应用也越来越广泛。注塑加工过程是一个周期性的生产过程,现代化的注塑机械大都采用计算机控制,自动化程度高,机械设备费用昂贵,一套精密模具动辄耗费数十万元,而且实际生产中有高温、高压的工作环境,因而对生产线的操作人员有严格要求。
不恰当的误操作,不仅会损坏机械设备和模具,为企业带来巨大的经济损失,同时也会危害到操作人员的身体健康,因而对注塑机械的操作人员一定要进行严格的培训。传统的注塑机操作培训必须在实际机床上进行,这既占有了设备加工时间,又具有风险。因此,要使学生了解注塑成型机的结构、操作流程和工艺过程,到实际的注塑成型机上实习是不太现实的。
二、注塑机仿真软件的介绍
(一)基本思路及创新点
基本思路:该选题将注塑系统与虚拟制造技术相结合,采用OpenGL建立图形控制平台,采用3D数字化技术、多传感交互技术以及高分辨显示的科学可视化技术。通过生成三维逼真的虚拟场景,使用户与场景进行实时交互,感知和操作虚拟注射机。
创新点:研制开发出能模拟真实操作环境的虚拟注塑成型系统。该系统将多媒体技术与程序控制技术相结合,运用三维软件建立注塑机和注塑模具的三维模型,运用动画制作软件制作注塑成型过程的各个动画,采用程序控制技术,控制三维场景的加载和动画的显示。该系统能使学生与场景进行实时交互、感知和操作注塑机和模具,让学生在虚拟环境中动手去做实验。软件本身具有开放性、可移植性,操作简单易学,可以为广大高校、培训机构及注塑成型相关企业所接受。
(二)科学先进性
现有技术中关于注塑机这一领域,只有注塑机实体,尚无注塑机仿真系统软件。本项目基于虚拟现实技术的注射机仿真软件,可用于注塑机和注塑模具的教学、注塑机操作培训、注塑系统远程培训等多个方面。
该软件采用OpenGL建立图形控制平台,分别构造了基础数据库、场景数据库、显示驱动库、仿真展示库等模块。系统设计与实现中将操作面板、逻辑控制器、模型控制器和图形平台分为相对独立的模块。
该软件可以进行功能演示与模拟操作。功能演示主要以动画播放、声音解说与文字介绍三者结合的形式,介绍卧式螺杆注射机的结构装置、工作周期、工作原理以及操作过程。操作功能主要进行注射机合模、注射、射座、顶出、调模整个工作过程的仿真。仿真效果可以达到比较高的水平,在注射机的仿真过程中,不仅可以实现基本的图形操作:平移、旋转、缩放和选择,还可以隐藏注射机部分部件,使学生可以更好地观察注射机的内部构造。运用该软件,学生不仅可以更加直观清楚地掌握注射机的结构原理及其基本的操作过程,还可以在软件上进行注射机的模拟操作,加深对注射机操作的.理解与记忆,方便教师的教学。
三、注塑机仿真软件使用说明及技术特点
(一)使用说明
该软件可以进行功能演示与模拟操作。功能演示主要以动画播放、声音解说与文字介绍三者结合的形式,介绍卧式螺杆注射机的结构装置、工作周期、工作原理以及操作过程。操作功能主要进行注射机合模、注射、射座、顶出、调模整个工作过程的仿真。
仿真效果可以达到比较高的水平,在注射机的仿真过程中,不仅可以实现基本的图形操作:平移、旋转、缩放和选择,还可以隐藏注射机部分部件,使学生可以更好地观察注射机的内部构造。
(二)技术特点
该软件采用OpenGL建立图形控制平台,分别构造了基础数据库、场景数据库、显示驱动库、仿真展示库等模块。系统设计与实现中将操作面板、逻辑控制器、模型控制器和图形平台分为相对独立的模块。
四、注塑机仿真软件设计路线
1、首先对现实世界的注射机进行深入的了解,掌握其基本的构成和工作原理以及其应用方法,为软件的实现打下基础。
2、选取HDX50型卧式注射机通过solid works进行三维建模,初步模拟其工作状态,并将其转化为STL格式,进行网格优化后作为之后场景数据库设计的基础。
3、通过需求分析将软件系统进行模块化设计。拟定四大模块:主界面模块、操作面板模块、控制器模块、展示平台模块。
4、着手软件数据库设计,根据需求进行以下几个方面的设计:基础数据库、场景数据库、显示驱动库、仿真展示库。其中基础数据库定义一系列基础数据库,包括颜色类,图形基础类(HsghObject);场景数据库提供场景的构建,组织场景中的节点,并对其进行操作等功能;显示驱动库主要提供视点处理、显示驱动,材质渲染,图形处理等功能;仿真展示库是一个封装了将场景展方法的类,实现注射机运动动画仿真。
5、具体设计模块,设计好各模块之间的接口。使各模块的功能能得以实现。
6、进行软件测试,并针对测试结果对软件进行优化,基本上完成注射机仿真系统软件的设计与开发。
五、注塑机仿真软件应用前景
由于塑料制品广泛应用于各个邻域,使得注塑机和注塑模具的应用也越来越广泛。注塑加工过程是一个周期性的生产过程,现代化的注塑机械大都采用计算机控制,自动化程度高,机械设备费用昂贵,一套精密模具动辄耗费数十万元,而且实际生产中有高温、高压的工作环境,因而对生产线的操作人员有严格要求。不恰当的误操作,不仅会损坏机械设备和模具,为企业带来巨大的经济损失,同时也会危害到操作人员的身体健康,因而对注塑机械的操作人员一定要进行严格的培训。传统的注塑机操作培训必须在实际机床上进行,这既占有了设备加工时间,又具有风险。因此,要使学生了解注塑成型机的结构、操作流程和工艺过程,到实际的注塑成型机上实习是不太现实的。
该软件是基于虚拟现实技术的注射机仿真软件,可用于注塑机和注塑模具的教学、注塑机操作培训、注塑系统远程培训等多个方面。采用计算机虚拟注塑成型系统进行学习和培训,可以建立一个感性认识和理性认识相统一的实验环境,给学生以逼真的体验,能够在虚拟环境中动手去做实验,增加感性认识。这样不仅可以大幅度降低学习或培训的成本,缩短学习时间,还能消除安全隐患,使教学和培训工作变得安全可靠。因此,这是一个十分重要且具有广阔前景的研究课题。
参考文献
[1] 李德群.模具企业数字制造技术的现状与发展[J].CAD/CAM与制造业信息化,.
[2] 刘志坚.基于KBE的冲压工艺设计系统的研究与开发[D].华中科技大学,.
[3] 李德群.国内外注塑模CAD/CAE/CAM发展概况[J].模具工业,1994,(9).
[4] 李德群.现代塑料注射成型的原理、方法与应用[M].上海交通大学出版社,2005.
基于WPF的学生成绩管理系统应用开发论文
摘要:针对当今中小学学生考试成绩管理的普遍需求, 运用微软.NET框架中的WPF技术以及MVVM开发模式, 研究并设计学生成绩管理系统, 实现学生管理、课程管理、班级管理、考试管理、成绩管理等功能。该系统开发效率高、运行速度快, 能够为中小学教务管理人员带来极大的工作效率提升。
关键词:WPF; 成绩管理; .NET; MVVM;
Abstract:In view of the general needs of today's primary and middle school students' score management, uses the WPF technology and MVVM development model in the Microsoft.NET framework, studies and designs the student grading management system to achieve student management, course management, class management, test management, score management, etc. The system has high development efficiency and fast running speed, which can bring great work efficiency improvement to the teaching management staff of primary and middle schools.
Keyword:WPF; Score Management; .NET; MVVM;
0 引言
随着社会的发展以及教育质量的提高, 我国中小学教学规模不断扩大, 招生人数日渐增多, 所教学的课程以及对学生的考核形式也逐渐多样化, 这使得教务管理工作在数量和难度上都大大增加。学生考试成绩管理在教务管理工作中处于核心地位, 考试成绩管理工作是衡量教学及管理质量的重要指标。而当今不少中小学对成绩管理依然采用传统的人工管理方式, 这种管理方式不仅效率低下, 并且随着时间的推移, 将产生大量的文件和数据, 对于查找、更新和维护都带来诸多的困难和不便。
在目前信息时代下, 利用计算机技术进行信息处理无疑是更好的解决方案。使用微软.NET框架中的WPF技术以及C#高级编程语言, 能够高效率地开发出Windows平台下的桌面应用程序。利用这些技术开发一款学生成绩管理系统, 能够帮助教务管理者对学生成绩信息更加高效地管理、维护, 从而对教学质量有进一步的提升。
1 功能需求分析
针对当今中小学状况来看, 不同地区、不同学校的教学手段不尽相同, 甚至可能有着较大的区别, 在学生成绩管理工作中则主要体现在其所开设课程以及考核方式等不同。例如对于高中而言, 各班级具有理科班、文科班等区分, 对其所开设的考试也有不同的侧重处, 因此在本系统中应当实现课程管理、班级管理和考试管理功能, 使得教学管理人员能够针对不同课程、不同班级进行不同的'考核方式。
考试成绩管理工作能够影响到学校中的每一位师生, 而考试成绩管理系统也是如此。教师需要使用该系统对其所教授课程的考试进行分数录入、导出打印等, 学生可以通过该系统及时地对考试成绩进行查询、并且与其他同学或家长进行分享等。
由上, 系统所主要面向的用户可分为三大类:教学管理员、教师以及学生, 各用户类别可进行的操作如下:
(1) 教学管理员:课程管理、班级管理、考试管理、用户管理;
(2) 教师:分数录入、分数导出;
(3) 学生:分数查询。
2 系统设计
2.1系统架构
系统采用C/S (Client/Server, 客户端/服务器) 架构。在该架构中, 客户端通过互联网与服务器形成连接, 整个系统的工作将合理地分配到客户端与服务器中, 能够充分地利用两端的硬件资源, 并降低系统的资源开销。该架构模型如图1所示。
在本系统中, 客户端主要负责数据呈现、操作提示、数据录入查询等功能, 服务器端则主要负责数据库的维护功能。
2.2功能模块设计
根据本系统所面向的用户分类, 系统的功能模块主要划分为教学管理员用户模块、教师用户模块以及学生模块。系统功能模块图如图2所示。各模块所实现功能详细描述如下:
(1) 管理员用户模块
(1) 课程管理:对学校所开设的所有课程进行添加、删除、修改等;
(2) 班级管理:根据不同的学年, 对班级进行添加、删除等更改;
(3) 考试管理:根据不同班级、不同课程进行考试的管理;
(4) 用户管理:对本系统的用户进行管理, 包括教师、学生。
(2) 教师用户模块
(1) 分数录入:对自身教授课程所开设的考试进行分数的录入;
(2) 分数导出:能够将某次考试的成绩按班级划分导出成Excel文档;
(3) 个人信息管理:更新个人信息。
(3) 学生用户模块
(1) 分数查询:对参加过的考试进行分数查询;
(2) 个人信息管理:更新个人信息。
2.3 数据库设计
系统采用My SQL数据库, 其具有体积小、速度快等优点, 足够用于保存成绩管理系统所需数据。系统数据库共包含以下12个数据表:用户信息表、学生表、教师表、系统管理员表、年级表、班级表、课程表、课程分配表、考试表、考试班级表、考试课程表、分数表。各数据表所包含字段信息如下:
(1) 用户信息表:id、用户类型、学/工号、性别、年龄、联系方式、登录密码;
(2) 学生表:id、对应用户信息外键、所在班级外键;
(3) 教师表:id、对应用户信息外键;
(4) 系统管理员表:id、对应用户信息外键;
(5) 年级表:id、学年值;
(6) 班级表:id、所在年级外键、班级序号;
(7) 课程表:id、课程名称;
(8) 课程分配表:id、对应课程外键、对应班级外键、对应教师外键;
(9) 考试表:id、考试名称、考试日期时间;
(10) 考试班级表:id、对应考试外键、考试班级外键;
(11) 考试课程表:id、对应考试外键、考试课程外键;
(12) 分数表:id、对应考试课程外键、对应学生外键、得分。
3 系统实现
3.1开发模式
系统采用WPF技术进行开发, 能够编写出美观的界面, 为用户提供良好的交互体验。并且使用MVVM (Model-View-View Model, 模型-视图-视图模型) 开发模式进行开发。其中模型即代表所用数据, 视图即为用户使用该系统时所能够看见的页面、外观 (UI) , 而视图模型相当于数据与视图间的媒介, 通过数据创建好视图模型后传递给视图进行数据的呈现。不同于MVC (Model-View-Controller, 模型-视图-控制器) 模式通过控制器进行主要业务逻辑处理, MVVM模式则主要通过数据模型中所包含操作命令 (Command) 以及XAML中的绑定器 (Binder) 等对数据进行逻辑处理。这种模式能够更好地促进视图层开发与其他层次的分离, 使得程序开发更为模块化, 从而提升开发效率。
3.2数据库操作
本系统中数据库连接、操作使用.NET框架下的Entity Framework (简称EF) 实现。使用EF对数据库进行操作主要分为代码优先模式和数据库优先模式, 由于本系统中数据库结构较为复杂, 因此采用数据库优先模式, 即根据已经创建好的数据库在项目中直接生成数据库中各项数据表所对应的实体类。
要对My SQL数据库使用EF数据库优先模式, 在开发机器中必须安装My SQL for Visual Studio、My SQL Connector Net, 并且在项目中通过Nu Get包管理器添加My SQL.Data以及My SQL.Data.Entity包, 且该4项软件包的版本必须相互对应, 否则无法进行正常运作, 一个可行的对应版本号有:2.0.5、6.10.7、6.10.7、6.10.7。各软件包安装完成后, 只需通过新建项在项目中添加ADO.NET实体数据模型, 并按照对应提示连接数据库、选择数据模型和数据表后即可自动生成所选择的数据表对应的实体类以及一个Db Context类, 所有对数据库进行的操作均通过该类来进行。例如读取所有考试班级的示例代码如下:
var list=db Context.Exam Classes.Include (nameof (ExamClass.exam) )
.Include (nameof (Exam Class.t_class) .To List () ;db Context Db Context
其中db Context即为Db Context类的示例, ExamClasses为数据库中的所有考试班级, 后两项Include则表示各个考试班级需包含其对应的考试以及班级信息。
33.3 Excel数据导出
系统采用NPOI开源库进行Excel数据导出功能的实现, 需首先通过Nu Get包进行安装该库。使用NPOI可在系统未安装Office组件时完成对Word、Excel等文档的读写, 并同时支持97-2003版本及其以后版本的Office文档。以下示例代码为将Data Table中的内容导出至filepath所指的xlsx文档:
以上代码中首先创建XSSFWorkbook实例作为文档的对象, 并通过Create Sheet方法在该文档内创建表格Sheet对象, 随后通过遍历Data Table中的各行各列往表格中插入数据, 最后通过File Stream以及Write方法将文档实际保存至filepath文件中。
4 结语
本文简要介绍了使用.NET框架中WPF技术对面向中小学的学生考试成绩管理系统进行分析、设计以及实现, 相信对使用WPF技术的开发人员具有一定的借鉴性, 并希望该系统能够为中小学的教务管理人员带来工作效率的提升。
参考文献
[1]郭寒风.基于C#的高校社团助手应用开发[J].中国科技信息, 2016, 18:30-31.
[2]郭寒风, 陈爱国..NET Core平台下的教务管理系统开发[J].中国科技信息, 2018, 6, 44-45.
[3]乔晶.高校学生成绩管理系统设计与实现[J].电脑编程技巧与维护, 2015, 23:59-60.