(计算机应用技术专业论文)基于gprs的无线报警系统.pdf_第1页
(计算机应用技术专业论文)基于gprs的无线报警系统.pdf_第2页
(计算机应用技术专业论文)基于gprs的无线报警系统.pdf_第3页
(计算机应用技术专业论文)基于gprs的无线报警系统.pdf_第4页
(计算机应用技术专业论文)基于gprs的无线报警系统.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)基于gprs的无线报警系统.pdf.pdf 免费下载

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

文档简介

摘要 目前由8 位单片机构成的数据采集与报警系统已广泛应用于工业控制、水文测量、 气象测量和环境监测等领域。这些系统一般采用r s 2 3 2 ,r s 4 8 5 进行通讯,虽然经济实 用,构建简单,但其传输距离受限,使得许多场合无法使用。 为了解决在采集与报警系统中,各采集点分布范围广、数量多、距离远,还可能地 处偏僻,无法使用有线网等问题。本文研究了一种新的采集与报警方法一一基于 g p r s ( g e n e r a lp a c k e tr a d i os e r v i c e1 的无线报警系统,使用现有的g p r s 网络资源,发 挥网络覆盖率高、传输特性好等优势,给现有的报警系统提供了一种便捷的无线报警方 式,这必将成为工业控制及现场监测等领域的发展趋势,并可广泛应用于安防报警、电 力监控报警、石油、矿山等行业。 本无线报警系统采用报警模块与数据采集模块相互分离的方法,这不仅使得数据采 集模块可在允许范围之内无限扩展,同时也方便了已有采集模块加入其中,组成分布式 数据采集阵列。系统报警模块采用了先进的3 2 位a r m 处理器与u c o s i i 实时操作系 统,而采集模块则使用了抗干扰能力强,驱动能力强8 位p i c 系列芯片。报警模块成功 实现了# c o s i i 的移植、g p r s 消息发送、l c d 数据显示、键盘数据输入,报警模块 与数据采集模块的数据通信等多项功能:数据采集模块则实现了温度的采集和与报警模 块的数据通信。经过试验运行,运行结果证明,系统各项技术性能指标基本达到了设计 要求。成功实现了非连续数据的远距离报警,为远距离数据报警系统提供一种便捷的无 线数据传输方式,可以代替现有的有线报警监控系统。 论文介绍了课题研究背景,研究目的以及系统功能分析;并全面介绍了系统设计方 案,包括微处理器选型、实时操作系统uc o s i i 的移植、g p r s 协议、m o d b u s 协议、 以及系统通信规约设计等;详细说明了l p c 2 1 1 4 的板级启动代码、各模块的驱动程序、 系统任务以及多任务调度策略;文章分析了系统电路设计原理,提供了部分硬件电路设 计原理图;最后对系统进行了分析评估。提出了未来的工作方向。 关键字:g p r s 、a r m 、m c 3 5 i 、uc 0 s i i 、驱动程序 a b s t r a c t t a tp r e s e n tt h ed a t aa c q u i s i t i o na n da l a r ms y s t e mt h a tc o n s t i t u t e sb y8b i ts i n g i e c h i ph a s w i d e l ya p p l i e d i n i n d u s t r yc o n t r o l ,h y d r o g r a p h i cs u r v e y , m e t e o r o l o g i c a ls u r v e y , e n v i r o n m e n t a lm o n i t o r i n ga n ds oo n t h e s es y s t e m su s er s 2 3 2 ,r s 4 8 5c a r r yo nt h e c o m m u n i c a t i o ng e n e r a l l y , a l t h o u g ht h ee c o n o m yi sp r a c t i c a l ,c o n s t r u c t ss i m p l y , b u ti t s t r a n s m i t t i n gr a n g er e c e i v e sl i m i t s ,c a u s e sm a n y s i t u a t i o n st ob eu n a b l et ou s e i no r d e rt os o l v ei na c q u i s i t i o na n da l a r ms y s t e m ,e a c ha c q u i s i t i o nd i s t r i b u t e ds c o p e b r o a d t h eq u a n t i t ya r em a n y , f a ra w a ya n da l s op o s s i b l yi ss i t u a t e dr e m o t e l y , i su n a b l et ou s e h a sq u e s t i o na n ds oo nw i r e t h i st h e s i sr e s e a r c h e do n ek i n do fn e wa c q u i s i t i o na n da l a r m m e t h o d - b a s e do nt h eg p r sw i r e l e s sa l a r ms y s t e m ,u s e dt h ee x i s t i n gg p r sn e t w o r k r e s o u r c e s ,t h ed i s p l a yn e t w o r kc o v e r a g ef r a c t i o nh i g h ,t h et r a n s m i s s i o nc h a r a c t e r i s t i cg o o d a n ds oo nt h es u p e r i o r i t y , p r o v i d e do n ek i n dt ot h ee x i s t i n ga l a r ms y s t e mt ob ec o n v e n i e n t w i r e l e s sr e p o r t st ot h ep o l i c et h ew a y , t h i sw i l lc e r t a i n l yi n t od o m m nt h ea n ds oo ni n d u s t r y c o n t r o la n ds c e n em o n i t o rd e v e l o p m e n tt e n d e n c y , a n dm i g h tw i d e l ya p p l yi na nf a n gr e p o r t s t ot h ep o l i c e ,t h ee l e c t r i cp o w e rm o n i t o r i n gr e p o r t st ot h ep o l i c e ,p r o f e s s i o na n ds oo n p e t r o l e u m ,m i n e t h i sw i r e l e s sa l a r ms y s t e ma d o p t sm e t h o do fa l a r mm o d u l ea n dt h ed a t aa c q u i s i t i o n m o d u l es e p a r a t e sm u t u a l l y , t h i sn o to n l yc a u s e st h ed a t aa c q u i s i t i o nm o d u l et ob ep o s s i b l ei n t h ep e r m i s s i o ns c o p et h eu n l i m i t e de x t e n ta m o n g ,a tt h es a m et i m ea l s of a c i l i t a t e dt h e g a t h e r i n gm o d u l ew h i c hh a dt oj o i n ,c o m p o s e dt h ed i s t r i b u t i o n a ld a t aa c q u i s i t i o na r r a y t h e s y s t e mr e p o r t e dt ot h ep o l i c et h em o d u l et ou s et h ea d v a n c e d3 2a r mp r o c e s s o ra n d i t c o s i ir e a l t i m eo p e r a t i n gs y s t e m b u ta c q u i s i t i o nt h em o d u l et h e nh a su s e da n t i j a m m i n g a b i l i t y , d r i v i n gf o r c es t r o n g8p i cs e r i e sc h i p r e p o r t e dt ot h ep o l i c et h em o d u l es u c c e s st o r e a l i z et ac o s i it r 姐s p l a n t ,t h eg p r sn e w st r a n s m i s s i o n , t h el c dd a t ad i s p l a y , t h e k e y b o a r dd a t af e e d s ,r e p o r tt ot h ep o l i c et h em o d d ea n dt h ed a t aa c q u i s i t i o nm o d u l ed a t a c o m m u n i c a t i o na n ds oo nm a n yf u n 曲o n s ;t h ed a t aa c q u i s i t i o nm o d u l et h e nh a sr e a l i z e d t e m p e r a t u r eg a t h e r i n ga n dw i t hr e p o r t st ot h ep o l i c et h em o d u l ed a t ac o m m u n i c a t i o n a f t e r t h ee x p e r i m e n t a lm o v e m e n t ,t h em o v e m e n tr e s u l tp r o v e dt h a t ,t h es y s t e me a c ht e c h n i c a l p e r f o r m a n c et a r g e th a sb a s i c a l l ym e tt h ed e s i g nr e q u i r e m e n t s t h es u c a ? e s sr e a l i z e dt h en o n c o n t i n u a ld a t al o n g - d i s t a n c er a n g et or e p o r tt ot h ep o l i c e ,p r o v i d e do n ec o n v e n i e n tw i r e l e s s d a t at r a n s m i s s i o nw a yf o rt h el o n g - d i s t a n c er a n g ed a t aa l a r ms y s t e m ,m i g h tr e p l a c ee x i s t i n g i i w i r e dr e p o r t st ot h ep o l i c et h es u p e r v i s o r ys y s t e m t h et h e s i si n t r o d u c e dt h ei s s u er e s e a r c hb a c k g r o u n d ,t h er e s e a r c hp u r p o s ea n dt h es y m e m f u n c t i o na n a l y s i s ;a n di n t r o d u c e dt h es y s t e md e s i g np l a ni nd e t a i l ,i n c l u d i n gm i c r o p r o c e s s o r c h o o s e ,r e a l - t i m eo p e r a t i n gs y s t e m l ic o s - i i t r a n s p l a n t s ,g p r sp r o t o c o l ,m o d b u s p r o t o c o l ,s y s t e mc o m m u n i c a t i o np r o t o c o ld e s i g na n d s oo n ;t h es p e c i f yl p c 2 1 1 4b o a r dl e v e l s t a r tc o d e v a r i o u sm o d u l e sd r i v e r , t h es y s t e mt a s kh a sr e a l i z e da sw e l la st h ea l a r ms y s t e m m u l t i d u t i e sd i s p a t c hs t r a t e g y ;t h ea r t i c l eh a sa n a l y z e dt h es y s t e mc i r c u i tp r i n c i p l eo fd e s i g n , h a sp r o v i d e dt h ep a r t i a lh a r d w a r ec i r c u i td e s i g ns c h e m a t i cd i a g r a m ;f i n a l l yh a sc a r r i e do nt h e a n a l y s i sa p p r a i s a lt ot h es y s t e m ,p r o p o s e dt h ef u t u r ew o r kd i r e c t i o n k e yw o r d s :g p r s 、a r m 、m c 3 5 i 、uc o s i i 、d r i v e rb l o c k i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽 r 我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得武汉理工大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 签名:李柯断日期:劢彩。f 占 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权镙留、送交 论文的复印件,允许论文被查阅和借阅;经作者同意学校可以公布论文的全部或部分内容, 可以采用影印、缩印或其他复制手段保存论文。 签 名:李椰钥 新躲哟蝴j - 堪 武汉理工大学硕士学位论文 1 1 课题背景 第1 章引言 当前报警系统使用最广的是有限报警或短距离无限报警,如r s 2 3 2 、r s 4 8 5 、红外 线等。但随着应用需求的日益复杂,如在一些测控系统中,由于各测控点分布范围广、 数量多、距离远,还可能地处偏僻,因此架设光缆、铺设电缆难度大、不切合实际,向 电信部门租用专用电话线又要申请很多电话线,而且有些测控点线路难以到达,况且采 用电话线路时需要等待漫长的电话拨号过程,速度慢,运营成本较高,总之测控系统采 用有线通信方式建设周期长、工作难度大、运行费用高,不便于大规模使用;与之相比, g p r s 无线通信方式则显得非常灵活,它具有投资较少、建设周期短、运行维护简单、 性价比高等优点。正是在这一环境下诞生了无线报警系统,无线报警系统是不需要人员 到达现场,使用计算机技术、单片机技术、通信技术、网络技术和微电子技术相结合, 通过一定的网络设备建立通讯联系,具有高度集成性,集软件、硬件为一体,对各种范 围内各种待监测设备自动正确采集、传输、统计及综合分析的系统。具有传输速度快, 传输质量高、远距离、安全、可直接与营业计算机联网等突出的优点。采用无线报警系 统可以降低人员的劳动强度、降低人为因素造成的不安全,并能迅速的统计实时线损。 无线报警技术的出现,是计算机网络技术与监控技术相结合的必然结果。早期无线 报警技术是非实时非在线监控方式,而现代无线报警技术是实时在线监控方式,借助于 计算、互联网和通信技术,操作者可以依靠安装在现场的各种传感器及音视频设备,远 隔千里便可随时了解现场生产与设备情况,对生产现场进行监控、诊断与控制无线报警 技术的模式是与通信技术的发展密不可分的,伴随着通信技术的发展,出现了三种无线 报警模式。 1 人工无线报警 这种方式是通过人工对现场参数及现场运行情况进行记录,然后带回总控室有工 程师进行分析推理,这就包含了太多的人为因素,而且无法实现实时在线监控,存在很 多弊端,这是比较原始的方式。 2 有线网络无线报警 有线网络监控方式是现代无线报警模式,他将现场各个采样点通过通信线将其连成 网。根据通信方式的不同,可以有以太网、光纤网等等,这种方式也是现在广为使用的 方式,如现场总线。其最显著特点是现场的采样设备将各种传感器获取的设备状态信息 武汉理工大学硕士学位论文 转变为数字信号后,通过网络传送给远程诊断工程。远程诊断工程师再利用计算机和现 代数字信号处理技术对收到的数字信号进行分析处理,对设备状态进行评估,给出诊断 结论并将结果返回给现场人员由于数字信号远程传输的保真度高,不受时间和空间影 响,因此诊断结论可靠性高,可以实现真正意义上的实时在线远程监控与诊断。但是这 种方式在网络铺设上投资巨大,而且受距离限制,各数据点之间的距离越远铺网的投资 就要上升,主要是由于需要增设路由器。 3 无线网络无线报警 无线网络无线报警又分为两种:一种是单独构建无线网,另一种是利用公g s m 。第 一种方式由于要自己进行网络构建包括传输设备,中继站,传输协议制定,工作量比较 大。第二种用g s m 网络实现,这类监控的通信方式是依托遍布全球的g s m 网,它的 最大特点是打破了距离的限制,从而可以实现全国乃至全球漫游监控。这类监控主要是 利用g p r s 数据业务通过i n t e m e t 进行通信。g p r s 技术传输速度快,永远在线,用g p r s 技术实现的监控系统,实时性强,安全可靠,按流量计费,比短消息更经济、合理。利 用g p r s 进行无线报警,既避免了开发新的频率资源,又开辟了无线报警的新领域。该 系统具有阿络覆盖范围广,系统抗干扰能力强,通信速度快,通信误码率低等优点,并 且,完全利用g p r s 移动通信网络,建设和运行成本低,。随着g p r s 网络技术的不断 发展,构筑在g p r s 网上的远程无线测控系统必然能与移动通信技术的发展同步,因而 具有广阔的前景。 1 2 研究目的与内容 随着信息技术的迅猛发展以及人们对移动通信需求的急剧上升,g p r s 技术一 种迎合g s m 移动通信市场和全球因特网迅猛发展和日益融合而兴起的技术i ”,广泛受 到人们关注。g p r s 能把分组交换技术引入现有g s m 系统,将移动通信和数据网络台 二为一,以其”极速传送”、”永远在线“等特点【2 1 ,倍受国内外电信业的青睐。g p r s 被公 认为将成为通往第三代移动通讯( 3 g ) 的一个重要里程碑。 当今世界已进入了飞速发展的信息时代,信息产业已成为国民经济的主导产业,通 信则成为信息产业中发展最为迅速,进步最快的行业。而在通信领域中,移动通信( g p r s l 网则是这个领域中发展最积极最活跃最快的分支之一。在g p r s 中,唯一不需建立端到 端通信的业务就是短消息业务( s m s ) ,在移动设备处于点与点通信状态下,还能同时 实现短消息业务。g p r s 模块在短信息方面的应用最具优势,短消息具有随时在线 ( a l w a y so n l i n e ) 、不需拨号、价格便宜、覆盖范围广等特点,特别适合于需频繁传送 小流量数据的应用,如工业遥感遥测遥控、信息反馈无人值守站机房监控和远程维护( 如 2 武汉理工大学硕士学位论文 服务器,交换机等) ,其他无人值守点( 如仓库、办公楼等) 监控、电力系统城市中 压电网实时监控和自动补偿、集团车辆调度与安排计算机增值服务等领域。 正是基于以上考虑,本系统提出并设计了一种基于g p r s 网络无线报警系统、运用 它最具优势的短信功能,将采集的数据以短信的方式发送到基站,基站也以短信方式实 现对采集模块的监控。系统采用了微电子技术、计算机接口技术、传感器技术、g p r s 通 信等多项目技术。设计要点是采用单片机技术进行数据采集和处理,对装置进行自动控 制,主站监控系统软件设计,单片机与g p r s 模块的通信与控制,短消息p d u 格式编 码等等设计内容。系统分为两部分:报警模块与数据采集模块。这种设计方式可以实现 一个报警中心与多个数据采集点通讯。当需要添加新的数据采集点时,只需在需要控制 的现场安装好数据采集模块,同时在报警系统进行相应设置,即可对新加入的数据采集 模块进行通讯。根据无线报警系统的特点,本论文研究了如下内容: 嵌入式操作系统的移植 g p r s 协议 m o d b u s 协议 m c 3 5 i 特性与接口电路 温度传感器d s l 8 8 2 0 l ac o s i i 多任务划分及调度 设备驱动程序的编写 1 3 本文组织 本论文研究并实现的是一个完整可行g p r s 无线报警系统,侧重于方案的详细描述 以及接口电路设计与实现。其内容组织如下: 总体方案确定 系统数据传输 系统硬件设计 系统软件设计 3 武汉理工大学硕士学位论文 2 1 系统方案设计 2 1 1 系统需求分析 第2 章系统总体设计 系统要设计成集数据采集、报警、远程接收中心于一身的无线报警系统。同时系统 能非常方便的扩展现有的数据采集模块,而报警模块只需做简单的设置,就可以让该采 集模块成为该系统一部分。另外该报警系统还应具备如下特点: 报警模块能够通过键盘设置各采集模块的参数 报警模块能够接收采集模块发送的采集数据 报警模块能够通过短消息将报警数据发给远程接收中心 报警模块l c d 液晶能显示最近一次报警内容、报警时间以及总的报警次数 采集模块能够接收报警模块的参数并重新设置参数 采集模块能够采集待采集点的数据 采集模块能够在采集数据不在设置范围内发送报警数据给报警模块 采集模块能随时根据远程接收中心请求发送当前采集的数据 远程接收中心能够随时获得采集模块的当前采集数据 2 1 2 系统模块划分 根据系统需求分析以及近半年来的调研与国内外资料整理,整个系统可分成3 部分: 报警模块、数据采集模块以及接收模块。数据采集模块安装在待采集点,负责采集相关 数据;报警模块安装在众多数据采集模块之间的一个合适位置,能够接收采集模块所采 集到的数据;接收模块则安装在远程控制中心或值班中心,接收模块可以是带有移动通 信装置的p c 机或手机。系统结构图如图2 1 所示: 需要注意的是本文只研究了报警模块以及数据采集模块之一的温度采集模块。接收 模块因为可以直接是手机或p d a ,故不在本文探讨范围之内。而数据采集模块随着具体 待监测环境不同而应有不同的选择,本文不可能探讨所有采集方案,只探讨了使用最广 的温度数据采集,其他可以根据实际要求进行扩展。 4 武汉理工大学硕士学位论文 2 1 3 系统模块通讯 图2 - 1 系统组成 系统多个模块间的通讯基于2 种方案:一是报警模块与接收模块使用g p r s 通讯, 二是数据采集模块与报警模块使用r s 4 8 5 通讯。前者使得系统可以广泛使用于环境恶 劣、无人看守、需要远程数据传输等场合;后者则保证了数据采集模块在可以允许范围 内无限扩展组成数据采集阵列。r s 4 8 5 通讯上使用m o d b u s 协议,g p r s 网则使用s m s 消息通讯。关于通讯的详细介绍以及数据传输内容与格式请看第3 章。 2 2 系统平台选择 由于报警模块与数据采集模块完全分离、相互独立,使得不同模块应根据实际需求 采用不同的开发平台。报警模块由予统一管理多个数据采集模块,这使得其对平台要求 比较高;而采集模块只需要完成单一的采集数据功能与发送数据功能,平台要求可以相 对低一点。 基于上述考虑,报警模块可以采用3 2 位的a r m 处理器,再配以实时操作系统;而 采集模块则可以使用一般的8 位微单片机。a r m 处理器选用p h i l i p sl p c 2 1 1 4 ,它有2 个特点:其一它带片内存储器,其二它是世界上第一片可加密的a r m 芯片。8 位处理 器使用最多是5 1 系列、p i c 系列以及后生可畏的a v r 系列。p i c 系列芯片一直以品种 多、执行速度快、抗干扰能力强、引脚驱动能力强目益成为工业控制领域的首选。系统 选用p i c l 6 f 8 7 3 a 。 实时操作系统使用非常广泛,商业的有m i c r o s o f t 公司的w i n c e 和w i n d r i v e rs y s t e m 5 武汉理工大学硕士学位论文 公司的v x w o r k s ,p s o s ,开源的有l i u n x ,# c l i u n x ,uc o s i i 等。商业核实时操作系 统性能优异、稳定可靠、实时性强,但其价格昂贵,不提供原代码,使许多中小企业无 力使用,而一些事关国家安全的项目又不敢使用。l i n u x ,# c l i u n x 虽然都是免费,提供 源代码,但它们过于庞大,开发周期较长,不适宜于中小型嵌入式系统项目的快速开发。 本系统使用uc o s i i ,它具有许多的优点,首先是小到可以移植到无任何外部存储器 的8 位单片机上,大到可以扩展成可与昂贵的商业实时操作系统所媲美的完美系统;其 次是它的应用广,目前己经被移植到4 0 多种不同结构的c p u 上,运行在从8 位到6 4 位的各种系统之上吼 2 2 1l p c 2 1 1 4 p h i l i p sl p c 2 1 1 4 是国内应用广泛的基于a r m 7 d m i 内核的s o c 。该芯片功能强大, 在a r m 7 t d m i 的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统。 另外它带有1 2 8 字节( k b l 嵌入的高速f l a s h 存储器。1 2 8 位宽度的存储器接口和独特的 加速结构使3 2 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使 用1 6 位t h u m b 模式将代码规模降低超过3 0 ,而性能的损失却很小。由于l p c 2 1 1 4 较 小的6 4 脚封装、极低的功耗、多个3 2 位定时器、4 路1 0 位a d c 以及多达9 个外部中 断使它们特别适用于工业控制、医疗系统、访问控制和p o s 机。另外它具有如下特点 【3 l 4 1 : 向量中断控制器; 实时时钟; 1 6 k b 的静态r a m 4 路1 0 位a d 转换器,转换时间低至2 4 4 u s ; 多个串行接口,包括2 个1 6 c 5 5 0 工业标准u a r t 、高速l 2 c 接口( 4 0 0 k b i t s ) 和2 个s p i 接口; 1 2 c 串行接口,s p i 串行接口; 2 个定时器,分别具有4 路捕获比较通道; 双电源,c p u 操作电压1 8 v ,i o 口电压3 3 v = 2 * 9 低功耗模式:掉电与空闲; 6 路输出的p w m 单元。 2 2 2uc 0 s - i i 嵌入式操作系统是嵌入式系统发展的必然产物。传统的8 位单片机,程序功能通常 6 武汉理工大学硕士学位论文 都是量身定做的,移植起来非常困难,即便在同一类处理器上。嵌入式操作系统的出现, 则大大提高了嵌入式系统的开发效率,改变了以往嵌入式软件设计只能针对具体的应用 从头做起的弊端,减少了系统开发的工作量,增强了嵌入式应用软件的可移植性,使嵌 入式系统的开发方法更科学。1 1c o s 正是在一趋势下诞生的,i xc o s 从1 9 9 2 年以来 已经有数百个商业应用1 2 】。i lc o s i i 与uc o s 的内核是一样的,只是提供了更多的功 能。另外,2 0 0 0 年7 月,i xc o s i i 在一个航空项目中得到了美国联邦航空管理局对商 用飞机的符合r t c a d o 1 7 8 b 标准的认证【2 】这足可以看出pc o s i i 的实时性能与安 全稳定性能。 需要注意的是uc o s i i 实际上是一种可移植、可固化、可裁减及可剥夺的多任务 实时操作系统内核,只带有操作系统的基本功能如任务管理、内存管理、进程管理等、 并不提供其他服务如文件系统、基本输入输出、网络服务等【2 1 1 5 1 。如果要使用这些功能, 必须自己进行相关移植。由于其作者从一开始就非常注意的i lc o s i i 的移植与扩展, 移植起来相对比较容易。 2 2 3p i c l 6 f 8 7 3 a p i c l 6 f 8 7 3 a 是由m i c r o c h i p 公司所生产的中档p i c 系列单片机,具有f l a s hp r o g r a m 程序记忆体功能,可以重复烧写程序,适用于工业控制、数据采集等领域;而其内建 i c d ( i nc i r c u i td e b u g ) 功能,可以让使用者直接在单片机电路或产品上,还可以进行如暂 停微处理器执行、观看暂存器内容等,让使用者能快速地进行程序排错与开发。该芯片 带有4 k 的f l a s h 程序存储器、1 9 2 b 的r a m 、2 5 6 be e p r o m ,是m i c r o c h i p 公司推 出的基于8 位的高性能r i s c 指令系统、哈佛总线和两级指令流结构的单片机。其基本 特点有【6 l 川: 精简指令集,仅3 5 条单字指令,易学易用; 除地址分支跳转指令( g o t o ,c a l l ) 为双周期指令,其余皆为单周期指令; 八级硬件堆栈; 直接、间接、相对三种寻址方式; 具有1 4 个中断源; 具有同步串行口1 2 c s p i 总线操作,可用于控制外部实时时钟、e e p r o m ; 具有同步通讯接口s c i u s a r t 操作可进行r s 4 8 5 或红外通信。 2 3uc o s - i i 移植 所谓移植是使一个实时内核能在其他的微处理器或微控制器上运行【锄。实时内核“ 7 武汉理工大学硕士学位论文 c o s i i 从一开始就非常注意移植,其代码太部分是用a s c f i c 所写,只有对处理器的 访问操作是用汇编语言,这主要是对处理器访问的操作只能用汇编实现。 2 3 1uo o s - i i 移植条件 要使pc o s i i 能在一个处理器平台上正常运行,处理器及c 编译器必须满足如下条 件【2 】【9 l : 处理器的c 编译器能够产生可重入代码: 用c 语言就可打开或关闭中断; 处理器支持中断,并且能产生定时中断( 通常在1 0 1 0 0 0 h z 之间) ; 处理器支持能够容纳一定数量数据的硬件堆栈; 处理器有将堆栈指针和其他c p u 寄存器读出和存储到堆栈或内存中的指令。 l p c 2 11 4 完全符合上述移植要求。 2 3 2 “c 0 s - i i 移植步骤 1 与编译器相关的数据类型o s c p u h 的实现 不同的处理器有不同的字长,所以在uc o s i i 操作系统中定义了一系列的数据类 型定义,以确保其可移植性。 t y p e d e f u n s i g n e dc h a rb o o l e a n ; t y l m d e f u n s i g n e dc h a r i n t 8 u : t y p e d e fs i g n e d c h a r i n t 8 s ; t y p e d e f u n s i g n e ds h o r ti n t l 6 u ;某些编译器q 。i n t 是3 2 位的,故统一用s h o r t 表示 t y p e d e fs i g n e d s h o r t i n t l 6 s ; t y p e d e f u n s i g n e dl o n gd 3 2 u ; l y p e d e fs i g n e d l o n gi n i 3 2 s ; t y p e d e ff l o a t f p 3 2 ; t y p e d e fd o u b l e f p 6 4 ; t y p e d e f u n s i g n e dl o n go s _ s t k ;堆栈宽度为3 2 位,& p a r m 7 种的字对齐方式 产下面是与处理器相关的代码 树e f m e o s c r i t i c a lm e t h o d2使用方式2 保护l | 缶界代码 # d e f i n eo sn n t e r _ c r i t i c a l 0 a r m d i s a b l e i n t 0 临界段代码保护宏定义 # d e f i n eo se x i tc r i t i c a l ( ) a r m e n a b l e i n t o # d e f i n eo ss t kg r o w t h1 定义堆栈生长方向为向下生长 8 武汉理工大学硕士学位论文 # d e f i n eo s _ t a s k _ s w o s c t x s w 严宏定义,用于非中断级的任务切换+ , 广下面开始声明全局函数声明,均是o s _ c p ua s 中需要编写的函数+ e x t e mv o i do s c t x s w ( v o i d ) ; 幸声明任务级任务切换函数4 , e x t e mv o i do s i n t c t x s w ( v o i d ) ;p 声明中断级任务切换函数+ c x t e m v o i d a r m d i s a b l e i n t ( v o i d ) ; 车声明中断禁止豳数+ c x t c mv o i d a r m e n a b l e i n t ( v o i d ) ; 广声明中断恢复函数 e x t c r nv o i do s t i c k l s r ( v o i d ) ;章声明时钟中断服务函数+ 2 处理器相关的代码o s _ c p u _ a a s m 的实现 1 tc o s i i 操作系统在给定的处理器上的移植需要用户编写四个简单的汇编语言函 数:o s s t a r t h i g h r d y 0 ;o s c t x s w 0 ;o s t i c k m r o ;o s i n t c t x s wo ;由于l p c 2 1 1 4 支持汇编 语言,所以我们可以将上述函数代码放a o s c p u c c 中,这样就不必拥有分散的汇 编语言文件。 ( 1 ) o s s t a r t h i g i l r d y 0 高优先级任务的实现: v o i do s s t a r t h i g h r d y ( v o i m 调用用户可定义的o s t a s k s w h o o k 0 ; 获取任务的堆栈指针用于恢复; 堆栈指针二o s l i i c b h i g h r d y - o s t c b s t k p t r ; o s r u n n i n g = t r u e ; 从新任务的堆栈指针中恢复处理器寄存; 中断指令返回; ( 2 ) o s c t x s w 0 任务级的任务切换函数的实现: v o i do s c t x s w ( v o i m 保存处理器寄存器; 将当前的任务堆栈指针保存到当前任务的o s t c b q b ; o s t c b c u r o s t c b s t k p t r 二堆栈指针; 调用用户自定义的o s t a s k s w h o o k ; 0 s t c b c u i = o s t c b 匝g h r d y ; o s p r i o c u r = o s p r i o h i g h r d y : 得到霰要恢复的任务的堆栈指针; 9 武汉理工大学硕士学位论文 _ 一 堆栈指针= o s t c b h i g h r d y o c t c b s t k p t r ; 将所有处理器寄存器从新任务的堆栈中恢复出来: 执行中断返回: ) ( 3 ) o s i n t c t x s w o e p 断引起的任务切换函数: v o i do s i n t c t x s w ( v o i d ) 0 s h l t e 赫t o ; 将当前的任务堆栈指针保存到当前任务的o st c b q a ; o st c b c u r - o s t c b s t k p t r z 堆栈指针: 调用用户定义的o s t a s k s w h o o k ; o s j c b c u r = o s t c b h i g h r d y ; o s p r i o c u r = o s p r i o h i s h r d y ; 得到需要恢复的任务的堆栈指针; 堆栈指针= o s t c b h i g h r d y - o s t c b s t k p t r ; 将所有的处理器寄存器从新任务的堆栈中恢复出来: 执行中断返回; ) ( 4 ) o s t i c k i s r 0 时钟中断函数的实现: v o i do s t i c k l s r ( v o i d 、 保存处理器寄存器: 调用o s i n t e n t e r o ; 调用o s t i m e t i c k 0 ; 调用o s i n t e x i t 0 ; 恢复处理器寄存器: 执行中断返回指令: 3 c p u 处理函数o s _ c p u _ c c 的实现 c p u 处理函数的实现包括以下几个函数的实o s t a s k s t k l n i t 0 ;o s t a s k c r e a t e h o o k 0 : o s t a s k d e l h o o k 0 ;o s t a s k s w h o o k 0 ;o s t a s k s t a r t h o o k 0 :o s t i m e t i c k h o o k 0 。在实际 应用中,实际修改的只有o s t a s k s t k l n i t o i 函数,其他几个函数需要声明,但不一定要有 1 0 武汉理工大学硕士学位论文 实际的内容。 2 3 3l p c 2 1 1 4 启动代码 启动代码是芯片复位后进入c 语言的m a i n o 函数前执行的一段代码,主要是为运行 c 语言提供基本运行环境l 吼。启动代码通常是完成各种初始化工作,并引导进入c 程 序。启动代码一般随具体的目标系统和开发系统有所区别,通常包括以下部分1 9 1 1 1 0 : 定义入口点 设置中断异常向量 初始化存储系统( 包括地址重映射) 初始化堆栈指针寄存器 初始化中断中用到的变量 开中断 必要时改变处理器的模式 必要时改变处理器的状态 初始化c 程序用到的存储区 进入c 程序 ( 1 ) 中断向量表 a r m 中断向量表必须放置在从0 地址开始,连续8 4 字节的空间内。每当有中 断或者异常发生的时候,p c 就会跳转到0 - 2 0 h 之间相应的地址去取程序代码执行。 ( 2 ) 初始化存储系统 a r m 具有非常灵活的存储器地址分配特性,就是启动r o m 的地址重映射( r e m a p ) 。 系统在上电之后,紧接着就从地址o 开始取得第一条指令的代码执行,所以地址0 必须 在上电的时候就存在可执行的正确代码,也就是地址0 的地方应该是r o m 区,至少在 上电之后的- d , 段时间内应该是r o m 区。对于a r m 而言,中断和异常的入口地址是 0 - 2 0 h 。但是因为r o m 的访问速度相对较慢,每次中断发生后,都要从读取r o m 上 面的向量表开始,影响了中断速度。因此,a r m 处理器提供一种非常灵活的地址重映 射方法,把0 地址重新指向到r a m 中去,即启动地址重映射( r e m a p ) 。为保证重映射 之后提供正确的中断入口地址,在重映射之前就必须把中断和异常向量表拷贝到内部 r a m 中。其程序实现如下: m o vr 8 # r a mb a s eb o o t r a mb a s eb o o t 是重映射前内部r a m 区地址 a d dr 9 ,p c ,排偈+ 一v e c t o r t a b l e ) v e c t

温馨提示

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

评论

0/150

提交评论