已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北工业大学硕士学位论文 a b s t r a c t e m b e d d e d s y s t e m i s a t e c h n o l o g ye v o l v i n gc o m p u t mt e c h n o i o gy ,s e m i c o n d u c t o r a n dt h ee l e c t r o n i c t e c h n o l o g yi n t h ep r o d u c t s ,t ot h ee m b e d d e ds y s t e m s t u d yo f s i g l e c h i p ,w i t ht h er a p i dp r o g r e s so fc h i pd e s i g n i n g ,t h ep e r f o r m a n c eo ft h es i n g l e c h i p h a sb e e ni m p r o v e d g r e a t l y , a n dt h ea p p l i c a t i o no f i th a sb e e ns c a l e dg r e a t l yu n d e rs u c h e n v i r o n m e n t ,i n t r o d u c i n gt h er e a l - t i m eo p e r a t i n gs y s t e m 弋r t o s ) t ot h es i g l e c h i p s y s t e mc a nc h a n g et h ed e v e l o p m e n to f t h es o f t w a r ef r o ma 1 1b yh a n dt oc o l l a b o r a t i o n w o r k ,t h a ti sae f f i c i e n tm e t h o dt or e s o l v et h i sp r o b l e m u c o s 1 1w a sw r i t e n b yj e a n jl a b r o s s e i th a sb e e nu s e di na 1 1k i n d so f a p p l i c a t i o n s s u c ha s e n g i n ec o n t r o l s ,n e t w o r k a d a p t e r s ,i n t r d u s t r i a lr o b o t s ,a n dm a n y m o r e i ti sap o a a b l e ,r o m a b l ea n ds c a l a b l er e a l t i m ek e r n e l t h ea d i u s t m e n to f e x c i t a t i o ni sai m p o r t a n tp a r to ft h ea d j u s t a b l es y s t e mi t g i v es y n c h c h r o n o u sm o t o ra a d j u s t a b l ei u i c e i ta n a l y s e st h er e l a t i o n sa n dv a r i a t i o n a ll a w sa m o n gt h ep a r a m e n t e r s o f s y n c h c h r o n o u sm o t o r , w h i c hs e p a r a t e l ya d o p t i n g o n eo ft h et h r e e e x c i t a t i o n p a t t e r n si te x p o u n d s t h e s t a r t i n ge x c i t a t i o n p u t i n a n d s v n c h c h r o n i z i n g o f s y n c h r o n o u s m o t o r i td i s c u s s e st h e o p e r a t i o n a lp r i n c i p l e a n d p r o p e r t y o ft h e f u n a m e n t a la l g o r i t h mw h i c ht h i st a s kr e l a t e st ot h ef o r e g r o u n d b a c k g r o u n ds y s t e m s w a su s e di nt h ea d j u s t e r c r i t i c a lo p e r a t i o n sm u s tb ep e r f o r m e db yt h ei s r st oe n s u r e t h a tt h e ya r ed e a l tw i t hi nat i m e l yf a s h i o n ,b e c a u s eo ft h i s ,i s r sh a v eat e n d e n c yt o t a k e l o n g e rt h a nt h e ys h o u l d a 1 s o i n f o r m a t i o nf o r ab a c k g r o u n dm o d u l em a d e a v a i l a b l eb ya n1 s ri sn o tp r o c e s s e du n t i lt h eb a c k g r o u n dr o u t i n eg e t si t st u r nt o e x e c u t e t h i si sc a l l e dt h et a s kl e v e lr e s p o n s e t h ew o r s tc a s et a s k1 e v e lr e s p o n s et i m e d e p e n d so nh o wl o n gt h eb a c k g r o u n dl o o pt a k e st oe x e c u t e b e c a u s et h ee x e c u t i o n t i m eo f t y p i c a lc o d ei s n o tc o n s t a n t ,t h et i m ef o rs u c c g s s i v ep a s s e st h r o u 曲ap o r t i o n o ft h el o o pi sn o n d e t e r m i n i s t i c f u r t h e r m o r e 、i fac o d ec h a n g ei sm a d e t h et i m i n go f t h e l o o p i sa f f e c t e dm o s t h i g h v o l u m em i c r o c o n t r o l l e r - b a s e d a p p l i c a t i o n s a r e d e s i g n e d a s f o r e g r o u n d b a c k g r o u n ds y s t e m s s o ,i tm a y b eb e t t e rt ou e st h e u c o s i ii nt h ea d j u s t e ro fs y n c h c h r o n o u sm o t o r t h ep a p e r m a i n l y s t u d i e st h ep o r t i n go fa n e m b e d d e dr e a l t i m e o p e r a t i n g s y s t e m n a m e du o o s - i i b a s i n g o nt h em c u8 0 cl9 6 k ca n dt h e n d e s i g n s t h e e m b e d d e d s y s t e m sb u i l d i n gb l o c kb a s e d o i l8 0 cl9 6 k ca n du c o s 一试 t h ef i r s t c h a p t e rg i v e st h e d e f i n i t i o no ft h ee m b e d d e ds y s t e m ,a n a l y z e st h e e v a l u a t i n gc r i t e r i o n so ft h er e a l t i m eo p e r a t i n gs y s t e m t h es e c o n dc h a p t e ra n a l y s e s t h es y s t e ms t r u c t u r ea n dt h ef e a t u r e so f8 0 c19 6 k ca n du c o s 一浪t h et h i r dc h a p t e r a n a l y s e dt h ef u n c t i o n sa n df e a t u r e so f8 0 c 1 9 6 k ca n dp s d 8 1 3 f 1 ss c im o d u l e a n d d e s i g n e dt h es c ib u i l d i n gb l o c kb a s e do n8 0 c l9 6 k ca n du c o s i it h ef o r t hc h a p t e r a n a l y s e dt h ea d j u s t m e n to fs y n c h r o n o u sm o t o rt h e o r e t i c a l l y t h e1 a s tc h a p t e re x p l a i n s t h ea p p r o a c ha n dp r o c e 幽r ea b o u th o wt o p o r t i n gu c o s i ib a s e do n8 0 c 1 9 6 k ca n d t h e ng i v e st h et e s t i n gc o d et op r o v et h e v a l i d i t yo fs y s t e mp o r t i n g k e y w o r d :u c 0 s i ip o r t e m b e d d e ds y s t e mt h es y n c h r o n o u sm o t o re x c i t e r 湖北工业大学硕士学位论文 第1 章绪论 本章给出嵌入式系统的基本含义,介绍了实时操作系统的概念、功能、性 能指标,摄后介绍奉文的研究内容。 1 1 嵌入式实时操作系统简介 嵌入式系统是指将应用程序和操作系统与计算机硬件集成在一起的系统。简 单说来,所谓嵌入式系统就是用户自己开发设计的板子,上面有微处理器和各种 芯片,其软件部分常常烧在r o m 或f l a s h 中,工作方式类似于b i o s 。这些专用的 计算机系统是以嵌入式计算机为技术核心,围绕应用系统的功能、可靠性、成本、 体积、功耗等4 个部分组成,用于实现对其它设备的控制、监视或管理等功能。 嵌入式操作系统是指嵌入式系统中采用台勺操作系统,其特点是微内核、可裁减、 低资源占用和低功耗。f 】 实时操作系统( r e a lt i m eo p e r a t i n gs y s t e m ,r t o s ) 是嵌入式应用软件的 基础和丌发平台。目前大多数嵌入式开发还是在m c u d s p 上直接编程,由一个主 程序负责调度各个任务,没有r t o s 的支撑。r t o s 是一段嵌入在目标代码中的程序, 系统复位后首先执行,相当于用户的主程序,用户的其它应用程序都建立在r t o s 之上。不仅如此,r t o s 还是一个标准的内核,将c p u 时间、中断、i o 、定时器等 资源都包装起来,留给用户一个标准的a p i ( 系统调用) ,并根据各个任务的优先 级,合理地在不同任务之间分配c p u 时间。 1 i 1 r t o s 的一般体系结构 r t o s 的体系结构如图l l 所示。般来说,r t o s 内核表现为微内核结构。所 谓微内核是指将核心功能( 如进程管理、任务通信、中断处理、进程调度) 放在 内核中,而将那些不是必需的功能和服务( 如文件系统、存储管理、网络通信、 设备管理等) 作为内核之上可配置的部分。这样,整个操作系统就是由提供一 些基本服务机制的微内核加上一些服务进程构成,系统的各个系统调用和服务都 是由内核发消息到不同的服务进程,服务进程执行相应的操作,然后以消息的方 式返回到内核。 湖北工业大学硕士学位论文 内存 系统 黩 图形驱 驱动 联 p i 动函数 z o 管理,文件系 程序 库 统, e 动程序 编程 接口 i t t o s 核心 硬件抽想屡q i f “ea b m t r a c t i o nl a y e r ) 硬件m f “”e ) 1 1 2r t o s 的功能 图1 一lr t o s 体系结构图 r t o s 应具有如下的功能【3 l :任务管理,实时操作系统调度的基本单位就是 任务,任务有四种状态:运行、就绪、挂起、睡眠。实时操作系统支持多任务管 理,任务管理负责任务的创建、挂起、恢复、删除等;任务间同步和通信,多数 实时操作系统的任务间同步和通信的机制有:消息、事件、信号量,而部分实时 操作系统还在沿用邮箱机制,另外一些实时操作系统提供了共享内存的任务间通 信机制。内存管理,一般说来,实时操作系统的内存管理,还有对于内存的优化 分配,都是为了减少整个系统的内存占有量:实时时钟服务,目前,商用的实时 操作系统在硬时钟中断的基础上,提供了实时时钟服务。实时时钟是系统调度的 基础,也是系统定时服务器的基础。【4 1 是否提供灵活的高精度的定时器服务是衡 量实时操作系统功能完整性的一个重要指标;中断管理服务,中断管理服务是实 时操作系统的个核心和基本的功能。实时操作系统的中断管理有自己特殊的要 求,就是中断处理程序要短小,以减少中断禁止时间和中断延时时间。 1 2 r t o s 中的几个重要评价指标 r t o s 追求的是调度的实时性、响应时间的可确定性、系统的高度的自_ 靠性 可从以下几个方面来衡量r t o s :任务调度、最小内存 丌销和中断时间。 湖北工业大学硕士学位论文 r t o s 的实时性和多任务能力在很大程度上取决于它的任务调度机制。在大 多数商用实时内核中,为了让操作系统能够在有突发事件时,快速取得系统控制 权以便对事件作出反应,所以大都提供抢占式任务调度的功能。 r t o s 的设计过程中,最小开销是一个较重要的指标。在工业控制中由于内存 的配置一般不大,而在有限的空间内不仅要装载实时操作系统,还要装载用户程 序。因此在r t o s 设计中,其内存大小是一个很重要的指标。 当r t o s 运行在核心态或执行某些系统调用时,不会因为外部中断的到来而立 即执行中断程序只有当r t o s 重新回到用户态时才响应外部中断要求,这一过程所 需的最大时间即为中断禁止时间。 6 1 中断延时时间是指系统确认中断开始直到执 行中断服务程序的第一条指令为止整个过程所需的时间。中断禁止时间越短,系 统的实时性越高。 1 3 课题来源 本课题来源于校基金资助的大型同步电动机励磁开关电源的研究 1 4 本文研究内容 本论文研究的对象是实时操作系统u c o s i i 在同步电动机励磁调节装景中的 应用以及相应的励磁调节算法。8 0 c 1 9 6 k c 是i n t e l 公司推出的一款功能强大、资 源丰富、运行稳定并且价格低廉的1 6 位微处理器产品,被广泛应用于工业控制。 k l c o s i i 是一款源码公开的、免费的嵌入式实时操作系统,被广泛应用于1 6 位、 3 2 位以及6 4 位的微处理器、d s p 或微控制器。两者的有效结合使嵌入式系统开发 更方便快捷。由于开关电源技术在同步电动机励磁装置中的应用使励磁调节方式 成为软件算法,即将传统a v r 自动励磁调节器的功能用软件算法来实现。文中最 后一部分对同步电动机调节励磁进行了理论分析得到不同调节方式的计算公式, 可以根据公式来编写程序。 湖北工业大学硕士学位论文 第2 章嵌入式实时操作系统u c o s i i 简介 u c o s i i 是由j e a nj l a b r o s s e 先生编写的,已经在许多行业得到成功的应 用。它是一个源码公开、可移植、可固化、可裁减、占先式、支持多任务的实时 操作系统。1 7 2 1 内核结构 多任务系统中,内核负责管理各个任务,或者说为每一个任务分配c p u 时间以 及相关的资源,并且负责任务之间的通信。内核提供的基本服务是任务切换。使 用实时内核可以大大简化应用程序的设计,因为实时内核允许将应用分为若干个 任务,由实时内核来管理它们。内核提供必不可少的系统服务,如信号量管理、 邮箱、消息队列、延时等,实时内核使得c p u 的利用更有效。 a c o s j l 的内核可以从以下几个方面来介绍:临界区的处理机制、任务定义及 状态、任务控制块o s j c b 、就绪表、任务调度、中断处理以及时钟节拍。 临界区即为多个任务共享的资源,在某一时刻只允许一个任务访问。u c o s i i 在处理临界区时,代码需要关中断,处理完毕后再开中断,以避免同时有其他任 务或中断服务程序进入i 临界区代码。f 目u c o s i i 提供了两个宏来处理关中断和开 中断以实现对临界区的排它性操作,两个宏调用分别是:o s - e n t e r _ c r i t i c a l ( ) 和 o s e x i t _ c r i t i c a l ( ) 。 u c o s i i 的任务是一个无限的循环,一个任务可以有返回类型,有形式参数 变量,但是任务是绝不会返回的。当任务完成以后,任务可以自我删除,即u c o s i i 不再理会这个任务了,这个任务的代码也不会再运行。u c o s i i 可以管理多达6 4 个任务其中空任务( i d l e ) 和统计任务( s t a t i s t i c s ) 被系统占用。 任务在建立时必须被赋予不同的优先级,优先级的数值越小,则任务的优先 级越高。u c o s i i 总是运行进入就绪态的优先级最高的任务。图2 - i 给出了 u c o s i i 控制下的任务状态转换过程。在任时刻,任务的状态一定是这五种状 态之一。 湖北工业大学硕士学位论文 图2 1u c o s i i 中任务的状态 u c o s i j 中是采用任务控制块的方式对任务进行管理的。任务控制块在任务被 建立时赋值,它是一个数据结构,当任务的c p u 使用权被剥夺时,u c o s - i i 用它来 保存该任务的状态。而当任务重新得到c p u 使用权时,任务控制块能确保任务从 中断的那一点丝毫不差地执行下去。o s j c b 全部驻留在r 删中。 每一个任务的就绪态标志都放入就绪表中,就绪表中有两个变量o s r d y o r p 和 o s r d y t b l 口。在o s r d y g r p 中,任务按优先级分组,8 个任务为组。o s r d y g r p 中 的每一位表示8 组任务中每组中是否有进入就绪态的任务。任务进入就绪态时就 绪表o s r d y t bl 中的相应元素的相应位也置位。o s r d y g r p 和o s r d y t bl 的关系如 图所示,u c o s - i i 就是利用这张就绪任务表对任务进行优先级的调度。如果任务 被删除,则该任务在表中优先级的位置要清零。 u c o s i i 总是运行就绪态任务中优先级最高的那一个,任务调度由函数 o s s c h e d 0 来完成。任务如果在中断服务子程序中调用o s s c h e d 0 ,此时中断嵌套 层数o s i n t n e s t i n g o ,或者由于用户至少调用了一次给任务调度上锁的函数 o s s c h e d l o c k0 ,并且任务调度是允许的,即没有上锁,则任务调度函数查找就绪 任务表,将找出那个进入就绪态且优先级最高的任务。一旦找到那个优先级最高 的任务,o s s c h e d0 检验这个优先级最高的任务是不是当前正在运行的任务,以此 来避免不必要的任务调度。 湖北工业大学硕士学位论文 ! ! ! ! = ! ! ! = ! ! ! = i 一 = ii ! ! ! ! ! 竺 任磐帕优先曩号 匝匹唾翼孕 i 在。s t 妒- c ,中列 o s r d y t b l o s l o w e s t _ p r i o 8 + ,】 恍先域曩高的往嚣 【o 】 | 1 1 【2 】 【列 【4 l 【5 l 【6 j 【了l 7654 2o 1 51 41 31 2 1 098 2 3 1 91 81 71 6 3 1 2 8 i2 72 9 3 73 6 i3 s 3 2 4 74 64 4 i4 l4 14 0 s l4 8 6 35 2 1 6 1 6 0 f5 9 乞鹱搽骶姆 图2 2u c o s - i i 就绪表 u c o s i i 中,中断服务子程序将全部c p u 寄存器推入当前任务栈。u c o s i l 允许 中断嵌套,由中断嵌套层数计数器o s i n t n e s t i n g 跟踪嵌套层数。 处理完中断服务后,u c o s i i 调用o s i n t e x i t 0 通知内核,到了返回任务级代码 的时候了,于是o s i n t e x f t 0 将o s i n t n e s t i n g 减。当o s i n t n e s t i n g 为零时, u c o s - 1 1 要判定有没有优先级较高的任务进入了就绪态,若有,u c o s i i 就返回到 那个高优先级的任务,如果调度被禁止( 0 s i n t n e s t i n g o ) u c o s i i 将被返回到被 中断了的任务。 u c o s i i 需要用户提供周期性信号元,用于实现时间延时和确认超时。时钟节拍 频率可在u c o s i i 的配置文件中配鼍,时钟节拍频率越高,系统的额外负荷就越重, 时钟节拍源可以是专门的硬件定时器。应用程序必须在多任务系统启动以后再启 动时钟节拍源计时时,也就是在调用o s s t a r t0 后。 6 y,:i一 湖北工业大学硕士学位论文 2 2 任务管理 上文对内核的介绍中已经给出了任务在系统中所可能处于的状态,对于任务管 理,在这里主要给出相应的u o o s i i 任务管理机制。d i 任务创建:对于任务创建, u c o s i i 给出了以下两个函数之一来建立任务:o s t a s k c r e a t e 0 或 o s t a s k c r e a t e e x t0 。o s t a s k c r e a t e ( ) 与此o s 是向下兼容的,o s t a s k c r e a t e e x t0 是o s t a s k c r e a t e 0 的扩展版本,提供了一些附加的功能。用两个函数中的任何一 个都可以建立任务。任务可以在多任务调度开始前建立,也可以在其它任务的执 行过程中被建立。在开始多任务调度( 即调用o s s t a r t0 ) 前,用户必须建立至少一 个任务。任务不能由中断服务程序( i s r ) 来建立。o s t a s k c r e a t e 0 需要四个参数: t a s k 是任务代码的指针,p d a t a 是当任务开始执行时传递给任务的参数的指针, p t o s 是分配给任务的堆栈的栈顶指针,p r i o 是分配给任务的优先级。任务删除: 删除任务,并不是说任务代码真的被删除了,只是任务代码不再被运行了。通过 调用o s t a s k d e l ( ) 就可以完成删除任务的功能。o s t a s k d e l ( ) 开始应确保用户所 要删除的任务并非是空闲任务,因为删除空闲任务是不允许的。不过,用户可以 删除s t a t i s t i c 任务。接着,o s t a s k d e l0 还应确保用户不是在i s r 例程中去试图 删除一个任务,因为这也是不被允许的。调用此函数的任务可以通过指定 o s p r i o s e l f 参数来删除自己。接下来o s t a s k d e l0 会保证被删除的任务是确实 存在的。如果指定的参数是o s _ ? r t o _ s e l f 的话,这一判断过程( 任务是否存在) 自 然是可以通过的。一旦所有条件都满足该任务的o s _ t c b 就会从所有可能的数据结 构中被移去。改变任务的优先级:用户建立任务的时候会分配给任务一个优先级。 在程序运行期间,用户可以通过调用o s t a s k c h a n g e p r i o0 来改变任务的优先级。 换句话说,就是此o s n 允许用户动态的改变任务的优先级。用户不能改变空闲 任务的优先缀,但用户可以改变调用本函数的任务或者其它任务的优先级。为了 改变调用本函数的任务的优先级,用户可以指定该任务当前的优先级或 o s p r i o _ s e l f ,o s t a s k c h a n g e p r i o ( ) 会决定该任务的优先级。用户还必须指定任 务的新( 即想要的) 优先级。因为u c o s i i 不允许多个任务具有相同的优先级,所 以0 s t a s k c h a n g e p r i o ( ) 需要检验新优先级是否是合法的( 即不存在具有新优先级 的任务) 。如果新优先级是合法的,将这个优先级保留,并调整该任务在新的优先 级下就绪任务表以及( 若该任务还在等待某些事件发生) 事件等待列表中的位嚣, 同时将原先的优先级放回到优先级表中。完成了这些步骤,在新的优先级高于旧 湖北工业大学硕士学位论文 的优先级或高于调用本函数的任务的优先级情况下,任务调度程序就被调用。任 务挂起:挂起任务可通过调用o s t a s k s u s p e n d 0 函数来完成。被挂起的任务只能通 过调用o s t a s k r e s u m e0 函数来恢复。任务挂起是一个附加功能。也就是说,如果 任务在被挂起的同时也在等待延时的期满,那么,挂起操作需要被取消,而任务 继续等待延时期满,并转入就绪状态。任务可以挂起自己或者其它任务。通常 o s t a s k s u s p e n d0 需要检验临界条件。首先,o s t a s k s u s p e n d0 要确保用户的应用 程序不是在挂起空闲任务,接着确认用户指定优先级是有效的。记住最大的有效 的优先级数( 即最低的优先级) 是o s l o w e s t p r t o 。接着,o s t a s k s u s p e n d0 检验用 户是否通过指定o s p r i o _ s e l f 来挂起调用本函数的任务本身。用户也可以通过指 定优先级来挂起调用本函数的任务。在这两种情况下,任务调度程序都需要被调 用。局部变量s e l f 在适当的情况下会被测试。如果用户没有挂起调用本函数的任 务o s t a s k s u s p e n d ( ) 就没有必要运行任务调度程序,因为正在挂起的是较低优先 级的任务。然后,o s t a s k s u s p e n d 0 检验要挂起的任务是否存在。如果该任务存在 的话,它就会从就绪表中被移除。注意要被挂起的任务有可能没有在就绪表中, 因为它有可能在等待事件的发生或延时的期满。在这种情况下,要被挂起的任务 在o s r d y t b l 中对应的位已被清除了( 即为0 ) 。再次清除该位,要比先检验该位 是否被清除了再在它没被清除时清除它快得多,所以没有检验该位而直接清除它。 现在,o s t a s k s u s p e n d 0 就可以在任务的o s c b 中设置0 s s t a ts u s p e n d 标志了, 以表明任务正在被挂起。最后,o s t a s k s u s p e n d ( ) 只有在被挂起的任务是调用本函 数的任务本身的情况下才调用任务调度程序。任务恢复:u c o $ 一i i 中挂起任务是 由函数o s t a s k r e s u m e 0 来实现的。h c o s i i 内核在挂起一个任务时执行了以下检 查步骤:首先函数确保用户的应用程序不是在恢复空闲任务,也不是在恢复自己 ( o s p r i 吐s e l f ) 。接着确认用户指定的优先级是有效的,并且该任务的状态必须 是被挂起的。如果是任务处于就绪状态,任务的o s t c b d i y 域必须为o ,也就是表 明任务没有在等待延时期满。最后在清除任务o s t c b s t a t 域中的0 ss t a ts u s p e n d 位,将任务的挂起状态取消后,任务调度裎序会检查被恢复的任务拥有的优先级 是否比调用本函数的任务的优先级高。 2 3 时间管理 u c o s - i i 内核要求用户提供定时中断来延时与超时控制等功能,时钟节拍的 实际频率是由用户自主配置的。u c o s i i 提供了一系列的系统服务来对时问进 湖北3 - 业大学硕士学位论文 _ _ _ _ _ _ _ _ _ _ _ _ 一i il l _ - _ _ _ _ - _ _ - _ _ _ _ - _ _ _ _ _ _ _ _ - _ _ l _ _ - _ - - - - _ - - _ - - l _ _ _ - _ _ _ 一 行管理: o s t i m e d l y 0 :申请该服务的任务可以延时一段时间,这段时间的长短是用时 钟节拍的数目来确定的,调用该函数会使u c o s i i 进行一次任务调用。 o s t i m e d l y r e s u m e 0 :该系统调用允许用户结束正处于延时阶段的任务,使这 些任务可以不等待延时期满,而继续运行。u c 0 s i i 还拥有系统函数o s t i m e g e t0 和o s t m e s e t 0 来获取和设置系统时间。 2 4 任务间通信与同步 u c o s i i 提供了许多种方法保护任务之间的共享数据和提供任务之间的通 信。具体有三种类型:利用宏o s e n t e r _ c r i t i c a l 0 和o s e x i tc r i t i c a l 0 来关 闭中断和打开中断。当两个任务或者一个任务和一个中断服务子程序共享某些数 据时,可以采用这种方法。利用函数o s s c h e d l o c k 0 和o s s c k e d u n l o c k 0 对h c o s i i 中的任务调度函数上锁和开锁,用这种方法也可以实现数据的共享。利用信号量、 邮箱和消息队列来进行任务数据共享和任务通信。 其中,第三种方式为最灵活的一种,而在u c o s i i 中,任务对信号量、邮箱 和消息队列的操作,主要是通过事件控制块( e c b ,e v e n tc o n t r o lb l o c k ) 来实现的。 这里,所有的信号都被看作为事件的一种。事件的使用机制如图2 3 所示。 图2 3 事件控制块的使用 和任务就绪表类似,等待事件的任务也会被存放在一个叫事件等待的任务列 表中,每个等待事件发生的任务都被加入到该事件控制块等待任务列表中。该列 表也包括两个域:o s e v e n t g r p 和o s e v e n t t b l 两个域。所有的任务的优先级被分 为8 组( 每组8 个优先级) ,u c o s i i 就是通过这个任务列表对等待事件的任务进 行管理调度。当个事件发生后,该事件的等待事件列表中优先级最高的任务, 也就是在o s e v e n t t b l 中,优先级代码最小的任务得到该事件。o s e v e n t g r p 和 湖北工业大学硕士学位论文 o s e v e n t t b l 之间的对应关系如图表所示。 任务的优先域号 匹翟垩霆孕 i 在。“。i 冲列所在 在o $ e v e f l l 6 r p 中的位置以及在 o s e v e n t b l 【1 中所在的位置 2 5 内存管理 o s e v e n t t b l o s _ l o w e s t _ p r i o i8 + 1 】 f o 】 【1 】 f 2 】 1 3 】 【4 j 溺 f q 1 7 l 优先级最高的任务 76 5432 0 1 41 31 2 1 1 11 098 2 22 11 91 71 6 3 02 92 8 l2 7 3 83 73 6 i3 5 4 74 4 i4 3 i4 2 l4 14 5 2 l5 15 0 i4 9 6 16 0 i6 95 85 7 图2 4 事件的等待列表 由于嵌入式由于中可以使用的内存非常有限,因此如何有效消除内存碎片就成 为嵌入式操作系统中非常重要的一个方面。在u c o s i i 中,操作系统把连续的大块 内存按分区来管理每个分区中包含有大小相同的内存块,如图所示。利用这种 机制,u c o s 1 i 对m a l l o c 0 和f r e e 0 函数进行了改进,使得它们可以分配和释放 固定大小的内存块。但是特定的内存块在释放时必须重新放回到它以前所属于的 内存分区。采用这种内存管理算法,内存碎片的相关问题就得到了解决。 1 1 1 为了便于内存的管理,在u c o s 1 i 中使用内存控制块的数据结构来跟踪每一个 内存分区,系统中的每一个分区都有它自己的内存控制块。其中内存控制块中保 存了该内存分区的起始地址、指向下一个空闲内存块的指针、内存分区中内存块 大小、内存分区中总的内存块个数、空闲内存块个数如图所示: y l i i l l l l l + 一 湖北工业大学硕士学位论文 空求内存 控制块链表 图2 - - 5 空余内存控制块链表 每一个内存分区必须含有至少两个内存块,每一个内存块至少为一个指针的 大小,因为统一分区中的所有空闲内存块是由指针链接起来的。u c o s i i 提供了相 应的函数用于对内存进行管理,它们分别是:o s m e m c r e a t e 0 ,创建内存分区; o s m e n g e t 0 ,分配一个内存块:o s m e m p u t 0 释放一个内存块;o s m e m q u e r y 0 查询一 个内存分区的状态。使用这些系统函数,就可以对嵌入式环境中的内存进行有效 的管理和使用。 雾雾 葑一 墅 湖北工业大学硕士学位论文 _ - _ - _ _ - - _ _ - _ - _ _ - _ - _ - - _ _ _ _ _ _ ii _ _ _ _ _ _ _ - _ _ _ _ _ _ _ - _ - _ - _ _ - _ - _ _ 第3 章同步电动机励磁装置的硬件设计 3 1 同步电动机励磁装置的总体设计 同步电动机的励磁装置实际就是一个可以调节的直流电流源,对它的电流输 出控制是控制电路要实现的一个重要功能。f 1 2 j 本装置由四个电源模块并联而成, 励磁装置总的输出电流为四个电源模块输出电流的和,因此分层完成电流的控制 各个电源模块的电流输出控制和装置总的电流控制。e 1 3 1 因此,在每个电源模 块设置一个辅控驱动电路来控制本模块的输出电流,主控电路则给出每个电源模 块的电流给定值从而控制整个装置电流的输出,具体操作如下:主控电路将用户 按键设定的电流值除以4 的结果作为每个电源模块的电流给定值,由于本装置实 际为一电流源,采用以上的简单方法就可以完成电源的并联,同时也控制了装置 电流总的输出。各电源模块的电流反馈信号从检测电路送到辅控驱动电路,这时 电源模块的电流闭环控制就由辅控驱动电路中的硬件电路完成。【1 4 】_ 【1 q 图3 一l电流的控制原理框架图 当某个电源模块或整个装置发生故障时,该电源模块内部产生个封锁信号 或整个装置发生故障时主控电路也发出封锁信号,此信号将封锁p 哪脉冲,保护 主电路。控制原理的框架图如图3 1 。 湖北_ z - 业大学硕士学位论文 同步电动机的励磁装置电路主要包括主电路( 功率电路) 和控制电路,主电路 中最重要的部分是半桥式逆变电路,控制电路主要生成i g b t 控制脉冲。为了使系 统硬件电路简单、尺寸小、可靠性提高和开发时闻缩短,采用模块化的电路。如: 在主电路中选择日本富士公司生产的双管封装的i g b t 一2 m b l 5 0 p 一1 4 0 :各个电源模 块各设置一个辅控驱动电路等。这样得到整个励磁装置的总体结构图 去j _ 鲢。t 静捕t 也罂 i 逅亘峰集威i ;: 5 3 5 2 5 i j , i i 根块俱护电路 韶 拷雌控一l 功船扩晨石片l 辅控醢动电路 ip s d 8 1 3 f 1i 奄姐橇块1 电疆梗铙2 i 糕黠钯乒 _ 电堋睫釉 l u 显示宅踌 j电灌疆擒4l 主拄电路 图3 2励磁装置的总体结构图 下面结合此图具体介绍主电路及控制电路的设计。 3 2 主控电路的设计 主控电路分为电流均流控制、系统故障保护、按键和显示等几个部分。由它 完成对面板用户按键的输入检测、各采样点的采样、各个模块的监测与控制、系 统所处状态的判断和显示等功能。 图3 - - 3 是本系统的主控电路图。下面就在此图的基础上介绍主控电路的设计。 湖北工业大学硕士学位论文 图3 3 主控电路框架图 3 2 1 主控芯片的选择及其使用 在选用主控芯片方面,本系统的主控电路拟采用i n t e l 公司推出的1 6 位单片 机8 0 c 1 9 5 k c 为主控芯片。 1 7 1 它采用了c h m o s 工艺,因而具有更高的运算速度、更 低的功耗,并增强了中断、a d 、d m a 等功能,采用此单片机能组成高集成度、高 性能的数据采集系统。 其主要性能特点如下:它有1 6 位的中央处理器( c p u ) 、高效的指令系统、8 通道的8 位或l o 位可选择a d 转换器、l 路脉冲宽度输出、1 个全双工串行口、4 个高速输入6 个高速输出口、5 个8 位标准输入输出口、2 8 个中断源、1 6 位监 视定时器、可动态配置的总线、8 k 1 6 k 字节的内部r o m 、5 1 2 字节的寄存器阵列和 湖北一工业大学硕士学位论文 专用寄存器、2 个1 6 位定时器、4 个软件定时和一个外设事务服务器p t s ;采用面 向寄存器的算术逻辑单元( r a l u ) ,因此不需要专门的累加器,并且大部分指令都 可以直接对寄存器中的数据进行运算和操作,消除了一般结构中存在的累加器的 瓶颈效应,提高了操作速度和数据吞吐能力;主频可达1 6 m h z : 本系统中8 0 c 1 9 6 k c 使用8 位数据总线。主要外设资源使用安排如下: 高速输出器h s o ;高速输出器h s o 用于按程序设定的时间去触发某一事件,由 于需求c p u 的开销极少,故速度很高,被触发的事件有:启动a d 转换,复位定 时器,设置4 个软件定时器标志和接通6 根输出线h s o o h s o 5 。当事件被触发 时,还会发出中断请求。本系统运用h s o 的6 个端口h s o o h s o 5 产生4 片显示 驱动芯片的片选信号、数据信号以及时钟信号。本系统中利用h s o 启动软件定时 器中断和a d 转换中断来实现对采样值的周期性采样。 5 个8 位标准输入输出口:p o 口全作为采样口,对定子电流、定子电压、四 个模块的输出电流和励磁电压进行采样;p i 口作为系统故障信号的输入口,p 2 口 作为四个电源模块的模块故障信号的输入口;p 3 、p 4 口作为8 0 c 1 9 6 k c 和p s d 8 1 3 f 1 的地址数据总线。 外部中断口:当四个电源模块或系统发生故障,产生外部中断,中断程序中 记录故障状态,在主程序中查询p 1 口及p 2 口,判断故障类型。 定时器1 溢出中断用在同步电动机启动时计算励磁电压的周期长度。定时器2 溢出中断用在给实施操作系统设定时钟节拍。 3 2 2 外围接口芯片的介绍及使用 p s d 8 1 3 f 1 的简介:本系统还拟用w a f e r s c a l e ( w s i ) 公司推出的单片机通用 外围可编程接口芯片p s d 8 1 3 f 1 ,以实现r a m 、e p r o m 、i o 等的扩展,由此可大大 提高控制系统的集成度,减少电路板布线,提高系统抗干扰能力。p s d 8 1 3 f 1 组合 了许多功能,包括:1 m bf 1 a s h 主闪速存储器、2 5 6 k be e p r o m 存储器、1 6 k bs r a m 、 超过3 0 0 0 门的闪速可编程逻辑阵列c p l d 、扩展i o 口及j t a g 接口等功能模块。 p s d 8 1 3 f 1 具备完整的在系统可编程( i ns y s t e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质量检测合同模板
- 2024年度平房区环境整治:建筑施工合同范本
- 开发商授权拆迁补偿合同
- 2024年住家保姆工作协议
- 劳务协议书样式
- 简单工程承包协议范例
- 2024标准临时用工合同样本
- 2024年苏州市租房合同范本
- 拼车服务协议示例
- 2024中介的买卖合同书范文
- 初中语文人教七年级上册要拿我当一挺机关枪使用
- 北京颂歌原版五线谱钢琴谱正谱乐谱
- 病史采集和临床检查方法
- PSUR模板仅供参考
- 火力发电企业作业活动风险分级管控清单(参考)
- 民法典合同编之保证合同实务解读PPT
- 全国第四轮学科评估PPT幻灯片课件(PPT 24页)
- 大气污染控制工程课程设计-某厂酸洗硫酸烟雾治理设施设计
- 名牌包包网红主播电商直播带货话术脚本
- 高考语文作文素材人物速递——苏炳添课件18张
- 蛋鸡养殖场管理制度管理办法
评论
0/150
提交评论