已阅读5页,还剩72页未读, 继续免费阅读
(系统分析与集成专业论文)远程自动气象数据采集系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京信息工程大学硕士论文 远程自动气象数据采集系统 摘要 本文旨在论述智能铡量技术在气象数据采集领域的应用。以多要素气象传 感器、信号调理电路、微控制器构成数据采集系统,采用移动通信网络无线传 输数据,实现远程、自动化、准确可靠的气象监测系统。 系统硬件设计以w 7 7 e 5 8 单片机为核心,按功能与采集对象进行模块化划分, 采用串行总线的方式组织各功能模块,详细论述了数字脉冲、数字编码、模拟 量等信号量的采集与处理。 系统软件设计构造了基于时间驱动的多任务调度系统,在此基础上实现数 据采集、处理与传输,重点论述了i 2c 总线协议的软件实现与应用以及各要素 采集程序的实现。 系统数据传输以无线d t u 接入c d i ai x 移动通信网络,实现远程的无线数 据传输,并以此建立大范围的气象监测网络。 六要素( 能见度、风速、风向、气温、地温、降雨量) 气象数据采集系统 已经在沪宁高速公路气象监测系统中得到广泛应用。模块化、串行结构,开放 接口使得系统很容易根据实际需求扩展、裁剪和移植。其可靠、准确、低成本 的设计是一种实用的远程数据采集方案。 关键词:数据采集;w 7 7 e 5 8 单片机; c d m ai x 无线通信 南京信息工程大学硕士论文 远程自动气象数据采集系统 a b s t r a c t t od e s c r i b et h ea p p l i c a t i o no fi n t e l l i g e n tm e 嬲i l d 咖铌tt e c h n o l o g yi nw e a t h e r d a t aa c q u i s i t i o ns y s t e m f o c u s e si nr e m o t e , a u t o m a t e d a c c u r a t e & r e l i a b l ew 明t h 盯 d a t aa c q u i s i t i o n , t h es y s t e mi sc o m p o s e db ym u l t i - e s s e n t i a ls e n s o r , ,m i c r o c o n t r o l l e r a n dw i r e l e s sc o m m u n i c a t i o nn e t w o r k s y s t e mh a r d w a r ed e s i g nb a s e d o i lt h ew 7 7 e 5 8m i c r o c o n t r o l l e r t h ed a q m o d u l ew a so r g a n i z e db yt h ei 2c - b u s t o e m p h a s i z e so nt h ea c q u i s i t i o n & a - a n s f o r m a t i o n o f d i g i t a l p u l s e ,d ig i _ t a l c o d e ,s i m u l a t e ds i g a a l s y s t e mh a r d w a r ed e s i g nb a s e do nt h et i m e - t r i g g e r e dm u l t i - t a s kd i s p a t c h e r , p a y m o r ea t t e n t i o no nt h es o r w a r er e a l i z a t i o no f l 2c b u s & d a t aa c q u i s i t i o n p r o g r a m r e m o t ed a t at r a n s m i s s i o n , a n dw i & r a n g ed a t aa c q u i s i t i o nn e t w o r kb a s e do nt h e c d m a1 xw i r e l e s sc o m m u n i c a t i o nn e l w o r k as i xe s s e n t i a la p p l i c a t i o n ( i n c l u d i n gm o p , w i n ds p d ,d i 碍c t i o n a i r g r o u n d t e m p e r a t u r e ,a n dm i n f a u ) ,t h es t a t i o nh a sb e i n gw i d e l yu t i l i z e dt of t e e w a yw e a t h e r o b s e r v a t i o ns y s t e mi ns h a n g h a i - n 缸j i n gf r e e w a y b e n e f i t si nm o d u l a rs l n 】c 咖 s e r i a ld a t ae x c h a n g e ,a n do p e n e di n t e r f a c e ,t h es y s t e mc o u l db ee x p a n d , c u ta n d t r a n s p l a n te a s yf o rd i f f e r e n tn e e d s w i t hi t sr e l i a b l e ,8 # c c u r a f 呛& l o wc o s t , t h ed e s i g n m u s tb eap r a c t i c a ls o l u t i o nf o rd a t aa c q u i s i t i o ns y s t e m k e yw o r d s :d a t aa c q u i s i t i o n ;w 7 7 e 5 8m c u ;c d m a1 xw i r e l e s sc o m m u n i c a t i o n 学位论文独创性声明 本人郑重声明: 1 、坚持以。求实、创新的科学精神从事研究工作 2 ,本论文是我个人在导师指导下进行的研究工作和取得的 研究成果 3 、本论文中除引文外,所有实验、数据和有关材料均是真 实的 4 、本论文中除引文和致谢的内容外,不包含其他人或其它 机构已经发表或撰写过的研究成果 5 、其他同志对本研究所做的贡献均已在论文中作了声明并 表示了谢意 作者签名:豇盔堑 一 日期:a 鲤己占。之! f 学位论文使用授权声明 本人完全了解南京信息工程大学有关保留、使用学位论文的规 定,学校有权保留学位论文并向国家主管部门或其指定机构送交论 文的电子版和纸质版;有权将学位论文用于非赢利目的的少量复镧 并允许论文进入学校图书馆被查阅;有权将学位论文的内容编入有 关数据库进行检索;有权将学位论文的标题和摘要汇编出版保密 的学位论文在解密后适用本规定 作者签名:垂譬拉 日 期:趟7 一占e 越 南京信息工程大学硕士论文远程自动气奢数据采集系统 关于学位论文使用授权的说明 本人完全了解南京信息工;睦 黼关保留、使用学位论文的规定,即:学校 有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全 部或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 作者签名:耳拉 e t 期:瑚:刍12 垒 4 导师签名: 南京信息工程大学硕士论文远程自动气象数据采集系统 1 1 课题背景 第一章前言 早在清朝,我国已经建立了一套完善的气象观测制度,康熙、乾隆时期曾将改进后的 雨量器发放至全国各地,要求及时上报雨泽情况。现在第一历史档案馆中还保存有大量各 地上报雨情的奏折清政府还令钦天监和各地气象观测部门逐日观测阴晴和雨雪等天气现 象,并将观测结果缮写成晴雨录,按月呈报皇帝阅看 西方近代气象观测的历史可以追溯至1 7 世纪,此前,人们对大气以及大气中各种现象 的认识是直觉的、经验性的1 7 1 8 世纪,由于物理学和化学的发展,人们陆续发明了温 度、气压、风和湿度等测量仪器1 8 2 0 ,已逐步建立了由气压、温度、湿度、风等气象要 素组成的气象观测站网 中国现代气象观测始于1 9 2 8 年著名科学家竺可桢在南京北极阁创立气象研究所。 很长一段时间内气象观测均是以人工观测为主,时至今日,人工观测仍有其不可替代 的重要作用,然而人工的存在一些显而易见的先天限制: ( 1 ) 地域限制,有很多地方是人无法进入或者难以居住的,因此人工观测就不能覆盖 到这些地域; ( 2 ) 时间限制,人工观测难以实现高密度和实时的数据采集; ( 3 ) 准确与可靠性,人工观测存在人为误差和不一致性。 随着技术发展特别是电子计算机的应用,利用仪器自动进行观测、记录和发送观测数 据,这样构成的自动气象观测站能够在很大程度上克服人工观测的限制,满足多种需要 在人工气象站,它是观测员的辅助工具,在全自动气象站,它完全代替了观测员工作2 0 0 5 年6 月,中国珠峰综合科考队的科学家们,在珠峰海拔6 5 2 0 米的东绒布冰川垭口成功搭建 起了一套自动气象观测站,这也成为目前世界上海拔最高的自动气象观测站。在这样的极 端环境下。常年的人工观测是。不可能完成的任务” 微电子技术不仅推进着人们探寻的进程,而且实实在在的改变着这个世界。正如每个 人感受到的p c 和因特网联手倡导的信息化进程,以微处理器厂傲控制器为核心的庞大嵌入 式系统家族则将信息化推向更深更广的领域测控系统也得以在智能化、网络化方向深入 发展 1 2 课题宗旨及内容概述 本文旨在实现以采集气象信息( 可以量化到多要素多种类数据) 、处理信息( 转化为观 测者能够理解的数据) 、传输信息( 数据可以远程传送,而观测者不必亲临现场便能读取) 为主要任务,以微控制器为核心,集成多要素传感器,模块化组织软硬件设计,达到功能、 性能,成本高度统一的远程自动气象数据采集系统 南京信息工程大学硕士论文远程自动气象数据采集系统 各章主要内容如下: 第一章,前言。 第二章,分析系统需求,提出系统硬件功能划分,系统主控模块的硬件实现 第三章,系统软件功能划分,为控制器创建多任务调度器讨论l 2c 总线协议和r s - 2 3 2 接口的软件实现。 第四章,详述各采集模块的实现,给出软硬件设计方案,并讨论采集算法的优化存 储模块的软硬件实现。 第五章,讨论无线通信的实现方案,介绍无线d t u 的应用,以c d m ai x 数据业务组 建数据采集网络; 第六章,系统软硬件可靠性设计 2 胄京信息工程大学硕士论文远程自动气象数据采集系统 2 1 设计需求 第二章系统硬件设计 典型的自动气象观测站由传感器、数据采集器、通信接口和系统电源组成,采集要素 包括风速、风向、气温、气压,降雨等。在很多实际应用中需要增加或删减某些要素的采 集。比如,在作为高速公路低能见度预警系统的前端设备,架设在高速公路沿线的自动气 象观测站就会增加一项重要的采集要素大气能见度,对于这个要素的采集是通过专用 的智能传感器一能见度仪来实现而在广大的农村气象监测系统中,密集分布的站点只 需要1 2 各要素,比如降雨量和气温。 现存自动观测站的类型甚多,构成各异。从基于p c 的虚拟平台结构到以各种微控制 器为核心的实时采集系统,按其体系结构可以划分为集散式和总线式两种集散式是通过 以为控制器为核心的采集器集中采集和处理分散配置的各传感器信号,现有采集平台大都 采用这种结构。总线式则是通过总线挂接各种功能模块来采集处理传感器信号。采用总线 技术的采集平台具有结构简单、工作可靠、通用性与扩展性较好。随着铡控技术的网络化 趋势,远程无线化的数据采集系统将在气象观测领域扮演越来越重要的角色 因此,气象数据采集系统既要求有丰富的采集功能来满足多要素的气象观测,也希望 通过简单裁剪实现低成本的单要素采集器;既需要独立高性能的数据采集平台,也要具备 开放的结构体系用于大范围的数据采集网络 根据用户描述,可以列出如下基本设计要求: ( 1 ) 系统要求采集能见度、风速、风向、温度( 气温、地温) 、降雨量六个气象要素 的数据,备要素的测量要求如表2 | 1 。 衰2 - 1 气冬要蠢嚣重蔓柬 采集要素测量范围 分辨率准确度采样频率 能见度 2 0 - 2 0 0 0 0 m 1 0 0 m 士1 0 ( 1 0 0 0 m )6 歌恤 2 0 ( 1 0 0 0 m ) 风速 0 - - 6 0 m s0 1 m s0 5 m s6 0 次,m i n 风向0 - 3 6 0 。3 。5 。6 0 欢蛐 温度 一2 5 4 5 ( 气温)o 1 0 2 6 次m i n - - 3 0 6 0 ( 地温) 降雨量0 9 9 9 m m ( 雨量) 0 1 m mo s w a n ( 1 0 m m )1 次触i n o 4 0 r a m r a i n ( 强度)5 ( 1 0 r a m ) ( 2 ) 自动测量各项要素,并按规定格式上传数据; ( 3 ) 具有实时时钟,按时间记录资料,存储至少1 天的数据量; ( 4 ) 通信接口,要求r s - 2 3 2 串行接口,能与p c 机或者通信模块相连 ( 5 ) 电源,要求有不间断工作能力 3 南京信息工程大学硕士论文远程自动气象数据采集系统 2 2 系统硬件功能划分 根据设计要求,本课题提出的方案是将采集系统按照功能和采集对象划分为多个模块, 以串行总线连接各功能模块,以c d m a 移动通信数据业务为支持实现无线化数据采集网络 方案,功能划分参见图2 - l : 1 2 c) i掣藏嚣l l l l 7 电外f 徽 风速模块存赭模块温度模块风向模块爵量模块智能模块通信模块 源围l 控 谓理电路l i e e p r o m i a d lii o f f 屣l l 扩雇l 智能伟喀毒 ! c d m a l 模翻制 l 盛| i 调理电黯ii 谭理电路l 谓理电路i 麓见度仪 l d t u l 块俐嚣鼍度传苍剁 慨向传摩嚣i i 雨量传盛善l r s 2 3 2 il 圈2 - 1 系统框啊 ( 1 ) 以微控制器为核心的主控模块 主控模块驱动系统运行,负责数据存储、处理与传输,并向采集模块,通信模块以及 其他扩展模块提供数据总线接口和控制接口 ( 2 ) 以传感器为核心的采集模块 采集模块依采集对象的不同,划分成诸如风速风向模块,降雨量模块、温度模块、智 能传感器模块等等。采集模块与主控模块通过i 2c 串行总线交换数据,接收控制指令智 能传感器模块则通过i t s 2 3 2 串行接口传输数据 ( 3 ) 通信模块 通信模块采用c d m a1 x 无线唧( d a t at e r m i n a lu n i t ,数据终端单元) 为通信中继, 以无线方式接入c d m a 数据网络,以r s - 2 3 2 串行方式与主控模块通信 ( 4 ) 电源模块等等 电源模块,根据气象观测系统的环境需求以及系统无线化组网方案,采用太阳能能电 池供电方式,不仅为各模块供电,还要为多种传感器提供电源,因此也作为单独模块设计 2 3 主控模块硬件实现 根据图2 1 中的系统功能划分,功能扩展首要任务是构建以m c u 为核心的主控模块, 主控模块中对外开放的接口包括一个内部定时计数器,一条1 2c 串行总线,两个r s - 2 3 2 串行接口。那么其内部主要由控制器基本电路,1 2 c 扩展电路以及r s - 2 3 2 串行接口三个电 路组成,电路连接分别参见图2 - 2 、图2 - 3 ,图2 4 同时,在本章末尾还给出了电源供电 模块电路,各采集,存储、通信模块的硬件与软件实现将在分别第四,五章详细论述 4 南京信息工程大学硕士论文远程自动气象数据采集系统 2 3 1 徽控制器 根据任务需求从如下几点分析微控制器的选择: ( 1 ) 运算能力 系统主要执行的任务是数据总线、端口的读写,数据采样频率均不超过i h z :简单的 数据处理( 比如平均算法等) ;少量的数据管理等在第三章中,将为其建立多任务调度内 核,不过占用资源极为有限 ( 2 ) 实时性 因为采样的频率较低,任务简单,对响应时间要求并不严格而精确的采样周期可以 通过任务调度器来控制 ( 3 ) 存储能力 参考以往系统开发经验,程序代码量不超过2 0 k ,因为调度器的引入。容量可以适当 放宽数据存储一般8 位m c u 可寻址的6 4 k 外部空间之外还可以通过串行扩展。 ( 4 ) 端口扩展能力 主要包括两组u a r t 串口( 4 个) ,i 。c 数据与时钟线( 2 个) ,外部r a m 扩展( 2 组 s 位) ,以及外围芯片比如看门狗芯片等。 综上分析,系统属于低速、弱实时、小存储的应用,根据性能需求与成本,综合选择 了w 7 7 e 5 8 单片机作为系统控制芯片。 w 7 7 e 5 8 是一个快速8 0 5 1 兼容微控制器,它的内核经过重新设计,提高了时钟速度和 存储器访问周期速度经过这种改进后,在相同的时钟频率下,它的指令执行速度比标准 8 0 5 1 要快许多一般来说,按照指令的类型,w 7 7 e 5 8 的指令执行速度是标准8 0 5 1 的1 5 3 倍。整体来看,w 7 7 e 5 8 的速度比标准8 0 5 1 快2 5 倍。由于采用全静态c m o s 设计,w 7 7 e 5 8 能够在低时钟频率下运行,在相同的吞吐量及低频时钟情况下,电源消耗也降低。w 7 7 e 5 8 内含3 2 k bf l a s hr o m ,i k b 的片上外部数据存储器。w 7 7 e 5 8 具有两个增强型全双工串行 口,这也是本系统实现要求之一 w 7 7 e 5 8 外围电路参见图2 - 2 电路采用1 1 0 5 9 2 m h z 晶振,便于为串口通信产生标准波特率。 l 2c 总线以其良好的可扩展性、简单的通信协议以及众多的外围器件支持而得到广泛 使用,w 7 7 e 5 8 本身没有i2 c 总线硬件接口,可以通过软件模拟实现,p 1 0 和p 1 1 将分别 用于数据线和时钟线1 。c 总线扩展电路参见图2 - 3 为实现短期数据存储,将通过1 2c 总线扩展外部e e p r o m ,e e p r o m 读写寿命有限, 不适于频繁读写,故扩展了3 2 k b 的外部r a m6 2 c 2 5 6 考虑到系统长时间运行于野外无人值守状态,且环境较为恶劣,对可靠性要求较高, 采用了外部看门狗芯片x 5 4 0 5 南京信息工程大学硕士论文远程自动气象数据采集系统 2 3 21 2c 总线扩展电路 在讨论功能扩展之前,分析多要素传感器、存储器、通信模块等接口与信号量格式, 确定相应的采集、通信方式,详见袭2 - 2 衰2 - 2 传t 嚣接口 传感器,存储器、通信模块等接口 采集、通信方式 雨量传感器数字脉冲 i2 c 总线扩展外部计数器 气温i2 c 接口 i2 c 总线 温度传感器 地温电阻模拟量 i2 c 总线扩展a d 风速传感器数字脉冲m c u 内部定时,计数器 风向传感器8 位格雷码 12 c 总线扩展8 位f o 口 智能传感器( 能见度仪) r s - 2 3 2 串行接口m c u 串口i e 既r o m1 2 c 接口 i2 c 总线 时钟芯片 i2 c 接口i2 c 总线 无线通信模块d t u r s - 2 3 2 串行接口m c u 串口0 6 南京信息工程大学硕士论文远程自动气象数据采集系统 根据系统功能需要,作如下扩展,包括p c f 8 5 6 3 时钟芯片,a t 2 4 c 5 1 2e e p r o m 芯片, d s l 6 2 4 温度采集芯片( 气温采集模块) ,a d s i l i o 模数转换芯片( 用于地温采集模块的接 入) p c f 8 5 7 4 并口扩展芯片( 分别用于雨i 、风向采集模块的接入) 参见图2 - 3 温度模 口 口 7 , - 3i c 篁曩功照羹块扩晨 1 2c 总线是一种二线制的串行通信总线,最初由p h i l i p s 公司在1 9 9 2 年推出现在许 多半导体厂商都支持1 2c ,因而许多不同的外围设备( l c d 、l e d 、e e p r o m ,a d 等) 可以不必使用大量端口引脚而连接到微控制器上 1 2c 总线中串行数据线( s d a ) 和串行时钟线( s c l ) 传送各种芯片之间的信息。1 2c 总线上连接的芯片所采用的不同技术也决定了逻辑。0 ”和“i ”的电平也不尽相同,它们 也同时取决于系统的电源电压。当总线空闲时,s c l 和s d a 线都为高 连接到i 2 c 总线上的芯片数量仅仅受限于最高为4 0 0 p f 的总线负载电容当缺乏相关 信息是,可以假定每个外围设备和它的接线总共带来2 0 p f 的电容,这样1 2c 总线的外围 设备最大数目约为2 0 个 2 3 3 r s - 2 3 2 接口电路 w 7 7 e 5 8 有两个全双工串行口,设计中串口0 和串口1 分别用于无线通信模块和智能 7 南京信息工程大学硕士论文远程自动气象数据采集系统 传感器( 能见度仪) 的数据传输串口0 还将作为系统下位机调试接口r s - 2 3 2 串行接口 电路参见图2 - 4 田2 4r s - 7 , 3 2 事行接口电略 r s - 2 3 2 电平采用负逻辑,“1 ”用一1 5 - - 5 v 表示,“0 ”用+ 5 + 1 5 v 表示,8 0 5 1 微 控制器的串行通信采用n l 正逻辑,“1 ”= 2 4 v ,“o ”= o 4 v 。因此控制器的串行口与r s 2 :3 2 接口时必须进行电平转换,常用电平转换芯片为m a x 2 3 2 2 4 系统电源模块 当系统采用无线通信方式时,也就决定了电源供电方式的“无线化”,本系统采用光电 池组件供电,供电电路参见图6 - 4 电源模块主要构成包括: ( 1 ) 单晶硅太阳能电池组 输出功率:4 0 w ;峰值电压:2 1 6 v :峰值电流:2 6 a 这是太阳能光伏发电系统中的最核心部分,它的主要作用就是将太阳能光子转化为电 能,从而推动负载工作。太阳能电池分为单晶硅太阳电池、多晶硅太阳电池、非晶硅太阳 能电池。由于单晶硅电池比其他两类坚固耐用、使用寿命长( 一般可达2 0 年) 、光电转换效 率高等,致使它成为最常用的电池。 ( 2 ) s o l s u m 太阳能充电控制器 输出电压:1 2 v ;负载电流:6 a :充电电压:1 3 6 v :自耗电:4 m a 它的主要工作就是控制整个系统的状态,同时对蓄电池的过充电、过放电起到保护作 3 南京信息工程大学硕士论文 远程自动气景数据采集系统 用。在温度特别低的地方,它还具有温度补偿功能 ( 3 ) 封闭式免维护铅酸蓄电池 额定电压:1 2 v :容量:6 5 a h 它主要储存由太阳能电池板转化过来的电能,可以多次循环使用,其封闭式结构也使 得电池正常使用寿命长至6 , - 7 年 ( 4 ) l 心5 7 6 电源转换芯片 输入:7 4 0 v 电压。最大6 0 v ;输出:5 v ,3 a l m 2 5 7 6 芯片具有3 a 的负载驱动能力,能够输出3 3 v 、5 v 、1 2 v 、1 5 v 的固定电压或 者可调电压输出 ( 5 ) 避雷器 额定电压:3 6 v :峰值放电电流:1 5 k a 用在供电线路上作避雷保护 太阳能发电的原理,就是太阳辐射能通过半导体物质转变为电能的过程,通常叫做“光 生伏打效应”,当太阳光照射到半导体上时,有一部分光子被表面反射掉,其余部分要不被 半导体吸收要不就被半导体透过,其中被吸收的光子,当然有一些变成热,另一些光子则 同组成半导体的原子价电子碰撞,于是产生电子一空穴对。这样,太阳光能就以产生电子 一空穴对的形式转变为电能,再经过半导体内部的电场反应,产生一定的电流,如果把一 块一块的电池半导体以各种方式连接起来则形成多股电流电压,从而输出功率。 太阳能供电系统工作方式如下,白天有光照时,单晶硅太阳能电池组为主能源输出, 通过太阳能充电控制器给铅蓄电池充电,控制器输出1 2 v 直流,经l m 2 5 7 6 整流输出5 v 、 3 a 直流夜间没有光能的时候由蓄电池输出供电。其中5 v 主要供给主控板,1 2 v 则用于 驱动各传感罂电源供电设计充分考虑了负载容量,经实地测试,6 要素采集站在光照不 足( 模拟阴雨天、无直射光) 的情况下,供电支撑约1 2 1 5 天 2 - s 供电辏央 9 南京信息工程大学硕士论文远程自动气象数据采集系统 第三章系统软件设计 3 1 系统软件功能划分 根据第二章的设计需求分析,可以将系统软件需求作如图3 1 所示的功能划分,主要 任务可以划分为数据采集、存储、通信三部分,图中所列出的任务模块都是周期性任务。 在采集模块内部的单个要素采集之间没有优先级顾序;数据存储任务中,先向r a m 中写 满天数据,再存入e e p r o m ;数据传输任务,采集与存储之后完成另有一些次要功能 比如喂狗程序,驱动l e d 傲心跳显示等等 能见度阜口通信 风速 内部计敦嚣读取 1 数据采集l 风向 1 2 c 外f i f o 芯片读取 il 气置1 2 c 井f f l o 芯片读取 地江1 2 c 外扪芯片读取 陴雨量1 2 c 外f i f o 苍片读取 外部r a m数据总缝读写 e e p r 例1 2 c 斜f f v o 萏片读取 时钟芯片 1 2 c 外扩i o 苍片读取 啊3 - 1 系统软件功麓斟分 在很多复杂的嵌入式应用中选用实时内核操作系统来管理任务模块,比如,抢占式内 核c o s 4 1 能够很好的支持实时多任务应用。对于本系统而言,正如2 2 1 节中分析,是 一个低速、弱实时的应用,使用8 位控制器,资源有限,不能很好的发挥实时内核效率, 且没有明显的抢占式事件因此,在系统软件实现过程中,可以根据控制器结构,吸取嵌 入式操作系统的多任务特性,创建适于数据采集应用的多任务调度器 1 0 南京信息工程大学硕士论文远程自动气童数据采集系统 3 2 多任务调度器 3 2 1 硬件精确定对机制 传统的运行于3 位单片机的系统基于如下的i 骺台模式或者说超级循环结构,应用任 务是一个无限循环。循环中调用相应的函数完成相应的操作( 后台) ,中断服务程序处理异 步事件( 前台) : 传统的超级循环结构 7 - - - - - - - - - - - - - # i n c l u d e v o i dm a i n c v o i d ) t a s k _ i n i t o : w h i l i ) 1 醐l 【o ; 胞舍芯片头文件 脏程序 ,任务初始化 南b 级循环,死循环 臌行任务 中断服务程序等 基于超级循环的系统安全可靠,总体结构简单,易于理解,几乎不占用系统存储器和 c p u 资源。 然而,超级循环结构也有其弊端。嵌入式系统的实时性包括两层含义,一、系统结果 的正确性;二,产生结果的时效性超级循环结构缺乏有效的任务调度手段,依靠简单的 顺序执行和中断响应的方式,带来任务的不可预测性。比如它很难在精确的时间间隔执行 任务考虑到如下列出的系统要求,这种限制是一个非常大的缺点。 ( 1 ) 每1 秒钟采集1 次风速、风向数据; ( 2 ) 每1 0 秒钟对风速、风向数据进行一次平均; ( 3 ) 每1 分钟累积1 次雨量数据; ( 4 )每1 秒钟采集1 次温度数据,每1 分钟对温度数据进行平均; ( 5 ) 每1 分钟向上位机发送1 次数据; ( 6 ) 每1 分钟向存储器写入汇总数据; 类似的以精确时间间隔完成周期性任务在很多系统中都能见到,如果要以超级循环实 现每隔一秒钟运行一次t a s k ( ) ,而完成该任务需要0 , 1 秒,那么对其结构作如下改变: 西l 一一一 完成周期任务超级循环结构 南京信息工程大学硕士论文 远程自动气象数据采集系统 胞含芯片头文件 胜程序 ,任务初始化 ,超级循环 ,执行任务 ,j 蓬时0 9 秒 事实上,上述方法难以达到要求,只有在满足如下条件时才能精确运行: 1 、知道t a s k ( ) 的精确运行时间 2 、这个运行时间永不变化 在实际系统中,很难确定任务的精确运行时问。一个非常简单的任务,不与外界相互 作用,而仅仅执行某些内部计算,在这样有限的情况下,改变编译环境,或者改变一些表 面上不相关的程序部分,也可能改变任务运行的速度。 第二种条件更是难于达到,在嵌入式系统中,任务往往需要以复杂的方式与外界相互 作用在这种情况下,任务运行时间将随着外加行为的变化而变化 针对传统超级循环结构的弱点,可以从处理器特性入手,寻找一种精确定对机制,用 于实现任务调度。广泛应用的8 0 5 2 型单片机提供了3 个1 6 位的定时计数器,当定时,计数 器设定为定时方式时其计数脉冲的周期等同于单片机的机器周期计数脉冲周期与常用晶 振频率有如下的对应关系: t m = 二( t m ,计数周期;d ,机器周期分频数;f 。,晶振频率) jm 对应8 0 5 1 ,d = 1 2 ,使用1 2 m h z 晶振时,计数周期为1ps ; 1 对应w 7 7 e 5 8 的高速模式,d = 4 ,使用1 1 0 5 9 2 加晶振时,计数周期为互了赢“5 ; 定时,计数器溢出时,置位中断系统的中断请求标志,主机响应并转入中断服务程序 ( i s r ) 。这是基于硬件的产生的可靠定时机制,定时溢出中断可以作为事件触发器来驱动 任务下面将以此为基础,建立适合w 7 7 e 5 8 的多任务调度系统 3 2 2 时间驱动的多任务调度器 基于时间驱动的多任务调度器,有如下特征: ( 1 ) 调度器提供了多任务系统结构; 一 一 蛳一 。一一。蛳, 南京信息工程大学硕士论文 远程自动气象数据采集系统 ( 2 ) 任务在特定时刻被调度运行,由功能需求决定,比如风速采集每秒1 次,则风速 采集任务每隔1 秒钟调度1 次,而1 秒的间隔由定时器硬件来实现; ( ,) 当任务需要运行时,设置任务就绪参数,在主函数中被调用并运行; ( 4 ) 当周期任务尚未到运行周期或者运行完毕没进入下一次周期时,进入等待状态; ( 5 ) 主函数中采用函数指针调用函数功能模块; 墅丝 i 趸对器初始化; 0端口初始化; 面痞瓦 i 变量韧始化; 二王二二:氟任务数据结构 任务添加函教 卜;任务参数初始化; 。l 。 t 开定时器2 中断l 圈3 - :l 任务黻嚣藏器嗣 从图3 - 2 中可以看到调度器包括如下主要模块: 调度器数据结构 初始化函数 任务刷新函数 中断服务函数 任务添加函数 任务调度函数 任务删除函数 下面将以任务调度器实现一个简单任务,控制采集板上的l e d 以1 秒间隔闪烁英文 中有s e l a e d t t l 口和d i s p a t c h e r 两个单词表示调度器,函数命名也将以其缩写开头 l - - - - - - - - 一 ,简单调度应用主框架代码 l 。- 一 南京信息工程大学硕士论文远程自动气象数据采集系统 v o i dm a i n ( v o i d ) s c h 剧t 。t 2 0 ; 定时器2 初始化,用于产生系统时标,驱动调度器 l e d _ f l a s h _ i n i t o t l e d 闪烁初始化 s c i 王a d dt a s 姬e d r 韶l l ,o 1 0 0 ) ,曾加l e d _ f l a s h 任务( 每1 0 0 0 m s 改变自身状态) ,定时间隔( 系统时标) 定为1 0 m s ,参数0 表示任务延时,本例无延时,第一个系统时标就立即执行 ,参数1 0 0 表示任务周期,每1 0 0 个系统时标调用一次l e d _ f l a s h 任务 s c hs t a r t 0 1,开中断,允许调度器运行 w i m e ( 1 ) ,j 匿级循环,将任务调度器放在主循环中有利长任务条件下系统可靠 性 s c h _ d i s p t e ht a s k o ;,鹰询任务状态,在任务就绪时,运行任务 , ) v o i ds c h _ u p d a t e ( v o i d ) i n t e r r u p ti n t e r r u p tt i m e r _ 2 o v e f f l o w 腚对器2 中断服务,调度器任务状态刷新函数 ,届0 新任务状态 ,服据任务延迟和循环周期,决定任务是否应该就绪,或者是继续等待 ) 任务数据结构是自定义的数据类型,汇集了每个任务所需的全部信息,是调度器传递 任务状态的核心 二,- - - 一 , 定义任务数据结构 z f 一一一 t y p e d c f d 越as u l z c t ,存储在d a t a 区,快速存取,每个任务占用存储器空间为7 字节 ( v o i d ( c o d e p t a s k x v o i d ) ; ,脂向任务的指针,调度器就是通过这个函数指针调用任务函数的 t w o r dd e l a y ;胪住务延时 t w o r dp a d o d ;,任务周期 t b y mr u n ; ,任务就绪标志 s t a s k ; 二。,- 一 初始化函数 0 - - - - 一 1 4 南京信息工程大学硕士论文远程自动气象数据采集系统 v o i ds c h i t _ t 2 ( v o i a ) 忸y 侍i ; f o r ( 1 = 0 ;i s c h _ m a x _ t a s k s ; s c hm a xt a s k s 是预定义的任务最大数目,树c f i ms c h 1 _ m a x t a s k s ,每添加一个任务,$ c h _ m a x _ t a s k s 要作相应调整 s c hd e l e kt a s k 回; ,复位所有任务 ) e r r o rc o d eg = o ;腹位错误状态 t 2 c o n = 0 x 0 4 ;,肋载定时器2 的控制寄存嚣 t 2 m o d = 0 x 0 0 ;砌载定时器2 的模式寄存器 t h 2 = 0 x 9 3 ;砌载定时器2 高位字节 r c a p 2 h = 0 x 9 3 ;,肋载定时器2 的重装高位字节 t l 2 f f i o x f f ;,肪日载定时器2 低位字节 r c a p 2 蝴;,肪口载定时器2 的重装低位字节 e t 2 = i ;| 瞬印断 t r 2 f f i l ;研定时器 ) 作为与标准8 0 c 5 2 兼容的芯片,w 7 7 e 5 8 有3 个定时器,定时器1 一般用于波特率发 生器,定时器0 只有8 位自动重装模式,延时范围比较小这里用定时器2 的1 6 位自动重 装模式产生系统时标对于w 7 7 e 5 8 ,使用1 1 0 5 9 2 m h z 晶振,定时器2 的1 6 位自动重装 l 模式产生的定时精度是互:素石“s 要产生1 0 。3 的系统时标,重装值如下计算: 6 5 5 3 5 - - ( 1 0 x 1 0 3 ) ( :;一1 0 6 ) f f i 3 7 8 8 7 = 0 x 9 3 f f 2 7 6 4 8 任务开始函数 v o i ds c h _ s t a r t ( v o i d ) e a = i ;开中断允许 任务刷新函数 ,任务刷新函数也是定时器的中断服务函数 v o i ds c hu p d a t e ( v o i d ) 加t e m l p l n t e r r u p t _ t t m e r _ 2 _ o v e r f l o w 南京信息工程大学硕士论文远程自动气象数据采集系统 t b y m m 山口【: t f 2 = 0 ;脬工清除溢出标志 f o r ( i n f l e x - - 0 ;i n d e x s c h _ m a x _ t a s k s ;i n d e x + + ) i f ( s c h _ m k s _ o g n & x p t a s k ) 臆测是否存在任务 i f ( s c h 恤牺g f i 【i d 嘲j ) c 】a y q , 主务需要运行 s c hm k s _ o i n d e x r u n 忙l ; ,置任务就绪标志 i f ( s c h _ t a s k s _ g i n d c x p e r i o d ) ,是否周期任务 s c h _ t a s k s _ g i n d e x d e l a y = s c h _ t a s k sg i n d e x p e r i o d : ,复制周期参数给延时参数,以利任务再次运行 ) c l 聪 s c ht a s k s _ g i n d e x i ) e l a y l : 胸果任务还没有到执行周期,延时减i 时标,等待 , ) 二一一 任务添加函数 山l - - - 一 t b y t es c ha d dt a s k ( v o i d ( c o d e + p f u n c t i o n ) o , c o n s tt w o r dd e l a y , c o 删t w o r d p e r i o d ) t b y mi n d e x = o ; w h i l e ( ( s c h _ t a s l ( s _ g i n d e x p t a s kf = 0 ) & , & ( i n d e x :s c h _ m a xt a s k s ) ) ,任务队列查找空间 i n d e x + + ; i f ( i n d e x ;= s c h _ m a x _ t a s k s ) ,任务队列已满 e r r o r c o & 一g = e r r o rs c h t o om a n yt a s k s ;缎置错误变量 1 6 南京信息工程大学硕士论文远程自动气象数据采集系统 r e t u r ns c h _ m a x _ t a s k s ; 返回错误代码 $ c i - iw s k s _ g i n d e x p t k = p f u n c f i o n ; 脚果任务队列有空问,添加任务函数指针 s c h _ m s k s _ g 【i n d e x 】i ) e l a y = d c l a y ; 设置任务延时 s c ht a s k so 1 l n d e x p e 0 d 印叫o d : 设置任务周期 s c h _ t a s k s _ g i n d e x r u n = o ; ,设置任务就绪状态 r e t u r ni n d e x ; 返回任务位置,必要时方便删除 任务添加函数各参数详解 s c ha d dt a s k ( t a s k 臌调度任务函数的名称n a m , i n i t d e l a y , ,任务第一次执行的延时,为0 时任务立即执行 p e r i o d ,任务重复运行的周期,为0 时任务只执行一次 ) 当函数被调用时,链接器将建立一个程序调用树,调用者必须在进入函数之前把参数 拷贝到这个固定的空间中。然后函数从这个固定的空间中读取并使用这些参数。在这个过 程中只有返回地址存放在堆栈中。中断函数会需要更多的堆栈空间,因为程序必须切换寄 存器组并且保存一些寄存器的值到堆栈中 在任务添加函数中,当函数指针被当作函数参数时,链接器难以确定正确的调用树 针对这种情况可以用连接器的o v e r l a y 命令纠正 指针l e d - - f l a s bi ) d a t e 在m a i n 0 * 出现,链接器会误以为该函数是从m i n 0 中调用的, 然而实际上该函数是从s c h 调用的 纠正方法:_dispatchtasksoverlay o v e r ia y ( m a i n 一( l e df i s h u p d a m ) , s c hd j s p 砒c i j a s k s ! 叫f i 矗s hi j p d 锄e ) ) , 任务调度函数 ,) 二- - 。一 v o i ds c hd 印酗t a 幽s c v o i d ) 舭i n d e x ; f o r 脚, i n d e x s c hm a xt a s k s ;i n d + + ),膺询任务状态 i f ( s a _ 岫虹- g f h i 蚓r | | n :,o ) 廊果有任务就绪 ( * s c h _ 似k so m d e x p t 笛k ) o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械制造质量控制部门负责人绩效评估表
- 装配式外墙板吊装实施方案
- 第4节 密度的应用
- 货运汽车买卖合同(32篇)
- 工厂产销会课件
- 工程成本管理控制课件
- 歌唱比赛方案课件
- 工程变更签证索赔课件
- 工厂安全专题模板课件
- ICU麻精药品管理制度2026
- 2026中国邮政联合校园招聘笔试参考题库(含答案解析)
- (一模)嘉兴市2026-2027学年第一学期高三教学质量检测语文试卷(含答案)
- 2026中国洗衣干衣行业市场现状需求分析投资布局发展策略研究文献
- 2027年湖北交通投资集团有限公司秋季校园招聘131人笔试备考题库及答案解析
- 2026山东青岛水务集团有限公司招聘笔试历年参考题库附带答案详解
- 2026年党支部基层总结报告
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 2018 机械通风冷却塔 第1部分:中小型开式冷却塔
- 中国膀胱癌诊疗指南2025版
- 梅尼埃病前庭功能检测
- 凉山2025年四川凉山州雷波重点国有林保护局招聘27人笔试历年参考题库附带答案详解
评论
0/150
提交评论