欢迎来到优发表网,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

购物车(0)

期刊大全 杂志订阅 SCI期刊 SCI发表 期刊投稿 出版社 公文范文 精品范文

嵌入式设计系统(合集7篇)

时间:2023-08-18 17:26:02
嵌入式设计系统

嵌入式设计系统第1篇

[关键词]嵌入式系统 设计

[中图分类号]TP368.1[文献标识码]A[文章编号]1007-9416(2010)03-0009-01

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和具体应用相结合的产物。

近年来,在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术取得迅速发展,嵌入式系统应用范围也急剧扩大。从小到电子手表、电子体温计、翻译机等,大到如冷气机、电冰箱、电视机,甚至马路上红绿灯的控制器、战斗机中的飞控系统等。嵌入式系统几乎无处不在:

1 嵌入式系统的特点

与通用计算机系统相比,嵌入式系统有其自身的特点:

(1)嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

(2)嵌入式系统通常是面向用户、面向产品、面向特定应用的。

(3)嵌入式系统和具体应用相结合,其升级换代也是和具体产品同步进行的。因此嵌入式系统产品一旦进入市场,就具有较长的生命周期。

2 嵌入式系统的发展趋势

消费家电的智能化,为嵌入式系统的发展展现出美好的市场前景,也对嵌入式系统提出新的发展要求;微电子技术和系统设计方法的进步,使得嵌入式系统的发展呈现出以下趋势:

(1)随着嵌入式系统功能的增加,嵌入式系统处理的信息和数据量越来越大,系统对处理的响应时问也要求更严格,嵌入式处理器的主频会越来越高,甚至采用多核的方式来应付日益增长的性能要求。

(2)嵌入式系统在工业领域和某些特殊场合的广泛应用,要求嵌入式系统具有远程控制软件更新和故障诊断的能力。

(3)随着嵌入式系统在手持设备上的大量应用,手持设备的特点要求嵌入式系统功耗、体积更小,重量更轻。

(4)嵌入式系统将具有更加高速的通信接口,如USB2.0、千兆以太网等。

3 嵌入式系统设计流程

嵌入式系统开发分为软件开发部分和硬件开发部分。嵌入式系统开发过程一般都采用“宿主机/目标板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文件,通过串口FUSB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将程序下载固化到目标机上,完成整个开发过程。当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点,图1所示为嵌入式系统开发的一般流程。流程主要包括系统需求分析佞求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试、最终产品。具体情况如下:

(1)系统需求分析:确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非专题与综述功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。

(2)体系结构设计:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。

(3)硬件/软件协同设计:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。

(4)系统集成:

把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。

(5)系统测试:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。

4 嵌入式系统设计面临的挑战

要求更高的应用需求推动嵌入式设计从8/16位转向功能更强大的32位MCU。这种升级给工程师带来了严峻的挑战,提出了一系列前所未有的全新问题。

(1)转变观念,需要熟悉新的开发模式。嵌入式系统应用不再是过去单一的单片机应用模式,而是越来越多样化,嵌入式系统实现的最高形式是片上系统SoC,而SoC的核心技术是重用和组合IP核构件。从单片机应用设计到片上系统设计及其中间的一系列的变化,从底层大包大揽的设计到利用FPGA和IP模块进行功能组合PSoC/SOPC设计。

(2)技术门槛提高,需要学习全新的RTOS技术。

(3)选择合适的开发工具,熟悉新的开发环境。目前从8位升级到32位的一个最大障碍就是开发工具的投入。32位开发工具要比8位开发工具复杂得多,使用的技术门槛要高得多,同时其投资也要高得多。

(4)熟悉硬件/软件协同设计和验证技术、设计管理技术。软/硬件并行设计是嵌入式系统设计的一项关键任务。在设计过程中的主要问题,是软硬件设计的同步与集成。这要求控制一致性与正确性,但随着技术细节不断增加,需要消耗大量的时间。目前,业界已经开发Polis、Cosyma及Chinook等多种方法和工具来支持集成式软硬件的协同设计。目标是提供一种统一的软硬件开发方法。它支持设计空间探索,并使系统功能可以跨越硬件和软件平台复用。团队开发的最大问题就是设计管理问题。

(5)SoC设计所面临的巨大的挑战。SoC已经开始成为新一代应用电子技术的核心,这已成为电子技术的革命标志。过去应用工程师面对的是各种ASIC电路,而现在越来越多所面对的是巨大的IP模块库,所有设计工作都是以IP模块为基础。SoC设计技术使嵌入式系统设计工程师变成了一个面向应用的电子器件设计工程师。随着SoC应用的日益普及,在测试程序生成、工程开发、硅片查错、量产等领域对SoC测试技术提出了越来越高的要求。

[参考文献]

[1] DSP技术及应用.黄仁欣.2002年出版.

[2] 单片机技术.彭永.2007年12月出版.

[3] 电子感测技术.周南山.2007年出版.

[4] 电子技术基础.韦鸿.2008年出版.

嵌入式设计系统第2篇

关键词:嵌入式系统;开发环境

中图分类号:TP311 文献标识码:A文章编号:1009-3044(2011)07-1649-02

A Reseach on Design of Embedded System

FANG Jian-gang

(Computer College, Wuhan University of Technology, Wuhan 473000, China)

Abstract: Embedded technique as a new and great development force's science technique has been concerned by more and more people.The article discusses the feature of embedded system,embedded software and hardware developing process and design methods.

Key words: embedded system; development environment

嵌入式系统已经广泛的应用到通信、家电、汽车、工业控制等领域,极大的便利了人们的生活。嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统,,也是为实现对象体系智能化控制的计算机系统。嵌入式系统如图1。

嵌入式系统由硬件和软件两大部分组成,其分类可以从硬件和软件进行划分。从硬件方面来讲,各式各样的嵌入式处理器是嵌入式系统硬件中的最核心的部分,而目前世界上具有嵌入式功能特点的处理器已经超过1000种,流行体系结构包括MCU,MPU等30多个系列。很多半导体制造商都大规模生产嵌入式处理器,并且公司自主设计处理器也已经成为了未来嵌入式领域的一大趋势,从软件方面划分,主要可以依据操作系统的类型。目前嵌入式系统的软件主要有两大类:实时系统和分时系统。其中实时系统又分为两类:硬实时系统和软实时系统。

嵌入式系统应该具备4个特性:1) 执行特定的功能;2) 以微处理器和设备构成核心;3) 需要严格的时序与稳定性;4)全自动操作。

1 嵌入式处理器

嵌入式处理器可以分成下面几类:嵌入式微处理器(Micro Processor Unit,MPU)、嵌入式微控制器(Microcontroller Unit, MCU)、嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)、嵌入式片上系统(System On Chip),其中采用RISC架构的ARM微处理器以它优越的性能被广泛的应用与嵌入式开发各个领域。

2 嵌入式操作系统

嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调;它必须体现其所在系统的特征,能够通过加载卸载某些模块来达到系统所要求的功能。实时操作系统是嵌入式系统目前最主要的组成部分。

Linux是目前最为流行的一款开放源代码的操作系统,在当今开发嵌入式系统中,70%以上的项目选择的Linux作为嵌入式系统。另一种常见的嵌入式Linux是UcLinux,它去掉了内存管理单元,该系统直接访问内存,所有的程序中访问的地址都是物理地址。嵌入式Linux有以下特点:精简的内核,性能高、稳定,支持多任务、多种体系结构等。

3 嵌入式系统的设计方法

3.1 嵌入式系统的总体结构

一个嵌入式系统一般都由嵌入式微处理器系统和被控制对象组成,其中微处理器系统是整个系统的核心,由硬件层、中间层、软件层和功能层组成。硬件层是嵌入式微处理器、电路和外设,软件层主要是操作系统,功能层是基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能。中间层是将系统软件与底层硬件部分隔离,使系统的底层设备驱动程序与硬件无关。

3.2 嵌入式系统的开发特点和流程

开发特点:1) 采用宿主机|目标机的方式。2) 生成的代码需要固态化存储。3) 软件代码具有高质量、高可靠性。

开发流程一般由5个阶段构成:需求分析、体系结构设计、硬件|软件设计、系统集成和代码固化。各个阶段之间往往要求不断地反复和修改,直至完成最终设计目标。

3.3 嵌入式系统调试

在嵌入式系统中系统调试是非常困难的,不同于传统软件的调试,因为开发程序平台和目标平台是分开的。一般来说,大部分的工作是在RAM中进行的,只有当程序完成并能运行后才切换到ROM上。调试方法有多种,可分为模拟器方式、在线仿真器方式、在线调试器方式、监控器方式。

4 嵌入式Linux应用程序开发

4.1 开发环境的建立

进行项目开发前,首先要搭建一套基于Linux操作系统的应用开发环境,一般由目标机和宿主机所构成。目标板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主机来完成。双方之间通过关键接口如串口、以太网口或USB口建立连接关系。个人进行嵌入式开发可以在自己的PC上安装一套Linux,使用系统中的工具来编译、调试。多人开发的最好建立个Linux服务器,使用服务器的Linux系统的gcc编译生成目标代码,通过ftp传到每个开发人员的PC,然后通过串口或网络下载开发板上。开发人员也可以在Windows下安装模拟Linux环境的软件(如Cygwin、虚拟机等)来开发。

交叉编译环境是一个由编译器、连接器和解释器组成的综合开发环境。交叉编译工具主要包括针对目标系统的编译器gcc、目标系统的二进制工具binutils、目标系统的标准c库glibc、gdb代码调试器和目标系统的Linux内核头文件。

4.2 引导程序

一个嵌入式软件系统通常可以分为引导程序BootLoader、操作系统内核、文件系统和用户程序4个层次。

BootLoader和PC机中的BIOS很相似,整个系统的加载启动任务完全由它来完成。BootLoader是在操作系统内核或用户应用程序运行之前运行的一段小程序,可以初始化硬件设备,建立内存的映射图,从而将系统的软硬件环境带来一个合适的状态,为最终调用内核和应用程序准备好正确的环境。大多数BootLoader都包含两种不同的操作模式:启动加载模式和下载模式。

BootLoader的启动过程大多数分两个阶段,第一阶段主要包含依赖于CPU的体系结构硬件的初始化代码,通常是用汇编语言实现的,这一阶段任务是硬件设备初始化,为加载BootLoader的阶段2准备RAM空间,拷贝BootLoader阶段2的代码到RAM中,设置好堆栈,跳转到阶段2的C程序入口。阶段2通常是用C语言来实现,这阶段任务是初始化本阶段要使用的硬件设备,检测系统的内存映射,将内核映像和跟文件系统映射从FLASH上读到RAM空间中,为内核设置参数,调用内核。

4.3 Linux操作系统的移植

Linux系统实际上由两个比较独立的部分组成,即内核部分和系统部分。Linux系统的移植分为内核移植和系统移植,内核可以视为由5个功能部分组成:进程管理、内存管理、设备管理、虚拟文件系统、网络。由于Linux内核良好的分层结构将硬件相关的代码独立出来,在做系统移植时,只需要改动进程管理、内存管理和设备管理中被独立出来的那部分与硬件相关的代码,开发者要将自己开发的代码加到Linux内核中,需要确定代码放入到内核的位置,了解Linux的内核配置系统,把开发功能增加到Linux的配置选项中,使用户能够选择此功能。

4.4 应用程序的移植和调试

在开发环境和操作系统建立后,就可以开始应用程序的开发了,应用程序的开发一般先在宿主机上调试完成,然后下载到目标板,宿主机和目标板必须建立可靠的连接,连接主要方式是串口连接、网络连接和JTAG口连接。

Linux中可以使用应用程序资源非常丰富,可将现成的程序移植到嵌入式系统中,可以极大加快开发流程,提高开发效率。

调试应用程序:Linux包含一个gun调试程序gdb,它是一个用来调试C和C++程序的调试器。通过gdb还可以在程序运行时观察内部结构和内存的使用情况。

5 嵌入式Linux驱动程序开发

由于嵌入式设备硬件种类丰富,对于Linux系统的开发,很大工作量是为各种设备编写驱动程序。操作系统一般提供设备驱动程序来完成对特定硬件的控制,以建立应用程序和设备之间的抽象接口。设备驱动程序实际是处理和操作硬件控制器的软件,从本质上讲是内核中具有最高特权硬件的、驻留内存的、可共享的底层硬件处理例程。驱动程序是内核的一部分,屏蔽了硬件的细节,Linux操作系统将所有的设备全部看成文件,都纳入文件系统的范畴,并通过文件的操作界面进行操作。

5.1 驱动程序的开发过程

实现一个嵌入式Linux设备驱动的流程:

1) 查看原理图,理解设备工作原理。2) 定义设备号。3) 实现初始化函数,在驱动程序中实现驱动的注册和卸载。4) 设计所要实现的文件操作。5) 实现所要的文件操作调用。6) 实现中断服务,并用request-irq向内核注册。7) 编译该驱动程序到内核中,或者用insmod命令加载模块。8) 测试该设备,编写应用程序,对驱动程序进行调试。

5.2 模块化驱动程序

当谈到软件时,我们通常称执行态为内核空间和用户空间,模块是在内核空间中运行的,而应用程序则是在用户空间中运行。

Linux通过系统调用和硬件中断完成从用户空间到系统空间的控制转换。模块的作用就是扩展内核的功能,是运行在内核空间的模块化的代码,模块的某些函数作为系统调用执行,而某些函数负责中断。内核模块的一部分保存在Kernel中,另一部分在Modules包中,模块就像一个插件,内核提供一个插槽,在需要时,插入内核中使用,不需要时从内核拔出,这一切都由一个称作Kernel的守护进程自动处理。内核模块的这种动态加载具有以下优点:将内核映像的尺寸保持在最小,并具有最大的灵活性。这便于检验新的内核代码,而不需要重新编译内核并重新引导。

6 总结

本文对嵌入式系统设计的进行了深入浅出的探讨,分析了嵌入式系统的组成和特点,描述了嵌入式系统开发流程以及嵌入式Linux下驱动程序开发特点。

参考文献:

[1] 马忠梅,李善平,叶楠.ARM&Linux嵌入式教程[M].北京:北京航天航空出版社,2004.

[2] 孙天泽,袁文菊,张海峰.嵌入式设计及liunx驱动开发指南―基于ARM9处理器[M].北京:电子工业出版社,2005.

嵌入式设计系统第3篇

关键词:Linux;ARM9;嵌入式系统

中图分类号:TP316.81 文献标识码:A文章编号:1007-9599 (2011) 11-0000-02

ARM9-Based Embedded System Design

Liu Xiwen

(China Shipbuilding Industry Corporation 715 Institute,Hangzhou310012,China)

Abstract:This paper Tames's AT91SAM9261 processor core,gives the embedded system design,development ideas.Brief description of the embedded operating system development,focusing on analysis of embedded systems development environment set up;Ethernet port,USB interface,UART interface design;embedded systems software development,file system migration.

Keywords:Linux;ARM9;Embedded systems

一、概述

嵌入式系统是一种智能部件内装于专用设备的高速计算机,它的主要功能是作为一个大型工程系统中的信息处理部件来控制专门的硬件设备。嵌入式计算机系统广泛地用于办公自动化、消费、通信、汽车、工业和军事领域。

嵌入式的典型应用有:过程控制;通讯设备;智能仪器;消费产品;机器人;计算机外设设备:打印机,终端,磁盘驱动器;军事电子设备和现代武器等。

二、嵌入式操作系统

近十年来,嵌入式系统得到了飞速的发展,嵌入式系统的运行离不开嵌入式操作系统。从支持8位微处理器到16位、32位甚至64位,从支持单一品种的微处理器芯片到支持多品种微处理器芯片,从只有实时内核到除了内核外还提供其他功能模块如:文件系统TCP/IP网络系统、GUI图型系统等。

据嵌入式系统杂志的最新报告,世界各国有四十多家公司,已成功的推出了百余种可供嵌入式应用的实时操作系统,其中几个著名的操作系统是Mentor公司的VRTX,Integrated System公司(ISI)的pSOS,Wind River公司的Vx Works等,这些操作系统适用于实时、多任务应用环境,而且还具有相应的功能齐全的交叉开发环境。

目前嵌入式实时操作系统及其应用开发环境的发展动向是:

(一)嵌入式实时操作系统正向实时超微内核开放发展

近几年,国外发展了一种基于微内核思想设计的精巧的嵌入式微内核,即实时超微内核,超微内核是一种非常紧凑的基本内核代码层,为嵌入式应用提供了可抢占,快而确定的实时服务,在它的基础上可以灵活地构造各种类型的,与现成系统兼容的,可伸缩的嵌入式实时操作系统。能满足应用代码的可重用和可伸缩性(scalability)的需求。Microtec已首先推出了基于实时超微内核的嵌入式实时操作系统VRTXsa,它与VRTX32兼容,并具有更强的功能实时性和可靠性有了很大的改进。

(二)开发环境向开放、集成化的方向发展

由于嵌入式应用软件的特殊性,往往要求应用程序设计者具有一定的实时操作系统的专门知识,能合理地划分任务,合理的配置系统以及目标联机的调试。因此,要设计实现一个高性能的实时应用软件,需要强有力的交叉开发工具系统的支持,国外十分重视发展与实时操作系统配合的嵌入式应用的集成开发环境,现已发展到第三代,它以客户服务器的系统结构为基础,具有运行系统的无关性,连接的无关性的特点。

1993年,MICROTEC推出了世界上最先进的第三代嵌入式集成交叉开发系统Spectra(现称为VRTX开发系统),该系统可在UNIX及WINDOWSNT上建立起开放的网络环境的交叉开发平台,能将多来源的开发工具有机地结成一体对复杂的嵌入式应用开发提供全过程支持。

(三)完整的解决方案

RTOS厂家本身或与其他软件公司和半导体公司配合为典型应用提供解决方案,如PDA、机顶盒、路由器等。

三、嵌入式系统软件的开发环境

构建一个复杂的嵌入式系统,仅有硬件是不够的,我们还需要进行操作系统的移植。我们通常在ARM平台上构建Windows CE、Linux、PalmOS等操作系统,其中Linux具有开放源代码的优点。基于ARM的嵌入式系统设计包含以下内容:

1.基于嵌入式处理器的硬件设计;

2.底层软件平台搭建;

3.Bootloader的移植;

4.嵌入式Linux操作系统内核的移植;

5.嵌入式Linux操作系统根文件系统的创建;

6.电路板上外设Linux驱动程序的编写。

由于嵌入式实时应用系统的软件开发受到时间、空间开销的限制。常常需要在专门的开发平台上进行软件的交叉开发,其交叉开发环境如图1所示。

图1.嵌入式系统开发环境

开发平台称为宿主机,应用系统称作目标机,宿主机可以是与目标机相同或不相同的机型。这种不同机型的开发平台又称作交叉式开发系统。显然,在这种独立的实时软件开发系统上,应配备完整的实时软件开发的工具:如高级语言、在线调试器和在线仿真器等。

四、嵌入式系统硬件设计

本文嵌入式系统硬件核心采用32位高性能ARM9处理器,外扩存储器、USB接口、网口、液晶屏、按键等组成。系统整体架构如图2所示:

图2.系统硬件整体架构

核心模块(图2虚线框内)选用CPU为AT91SAM9261,它是一款以ARM926EJ-S处理器为核心的超低功耗微控制器。该型号专为功耗低、数据吞吐量大的无线手持式应用市场而开发的,其待机电流仅为2.5μA;工作频率500Hz时,电流消耗则为400μA。在工业级温度范围内,处理器性能达到200MIPS时,即使所有外设开启,其工作电流也仅仅是65mA。

(一)AT91SAM9261的主要特性

多层式高速总线内部架构及专用的外设DMA;大容量片上SRAM和灵活的确定过程式TCM支持机制,AT91SAM9261设有16K字节的数据高速缓存、16K字节的指令/写操作缓存、160K字节的200MHz单循环存取SRAM,以及USB器件专用的2K字节内置式DPRAM。Atmel公司充分发挥了ARM926EJ-S紧密式耦合内存构架之优势,让传统(非高速缓存)SRAM直接连接到ARM处理器上而不会出现滞后情况。

嵌入式设计系统第4篇

关键词:ARM 嵌入式系统

中图分类号: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系统的嵌入式硬件平台,在此之上可以提供各种实时操作系统,从而构成一个完整的平台,其硬件部分电路已经进行了信号完整性分析具有一定的可靠性。

参考文献

[1]田泽.嵌入式系统开发与应用[M].北京:北京航空航天大学出版社,2005.

嵌入式设计系统第5篇

关键词:UML;嵌入式系统;OOD建模;双向工程

中图分类号: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++)代码的过程很流畅。

参考文献:

[1] 徐宝文. UML与软件建模[M]. 北京:清华大学出版社,2006.

嵌入式设计系统第6篇

关键词:CANopen;CANopen从站;嵌入式

引言

CANopen是建立在CAN总线的应用层协议,CAN总线是一种架构开放、广播式的新一代网络通信协议,是针对汽车电子系统中的数据交换而开发的控制局域网协议。由于其低成本、高可靠性、高传输速度原因,在工业控制领域得到广泛应用。CAN接口芯片定义物理层和数据链路层,由于系统使用STM32作为系统主控制芯片,内部集成CAN接口芯片,在使用时接上CAN收发器即可。CAN网络通信协议仅可以数据发送、接收、错误处理等底层数据传输问题,本身并不完整,对于应用层没有规定相应的解析协议。为了提高CAN总线效率,实现更加复杂、快速、标准化的CAN通信协议,即CANopen协议。

CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CAL提供了所有的网络管理服务和报文传送协议,但没有定义CMS对象的内容或正在通讯的对象的类型(只定义How,没有定义What)。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展。CANopen的核心概念是设备的对象字典,实现网络管理报文NMT、数据对象SDO、过程数据对象PDO预定义报文或者特殊功能对象核心报文。

1 CANopen从站模块设计

本文中CANopen从站模块是采用ST公司的STM32运行在?COS II上来实现与主站CAN通讯,并具备对CANopen协议报文分析和打包的功能得以实现与主站之间的数据传输和处理。主站方面,应用高级应用程序开发软件编制具备CANopen接口的人机交互界面,使用测试工具CANalyst-II 来实现主站的传输和调试。

2 CANopen从站硬件系统

本文中CANopen从站采用以STM32F103RET6为核心的硬件系统,主要负责CAN通讯与CANopen协议转换功能,从站还具有输入、输出和通讯等功能。

由于微控制器芯片内嵌了完全兼容CAN2.0B的CAN总线控制器,因此硬件系统中的CAN接口电路得到了简化,只需设计CAN总线收发器电路即可。设计中使用了外接隔离型CAN总线收发器,防止总线对从站的干扰,避免核心电路损坏。从站系统除了核心最小系统外,还有模拟量的输入输出、数字量输入输出、外存储器、CAN接口、串口、JTAG接口和电源等子电路。硬件系统整体结构框图如图1所示。

图1 硬件电路整体结构框图

2.1 STM32最小系统

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。本系统采用STM32F103RET6做为系统主芯片,具有64K的片内RAM,512K的片内flash。系统时钟频率可工作在72MHz,若从flash执行代码,STM32功耗仅36mA。STM32内部集成高性能外设,如1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度,内部具有8MHz的RC震荡,可经过倍频后直接作为系统时钟。STM32提供了一个SysTick定时器,可以提供操作系统运行节拍。

2.2 CAN驱动器

CAN收发器(也就是协议控制器)的作用就是完成数据链路层组帧和生成物理层比特流,驱动器的作用是把控制器输出的高低逻辑电平变成CAN总线的差分式电平。STM32内部有CAN收发器,所以,不用考虑该部分硬件设计。协议相关的内容基本都由协议控制器完成,软件上只要配置需要的通信速率、帧ID以及发送的数据内容,然后通知收发器,让它发送就可以。不需要从软件上编写协议。

2.3 串口模块

MAX3232用于显示系统调试相关信息,包括错误提示信息,接收数据信息,系统运行状态。它是一款兼容RS232标准的芯片。由于电脑串口RS232电平是+10v~-10v,而一般的单片机应用系统的信号电压是TTL电平0~+5v,MAX3232就是用来进行电平转换的。

2.4 其他功能模块

从站可以实现模AD和DA功能、数字量的输入输出模块、存储器模块、串口功能,在STM32内部集成有多路AD和DA,可以很经济和快捷的实现以上功能,利用内置的SPI和I2C可以连接外存储器,实现数据的存储,利用内置的UART模块可以实现工业串口通讯。所以,在扩展必要的外部辅助电路接口以后,就可以实现以上几个外设功能。

3 CANopen从站软件系统

从站软件系统采用C语言开发嵌入式操作系统?COS-II下的应用,实现与主站的CANopen接口通讯,同时对模拟量数据的采集和输出、数字量信号的输入输出、串口通讯以及系统参数的存储等功能也都一并实现;主站采用高级应用程序开发软件开发具备CANopen接口的人机交互界面,实现对从站的控制。

根据系统结构,从站系统可以划分为五大模块:CANopen通信模块、模拟量采集和输出模块、数字量输入输出模块、存储器模块、串口模块,系统设计的重点是CAN及CANopen的收发函数,以及在?滋COS-II下实现CANopen协议的对象字典和相应功能。在实现核心功能后,设计几个外设功能模块,提供采集、控制、通信、存储功能,使系统更加完整和实用化备。软件系统的工作流程如图2所示。

图2 软件设计框图

嵌入式设计系统第7篇

为解决公交车的高效便捷清洗问题,基于青岛理工大学韩旭东教授的团队设计的一款“垂直滚筒式公交清洗小车”,利用AT89C51单片机配合其他元器件,设计了相关的嵌入式系统,包括超声波测距系统和手动/自动双模平台升降控制系统,完善了原产品的设计。采用KeilC51软件编写了相应的控制程序,使用Proteus软件绘制了电路原理图,并进行了仿真模拟。

关键词:

公交清洗小车;嵌入式系统;超声波测距;平台升降控制

0引言

为解决公交车的高效便捷清洗问题,青岛理工大学韩旭东教授的团队设计了一款“垂直滚筒式公交清洗小车”[1]。但在该设计中,仅对机械结构与工作原理做了介绍,缺少相关的控制电路与控制程序的设计,给清洗小车的使用带来了极大的不便。本文在原产品的基础上,针对小车与公交车之间距离的控制不准确的问题,设计了超声波测距系统;针对平台升降控制不方便的问题,设计了手动/自动双模平台升降控制系统。有效地提高了该产品的实用性,完善了该产品的设计。

1超声波测距系统

1.1设计目的

清洗小车由人力推动并控制方向,但由于路面不平,人力控制精度有限,会使小车与公交车车体间的距离发生改变,距离过近会使滚筒挤压车体表面,阻碍滚筒旋转;距离过远,则会使滚筒毛刷与车体表面间间隙过大,影响清洗效果。需要一套测距系统使小车与公交车车体间的距离始终保持在一个合理范围之内。

1.2测距方式的选择

超声波测距是利用机械波反射来测量距离,适用于短距离测距,原理简单,成本低,远距离测量精度较低。公交清洗小车的使用环境比较复杂,对测距系统的精度要求不高,测量的距离在1~2m,且要求结构简单、成本低廉、性能稳定。根据需要和集中测距方式的特点,本文选择超声波测距方式。

1.3超声波测距原理

超声波在均匀介质中的传输速度为一恒定值,由发生器发射超声波,在遇到测量目标后反射回来,由接收器接收并记录由发射到接收经历的时间,便可以计算出发生器与测量目标之间的距离[2]。公式如下:L=12C•Δt。式中:L为测量距离;C为超声波在当前介质中的传输速度(空气中常温下速度为340m/s);Δt为从发射到接收经历的时间。

1.4设计内容

本文利用AT89C51单片机、HC-SR04超声波测距模块、LED灯组成了一个超声波测距警报系统。当距离过近时,指示距离过近的红灯点亮;距离适中时,指示距离适中的绿灯点亮;当距离过远时,指示距离过远的红灯点亮。工作人员可以根据灯光指示调整小车位置,使之与车体表面间的距离保持在一个合理范围。1.4.1HC-SR04超声波测距模块工作原理本文所采用的HC-SR04超声波测距模块,具有成本低、体积小、精度高、使用简单方便等优点,其基本工作原理为:1)采用I/O口TRIG触发测距,提供至少10μs的高电平信号;2)模块自动发送8个40kHz的方波,自动检测是否有信号返回;3)有信号返回,通过I/O口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间[3]。1.4.2程序控制过程利用AT89C51单片机自带的定时计数器资源,通过I/O口给超声波模块一个发射信号并开始计时,当收到超声波模块的反馈信号时,结束计时并计算距离。

2手动/自动双模平台升降控制系统

2.1设计目的

现行大多数公交车的高度在3m左右,为能够确保清洗整个车体表面,原产品采用双丝杠旋转驱动平台升降的设计,并利用直流电动机产生动力。为方便用户使用,能够快捷高效操作平台升降,提高清洗效率,本文设计了一套手动/自动双模平台升降控制系统。

2.2设计内容

根据计算,清洗平台需调整2次高度才可将车体表面清洗完毕,为了方便工作人员操作,本文设计了手动/自动双模控制系统。该系统采用AT89C51单片机,配合L289直流电动机驱动模块,通过控制电动机的正反转实现平台的升降,设计原理图见图4[5]。操作过程为:启动系统后,在自动模式下,按UP键,平台会上升一个固定高度;按DOWN键,平台会下降一个固定高度。该高度值是为实现最高清洗效率,以3m高的车身为标准,经优化计算得出的最适高度。因为公交车的型号差异,车身高度也各不相同,所以为满足实际使用要求,我们又设计了手动控制模式。在手动模式下,按住UP键,平台会上升,松开立即停止;按住DOWN键,平台会下降,松开立即停止。为防止工作人员误操作,本文增加了按键防抖动延迟,防止工作人员误触按键;如果UP和DOWN键同时按下,则电动机停转,直至其中一个按键松开。

3结语