ART270嵌入式系统在测井仪器调试及检测中的应用

| 收藏本文 下载本文 作者:隐居山里

下面是小编精心整理的ART270嵌入式系统在测井仪器调试及检测中的应用(共含6篇),希望能够帮助到大家。同时,但愿您也能像本文投稿人“隐居山里”一样,积极向本站投稿分享好文章。

ART270嵌入式系统在测井仪器调试及检测中的应用

篇1:ART270嵌入式系统在测井仪器调试及检测中的应用

ART270嵌入式系统在测井仪器调试及检测中的应用

嵌入式系统是先进的计算机技术、半导体技术、电子技术以及各种具体应用相结合的产物,很适合在测井仪器中应用,文章介绍了嵌入式系统在测井仪器中的一个应用实例.为了便于仪器的调试和检测,我们利用ART270嵌入式系统设计了一套仪器调试检测系统,该系统充分利用了ART270嵌入式系统的紧凑、灵活、便捷的特性,极大地方便了仪器的调试和检测.伴随着嵌入式系统的.不断发展,必将给测井仪器提供更新的手段,对嵌入式系统进行一些初步的研究和探讨将为其以后在测井仪器中有更进一步的应用打下基础.

作 者:涂文荣 马文中 齐向阳  作者单位:大庆钻探集团测井一公司,黑龙江,大庆,163414 刊 名:石油仪器 英文刊名:PETROLEUM INSTRUMENTS 年,卷(期): 23(5) 分类号:P631.8+1 关键词:嵌入式系统   ART270   Windows CE   eVC4.0  

篇2:液晶显示在嵌入式系统中的应用

液晶显示在嵌入式系统中的应用

摘要:介绍了液晶显示在嵌入系统中的应用编程,给出了在液晶显示与系统接口的应用层编程中,采用环形结构算法来达到快速、简单地进行汉字代码的编码以及汉字的分页和分行显示的显示应用程序。

关键词:嵌入式系统;液晶显示;环形结构算法;汉字显示

1 引言

在嵌入系统中,一个良好的人机界面必须提供友善的菜单,同时应能实现汉字和图形显示,并应提供英文、数字输入和汉字输入功能。笔者采用香港精电公司的128×64点阵显示模块在以MPC860作为主CPU并以Nuclus PLUS为嵌入式操作系统的系统中进行液晶显示?取得了较为满意的效果。图1所示为其结构框图。

香港精电公司的128×64点阵模块内部自带液晶图形显示控制芯片T6963,其中C/D脚用于控制字与数据,RD和WR分别为读、写使能端。当WR为低时,C/D为高为写命令,C/D为低为写数据;而当RD为低时,C/D为高为读状态?C/D为低为读数据。另外,CE为器件使能引脚,D0~D7为数据和地址复用总线引脚。

(本网网收集整理)

2 应用编程

利用MPC860嵌入式系统的快速性,可将显示应用程序分为两层,其中底层为硬件接口层,上层为应用层。硬件接口层主要是显示液晶模块自带的ASCII函数和显示汉字代码函数。由于硬件各不相同,在此不作具体介绍。而上层应用层的主要功能是提供友善的菜单,同时实现汉字和图形显示,并提供英文、数字输入和汉字输入功能。由于硬件接口层的隔离作用,不同的系统具有一定的通用性,以下重点介绍应用层编程中的汉字代码编码方法和显示编程的实现这两部分。

2.1 汉字代码编码

一般西文为8×8点阵,因而显示一个西文字需要8个字节?而每个汉字占4个西文字体,因此显示一个汉字需要32个字节。汉字字库表为一张数据表? 每个汉字在数据表中,通常由32个字节组成一个点阵图形。由于ASCII码编码是由0X00-0X7F表示,因此?每个汉字可由两个字节0Xxx和0Xyy来表示,每个字节为0X80~0XFF(区别于ASCII代码)。第一汉字定义为0X80 0X80,依此类推直至0X80 0XFF ,0X81 0X80,……,……,0XFF 0XFF ,总计可以定义128×128=16384个汉字。

一个汉字代码表可简单表示为:

hz code table?INT?=?

//汉字“数”的`32字节的点阵图形代码为?

0x08?0x49?0x2A?0x08?0xFF?0x19?0x2C?0x4A?

0x10?0xFE?0x22?0x22?0x14?0x18?0x25?0x42?

0x40?0x40?0x40?0x84?0xFE?0x08?0x88?0x88?

0x88?0x90?0x50?0x20?0x50?0x88?0x0E?0x04?

//汉字“据”的32字节的点阵图形代码为?

0x10?0x13?0x12?0x12?0xFF?0x12?0x16?0x1B?

0x32?0xD2?0x13?0x15?0x15?0x15?0x59?0x21?

0x04?0xFE?0x04?0x04?0xFC?0x20?0x24?0xFE?

0x20?0x24?0xFE?0x04?0x04?0x04?0xFC?0x04,

}

2.2 显示编程

在系统显示中,主要的显示方式有页处理和行处理两种。系统可以根据按键来显示某一页。实际上,页也是由相应行来显示的。页中的行可由按键来改变。一个页能显示8行ASCII码或4行汉字代码,带有汉字的行一般要占有2个只有ASCII码的行,而页可以由任意多行组成。显示时,通过按键可控制能显示行,并可在行中输入汉字或ASCII码。

在设计中,所有的页可组成一个环形队列结构,页中的行也可组成一个环形队列结构,其关系如图2所示。图3所示是该系统的显示流程。

下面给出一个行结构:

typedef struct lcdLine

{

struct lcdLine *previous? //前一行

struct lcdLine *next? //后一行

unsigned short lineId? //行特征字

unsigned char showflag? //是否显示汉字

unsigned char start? //显示行号 ,汉字一

定是奇数行如 1,3,5,7

unsigned char lcdseg?16??

//显示的代码如是ASCII码,0X10显示0,

0X3C显示\ ?汉字为0X80 0X81 显示汉字“据”

void ?*flcdLine??struct lcdLine * plcdLine??

//处理行函数

};

由于页是由行组成的,所以页结构的定义如下:

typedef struct lcdPage

{

struct lcdLine *firstLine? //该页中的第一行

struct lcdPage *previous? //前一页

struct lcdPage *next? //后一页

unsigned short pageId? //页特征字

} lcdPage?

下面给出的是一个环行队列函数的程序代码:

VOID CSC Place On List?CS NODE **head? CS NODE *new node?

{

/* Determine if the list in non-empty. */

if ?*head?

{

/* The list is not empty. Add the new

node to the end of the list. */

new node->cs previous=?*head?

->cs previous?

(new node ->cs previous)->cs

next=new node?

new node-> cs next =?*head??

(new node->cs next)->cs previous

=new node;

}?

else

{

/* The list is empty? setup the head and

the new node. */

?*head? = new node?

new node -> cs previous = new node?

new node -> cs next = new node?

}

}

在建立了上述结构后,便可以得出行队列和页队列的组成方法:

lcdLine lcdLine?30??

lcdPage lcdPage?10?; //初始化列

lcdLine?0?..lcdseg?0?=0x80?

lcdLine?0?..lcdseg?1?=0x80?

lcdLine?0?..lcdseg?2?=0x80?

lcdLine?0?..lcdseg?3?=0xBC?

lcdLine?0?..lcdseg?4?=0x80?

lcdLine?0?..lcdseg?5?=0x97?

lcdLine?0?..lcdseg?6?=0x80?

lcdLine?0?..lcdseg?7?=0x98?

lcdLine?0?..lcdseg?8?=0x80?

lcdLine?0?..lcdseg?9?=0x99?

lcdLine?0?..lcdseg?10?=0x00?

lcdLine?0?..lcdseg?11?=0x00?

lcdLine?0?..lcdseg?12?=0x00?

lcdLine?0?..lcdseg?13?=0x00?

lcdLine?0?..lcdseg?14?=0x00?

lcdLine?0?..lcdseg?15?=0x00?

lcdLine?0?..start =1? //第二行起

lcdLine?0?..showflag =1? //汉字

lcdLine?0?.lineId =1001; //行标识

?firstlcdLine 1?=NULL?

CSC Place On List ?&firstlcdLine 1? &lcdLine?0??? //第一页中的第一行

CSC Place On List?&firstlcdLine 1?&lcdLine?1???

CSC Place On List ?&firstlcdLine 1? &lcdLine?2???

CSC Place On List ?&firstlcdLine 1? &lcdLine?3???由于四行即可组成一个循环队列,其中lcdLine?0?指定为第一页的第一个入口行,FirstlcdLine 1与lcdLine为同一行,lcdPage?0?页的入口行为firstlcd-Line;lcdPage?0?.firstLine=firstlcdLine 1?lcdPage?0?.pageID =1001,这样,依据该方法便可以生成任意多的页。具体方法如下:

lcdpage 1=NULL?

lcdPage Place On List?&lcdpage 1? &lcdpage?0???

lcdPage Place On List?&lcdpage 1? &lcdpage?1???

lcdPage Place On List?&lcdpage 1? &lcdpage?2???

lcdPage Place On List?&lcdpage 1? &lcdpage?3???

lcdPage Place On List?&lcdpage 1? &lcdpage?4???

lcdPage Place On List?&lcdpage 1? &lcdpage?5???

这样,用五页即可组成一个循环队列,其中lcd-page_1与lcdpage?0?为同一页。

对于行的显示,最基础的行显示方法如下:

void disp lcd Line?lcdMenu *lcdm?unsigned char start? //START为行号

{

unsigned char i?loop?

unsigned char zt?zt1?

unsigned char sign?

unsigned char offset?

unsigned char offlen?

unsigned char *phz?

unsigned char z0?

phz=?unsigned char *?&hz code table?

/汉字代码初地址

offset=start*16? //显示的位置 行号 *列号

offlen =0?

loop=0?

z0=0x00?

sign=lcdm->showflag? //是否为汉字

while?loop<16? //在同一行中从0列到15列

{

zt=lcdm->lcdseg?loop?? //取第一个代码

if?zt<=0x7F? /小于0X80为ASCII代码

{

disp self ascii?&zt?1?offset??

//在本行,显示自有的ASCII代码

if?sign==1?

{

disp self ascii?&z0?1?offset 16??

//在上一行,同一列的位置,不显示任何代码

}

offset=offset +1?

offlen=offlen +1?

loop++?

}

else

{

loop++?

zt1=lcdm->lcdseg?loop??

//取第二个代码

disp chinese??phz+?zt-0x80? *4096 +?zt1-0x80? *32??1?offset ?? //显示汉字

offset=offset + 2 ?

offlen=offlen +2?

loop++?

}

}

}

3 结束语

由于本系统在显示时采用了环形结构算法,因此,可以达到快速、简单的汉字显示效果。

篇3:液晶显示在嵌入式系统中的应用

液晶显示在嵌入式系统中的应用

摘要:介绍了液晶显示在嵌入系统中的应用编程,给出了在液晶显示与系统接口的应用层编程中,采用环形结构算法来达到快速、简单地进行汉字代码的编码以及汉字的分页和分行显示的显示应用程序。

关键词:嵌入式系统;液晶显示;环形结构算法;汉字显示

1 引言

在嵌入系统中,一个良好的人机界面必须提供友善的菜单,同时应能实现汉字和图形显示,并应提供英文、数字输入和汉字输入功能。笔者采用香港精电公司的128×64点阵显示模块在以MPC860作为主CPU并以Nuclus PLUS为嵌入式操作系统的系统中进行液晶显示?取得了较为满意的效果。图1所示为其结构框图。

香港精电公司的128×64点阵模块内部自带液晶图形显示控制芯片T6963,其中C/D脚用于控制字与数据,RD和WR分别为读、写使能端。当WR为低时,C/D为高为写命令,C/D为低为写数据;而当RD为低时,C/D为高为读状态?C/D为低为读数据。另外,CE为器件使能引脚,D0~D7为数据和地址复用总线引脚。

2 应用编程

利用MPC860嵌入式系统的快速性,可将显示应用程序分为两层,其中底层为硬件接口层,上层为应用层。硬件接口层主要是显示液晶模块自带的ASCII函数和显示汉字代码函数。由于硬件各不相同,在此不作具体介绍。而上层应用层的主要功能是提供友善的菜单,同时实现汉字和图形显示,并提供英文、数字输入和汉字输入功能。由于硬件接口层的隔离作用,不同的.系统具有一定的通用性,以下重点介绍应用层编程中的汉字代码编码方法和显示编程的实现这两部分。

2.1 汉字代码编码

一般西文为8×8点阵,因而显示一个西文字需要8个字节?而每个汉字占4个西文字体,因此显示一个汉字需要32个字节。汉字字库表为一张数据表? 每个汉字在数据表中,通常由32个字节组成一个点阵图形。由于ASCII码编码是由0X00-0X7F表示,因此?每个汉字可由两个字节0Xxx和0Xyy来表示,每个字节为0X80~0XFF(区别于ASCII代码)。第一汉字定义为0X80 0X80,依此类推直至0X80 0XFF ,0X81 0X80,……,……,0XFF 0XFF ,总计可以定义128×128=16384个汉字。

一个汉字代码表可简单表示为:

hz code table?INT?=?

//汉字“数”的32字节的点阵图形代码为?

0x08?0x49?0x2A?0x08?0xFF?0x19?0x2C?0x4A?

0x10?0xFE?0x22?0x22?0x14?0x18?0x25?0x42?

0x40?0x40?0x40?0x84?0xFE?0x08?0x88?0x88?

0x88?0x90?0x50?0x20?0x50?0x88?0x0E?0x04?

[1] [2] [3] [4] [5] [6]

篇4:浅谈基于嵌入式系统在教学中的应用论文

浅谈基于嵌入式系统在教学中的应用论文

论文关键词:嵌入式系统 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].中国现代教育装备,(15):7779.

[2]李芳,李家庆.基于Proteus+Keil的单片机实验仿真平台[J].中国教育技术装备,2009(4):78.

[3]陈燕,李娜娜.Proteus和Keil在单片机教学中的应用[J].中国科技信息,2009(20):194195.

[4]王玮,曹会宁.Proteus仿真软件在单片机一体化教学中的应用[J].机电产品开发与创新,2009,22(5)

篇5:UML 在嵌入式系统设计中的应用

UML 在嵌入式系统设计中的应用

摘要:介绍了UML及将UML应用于嵌入式系统设计中的作用和意义;分析了在嵌入式系统设计中应用UML的基本步骤和难点;结合车载GPS终端系统的设计,描述了一个UML的具体应用过程。

关键词:UML(统一建模语言)嵌入式系统设计车载GPS系统

嵌入式系统设计是一个软、硬件结合的协同设计(Hardware/SoftwareCo-design),需要不同技术背景的人共同开发。这就带来了一个问题,如何使这些具有不同技术背景和专长的人联合开发、协同设计。在软、硬件设计领域中,统一建模语言UML(UnifiedModelingLanguage)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。不同技术背景的设计师只需懂得简单的UML符号就可以轻易地与对方交流、共同设计。正是因为这些特点,在嵌入式系统设计中使用UML建模并书写文档通常可以起到事半功倍的效果。

本文将重点讨论如何在嵌入式系统设计中使用UML技术,并用车载GPS终端项目作为实例来具体演示采用UML的嵌入式系统设计过程。

1统一建模语言UML及其特点

1.1统一建模语言UML

统一建模语言UML是可视化建模语言中的一种。它将模型中的信息用标准图形元素直观地显示,使用户、开发人员、测试人员、管理人员和其他涉及项目的人员可以更好地交流。最常用的可视建模语言有Booch法、对象建模技术(OMT)和统一建模语言UML。其中UML是ANSI和OMG组织所采用的标准,被世界上绝大多数公司所接受。

UML是GradyBooch、JamesRumbaugh和IvarJacobson等许多科学家的集体智慧结晶。可以对任何静态结构和动态行为进行系统的建模,适用于系统开发的不同阶段。采用UML进行设计具有以下优势:

・不同背景的开发人员和设计师可以互相交流;

・可视化描述比较直观;

・简单易学、易用;

・是行业标准,被绝大多数业内人士认同;

・有利于保存系统设计的精髓以供下次开发使用(而不仅仅是一堆电路图和代码);

・有利于项目的回溯、测试。

1.2UML框图

作为一种可视化建模语言,UML中的所有语素是一个个框图。设计人员就是用这一个个框图描述整个系统的设计。UML模型的框图主要有以下几种:

・BusinessUseCase框图和UseCase框图,前者主要描述整个机构的功能,后者主要从用户的角度描述系统的功能。所以后者通常用于与系统客户交流,提取用户的需求。

・Class框图,这一种是静态图,描述系统中的类。在此框图中可以体现类的主要内容和功能、类之间的结构和相互关系。

・StateChart框图提供了建模对象的各种状态及它们之间的转换关系。它提供建模系统的动态功能。这些框图广泛用于建立实际的系统,将会生成系统的全部代码。

・Activity框图与StateChart框图同样描述系统的动态功能,但它着重于显示系统的功能流,显示UseCase框图中某个案例(Case)的事件流。它定义了工作流从何时开始、哪里开始、按什么顺序发生、最终在哪结束。

・Sequence框图显示了UseCase框图中各对象的具体功能流程。Sequence框图演示了业务过程的细节。值得注意的是,这个框图只显示对象,不显示类。即Sequence框图是针对某个特定情况、

特定对象进行的描述。

・Collaboration框图与Sequence框图同样描述对象间的相互关系。但它并不像Sequence框图那样以时间顺序描述,而是着重显示对象与角色之间的交互。其目的是让质量保证工程师和系统建筑师分析对象之间处理过程的'分布情况。如果分布不合理,系统建筑师可能考虑重新分配处理工作。

・Component框图显示模型的物理视图,也显示系统中软、硬件组件及其相互关系。

・Deployment框图则显示了系统的物理布局和各组件的位置及配置方法。

这些框图为系统的分析、设计、建模提供了多种图形表达形式,可应用于开发的不同阶段。它们的有机结合可以构建一个完整而一致的系统。下面针对于车载GPS终端这个具体项目说明UML在嵌入式系统设计中的具体应用。

2UML在车载GPS终端设计中的应用

2.1车载GPS终端系统简介

车载GPS终端是置于机动车内的实时定位装置,如图1所示。它的应用对象是需要定位、调度的车队,例如:运输车队和出租车等。车辆可以通过终端和GPS卫星进行实时、准确的定位,并通过无线通讯网络上报远程的中心系统。中心可以通过终端远程监视车行轨迹,甚至在特殊情况下通过终端控制车辆。同时,终端还可以起到车载电话的作用,并可在车辆遇险时进行报警。另外,通过终端车辆还可以接收少量的调度信息。

2.2需求分析

在对系统进行需求分析时,可以使用UseCase图进行功能上的需求分析。UseCase图分角色(Actor)和案例(Case)两部分。角色是与系统交互的人或物,而案例是系统提供的功能块。使用UseCase观察系统能够将系统实现与系统目标分开,有助于开发人员了解最重要的部分,满足用户需求,而不会沉浸于实现细节。

对于车载GPS终端,主要的角色有两种:车载终端用户和监控中心用户。终端用户可以报警,打车载电话等;而监控中心可以查询车辆位置,发送调度信息。其UseCase框图如图2所示。

2.3规格说明

规格说明比需求分析更详细,通过UML设计可以使规格说明更直观、更清晰。首先,使用Class框图描述系统处理的数据结构。例如在车载GPS终端的规格说明设计时可以使用Class框图描述需要接收的GPS卫星信号,如图3所示。

第二,在规格说明阶段,还需要识别出系统的对象。首先以功能块划分,广泛地找出系统的主要对象;然后使用Collaboration框图描述它们之间的关系。图4描述了车载GPS终端的主要对象,根据框图可以进行进一步的细化。

最后,在规格说明阶段进行系统的业务描述。即规范系统完成一定功能的主要流程。这可以利用Activity框图进行。图5显示了GPS数据到达时,车载GPS终端系统所进行的处理流程。

2.4系统设计

规格说明完成后,需要对系统的各个模块及模块之间的关系仔细地分析,从而确定哪些部分使用硬件完成,哪些部分使用软件实现。在本例中,需要硬件实现的模块有:GPS接收模块、电源模块、用户控制模块、LCD显示模块和GSM通讯模块。所有的控制逻辑和数据计算全部由主控制器的软件实现。

随后,系统设计分为两个分支:硬件设计及软件设计。使用UML的Collaboration图和Component图对系统的硬、软件分别进行系统设计。图6用Component框图描述了车载GPS终端系统的软件系统架构。

2.5构件设计

接下来对每一个系统构件进行详细的设计。对于某些大型工程,甚至需要把每一个构件作为一个项目,重新以需求分析、规格说明开始展开构件设计循环。在构件设计中,除了可以使用前文介绍过的各种UML框图外,通常还需要使用StateChart、Sequence这两种框图描述具体的系统流程细节。

在本例中,GSM模块共有四个状态:待命、有问题、通话中、短消息通讯中。使用StateChart框图描述它们之间的转换关系,如图7所示。

Sequence框图显示了一个特定对象进行特定操作时所遇到的流程。图8显示了车载终端用户甲在遇到危险按下报警按钮后系统的处理过程。

2.6集成测试和部署

在集成测试时,可以联合使用所有的UML框图认真分析每个构件的原理,针对每一个系统功能、每一个可能发生错误的过程写出相应的测试程序,进行完整而可靠的程序测试。

利用UML和系统的设计方法可以使传统的嵌入式系统设计告别“手工作坊”的开发方式,大大提高嵌入式系统的开发速度和产品质量,增强设计的可复用性。

但是UML是图形化描述语言,比较适用于面向对象的程序设计;对于精确的规格设计或非面向对象的语言设计来说就不尽如人意了。在具体应用中,灵活应用注释功能,把框图对应模块所需的具体规格要求以注释的形式写在框图中,充分利用StateChart和Sequence这些框图来完成面向过程部分的设计。

篇6:1553B总线在嵌入式系统中的应用

1553B总线在嵌入式系统中的应用

作者Email: cai_yang@etang.com

1 介绍

MIL-STD-1553是为数据总线定义的军方标准。这种数据总线被用来为各种的系统之间的数据和信息的交换提供媒介,它类似“局域网或者LAN”。

1950年至60年代中,航空电子学是简单、独立的系统,航空、通信、飞行控制和显示器由模拟系统构成;信号主要由模拟电压、同-异步信号和接触式开关构成。

MIL-STD-1553总线的传输速度为每秒1M比特,字的长度为20个比特,数据有效长度为16个比特,信息量最大长度为32个字,传输方式为半双工方式,传输协议为命令/响应方式,故障容错有典型的双冗余方式,第二条总线处于热备份状态;信息格式有BC到RT、RT到BC、RT到RT、广播方式和系统控制方式;能挂31个远置终端,终端类型有总线控制器(BC)、远置终端(RT)和总线监听器(BM);传输媒介为屏蔽双绞线,MIL-STD-1553总线耦合方式有直接耦合和变压器耦合。

2 硬件系统

本系统采用PCI总线接口,PCI桥芯片采用PLX公司的PCI9052。1553B总线芯片采用DDC61580,CPLD主要实现DDC61580和PCI9052之间的.时序及逻辑控制。硬件框图如图1所示。

详细的逻辑控制信号见CPLD逻辑部分。

2.1 PCI9052的主要特点

PCI9052是PLX技术公司为扩展适配板卡推出的能提供一种混合的高性能PCI总线目标(从)模式的接口芯片。该芯片可与多种局部总线相连,并且支持相对慢的局部总线在PCI总线上的突发传送速率达到132MB/s。9052可编程配置直接与复用或非复用的8/16/32位局部总线相连,8位和16位模式便于

ISA卡直接向PCI卡转换。

PCI9052的内部结构中包含了一个独立的ISA逻辑接口,通过这个逻辑接口可以完成由ISA到PCI的平滑转换。它支持8位和16位数据宽度的ISA设备,该设备可以是内存映射,也可以是I/O映射。先读模式用于提高读取数据的吞吐量。一旦ISA接口模式使能,PCI9052只执行单个周期操作。特别指出的是,串行EEPROM必需使ISA接口

模式使能。

可以使用两种方法配置PCI9052用于ISA接口模式。方法一:烧写串行EEPROM方法。使用烧写器,将数据写入串行EEPROM,参照PCI9052的DataSheet来写入恰当的数据。需要注意的是,对于ISA模式,LRESET引脚必须始终为高电平,并确认MODE引脚置为0,处于非复用模式。

方法二:热配置方法。从

PCI总线通过PCI9052芯片来烧写串行EEPROM。该方法需要注意的是,LRESET引脚的极性在ISA模式时由低变为高,并确认MODE引脚置为低。

当为ISA接口模式配置时必须注意以下几点:(1)存取ISA接口引脚时要参照PCI9052引脚的C/ISA模式引脚图来连线。(2)空间0

分配给ISA接口的内存存取。(3)空间1分配给ISA接口的I/O存取。(4)无论空间0的局部地址处于CS0#范围还是空间1的局部地址处于CS1#范围,ISA存取均有效。(5)标准的从周期可以使用空间2、空间3和串行EEPROM来存取。

2.2  DDC61580的主要特点

DDC61580具有以下特点:

●     全兼容MIL-STD-1553接口

●     灵活的处理器/内存接口

●     标准的4K×16RAM

●     自动BC重试

●     可编程BC间隔时间

●     灵活的RT数据缓冲区

●     可编程非法区

●     可选择消息监控

●     支持同时RT/Monitor模式

下面将详细介绍BC、RT以及MT模式的内存组织,编程方法等。

2.3  BC模式操作

BC协议支持所有的MIL-STD-1553消息格式,通过编程BC控制字和命令字的T/R*位来确定消息格式。另外,BC控制字还允许选择通道、自测试、重试、中断以及状态字掩码等。BC模式内存映射包含有8个固定的内存位置,即堆栈指针

A,B、消息计数器A,B、初始堆栈指针A,B和初始消息计数器A,B。在启动消息帧之前,必须首先初始化堆栈指针和消息计数器。特别应注意的是,BC消息块最大是38个字,比如对于RT->RT传输,它包含32个数据,

1个控制字,2个命令字,1个LoopBack字和2个状态字。

2.3.1  BC内存管理

BC内存管理如图2所示。该图说明了堆栈指针包含四个字的消息块描述符,即块状态字,时间标志字,消息间隔时间和消息块地址。块状态字包括消息状态、完成、有效性及总线通道;时间标志字反映了当前消息起始和结束时时间标志寄存器的值,它可以编程为分辨率为2~64us/LSB

嵌入式毕业论文:嵌入式系统的应用

嵌入式系统的应用与开发论文

小波降噪在测井信号处理中的应用

属性技术在油气检测中的应用

数字测井在宝清县朝阳地区的应用

假病毒在RNA病毒检测中的应用研究进展

人工湿地系统在我国污水处理中的应用

信息纽扣DS1991在单片机系统中的应用

信息管理系统在林业生产管理中的应用论文

生物学检测中的纳米技术应用

ART270嵌入式系统在测井仪器调试及检测中的应用(集锦6篇)

欢迎下载DOC格式的ART270嵌入式系统在测井仪器调试及检测中的应用,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档