(计算机软件与理论专业论文)无线网络传感器及其微型操作系统的研究.pdf_第1页
(计算机软件与理论专业论文)无线网络传感器及其微型操作系统的研究.pdf_第2页
(计算机软件与理论专业论文)无线网络传感器及其微型操作系统的研究.pdf_第3页
(计算机软件与理论专业论文)无线网络传感器及其微型操作系统的研究.pdf_第4页
(计算机软件与理论专业论文)无线网络传感器及其微型操作系统的研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕士学位论文 摘要 计算范例已经经历了主机计算模式( m a i n f r a m ec o m p u t i n g ) 时代和桌面计 算模式( d e s k t o pc o m p u t i n g ) 时代,并开始跨入普适计算模式时代 ( u b i q u i t o u s p e r v a s i v ec o m p u t i n g ) 。普适计算所适用的硬件设备范围非常广泛, 其中,集传感器、控制器、计算能力、通信能力于一身的无线网络传感器( w i r e l e s s n e t w o r k e ds e n s o l s ) 将会得到大量应用。无线网络传感器具有小尺寸、低功耗、 密集的并发操作、有限的控制层次、面向具体应用的设计和健壮的运行要求等区 别于传统计算设备的典型特性,同时,这也使得应用于其上的系统软件的设计颇 具挑战。 本文以普适计算的迅速发展为背景,在现有嵌入式系统和普适计算技术的基 础上,分析了作为普适计算硬件平台重要组成部分的无线网络传感器的基本特性 和结构,研究了这些特性对设计运行于无线网络传感器之上系统软件的影响;并 重点讨论了架构在无线网络传感器硬件平台z u s e n s o r 上的微型操作系统z u o s 的组件结构、事件驱动模型和通信协议的实现方法。无线网络传感器是网络嵌入 式系统的一个应用实例。由于网络嵌入式系统应用的复杂多样,硬件平台的千差 万别,因此如何有效进行系统的设计和开发成为了一个十分关键的问题。本文讨 论了作为网络嵌入式系统设计的编程语言a n t c 的相关问题,包括a n t c 的设计 原则,a n t c 编译器的工作流程,a n t c 编译器的实现工具,a n t c 语言的词法和 语法特点,以及a n t c 对网络嵌入式系统应用中的系统组件结构和事件驱动模型 的支持等。 本文的研究内容得到了国家高技术研究发展计划( 8 6 3 计划) 的资助,项目 编号2 0 0 3 a a l z 2 0 8 0 。 关键字:普适计算,无线网络传感器。微型操作系统,组件模型,事件驱动, z u s e n s o r ,z u o s ,a n t c ,j a v a c c 1 1 1 浙江大学硕l 学位论文 a b s t r a c t t h e c o m p u t i n gp a r a d i g mh a sc h a n g e df r o mt h em a i n f r a m ec o m p u t i n gp a r a d i g m a n dt h e d e s k t o pc o m p u t i n gp a r a d i g m i n t ot h e u b i q u i t o u s p e r v a s i v ec o m p u t i n g p a r a d i g m a n e w t y p eo f e m b e d d e dd e v i c e sc a l l e dw i r e l e s sn e t w o r k e ds e n s o r s ,w h i c h c o m b i n eal o w - p o w e rm l c r o c o n t r o n c r ( m c u ) ,s e v e r a l s t o r a g e d e v i c e s ,as e to f c o m m u n i c a t i o nd e v i c e sa n ds e n s o r sh a sb e c o m eag r e a tc h o i c ei nt h ep e r v a s i v e c o m p u t i n gp a r a d i g m b a s i n go n t h ed e v e l o p m e n to f t h ee m b e d d e d s y s t e mt e c h n o l o g ya n dt h ep e r v a s i v e c o m p u t i n gt e c h n o l o g y , t h i st h e s i sf i r s t l ya n a l y z e st h et y p i c a lc h a r a c t e r i s t i c sa n d t h e o r g a n i z a t i o no f t h ew i r e l e s sn e t w o r k e d s e n s o r sa n d i n v e s t i g a t e st h e a f f e c t i o nw h i c hi s b r o u g h ti n t o t h ec o n s t r u c t i o no ft h es y s t e ms o f t w a r e r u n n i n go nt h e s e w i r e l e s s n e t o r k e ds e n s o r sd u et ot h e i r s p e c i a l c h a r a c t e r i s t i c s a f t e rt h a t ,t h i st h e s i sa l s o d i s c u s s e st h ec o m p o n e n tm o d e l ,t h ee v e n t - d r i v e nm o d e ,t h es c h e d u l e r ,t h ep r i m i t i v e s a n dt h ec o m m u n i c a t i o np r o t o c o lo ft h em i c r oo p e r a t i n gs y s t e mt h a tc a nr u no na w i r e l e s sn e t w o r k e ds e n s o l t h ew i r e l e s sn e t w o r k e ds e n s o r si sa na p p l i c a t i o no ft h en e t w o r k e de m b e d d e d s y s t e m d u et o t h ed i v e r s e a p p l i c a t i o n s a n dt h eh a r d w a r ep l a t f o r m s ,i ti s q u i t e i m p o r t a n tak e yt h a th o w t oe f f i c i e n t l yd e s i g na n d d e v e l o paa p p r o p r i a t es y s t e mu n d e r t h e s ec i r c u m s t a n c e s ,t h i st h e s i sa l s oc o n c e n t r a t e so nt h ei s s u e so ft h ep r o g r a m m i n g l a n g u a g e ,a n t cw h i c h i sa p p l i e df o rt h ed e v e l o p i n go fn e t w o r k e de m b e d d e d s y s t e m , i n c l u d i n gt h ea n t c sd e s i g nr u l e s ,a n dw o r k i n gs t e p s ,a n di m p l e m e n t a t i o nt o o l sa n d e p e c i a l l yt h e i t s s u p p o r to fc o m p o n e n tm o d e la n de v e n t - d r i v e nm o d eu s e di nt h e n e t w o r k e de m b e d d e d s y s t e m s k e y w o r d s :u b i q u i t o u s p e r v a s i v ec o m p u t i n g ,w i r e l e s sn e t w o r k e ds e n s o r m i c r oo p e r a t i n gs y s t e m ,c o m p o n e n tm o d e l ,e v e n t - d r i v e n ,z u s e n s o r , z u o s , a n t c ,j a v a c c i v 浙江大学硕士学位论文 1 1 普适计算的概念 第一章综述 计算范例( c o m p u t i n gp a r a d i g m ) 对计算技术的发展起着至关熏要的作用。 综观计算机进入人类社会的历史,计算范例已经经历了主机计算模式( m a i n f r a m e c o m p u t i n g ) 时代和桌面计算模式( d e s k t o pc o m p u t m g ) 时代,并开始跨入普适 计算模式时代( u b i q u i t o u s p e r v a s i v ec o m p u t i n g ) 。在主机计算模式时代,计算机 是稀缺的资源,人与计算机的关系是多对一的关系,计算机安装在为数不多的计 算中心里,人们必须用生涩的机器语言与计算机打交道。此时,信息空间与人们 生活的物理空间是脱节的,计算机的应用也仅局限于科学计算领域。从2 0 世纪 8 0 年代开始,个人电脑( p c ) 开始流行,计算范例也随之进入桌颐计算模式时 代,人与计算机的关系演变为一对一的关系。随着图形用户界面和多媒体技术的 进一步发展,计算机使用者的范围逐渐从计算机专业人员扩展到其他行业的从业 人员和家庭用户,计算机也从计算中心步入办公室和家庭,人们可以非常方便地 获得计算服务。而现在,伴随着人类社会进入2 l 世纪的脚步,计算范例也开始 跨入普适计算模式时代。普适计算的思想最早由已故的前x e r o xp a r c 首席科学 家m a r kw e i s e r 在1 9 9 1 年提出,他指出“无论何时何地,只要有所需要,就可 以通过某种设备访问到所需的信息”。在普适计算时代,计算机主要不是以单独 的计算设备的形态出现,而是采用将嵌入式处理器、存储器、通信模块和传感器 集成在一起,以信息设备( i n f o r m a t i o na p p l i a n c e s ) 的形式出现。这些信息设备 集计算、通信、传感功能于身,能方便地与各种设备( 包括日常用品) 结合在 一起。不仅如此,信息设备还可以非常廉价地通过无线网络与互联网连接,按照 用户的个性需求进行定制,从而以嵌入式产品的方式呈现在人们的工作和生活中 或者是手持的,或者是可穿戴的,甚至可以与人们闩常生活中所使用的器具 相融合。这样的结果就是,由通信和计算构成的信息空间将和人们生活和工作的 物理空间融为一体。 每一种计算范例都会带动适合其特点的计算机科学技术的发展:主机计算模 浙江大学硕士学位论文 式促进了分时操作系统的发展;而桌面计算模式则带动了个人操作系统以及图形 用户界面、多媒体等技术的发展。同样地,普适计算模式势必要求发展与其相适 应的计算机科学理论和技术,而绝不是对目前桌面计算模式所适用的现有理论和 技术的简单线性扩展。这是因为现有的理论和技术还存在着一些不足而难以适应 普适计算模式的要求,比如:现有桌面计算模式是以计算机为中心而不是以人为 中心的:计算资源是私有的,而不是共享的;计算是固定的,而不是随时可移动 的;应用程序之间缺乏互通性等等。所以必须建立一整套与普适计算模式相适应 的计算理论和技术,包括如硬件、网络、中问件、入机交互、应用软件等各个方 面。就目前情况来看,通过国际上各研究团体近几年的探索,普适计算领域中的 一些关键性的研究课题已经逐渐明确,主要集中以下几个方面: 1 开发针对普适计算的软件平台和中间件 主机计算时代研究的重点是多人如何共享一台计算机,如分时操作系统技 术;进入桌面计算时代,研究的重点转为桌面操作系统、多媒体技术:而在普适 计算时代,人们关注的是如何让多个计算实体互相协作,共同为人类提供服务, 屏蔽计算任务是由哪个计算实体具体执行的细节而展现出一个统一的服务界面, 这是支持普适计算的软件平台和中间件研究要完成的任务。具体来说,这方面的 研究内容包括:服务的摇述、发现和组织机制、计算实体问通信和协作的模型、 开发接口等。相应的研究项目和实验系统有m i t 人工智能实验室的m e t a ( 3 1 u e 、 c m u 的a u r a 、u i u c 的g a i ao s 、m i c r o s o f t 的i nc o n e r t 等。 2 建立新型的人与计算服务的交互通道 在桌面计算机时代,桌面计算机是人进入信息世界获取计算服务和信息服务 的惟一途径;雨在普适计算时代,人与计算服务的交互通道将变得更加多样化、 透明和无处不在。例如,“可穿戴计算”概念提出把计算设备和交互设备穿戴在 身上,如此一来,人们就可以随时随地地获得计算和信息服务,这对于在各种复 杂和未知环境中工作的人来说是十分有用的。信息设备的研究则通过在日常生活 中的各种器具中嵌入与其用途相适应的计算和感知能力,使人们在使用这些器具 时可以直接获得计算服务,而不必依赖桌面计算机。这方面的研究项目有i b m 的可以数字化和存储手写资料的记事本、m i t 媒体实验室研究的t h i n g st h a t t h i n k 等。交互空间的研究则试图把计算和感知能力嵌入人们的生活和工作环境 浙江大学硕士学位论文 中,使得人们可以不离开工作和生活的现场,也不必佩带任何辅助设备就可以通 过自然的方式( 如语音、手势等) 来获取计算服务,同时环境也可以主动地观察 用户、推断其意图而提供合适的服务,这就是所谓的“伺候式( a t t e n t i v e 或 p r o a c t i v e ) 服务”。这方面的研究项目有m i t 人工智能实验室的i n t e l l i g e n t r o o m 、 微软的e a s yl i v i n g 、乔治亚理工大学的a w a r eh o m e 等。 3 。建立面向普适计算模式的瓤型也用模型 当一个人需要面对多个计算实体的时候,人的注意力就成为最重要的资源。 在这种情况下,如果各种应用还是延续桌面计算下的模型,这些应用模块的启动、 连接、配置、基于g u i 的对话本身等就会耗费大量的注意力资源,从而降低人 的工作效率。所以我们必须建立新的、关注人的注意力资源的应用模型。为此, 研究者们提出了感知上下文( c o n t e x ta w a r e n e s s ) 计算、无缝移动( s e a m l e s s m o b i l i t y ) 等概念。在普适计算模式下,无处不在的传感器和感知模块完全可以 提供这些上下文信息,而支持普适计算的软件平台也使得这些信息的发布和获取 变得十分容易,这就为开发感知上下文的应用提供了可能。该领域的研究课题包 括上下文的表示、综合、查询机制以及相应的编程模型等。无缝移动的研究关注 的是如何使人在移动中可以透明、连续地获得计算服务,而无需频繁地配鼍系统。 例如,用户手持设备可以通过与用户所处的交互空间的交互获得该空间中可以使 用的服务列表以及用户的移动位置等信息。 4 提供适合普适计算时代需求的新型服务 在普适计算时代,由于计算资源、网络连接和人与计算服务的交互通道变得 无所不在,因此我们可以提出一些在桌面计算时代无法实现的新型服务。例如, “移动会议( m o b i l e m e e t i n g ) ”概念,即一个项目组的讨论可以不局限于一个固 定的地方,而是可以通过各种手持设备或交互空间来随时随地地举行。又如“灵 感捕捉( n o t i o nc a p t u r e 或e x p e r i e n c ec a p t u r e ) ”概念,即可以随时随地把我们 脑海中闪现的灵感火花或我们经历的事件( 如一堂课、一次会议) 快速和方便地 记录下来,并在以后根据时间、地点、参加者和场景等上下文线索进行快速检索。 此外还有“普遍交互( u n i v e r s a li n t e r a c t i o n ) ”概念,即所有家电的控制都可以通 过基于w e b 的界面来完成,这样人们就可以随时随地对家里的设备进行操作。 浙江人学碗t 学位论文 1 2 无线网络传感器的研究概况 普适计算所适用的硬件设备范围广泛,可以包括传统的计算设备以及目前应 用越来越多的各种无线移动设备和智能设备。其中,集传感器、控制器、计算能 力、通信能力于一身的嵌入式设备,无线网络传感器( w i r e l e s s n e t w o r k e ds e n s o r s ) 将很有可能大量应用于普适计算领域。它们跟外界物理环境交互,将收集到的信 息通过传感器网络传送给其它的计算设备,如传统的计算机等。随着传感器技术、 嵌入式计算技术、通信技术和半导体与微机电系统制造技术的飞速发展,制造微 型、弹性、低功耗的无线网络传感器己逐渐成为现实。无线网络传感器一般集成 一个低功耗的微控制器( m c u ) 以及若干存储器、无线电光通信装置、传感器 等组件,通过传感器、动臂机构、以及通信装置和它们所处的外界物理环境交互。 一般说来,单个传感器的功能是非常有限的,但是当它们被大量地分布到物理环 境中,并组织成一个传感器网络,再配置以性能良好的系统软件平台,就可以完 成强大的实时跟踪、环境监测、状态监测等功能。 目前,国际上一些著名大学和研究机构都在积极开展各自带有研究性质的无 线网络传感器项目,如r o c k w e l l 的w i n s ,m i t 的i _ t a m p s ,u c l a 的m e d u s a m k - 2 ,以及u cb e r k e l e y 的t i n y o s 等等。这些研究项目根据其使用的无线网络 传感器硬件平台可以大致分为两类:其中,u c l a 的m e d u s am k 2 和u c b e r k e l e y 的t i n y o s 构建在a v r 微控制器架构上;而r o c k w e l lw i n s ,m i t 的 g a m p s 构建在s t r o n g a r m ( 现为x s c a l e 架构) 微处理器架构上。这两类平台 分别代表了两种不同的研究方向:基于a v r 架构的研究倾向于普适计算的小型 化方向,重点是支持无线网络传感器的具有多跳网络通信功能的微型操作系统及 其整体解决方案的研究;基于s t r o n g a r m 架构的研究则倾向于普适计算的中型 实用化方向,因为该平台更接近于现有的p c 架构,能够得到当前一些流行的操 作系统( 如l i n u x ,w i n d o w sc e 等) 和应用软件的支持,因而其研究重点是软 件功能的完善。 虽然无线网络传感器的研究工作最初是出于军事目的,但随着研究工作的不 断广泛和深入,目前民用系统占据了绝大部分,并已经在包括动植物监测,自然 环境观测和预报,保健医疗等方面进行了试探性的应用研究,下面分别举例说明: 1 g d i 系统 4 浙江大学硕士学位论文 2 0 0 2 年8 月为了监控海燕的生活。u c b i n t e l 研究所的科学家在缅因州g r e a d d u c k 岛上部署了基于b e r k e l e y 的m o t e s 传感器网络的g d i ( g r e a t d u c ki s l a n d ) 系统。3 2 个m o t e s 被放置在要监测的地方,如海燕的巢穴里。这些m o t e s 组成一 个监测网络,将传感器读数传送到网关,然后由网关负责通过本地传输网络将数 据转发到远程的基站。两个基站提供数据日志功能,并每1 5 分钟通过卫星链路 将数据复制到位于b e r k e l e y 的p o s t g r e s s 的数据库中。用户可以通过两种方式与 传感器网络交互:远程的用户可以访问位于b e r k e l e y 的同步数据库;本地用户 则可以通过p d a 大小的设备来控制传感器网络,如调整传感器的采样频率,修 改能源管理参数等。 2 a l e r t 系统 a u t o m a t e dl o c a le v a l u a t i o ni nr e a l t i m e ( a l e r t ) 可能是世界上最著名的无 线网络传感器系统。该系统是美国国家气象局在七十年代开发的,用于提供评估 洪水发生概率所需的实时降雨和水位信息。a l e r t 传感器节点通常装备有气象 或水文传感器,如水位传感器,温度传感器,风力传感器。数据通过无线电传送 到基站。基站采用一个洪水预警模型来处理这些数据,在需要的时候可以自动发 出警报。该系统还支持w e b 方式的查询操作。目前a l e r t 被广泛部署在美国 西部各州,如加利福尼亚和亚利桑那州主要依靠该系统来提供洪水预警。 3 s s i m 项目 在s m a r ts e n s o r sa n d i n t e g r a t e dm i c r o s y s t e m s ( s s i m ) 项目中,一个由1 0 0 个 微传感器组成的视网膜修复芯片被植入病人的眼睛里。失明或者视力非常弱的病 人通过该芯片的帮助可以使视力恢复到能接收的程度。无线传输用于反馈控制, 图像鉴别和确认。为了节省能源,并考患到传输的确定性和周期性特点,系统采 用了t d m a 方式处理通讯。 4 s m a r tk i n d e r g a r t e n 项目 加利福尼亚大学洛杉矶分校( u c l a ) 研究了一个名为智能幼儿园( s m a r t k i n d e r g a r t e n ) 的项目,该项目由美国国家科学基金会( n s f ) 资助。该项目人员 计划在某个教室里安装一系列设备来观测孩子们的行为,期望得到一些有用的数 据。研究人员为每个孩予带上一顶装有传感器( 称为i b a d g e ) 的帽子,通过这个 传感器可以确定每个孩子当前的位置和方向:他们还打算在教室里装上一系列麦 浙江夫学硕士学位论文 克风和照相机,用来采集一些声音和图像数据;另外他们还计划丌发一种称为 s m a r t t a b l e 的桌子。研究人员希望通过这些设备,家长、老师和研究人员能够更 好的了解孩子们的行为,包括他们的日常用语( 尤其是那些懂双语的孩子) ,儿 童日常是如何相处的,以及哪些儿童可能不合群等。 浙江大学硕f :学位论文 第二章无线网络传感器硬件平台 z u s e n s o r 普适计算所适用的硬件设备范围广泛,包括传统的计算设备以及目前应用越 来越多的各种无线移动设备和智能设备。其中,无线网络传感器一般集成一个低 功耗的微控制器( m c u ) 以及若干存储器、无线电光通信装置、传感器等组件, 通过传感器、动臂机构、以及通信装置和它们所处的外界物理环境交互。般而 言,单个传感器的功能是非常有限的,但是当它们被大量地分布到物理环境中, 并组织成个传感器网络,再配置良好的系统软件平台,就可以完成强大的实时 跟踪、环境监测、建筑或设备的状态监铡等功能。随着传感器技术、嵌入式计算 技术、通信技术和半导体与微机电系统制造技术的飞速发展,制造微型、弹性、 低功耗的无线网络传感器已逐渐成为现实。 2 1 无线网络传感器硬件平台的典型特性 无线网络传感器硬件平台本身具有一些独特的特性,使得它们和传统计算范 例中的台式机或服务器有着天壤之别,这些特性也使得应用于其上的系统软件的 设计颇具挑战: 1 小尺寸和低功耗 设备的物理尺寸和功耗直接决定了其处理能力、存储能力和互联的能力。硬 件设计的一个重要目标就是减少和降低实现某个功能所要求的尺寸和电源。从系 统软件的角度看,单个无线网络传感器的物理尺寸和功耗都是非常有限的,因此 系统软件必须尽可能高效的使用它们。 2 密集的并发操作 无线网络传感器的一个重要任务就是相互之间能快速地传递信息。方面, 信息必须能即时地从传感器上捕获,经过处理后向其他节点传送;另一方面信 息也可以从其它节点接收到。然后通过传感器网络进行转发。这些操作都具有实 时性的要求,而且并发的可能性非常大,这就迫使系统软件能正确即时地处理它 7 浙江大学硕士学位论文 们。 3 有限的控制层次 传统的计算系统是把与一组设备相关的并发处理分布到总线结构连接的多 层次微控制器上。而在无线网络传感器中,微控制器的数量远比传统系统要少, 并且其处理能力和外接能力也更弱,因此传感器和其他执行器件( 如r f ) ,通常 直接和主微控制器连接,且完全出主微控制器负责控制。 4 面向具体应用的设计 无线网络传感器主要倾向于针对具体的应用,而不是通用的。因此它们往往 只集成某个具体应用所需的硬件,不同应用也要求不同的硬件组合,这就要求系 统软件的设计高度模块化,能够非常容易地将这些软硬件组合在一起。同时,也 需要一个通用的开发环境,使得某个具体应用可以从一系列的原有模块中构建起 来,从而避免繁重的接口设计。 5 健壮的运行要求 实际应用中的无线网络传感器可能数量巨大,且多是隐藏在周围环境中的无 入职守的场合,因此健壮的运行能力是非常重要的。由于空间和电源的局限,传 统冗余技术的应用受到了限制。般说来,虽然跨设备冗余比设备内冗余效果要 更好,但其带来的通信代价仍然使得跨设备冗余并不能在无线网络传感器中得到 很好的应用。因此,一方面要尽量增强单个无线网络传感器的可靠性,另一方面 也需要增强整个网络的可靠性。 2 2z u s e n s o r 的微控制器a t m e la t 9 0 s 1 2 0 0 针对上文所描述的关于此类网络传感器的基本特性,我们设计了一个小型、 实用的网络传感器硬件平台z u s e n s o r ,并以此作为我们研究工作的原型。 z u s e n s o r 采用的微控制器( m c u ) 是8 位哈佛体系结构( h a r v a r d a r c h i t e c t u r e ) 的a t m e la t 9 0 s 1 2 0 0 ,1 6 位寻址能力,共有3 2 个8 位通用寄存器。工作频率 1 m h z ,工作电压5 0 v 。a t 9 0 s 1 2 0 0 自带的系统内部存储空间非常有限,只有1 k b f l a s h 程序存储器和6 4 字节的e e p r o m 数据存储器。此外,a t 9 0 s 1 2 0 0 还集成 了通用定时器和看门狗定时器( w a t c h d o g t i m e r ) 以及2 个通用i o 接口( 共1 5 条引脚) 。a i 9 0 s 1 2 0 0 的系统结构图如下: 浙江大学坝i 学位论义 a t 9 0 s 1 2 0 0 d a t ab u s8 一b j t 一 一 直孓7 图表1a t m e l a v r a t 9 0 s 1 2 0 0 的系统结构 a t 9 0 s 1 2 0 0 是一款基于a v rr i s c 的、低功耗c m o s8 位单片机。通过在一 个时钟周期内执行一条指令,a t 9 0 s 1 2 0 0 可以取得接近1 m i p s m h z 的性能,从 而在功耗和执行速度之间取得平衡。a v r 核将3 2 个工作寄存器和丰富的指令集 联系在起。所有的工作寄存器都与a l u 直接相连,允许在1 个时钟周期内执 行的单条指令同时访问2 个独立的寄存器,这种结构提高了代码效率,使得a v r 得到了比普通c i s c 单片机高将近1 0 倍的性能。此外这种结构还可以有效地支 持高级语言编程,同时保持代码的密度紧凑。a t 9 0 s 1 2 0 0 的3 2 个通用寄存器形 成了一个通用寄存器堆,所有的寄存器操作指令都可以以单指令的形式直接访问 这些寄存器。a t 9 0 s 1 2 0 0 拥有如此多的通用寄存器的好处就是可以提高经常使用 的数据的访问速度。由于c p u 本身访问e e p r o m 的速度非常有限,因此把常用 数据放在通用寄存器中的方法会大大提高程序的运行速度。 当执行中断调用和子程序调用时,返回地址都保存在系统堆栈中。a t 9 0 s 1 2 0 0 的堆栈为3 级硬件堆栈,宽度为9 位。r c a l l 相对调用指令和中断将程序计数 器( p c ) 推入堆栈0 ,而堆栈0 和1 原有的内容进入深一级的位簧,当执行子程 序返回指令r e t 或中断返回指令i 疆t i 后,堆栈0 的p c 将出栈,而堆栈1 和2 的内容将上升级。如果有多余3 个的子程序或中断嵌套发生,则第一个进栈的 内容将丢失,这是使用a t 9 0 s 1 2 0 0 特别需要注意的地方。 浙江人学硕 学位论文 2 2 1a t 9 0 s 1 2 0 0 的i o 空问 a t 9 0 s 1 2 0 0 的所有i 0 和外围器件都被放置在i 0 空间,并使用i n 和o u t 指令来访问,以及在i o 空间和通用寄存器之间传输数据。a t 9 0 s 1 2 0 0 的i 0 空 间结构如表所示: 地址名称功能 $ 3 fs r e gs t a t u sr e g i s t e r $ 3 bg i m s kg e n e r a li m e m j p tm a s k r e g i s t e r $ 3 9t i m s kt i m e r c o u n t e ri n t e r r u p tm a s k r e g i s t e r $ 3 8t i f rt i m e r c o u n t e ri n t e r r u p tf l a gr e g i s t e r s 3 sm c u c rm c u g e n e r a l c o n t r o lr e g i s t e r $ 3 3t c c r ot i m e r c o u n t e r 0c o n t r o lr e g i s t e r $ 3 2t c n t 0 t i m e r c o u n t e l 0 ( 8 - b i t ) $ 2 1w d t c r w a t c h d o g t i m e rc o n t m lr e g i s t e r $ l ee e a re e p r o ma d d r e s s r e g i s t e r $ 1 de e d re e p r o md a t ar e g i s t e r $ l ce e c re e p r o mc o n t r o lr e g i s t e r $ 1 8p o r t bd a t a r e g i s t e r ,p o r t b $ 1 7d d r bd a t ad i r e c t i o nr e g i s t e r , p o r tb $ 1 6p l n b i n p u tp i n s ,p o r tb $ 1 2p o r t dd a t ar e g i s t e r , p o r td $ 1 ld d r dd a t ad i r e c t i o nr e g i s t e r , p o r td $ 1 0 p r n d i n p u tp i n s ,p o r td $ 0 8a c s r a n a l o gc o m p a r a t o r c o n t r o la n ds t a t u sr e g i s t e r 图表2a t 9 0 s 1 2 0 0 的f o 空间结构 在这些i o 寄存器中,最重要的是状态寄存器s r e g ,其结构如下 图表3a t 9 0 s 1 2 0 0 状态寄存器s r e g 的结构 其中: i 位:全局中断触发使能位。置位时允许触发全局中断。单独的中颇触发 使能则分别由中断屏蔽寄存器g i m s k 和t i m s k 控制。如果i 位被清0 , 则无论单独的中断使能标志位景位与否,都不会产生中断。在中断发生 后,i 位被硬件自动清0 以防止中断的嵌套触发,并且在r e t i 指令执行 时被自动置位,以允许随后的中断被触发。 1 0 徽鼬嘲 浙江大学硕i 学位论文 t 位:位拷贝存储位。位拷贝指令b l d 和b s t 利用t 作为目的地址或 源地址。b s t 把寄存器的某一位拷贝到t ,而b l d 把t 拷贝到寄存器的 某一位。 h 位:半进位标志位。运算中低四位向高位进位时,h 位置1 。 s 位:符号位,其值总是n 与v 的异或。 v 位:二进割年b 码溢出标志位。 n 位:负数标志位。 z 位;零标志位。 c 位:进位标志位。 2 2 2a t 9 0 s 1 2 0 0 的中断处理 a t 9 0 s 1 2 0 0 拥有有3 个中断源,每个中断源在程序空间中都有一个独立的中 断向量。当然,这三个中断源都拥有自己独立的触发使能位,只有当各自的触发 使能位置位,并且s r e g 寄存器的l 位也簧位的情况下,中断才可以被触发。程 序空间的低地址处自动被定义成中断向量表的所在位置。完整的中断向量如表所 示,这张表也体现了中断之间的优先级关系:在中断向量表中处于低地址的中断 具有高的优先级。所以,r e s e t 中断具有最高的优先级。 l向量号程序地址中断来源中断含义 l$ 0 0 0r e s t 玎h a r d w a r ep i n ,p o w e r - o nr e s e t a n dw a t c h d o gr e s e t 2$ 0 0 li n t 0e x t e m a li n t e r r u p tr e q u e s e t0 3 $ 0 0 2t i m e r 0 ,o v f 0 n m e r c o u n t 0o v e r f l o w 4 $ 0 0 3a n ac m p a n a l o gc o m p a r a t o r 图表4a t 9 0 s 1 2 0 0 的中断向量表 a t 9 0 s 1 2 0 0 的通用中断屏蔽寄存器g i m s k 的结构如下 其中: 图表5a t 9 0 s 1 2 0 0 通用中断屏蔽寄存器g i m s k 的结构 位7 、5 、4 、3 、2 、l 、o 是保留位。 i n t 0 位:外部中断i n t 0 触发使能位。当i n t 0 位和s r e g 的i 位都为 蔷曩徽 浙江大学硕士学位论文 “1 ”时,外部引脚中断i n t 0 被允许。同时m c u 的通用控制寄存器 ( m c u c r ) 中的中断捡测控制位i s c 0 1 和i s c 0 0 用来定义外部中断i n t 0 的触发方式是上升沿中断还是下降沿中断亦或是低电平中断,并且,即 使中断引脚i n t 0 被定义为输出引脚,中断仍可以产生。 a t 9 0 s 1 2 0 0 的定时器t c 中断屏蔽寄存器t i m s k 的结构如下: oo0o 图表6a t 9 0 s 1 2 0 0 定时器t c 中断屏蔽寄存器t i m s k 的结构 其中: 位7 、6 、5 、4 、3 、2 、0 是保留位。 t o i e 0 位:定时器t c 溢出中断触发使能位。当1 o i e o 位和s r e g 的i 位都是“1 ”时,定时器t c 溢出中断被允许。当定时器t c 中的计数 器溢出和t c 中断标志寄存器t i f r 的t o v 0 位置位时,定时器溢出中 断发生,对应的中断处理程序将会调用。 a t 9 0 s 1 2 0 0 的中断响应时间最少为4 个时钟周期。在这4 个时钟周期时间内, p c 自动入栈。在通常情况下,中断向量为一个相对跳转指令,而此跳转需要花 费2 个时钟周期的时间。如果中断在一个多周期的指令执行期间发生,则在此一 个多周期指令执行完之后才会执行中断处理程序。中断的返回也需要4 个时钟周 期时间。在此期间,p c 将被弹出栈,s r e g 的全局中断触发使能位被置位。如 果在中断期间发生了其他的中断,则在退出中断处理程序后,需再执行一条主程 序中的指令之后才能响应被挂起的中断。需要注意的是,a t 9 0 s 1 2 0 0 只有一个3 级硬件堆栈,因此如果有3 个以上的中断嵌套或子程序调用发生,则只有最后的 3 个返回地址得到保留,而其他的地址将被丢失。 综上所述,a t 9 0 s 1 2 0 0 上运行的控制程序的基本结构如下所示: 地址标号 $ 0 0 0 $ 0 0 1 $ 0 0 2 $ 0 0 3 $ 0 0 4m a i n 代码 r j r a 9r e s e t r j m pe x t _ i n t 0 r j m pt i m 0 _ o v f r j m pa n a c o m p 注释 j 复位 :外部中断i n t 0 ;定时器t o 溢出 :模拟比较器 :主程序开始 钿n螽曩僦 浙江学硕 。学位论文 2 2 3a t 9 0 s 1 2 0 0 的数据访问 a t 9 0 s 1 2 0 0 包含有6 4 字节的e e p r o m 数据存储空间,其擦写寿命为1 0 0 0 0 0 次。由于a t 9 0 s 1 2 0 0 的e e p r o m 是系统内置的,所以读写起来相对来说十分方 便,是通过操作3 个i o 寄存器来完成的。其中,e e a r 寄存器( e e p r o m 地址 寄存器) 用来描述将要读写的e e p r o m 的位置,e e a r 寄存器只有第0 位和第 5 位是有用的,因为a t 9 0 s 1 2 0 0 的e e p r o m 只有6 4 个字节,所以只需要6 位就 足够描述其中的所有地址了。e e d r 寄存器( e e p r o m 数据寄存器) 用来作为 e e p r o m 访问的媒介。 当进行读操作时,e e a r 中放的是想读的e e p r o m 的地址,读操作完成后, e e d r 中就是从e e p r o m 中读出的数据:当进行写操作时,e e a r 中放的是想 读的e e p r o m 的地址,e e d r 中放的是想写入e e p r o m 中的数据,写操作完成 后,e e d r 中的数据被写到e e a r 所指定的e e p r o m 中。执行e e p r o m 的读操 作和写操作是通过设置e e c r 寄存器( e e p r o m 控制寄存器) 中相应的位来完 成。若要进行写操作,首先让地址和数据都就绪,然后通过s b i 指令设置e e c r 中的e e w e 位为1 ,写操作开始执行,当写操作完成后。e e w e 位会被硬件自动 地清0 。同样,若要进行读操作。首先让地址就绪,然后通过s b i 指令设置e e c r 中的e e a e 位为1 ,则读操作开始执行,当读操作完成之后e e a e 位被硬件自动 清0 ,此时e e d r 中的数据也从e e p r o m 中读出来了。a t 9 0 s 1 2 0 0 对其e e p r o m 读写操作的汇编代码如下所示: e e w r i r e : s b i ce e c r ,e e w e r j m p e e w r i t e o u te e a r , e e a w r o u te e d r , e e d w r s b i e e c r ,e e m w e s b ie e c r e e w e 耐 e e r e a d : s b i ce e c r ,e e w e r j m pe e r e a d o u te e a r ,e e a r d s b ie e c r ,e e r e i ne e d w r , e e d r l e t 浙江大学硕上学位论义 2 3z u s e n s o r 的基本结构 z u s e n s o r 以a t 9 0 s 1 2 0 0 为基础,外接了若干l e d ,一个短距离射频器件 ( r f ) 和一个数字温度传感器。 其中,数字温度传感器采用了美国模拟器件公司( a d d 推出的单片温度测 量与控制用集成电路a d 7 4 1 8 ,其内部包含有带隙温度传感器和1 0 位模数转换 器,可将感应温度转换为o 2 5 。c 量化间隔的数字信号,测温范围为 5 5 。c + 1 2 5 。c 。具有1 0 位数字输出温度值,分辨率为o 2 5 。c ,精度为十2 。c ,转 换时间为1 5 3 0 u s ,工作电压范围为+ 2 7 v 5 5 v ,可通过1 2 c 接口对a d 7 4 1 8 的内部寄存器进行读,写操作。a d 7 4 1 8 代表了一大类数字传感器,这些数字传感 器一般都有内部a d 转换器,以及标准通信协议接口。z u s e n s o r 使用了同步双 线的1 2 c 协议,同时主m c u 的系统软件利用其i o 引脚模拟1 2 c 协议与a d 7 4 1 8 通信。一般情况下,最多可有8 个不同的1 2 c 设备挂接在这个串行总线上,当然 多个设备之间的仲裁也必须由主m c u 上的系统软件来完成,不过目前z u s e n s o r 并没有使用这么多的1 2 c 设备。 a 代d o s l 2 0 0 d a t ab u s8 - b i t r 旨霖。p c 舅s t 业a t u s 壁

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论