(计算机应用技术专业论文)智能电力系统中数据采集的方法与实现.pdf_第1页
(计算机应用技术专业论文)智能电力系统中数据采集的方法与实现.pdf_第2页
(计算机应用技术专业论文)智能电力系统中数据采集的方法与实现.pdf_第3页
(计算机应用技术专业论文)智能电力系统中数据采集的方法与实现.pdf_第4页
(计算机应用技术专业论文)智能电力系统中数据采集的方法与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)智能电力系统中数据采集的方法与实现.pdf.pdf 免费下载

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

文档简介

, 音二兰:圭鼍:曼:二音:二:。:二:二号:圭量壶釜曼茧号。塑里坠:二二二二二釜二:二:二二:二三;兰三二主;每 摘要 本论文来自于导师的黑龙江省科技攻关项目“智能电力监控系统 。“智能电力监控 系统刀研究的内容主要是监控电力线上各种参数及其变化,并且根据记录的参数找出一 定的规律,并在此基础上做出一系列的符合预测,使电力能源能够稳定运行并且合理分 配电力能源,从而节约电力能源,保证国民经济正常运转。本论文涉及的是智能电力监 控系统的前端数据采集器部分。 为了保证电力系统的正常运行,经常需要对电力线上的电压、电流、功率等各种参 数进行测量,这就必须对电力数据进行采集。数据采集是计算机应用的一个重要分支, 是获取测量信息的主要与最新手段之一。 本论文详述了一种可用于电力系统在线监测的数据采集系统。详述了系统的硬件构 成和软件实现。采用时分割乘法器电路实现对电力线上功率的精确测量。采用高档3 2 位a r m 处理器构成硬件系统,并且在此基础上进行各种软件的移植。该系统能够用于电 力系统在线数据采集,能获得较好的采样速率和采集精度。项目设计的采集器除了参考 了其他公司和研究所的产品的功能,包括:瞬时电压、电流量显示、有功功率、无功功 率、功率因数、频率、电压电流的相位、相位差等等,同时还结合最新的嵌入式技术, 移植了嵌入式实时操作系统( r t o s ) 、嵌入式图形用户人机接口界面( g l u ) 、嵌入式文件 系统( f s ) 和小型嵌入式网络协议( l w i p ) ,使数据采集系统功能达到孓i 定的水平。 关键词数据采集;嵌入式系统;电力系统;智能电力系统、。 东北林业大学硕士学位论文 a b s t r a c t t h i sp a p e rc o m e sf r o mm yd i r e c t o r sp r o j e c t - i n t d l i g e n tp o w e rs y s t e mo fh e i l o n g j i a n g p r o v i n c e t h ei n t e l l i g e n tp o w e rs y s t e ms u b j e c ti sm a i n l yr e s e a r c h e do nt h ep a r a m e t e r so f p o w e rl i n ea n dm o n i t o r e dt h e i rc h a n g e s w i t ht h e s ed a t u sp e o p l ec a nf i n dar e g u l a rl a wa n d m a k eav a l i dd i s t r i b u t i o n t h i sc a ns a v et h ep o w e re n e r g e ya n de n s u r et h en o r m a l p r o g r e s so f l i v e w h a tt h i sp a p e rd i s c u s s e sa b o u ti st h ef r o n tp a r to ft h ei n t e l l i g e n tp o w e rs y s t e m t h e d a t aa c q u i r i n gs y s t e m s i no r d e rt ok e e p i n gt h ep o w e rs y s t e mw o r k i n gw e l l ,m e s s a s u r i n gt h ec u r r e n t , t h ev o l t a g e a n dt h ep o w e ro ft h el i n ea r en e e d e d s ow es h o u l ds a m p l ea n dc o l l e c tt h ep o w e rl i n ed a t a d a t aa c q u i r i n gi sab r a n c ho ft h ec o m p u t e ra p p l i e dt e c h n o l o g ya n di t so n eo ft h en e wm a i n m e t h o do f g e t t i n gi n f o r m a t i o n t h i sp a p e ri nd e t a i ld i s c u s s e sak i n do fd a t aa c q u i r i n gs y s t e mi nt h ef i e l do fm o n i t o r i n g p o w e rl i n e ,i n c l u d i n gt h eh a r d w a r ea n ds o f t w a r e am e t h o do ft u n es p l i t t i n gp r o d u c ti su s e dt o m e a s u r et h ep o w e ri nt h ep o w e rl i n ea e e u r a l y h a r d w a r ec o n s i s t sf r o mt h eh i 【g hl e v e l3 2 - b i t e m b e d d e dp r o c e s s o r a n db e y o n dt h i sh a r d w a r es e v e r a lk i n do f :e m b e d d e ds o f t w a r ei sp o r t e d t h i ss y s t e mc a nb eu s e dt om e a s u r et h ed a t ap a r a m e t e r so fe l e c t r i cs y s t e m sa n dh a sa9 0 0 d s a m p l i n gv e l o c i t ya n da c c u r a c y t h i sd a t aa c q u i r i n gs y s t e mt h a th a sb e e n o e s i g n e di nt h e p r o j e c tt o o kr e f e r e n c eo fs o m ec o r p sp r o d u c t s f u n c t i o n , i n c l u d i n gv o l t a g ea n dc u r r e n t d i s p l a y i n g ,a v a i l a b i l i t yp o w e ra n dn u l l i t yp o w e r , p o w e rf a c t o r , f r e q u e i i e y , v o l t a g ea n dc u r r e n t p h a s ed i f f e r e n c ee t e w ea l s oc o m b i n et h el a t e s te m b e d d e dt e c h n o l o g yt op o r te m b e d d e dr e a l t i m eo p e r a t i n gs y s t e m ,e m b e d d e dg r a p h i cu s e ri n t e r f a c e ,e m b e d d e df i l es y s t e ma n dl i g h t w e i g h ti n t e r a c tp r o t o c 0 1 t h e s ee n h a n c et h et e c h n o l o g yo f t h ed a t aa c q u i r i n gs y s t e m k e y w o r d sd a t aa c q u i r i n g ;e m b e d d e ds y s t e m ;p o w e rs y s t e m ;i n t e l l i g e n tp o w e rs y s t e m i i l 绪论 t 绪论 1 1 引言 为了保证电力系统的正常运行,经常需要对电力线上的电压、电流、功率等各种参 数进行测量,这就必须对电力数据进行采集。数据采集是计算机应用的一个重要分支, 是获取测量信息的主要与最新手段之一。 1 1 1 智能电力监控系统的数据采集简介 本课题是智能电力监控系统的一个重要分支,它为后端电力负荷预测提供原始数 据。电力负荷预测与控制技术在我国的研究和应用已经有2 0 多年的历史。从80 1 年代中期 开始,电力负荷控制系统在我国得到了广泛的推广和应用,曾为缓解我国9 0 年代中期以 前的电力供需矛盾起了关键性的作用。据前不久的调查资料表明,全国已有2 9 个省采用 集中型、分散型或分时控制等多种方式,通过技术手段对辖区实行负荷控制n 1 。不论使 用哪一种方式进行负荷预测,都离不开电力数据采集器的电力数据采集。 1 1 2 数据采集系统是商业化运行的需要: 随着电力体制改革的深入和技术的进步,建立电能采集系统迫在眉睫。电能采集系 统作为电力营销系统和未来电网商业化运营的技术支持也将起到重要的作用。电力采集 系统主要由主站端计算机系统、厂站端电量采集器、和信息通信网络3 部分组成,它涉 及到电子、计算机0 通信、。网络、电力系统等多方面的专业知识。- 皂能量数据采集系统 的主要功能是实现对管辖范围内的电厂的电能量,供电局、供电所售电能量和一次网损 电能量的自动采集和结算。系统的考核不仅能区分峰、谷、平电能量。而且,与周波高 低,超受、少受、超发、少发挂钩。通过计算机网络与其他电能采集系统交换电能量计 量信息,与有关生产管理部门实现信息共享。 1 1 3 向智能化发展的需要 系统需对数据进行采集与处理、统计、存储等,根据考核模型完成电能量自动结 算、打印,具有较强的功能、灵活的配置、良好的人机界面,并且将来可以方便扩充升 级到实时电价应用系统。系统能满足分时段计量的要求,保证主站、各厂站设备的时钟 同步。系统要保证电能量数据采集、存储的及时、可靠和准确,在任何情况下都不丢失 所采集到的带时标的电能量数据。对于由于通信故障等其它原因造成的数据丢失,应该 具有及时补调功能。 1 1 4 国内外研究概况 国内外对数据采集器的研究有很多,很多的公司和科研单位也有的作出了相应的通 用型产品:比如浙江丝绸工学院电工教研室刘建宁研制的数字功率表乜1 可以实现对电网 东北林业大学硕士学位论文 2 = = = 喜= = = 鲁= ;三= = = = = = = = = = = 鲁= ;= = = ;皋= = ;寻= 号号= = = = = = = = = 寻导= 寻= = = 暑 中的电能或电机功率的测量;有的则增加了一些功能如:北航的自动化学院研制的多功 能电力数据采集及处理终端,在实现电力数据采集的基础上,实现了谐波计算、无功补 偿、数据显示和远程控制的功能。也有一些是基于w i n d 0 w s m 或者是虚拟仪器加采集卡 实现的等等瓯屯5 铂。 1 1 5 发展趋势 但是,智能电力数据的采集不能仅仅局限于现有的和过去的采集系统。尤其是现在 ? 嵌入式技术韵发展和成熟给数据采集系统提供了完善各项功能的新技术。传统的数据采 集一般是基于微处理器的设计,用汇编语言编写。当系统受到干扰时( 室外数据采集最 易受干扰) ,程序就会跑飞,瞬时采集数据就会丢失,系统就会瘫痪。利用嵌入式操作 系统作支持就可以有效地解决此类问题,避免因“死机刀引起的各种问题、开销和经济 损失。同时还可以灵活的对系统的各项功能进行扩展,而无需改动以前的程序,为系统 的升级提供了方便。另外还可以引入嵌入式g u i 技术改善人机接口,提高采集系统的可 视性,同时提供数据网络上传功能等。 1 2 课题研究的内容简介 根据电路数据采集器的使用场合和用户要求。本项目设计的采集器除了参考了其他 公司和研究所的产品的功能,包括:瞬时电压、电流量显示、有功功率、无功功率、功 率因数、频率、电压电流的相位、相位差等等,同时还结合最新的嵌入式技术,移植了 嵌入式实时操作系统、嵌入式推行界面( g u d 、嵌入式文件系统和小型嵌入式网络协议 ( 】l w 职) ,使数据采集系统功能达到了一定的水平。 由于电力数据采集器的制造商很多,技术也非常成熟,但是通常他们只是为特定场 合需要而订制特定的功能。本课题研制的电力数据采集器集各种功能于一身,既可以联 机使用,也可以独立使用;同时,使用嵌入式系统对数据采集器进行改进,移植各种嵌 入式软件,使之功能更强、性能更好,这也是本课题研究的主要内容。 2 电力系统数据采集器的硬件组成 本课题完成的电力数据系统采集器主要有以下几部分组成,其中包括为了提高采集 精度所添加的电路模块时分割乘法器、高速a d 转换电路以及嵌入式处理器及其组 成的外设等。 2 1 数据采集系统的总体构成 图2 - l 数据采集琴统的组成框图 系统将电力线上的数据通过电压互感器电流互感器将电力线上的电压参量、电流参 量转化为弱电信号( 数据采集的数据量可以是很多根电力线上的,示意图2 1 中仅画出 一路,其它部分和此部分相同) ,然后经过精密检波和时分割乘法器的处理,将处理后 的数据送往高精度a d 转换器转化为数字信号量,供给数字处理器进行各种数字处理, 然后由数字信号处理器将处理的结果分类保存或传送或显示,并且可以经过人机接口进 行人机交互。 2 2 时分割乘法器 在硬件数据采集系统中,主要采用了时分割乘法技术,用来提高电功率测量精度。 2 2 1 时分割乘法器工作原理 本时分割乘法器电路框图如图2 2 所示,整个电路由4 个部分构成:同反相比例电路; 正负开关电路噼士) ;滤波电路;压控占空比调节电路。图2 2 中运算放大器a 1 和积分 电容c 组成积分器,对r l 、r 2 中的输入电流作求和积分,+ e s ,- e s 是两个基准电压, 东北林业大学硕士学位论文 s l 、s 2 是两个受比较器控制而同时动作的开关,比较器是具有两个稳态的直流触发 器,积分输入电压e 2 和由三角波发生器产生的节拍三角波e 3 都加到比较器上,当 e 挑3 时s i 接+ & ,当e 施3 时则接- 】巳s ,e 2 爿玛时为比较器转换状态,s 2 也随之改变 位置j 乘法器的输出e o 就是由s 2 的动作所得到的幅度为虹y 的方波经滤波后得到的直 流成分。皂x 、e y 为输入信号( 乘数与被乘数) ;彤为压控占空比信号;e 0 为e x 被e f 调 制所得信号;e 0 为乘法器输出( 乘积) 嘲。 图2 2 时分割乘法器电路框图 时分割乘法器的工作波形如图2 3 所示: 图2 - 3 乘法器的工作波形 电路工作原理如下:电路设定e f 【三角波的频率) 的频率高于e x 和e y 的频率。因 此在e f 的几个周期内,e x 和e y 可视为直流量。在e f 处于亿时间内,开关s 2 接通同 相比例电路,则有: e o = k d e y( 2 1 ) k o 为同相比例电路的比例系数。在e f 处于t l 时间内,开关s 2 接通反相比例电路,则有: e o = - k d e y ( 2 2 ) - k o 为反相比例电路的比例系数。电路设定同反相比例电路的比例系数相等。因此e 0 的 波形如图2 3 ( c ) 所示,正负幅度相等的矩形波。e 0 经滤波电路后取其直流分量,设滤波电 路为k l 增益的理想滤波器,则由傅立叶级数展开得e o 部分电压的平均值: e + = t l k 1 e o 仃= t 1 k 1 k 0 e y 厂r ( 2 3 ) 负部分电压的平均值: 一 2 电力系统数据采集器的硬件组成 ? 士圭壶= 皇毫音暑= = = = = 葛暑釜! 釜釜釜= 圭= 兰皇= i _ 皇= 音= 色三鼍兰= 三圣皇士= ! = 邑蠹詈= = = 三= = 三= 亨= 壶= 色= = 章= = 苎= 暑暑皇詈= ! ! 皇! = = = = 詈j 暑! 芒兰。lt 一1 e = 他k 1 e o 仃= t 2 k 1 k o e y 厂r( 2 - 4 ) i 其中t = t 1 m 为e 珀勺周期。所以有j e o = e - + e + = 【( t 1 - 他) 仞。k 1 k o e y ( 2 5 ) 如果电路实现口l - 1 劢厂i 用e x 线性调制,即:盯1 聊= 勉e x ,则有: o e 0 = k o k l 勉e x e y = k e x e y( 2 啕 其中k = k o k l k 2 为整个电路的增益即乘法器的运算比例系数。这样输出电压为输入电 压的乘积,实现了乘法运算。 。 2 2 2 时分割乘法器电路设计 一 2 2 2 1 压控占空比电路 由时分割乘法器的工作原理可以看出,整个电路的关键是要求e x 对应盯l 1 2 ) 厂r , :一:即要求:k 2 e x = 口l m ) 厂】隋线性的调制关系。图2 - 4 示出了该乘法器的运算波形,积分 。 器的输出e 2 是锯齿波,e 2 在与e 3 相交时,开关s l 、s 2 动作,因而相交前后e 2 改变积分 方向,幅度为出的方波也是由开关s 1 动作而形成的。 图2 - 4 乘法器的运算波形 n 这种压控占空比在工作时e 3 是固定的,e 2 则会由于e x 的大小和方向的变化而上下 移动,当e x 不变时它就固定下来,这时在一个周期t 中输入平衡,因此有: 鱼+ 里五+ 生墨:o 墨马r恐 r 即: 孕一彘嘎 r r ,e 亡 “ ( 2 - 7 ) e o 是开关s 2 在t l 时间接+ e y 、在他时间接- e y 所得的平均值,所以: 磊= 三l 产墨。民毋= 一i 蠹。k 取b ( 2 - 8 ) 在调宽电路中受平衡条件的限制,对e x 的幅度有一个允许范围,它的正边界是当t 1 = 0 、 配= t 时e s 所能平衡的e x 值,负边界则是当t 1 = t 、他:0 时斗e s 所能平衡的e x 值,因此e x 的幅度应满足条件: 东北林业大学硕士学位论文 ”:? = = = = = = = = = = = = = = = = = = ! = = = = = = = = = = = = = = = = = = = = = = = = = = = = ;= = = = ;= = = = = ;= = = = = = = = = = = = ;= = = ;= 一生 1 ,由元件特性引起的误差可以不计,但在小信号时,则对运 算的准确性有很大的影响,主要的误差来自下面几个方面m 。 东北林业大学硕士学位论文 :j :,! 、= = ;= = ;= = = = = ;= ;车= = = = = = = ;= = = = ;= = 号= = = ;= = = 亨导寻= = ;等竺= = = = = ;= ;= 寻 ( 1 ) 运放的零漂,起主要影响的是a - 6 的零漂。若e 0 为毫伏级,则a 6 的零漂将对运算 精度起很大影响;因此a 6 应选择零漂为u v 数量级的高精度运放; :贮) a 5 的同反相反运算特性的影响按理论要求,同反相比例系数相等。a 5 的实际 正反伺特性不一致( 主要由于输入失调电压和输入失调电流造成) ,使e o 正负幅值不对 称,如图7 ( a ) 所示。如果正负幅值差为e ,就会产生e 2 的误差电压,在小信号运算 时影响较大; 邸) a 3 的开环放大倍数不是无穷大,理想运放的开环放大倍数为无穷大,但实际上 只能达到1 0 4 1 0 6 左右,因此在比较器申出现滞伺特性。由于出现滞回电压e 使得输 出的矩形改变了原有的占空比,产生了误差电压。另外出和a 4 对精度影响较小,与以 上相比可忽略。 图2 8 正、反相特性不一致引起的误差示意图 本文提出的时分割乘法器电路已应用于智能电能测量中,并可以甩手其它相关的 实际系统中,关于数据的分析对这类乘法器有一定的参考价值。实验室测量数据如表2 1 ( 实验室采用的实验仪器为z h z 3 3 标准三相交流功率源、3 3 3 似位半数字电压表和 p & 一1 2 型6 位半数字电流表) : 表2 1 时分割乘法器测量数据: 本实验所测量的功率满足公式p _ i v ( 其中表中给出的电流、电压、频率和相角均 是由其它测量来实现的,本文只给出了数据以供考证) 。并由多次实验得出的测量结果 证实:时分割乘法器满足智能电能测量的要求,实际应用效果良好。 2 3 高精度a d 转换电路及应用 在电力数据采集器中,除了采用时分割乘法器用来提高采集的精度外,使用高精度 的a d 转换器,一方面满足采集所需要的速度,另一方面提高采集精度。本项目中采用 。 东北林业大学硕士学位论文 ? 、k :;= = = = = = ;= = = = = = = 号;= = = = ;= = = = = = = = = = = = = = = = = = = :;= = ;= = = = = = = = = = = = 号;= 暑;号= ;? , : b 口。 啦 b 。 p 吐? 图2 - 1 2 存储器部分电路原理图 2 5 3 串行口、时钟和u s b 部分电路设计 。 通常在开发产品的时候,都要初始化一个串行口,用于在调试过程中输出一些运行 信息,开发者可以根据这些信息了解c p u 的运行情况,或者根据输出信息能够迅速查 找出程序中的b u g ,因此也要设计至少一个串行口设备。 。 三星2 4 1 0 处理器本身含有一个u s bh o s t 和一个u s bs l a v e 。本设计中将其引出, 通过b 0 0 t l 0 a d e r 引导程序可以快速下载程序和烧写f l a s h 。 r 。 “。: 2 电力系统数据采集器的硬件组成 | + :算宣! 音詈釜刍兰= ! 兰皇= 三= = = 兰詈鱼詈皇= 皇= 皇皇! = 皇= 皇= 詈= 毫= 皇鲁= 皇皇篁= = = 竺= = = 皇葛= 墨= = 篁皇= 暑竺= 竿;= ;= 圭= = 年= = = = = = ;= = = = = 号兰牟;= 号= = 粤:。 丫。丫一 一l i 蟛甚趣j 睁差鬻薹案 1 占 蒂j 一 。掣嘲 _1 + t r l 二一 , i_ 丑h 。l 仓一 j 盥。 一 一 _ t 一 一 它p 亍:1 : 瞄 r # 一一 审 。占 图2 - 1 3 串行接口、时钟电路和u 踮接口电路原理图 2 5 一外围电路接口部分电路设计 : 此部分包括一些设计中用到的接口,如l c d 显示控制器接口莉砬摸屏的接口,用 于和用户( 人) 进行人机交互。以及空板烧录和调试接口( m g ) 和系统总线接口。 v 。 1 。 、 东北林业大学硕士学位论文 3 系统软件的组成及移植 根据硬件系统的构成,电力数据采集设备的软件要能使硬件充分发挥其性能并且严 格满足电力数据采集系统运行的需要,本系统采用了如下软件: ( 1 ) 嵌入式实时操作系统( i 淝s ) : ( 2 ) 嵌入式图形用户界面( g u i ) ; ( 3 ) 嵌入式文件系统( f s ) ; ( 4 ) 嵌入式网络协议( t c p 球) ; 另外,根据数据采集的需要,还包括实际的应用软件等。 3 1 嵌入式实时操作系统 在嵌入式领域里,嵌入式实时操作系统( 以下简称r t o s ) 琳琅满目。其中很多性 能好的r m s 都是商业产品,如v 】汛,0 r l 岱,价格昂贵,一般的用户根本买不起。本课题 经费有限,选用的是开源免费的而且性能也不错( 已经通过美国航天局认证,可以用于 性命攸关的领域) 的r t o s - _ u c ,o s f 1 7 瑚。l i n :呶也是免费的操作系统,而且在功能上 要比删o s 强的多,但是i j n l l 】【没有实时性,故本产品中没有使用l 洫1 1 ) ( 。 u s 是一个便携的、可固化的、可裁减的实时多任务内核,已经移植到几十种 处理器上并且成功运行。最新版本的u c o s 可以处理多达2 5 5 个任务,并且提供了以 下的功能: 信号量、: 互斥信号量( 减少优先级反转) 。 事件标志位 消息邮箱 消息队列 任务管理 创建,删除,更改优先级,挂起恢复等) 固定大小的存储块管理 事件管理 定时器管理 本课题在使用p c o s 时首要任务是将p c o s 移植到三星的s 3 c 2 4 1 0 处理器上。 3 1 1 c ,o s 一在三星的s 3 c 2 4 10 处理器上的移植 所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行。为了方便移 植,大部分的“c o s i i 代码是用c 语言写的。但仍需要用c 和汇编语言写一些与处理 器相关的代码,这是因为“c o s i i 在读写处理器寄存器时只能通过汇编语言来实现。由 于 l c o s i i 在设计时就已经充分考虑了可移植性,所以斗c o s i i 的移植相对来说是比较 容易的。 i:i 3 系统软件的组成及移植 j o7 + ;:,:= 釜皇兰= = = 三三兽詈三= 三皇詈詈曼三毫= 三= 兰三色= 三皇! 鱼皇苎= 三! 圭= 圭鱼色三三三三三曼毫= 皇= = 宣告= = 皇= = 暑= = = = = = 皇= = 鱼宣告= 詈= = 皇! ! 刍= = 竺鼍詈= = = = 詈= ;= 篁= 阜# ! ;= = 有的寄存器保存到堆栈中的情形一样:换句话说,p c o s 要运行处于就绪状态的任务 必须要做的事就是将所有处理器寄存器从任务堆栈中恢复出来,并且执行中断的返回。 为了切换任务可以通过执行o s l o w o 来产生中断。大部分的处理器会提供软中断 或是陷阱( 1 r a p ) 指令来完成这个功能。i s r 或是陷阱处理函数( 也叫做异常处理函数) 的向量地址必须指向汇编语言函数o s c 叔s w o 。在s 3 c 2 4 1 0 中,采用汇编语言实现以上 功能。 托e 丘n e o 舛a s l - s w oo s c o 【s w o o s c 仪s w 删印! , h );将p c ( r 1 5 ) 入栈 s缸nfd s p ! , r i d - r 1 2 ,l r );保存所有的寄存器内容 m 璐r 4 ,印s r 。 删s p ! , r 4 );入栈c p s r ,以便恢复用 m 璐r 4 ,s p s r 舢s p ! , “);入栈s p s r ;o s p r i o c u r = o s p r i o h i g b i m y l d rr 4 ,= o s p r i o q l r 地r 5 - = o s p 咖h i g h r d y l d r b 吒【r 5 】 s 仃b r 6 ,【r 4 】 v 。 : j ;取得当前任务控制块地址 l d r “,_ o s t c b 嘶 l d r r 5 ,【r 4 】 s t rs p ,【r 5 】 ;存储对栈指针到优先级的任务t c b 中 b lo s 协k s k ;调用任务切换钩子函数 :取得高优先级的任务控制块地址 l d rr 6 ,一o s t c b h i 则y l d rr 6 ,晰】, l d rs p ,郦】 ;取出新任务的堆栈指针 ;o s t c b c u r = o s t c b h i g h r d y s t rr 6 ,【r 4 】 ;设置新的当前任务控制块地址 l d i n 趔s p ! , r 4 );弹栈新任务的s p s r m s rs p s r - - c ) 【s r 4 1 d i l :埘s p ! , r 4 );弹栈新任务的c p s rr m s rc p s rc x s f :r 4 ? 、 一 东北林业大学硕士学位论文 :。:。= 昔暑害= ;苎;兽= 鼍皇皇= 譬;= = = = = 皇= = 亨= = 三寻= 手;亨暑号号等! ;号亍亨= = = = = 手亨;号= 产亍芋号,一:1 _ :_ j l d n 墒s p ! , r 0 - r 1 2 ,h ,p c ) ;弹栈新任务的内- r 1 2 ,l r & p c 3 1 1 5 用c 语言编写六个简单的函数( 0 sc p i lc c ) | i c o s 的移植实例要求用户编写十个简单的c 函数: o s 佻k s 世h l i _ t 0 i o s t a s k c 哟t e i k o o s t a 删h 0 0 k o o s 亿k s 帆k o o s l 檄s t a _ t h 0 0 k o o s t i m 棚c k h 0 0 如 o s t c b i n i t h b o k o o s 础d l d i o o k o o s k t h o m 圆e g m o o s i n 叶1 0 h 出e n d o 唯一必要的函数是o s l 破s t l 蛐o ,其它九个函数必须得声明但没必要包含代码。i 0 s t a 幽c 删和o s t a 幽q 删通过调用o s t a s k s 血:o 来初始化任务的堆栈结 i 构,因此j 堆栈看起来就像刚发生过中断并将所有韵寄存器保存到堆栈中的情形一样。 在s 3 c 1 2 4 1 0 处理器中,首先将堆栈指针指向任务起始地址,然后将工作模式下的 寄存器清零,完成堆栈的初始化。代码如下: o s - s t k o s 协k s 墩h l i t ( v o i d ( 蝴i d 栅,v o i d p d 峨o s - s ! p t o s ,m 1 6 uo p t ) o s - s t k 出; o m= o p t ;严0 p t i s tl l s e d ,p r c v e n tw a r n i n g s l l 【 = p t o s ; l 0 a ds 切c kp o h n e r 、二幸 ( = ( o s - s 脚k ;严e n 田p o 硫 ( - 哟= ( n r 3 2 u ) 0 ; 产l r v 。 ( 一s 哟= ( m t 3 2 u ) 0 ; r 1 2 ( 一s 墩) = m 2 0 ; 产r 1 1, ( h 哟= 呷2 u ) o ;产r 1 0 。 幸( - s 哟= ( 矾t 3 2 聊o ; 产r 9幸, 幸( s 哟= 呷2 u ) 0 ;严r 8 ( - 一s 伙) = 呷2 0 ;产r 7 。 ( 一s t | 0 = m 2 u ) o ; 产1 1 5幸 ( s 妁= ( 烈t 3 2 奶0 ; r 5 幸( 一- s t k ) = ( 玳t 3 2 u ) o ; 产r 4 “ 幸( - 一哟= 叫t 3 姗0 ; ,r 3幸 幸( 一s 妁= 0 n t 3 2 u ) o ; 产r 2 幸( s 妁= ( i n t 3 2 u ) o ; 产r 1幸 ( - s 哟= ( 【n t 3 2 p d a t a ;幸r o :a r 黜n t 幸 幸( - - s t k ) = 洲t 3 2 u ) ( s v c m o d e i o x 0 ) ; 产p s r幸 ( - s 的= ( i n t 3 2 u ) ( s v c m o d e | o x 0 ) ; 卡s p s r幸 2 0 i : 一 3 系统软件的组成及移植 _ :- ,e 三= 詈= 士= = = = 兰! = = = 皇= 竺= = 鼍= = 摹! = 三三= = 高暑士兰暑= 皇鲁兰e 詈= = 皇詈皇= = 皇= = = 皇暑= 三= 号鲁= = 詈= = ! = 詈墨毫= = = = 穹詈= = 号2 皇o f ,。; 起点。 ( 7 ) 程序在大小和速度上都进行了优化。 ( 8 ) 编译时允许进行不同的优化。 ( 9 ) 对于缓慢一些的l c d 控制器,l ( 、d 显存可以映射到内存当中,从而减少访问次数 到最小并达到更高的显示速度。 ( 1 0 ) 清晰的设计架构。 ( 1 1 ) 支持虚拟显示,虚拟显示可以比实际尺寸大( 即放大) 。 ( 1 2 ) 支持多种图形库和字符集,可以方便地添加汉字。 ( 1 3 ) 还可以支持触摸屏和鼠标。 3 2 2 u c ,g u i 的移植 采用h c 研吼j i ,可以大大降低嵌入式系统中显示设计的难度,但肛c ,g u i 的使用需针 对不同的硬件环境编写相应的驱动程序,即移植,才能在用户的目标系统上运行。 一 斗c 领i i 的移植工作主要是针对配置头文件中的宏定义进行修改。这些要修改的宏包 括: ( 1 ) l c d 宏,定义了显示的尺寸和一些可选择的特性( 例如镜像,等等) 。 ( 2 ) l c d 控制器宏,定义了怎样对控制器进行操作。 : 表3 1 显示了i | c g 中与移植有关的宏定义: 表3 l i l c 领h 中与移植有关的宏定义 : 类型 宏 缺省值宏定义解释说册 总体配置 选择l c d 控制菇: sz dc o n i r o i i ,e r 一 nd i t s p e r p e l指定每个像素点的位数 制定是否采用固定的调色板模式。设 s i ,c df i ) a 三d p a i 舳 置为o 采用用户设定的调色板。此时 【c dp h y s c o l ( ) r s 宏必须定义。 n l c d l x s i z e 指定行分辨率 n l c d l x s i z e指定列分辨率 初始化控制器 f 卜。删t _ c o n t r o l l e r o 卜c 。控制器的初始化程序 颜色配置 控制器能够显示位图的最大逻辑色彩 nl c dm a xi ,o g - c :o l o i 峪6 5 5 3 5 数目 当l c df i x e 】) p a i e r r i e 设置为0 a l c d :p h y s c o l o r s 时,该宏定义了用户所采用的调色板 ( 色彩查找表) + 。 东北林业大学硕士学位论文 = = = = 兰= = = r 一皇= 皇= = = = = = = = = ! = = = = = = ;= = = 号= ;= ;= = 号茅;号;亨享= = 号睾亨= 号暑专号享= 暑暑、 在用户调色板被定义了的时候可用。 b【c dp h y s c o l o r s 刀呵r a m 0 将调色板调入r a m ,使得程序在运 一 一一 行当中可以修改调色板颜色 , b咖r e v 既峪e0 动态颜色反转 b l c d j w a p b b 0 :动态红蓝替换 全总线接口配置 f i 肪b e a dm 卧砸n d e x )从控制器读出显示缓存中显示内容 f 七pr e a pb e g 叫e x )从控制器读出配置寄存器内容 fl c dw l m 暖m 既晒d 懿d a 蛐 写入数据到显示缓冲区 f i 佃w 砌喁对粥q 咄酬d 哟 写入控制器显示配置寄存器的配置值 l c d 控制器接口总线宽度( 位数 s :佃b u s w 删 1 6 8 ,1 6 ) 其他配置 在采用1 6 位总线接口时,用来转换 f l c ds - pb y t eo r d e r 0 大小端模式 fl c do n 用于点亮l c d f【o f f 用于关闭l ( d 、- 3 2 2 1 实现方法与步骤 第( 1 ) 步:配置p c a 通常是通过修改头文件 l c d 显示部分硬件特性;根据具体情况修改这些宏定义 点用几位表示,【c d 控制器的类型等参数) 。具体程序为 、 l c d c o n h 中的宏定义描述了 ( 例如显示屏的长、宽,每像素 群i 缸d e fl c d c ( 扑i fh 撑d e 丘n el c d c o n fh 幸幸辱幸幸幸幸幸幸幸幸幸幸幸幸幸幸牛幸幸幸 g 酬c 0 而删o n o f l c d 幸幸聿 幸幸幸幸幸幸幸幸幸章卑幸幸幸幸幸幸 | 撑d e 丘n el c dc o n l r o i i e r o 散l e f m el c dx s i z e 2 4 0 南f d e f i n el c dy s i z e3 2 0 存q e 丘n el c di n t e r f a c e b i t s8 2 4 产显示屏的长宰 严显示屏的宽幸 产选择每像素点用4 或8 位表示j | , j 一东北林业大学硬士学位论文 = ;= = = = ;毒= = = ;= = = = = ;= = = = = = = = ;= = = = = = = = = = = = = = = 置= = = = = = = = = = = = = = = = = = = = = = = = = = 。“1 ”i t 幸 幸+ + 幸+ 幸+ s t a :t i c d a t a + 毫, s t a 雠蛐m c t

温馨提示

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

评论

0/150

提交评论