(电力电子与电力传动专业论文)基于tcpip网络连接的嵌入式控制平台的研究.pdf_第1页
(电力电子与电力传动专业论文)基于tcpip网络连接的嵌入式控制平台的研究.pdf_第2页
(电力电子与电力传动专业论文)基于tcpip网络连接的嵌入式控制平台的研究.pdf_第3页
(电力电子与电力传动专业论文)基于tcpip网络连接的嵌入式控制平台的研究.pdf_第4页
(电力电子与电力传动专业论文)基于tcpip网络连接的嵌入式控制平台的研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存和汇编本学位论文。 保密囱,在l 年解密后适用本授权书。 本学位论文属于 不保密口。 ( 请在以上方框内打“”) 季衫 日期:加- 3 年- 3 月,0 日 艮 c 夕堋 月 翻 ;, 者 储 净 文 跏 敝 一 位 期 擎 臣 基于t o p ip 网络连接的嵌入式控制平台的研究 摘要 风能作为一种清洁、高效的可再生能源自2 0 世纪7 0 年代,得到各 国政府大力的推广。李树广老师领导的课题小组就是研究基于立式风力 发电机组,面向大型风场的解决方案。考虑到风场发电系统对于天气状 况有很强的依赖性,通常需要根据上位控制采集的气象信息对整个风场 的风力发电机实行控制。各个风力发电机也要向上位控制系统汇报当前 的运行状况,因此需要通讯模块来实现上位机对控制器的集散管理。 鉴于控制的复杂性和通讯的需求,在研究过程中采用了基于t c p i p 网络连接的嵌入式控制平台作为风力发电机的控制器。该控制平台可以 根据风力发电机各部分控制对于实时性的要求,分配给任务不同的优先 级;对于由硬件中断触发的事件有较快的响应;通过信号量来管理设备, 使得多个任务同步地访问临界资源,提高资源的利用率。 该平台底层芯片是基于a r m 7 t d m i 架构的a t 9 l m 4 0 8 0 0 芯片,同时 具有高性能和低功耗。嵌入式操作系统采用了开放源代码的u c o s i i , 它内核小巧紧凑,提供了进程管理和进程间的通讯,适合资源紧张的嵌 入式系统,可以通过增加任务来实现系统功能的扩展。通讯协议采用了 t c p h p 协议族,下层的物理传输媒质采用了以太网的协议。该协议族的 定义可以公开得到,而且t c p i p 协议不依赖于物理层的具体实现,具有 很好的扩展性。以太网的传输速度完全可以满足控制设备的通讯需求。 系统实现的过程分为以下几个步骤:t c p i p 协议栈在d o s 平台上运 行的u c o s 上的移植;u c o s i i 从x 8 6 架构移植到a r m 7 t d m i 架构; x 8 6 平台下的基于u c o s i i 的t c p h p 到评估板的移植。这样可以利用p c 平台上调试便利的优势,加快系统的开发进度。 经过测试,上述嵌入式控制平台能够较好的适合工业控制的需要, 通过以太刚将各个控制节点连接起来,对于解决工业控制中的“信息孤 岛”问题有一定的意义。 关键字 嵌入式系统,a r m ,u c o s i i ,t c m p ,风力发电 r e s e a r c ho nt h ee m b e d d e dc o n t r o lp l a t f o r mw i t h t c p i pn e t w o r kc o n n e c t i v i t y a b s t r a c t w i n dp o w e ra so n ec l e a n ,e f f i c i e n ts u s t a i n a b l ee n e r g yh a sb e e n p o p u l a rs i n c e1 9 7 0 s t h et e a ml e a d e db yp r o f l is h u g u a n gf o c u s e s o nt h es o l u t i o nf o rt h ew i n df a r mb a s e do nt h es t a n d i n gw i n dp o w e r g e n e r a t o r s c o n s i d e r i n gt h ew i n d f a r mg r e a t l yd e p e n d i n go nt h e w e a t h e rc o n d i t i o n ,i t su s u a l l yt h a tt h es u p e r v i s i n gs e r v e rw i l l c o n t r o la 1 1t h eu n i t si nt h ef a r ma n de a c hu n i ts h o u l dr e p o r ti t s s t a t u st ot h es u p e r v i s o t t h e r e f o r e ,c o m m u n i c a t i o nm o d u l ei s n e c e s s a r yf o rt h es y s t e m w h e r e a st h ec o m p l i c a t i o no ft h ec o n t r o la l g o r i s m sa n dt h en e e d o ft h ec o m m u n i c a t i o n e m b e d d e dc o n t r o l p l a t f o r mw i t ht c p i p n e t w o r kc o n n e c t i v i t yi si n t r o d u c e dt ot h ep r o j e c t t h ep l a t f o r m w o u l da s s i g nd i f f e r e n tp r i o r i t yt ot h et a s kb yi t sr e a l t i m e r e q u i r e m e n t :r e s p o n s e st h ee v e n tt r i g g e r e db yh a r d w a r ei n t e r r u p t i m m e d i a t e l y :a n dm a n a g e sd e v i c e st h r o u g hs e m a p h o r e ,t h u sm u l t i p l e t a s kc a na c c e s st h ec r i t i c a lr e s o u r c es y n c h r o n o u s l y t h ec h i p u s e df o r t h ep l a t f o r mi sa t 9 1 m 4 0 8 0 0o fa r m 7 t d m i 2 a r c h i t e c t u r e i ti sk i n do fh i g h p e r f o r m a n c ew i t h l o w p o w e r c o n s u m i n g t h ee m b e d d e do sf o rt h ep l a t f o r mi su c o s i i ,o n e o p e ns o u r c ep r o j e c t t h ek e r n e l i s c o m p a c t ,p r o v i d e sp r o c e s s s c h e d u l ea n di n t e r - p r o c e s sc o m m u n i c a t i o n i t ss u i t a b l ef o rt h e e m b e d d e ds y s t e mw i t h1 i m i t e dr e s o u r c e t h ec o m m u n i c a t i o np r o t o c o l i st c p i pw i t he t h e r n e t i ti st r u l ya no p e ns y s t e mi nt h a tt h e d e f i n i t i o no ft h ep r o t o c o ls u i t ea n dm a n yo fi t si m p l e m e n t a t i o n s a r ep u b l i c l ya v a i l a b l ea t1 i t t l eo rn o c h a r g e a n dt h e i m p l e m e n t a t i o ni si n d e p e n d e n to nt h eh a r d w a r e t h eh i g hs p e e do f t h ee t h e r n e tw i l ls a t i s f yt h ec o m m u n i c a t i o nn e e d sf o rt h ec o n t r o l s y s t e m t h ei m p l e m e n t a t j o no ft h e p l a t f o r mc o u l db ed i v i d e di n t o d i f f e r e n tp h a s e :p o r t i n go ft h et c p i pt ot h eu c o s i ir u n n i n go n t h ed o s ,p o r t i n go fu c o s i if r o mx 8 6t oa r m 7 t d m i ,p o r t i n go ft h e t c p i pt ot h eu c 0 s i ir u n n i n go nt h ee v a l u a t i o nb o a r d t h u s ,w e c a nt a k ea d v a n t a g eo fd e b u g g e ro f p ct oq u i c k e nt h ed e v e l o pp r o c e s s t h ep l a t f o r mi ss u i t a b l ef o r t h ei n d u s t r i a lc o n t r o lw i t h t h o r o u g ht e s t t h eu n i t sa r ec o n n e c t e dw i t he t h e r n e t ,w h i c hw i l l d oh e l dt os o l v et h ep r o b l e mo f ”i n f o r m a t i o ni s l a n d ” k e yw o r d s e m b e d d e ds y s t e m ,a r m ,u c o s i i ,t c p i p ,w i n dp o w e r r i s c a r m t h u m b a j 廿 i p i c m p u d p e b i p s p i o w d s f a i c u s a r t t c a n g e l d e b u g g e r h o s t t a r g e t i r q f s c l i e n t s e r v e r s o c k e t d a e m o n d c a c p i d 符号说明 精简指令集 a r m 架构芯片的3 2 位指令集 a r m 架构芯片的1 6 位指令集 地址转换协议 互联网协议 互联网控制报文协议 用户数据报协议 外围总线管理接口 省电模块 并行i o 控制器 看门狗 特殊功能 高级中断控制器 通用同步异步收发器 时钟计数器 a r m 调试使用的存根代理接口 调试器 宿主机 目标机 中断请求 文件系统 客户服务器架构 套接字 守护程序 直澎交流逆变 比例、积分、微分调节 6 1 1 课题来源 一绪论 风能作为一种清洁的可再生能源,从2 0 世纪7 0 年代中期开始受到世界各国的重 视,由于风力发电比其他可再生能源( 水能除外) 利用在经济上更具有竞争优势,因 而发展迅速。全世界风力发电装机容量从1 9 8 1 年的不足1 5 万k w ,到2 0 0 0 年将近 1 0 0 0 万k w ”,世界风力发电装机容量正在迅速扩大。我国也明确了“十五”风力发 电的目标“十五”期间,我国计划新增风电1 1 9 2 m w ,发展重点是以新建设1 0 0 m w 风电场约3 5 座( 包括海上风电场) ,和鼓励有风能资源但还未建设一座风电 场地区的电力企业或非电力企业开发风电项目1 2 。 风力发电正朝着单机容量不断增大,商用风电机组技术日臻成熟,经济性曰益提 高的方向发展。大型风场能够更加有效的利用风能,提高发电效益。李树广老师领导 的课题小组研究就是面向大型风场的全面解决方案。 由于风场发电系统对于天气状况有很强的依赖性,所以通常中央控制需要根据采 集的气象信息,对整个风场的风力发电机实行控制。同时各个风力发电机需要向上位 控制系统汇报当前的运行状况,因此需要通讯模块来实现上位机对控制器的集散管 理。系统控制框图大致如下: 图1 1 风场控制框图t f i g u m1 - 1w i n df a ms t r u c t u r e 7 对于单台的风力发电机的控制器而言,研究中的风力发电机采用的是立式风力动 力机,控制相对简单,不需要跟风以及防止缠绕的控制;但是需要对进风口的集风板 开启的角度进行控制,使得风小的时候加大进风口的压力,风大的时候防止风动机过 载,损坏设备。风动机的后端连接变速箱,来提高风机的转速,系统需要对变速箱的 变速比进行控制来推动发电机,此处输出的交流电的频率是变化的。为了能够输出工 频的交流电,还要经过一个a c - d c a c 的过程:先把交流电整流成为直流电,然后 作逆变,向外输出。如果是并网发电,系统必须从电网获得参考频率,用于逆变器的 频率和相位的调整;如果是孤岛供电,控制系统则需要产生一个5 0 h z 的正弦信号, 为逆变器的控制提供参考频率。 囤i 一2 风力发电机的控制框图f i g u r e l 2 c o n t r o ls y s t e m o f w i n dp o w e r g e n e r a t o r 风力发电机的控制系统需要获得集风板的位置信号,测速发电机的反馈,发电机, 逆变器和并网控制器的电压、电流和温度信号,以及逆变器和并网控制器的频率和相 位信息;同时还要针对上述设备作过压、过流、过热的保护。为了能够实现并网发电, 还需要对逆变器的调频和调相。同时,要将上述的信号发送到上位控制器;并做好接 收上位控制器命令的准备。 本人的研究工作就是针对这样一个比较复杂的系统,同时考虑到风场的工作环境 恶劣,传输距离较远的特点,开发风力发电机的控制平台。 1 2 嵌入式系统的发展现状 在1 9 9 6 年,美国航空航天局( n a s a ) 的火星探路者取得了巨大的成功,在实施 3 时间较短以及测试不完整的不利因素下,嵌入式系统依然能够在苛酷的环境中有着很 好的表现p a 。业界逐渐在工业控制领域引入嵌入式系统的概念。随着高性能低功耗 的处理器越来越普及,在工业现场的控制单元上运行嵌入式操作系统已成为可能。 嵌入式系统和桌面系统也有着显著的区别: 嵌入式系统通常资源非常紧张嵌入式系统中几乎没有所谓的“虚拟 内存”,应用程序不能够指望操作系统通过换页操作( s w a p ) 来获得需要的 内存。这就要求嵌入式处理器的代码精简,操作系统和应用程序的代码要短 小精悍( s m a l lf o o t p r i n t ) 。同时运行过程中应用要及时释放不用的内存。 嵌入式系统需要长时间可靠的运行不像桌面系统每天开关机,嵌入式系 统通常运行在无人值守的2 4 x 7 的应用上。因此嵌入式系统的应用绝对不能 发生内存泄漏的问题,关键性应用还必须考虑到冗余机制。 对于硬件中断有实时性的要求嵌入式系统的应用要能够迅速的保 护现场,从而响应中断,这就要求嵌入式系统的处理器对保护现场提供优化。 完成原子操作以后要允许中断响应,关中断的时间应该尽可能的少,从而提 高系统的实时性能。 嵌入式系统需要低功耗某些特定应用( 比如手持式设备) 还 需要注意功耗的问题。嵌入式系统的处理器应该提供在系统空闲的时候节能 的方法。 目前应用于嵌入式系统的主流芯片有: p r o d u c e rc h i p sw e b a m da m l 戳虻ca m l 8 6 c h a m l 8 6 c u a m l 8 6 e dw w w a m d c o m a m 3 8 6 s e s xa m 3 8 6 d e d xa m 4 8 6 d xs c 4 0 0 a r ma r h 7 t d m ia r m 7 t d m i sa r h 7 1 0 ta r m 7 研v v v v w a r n l o o m a r m 9 2 0a r m 7 a t m e ia t 9 0 s ) 。(w w w a t m e l m c i r r u se p 7 2 1 2e p 7 2 1 1c l - p s 7 1 1 1c l - p s 7 1 1 0w w w c i r r u s c o m c l - p s 6 7 0 0 e p 9 3 1 2e p 7 2 0 9 c l - p s 7 5 0 0 f e e p 7 3 1 2 i n f i n e o n c 1 6 1c 1 6 1 uc 1 6 3c 1 6 4c 1 6 5c 1 6 5 ir r a hw w w i n f i n e o n c o m 8 c 1 6 6c 1 6 7 i n t e i i 9 6 0 c a c fi 9 6 0 k a k bi 9 6 0 s a s b i 9 6 0 xw w w i n t e i t o m i 9 6 0 h a h d li t 8 x c l 9 6 h s i o8 x c l 9 6 e p a 8 c 1 9 6 m c8 0 c 1 9 6 队8 0 c 1 8 6i 盯r e l 3 8 6 i r t e l 4 8 6 d i 盯r e l 4 8 6 s xs a - 1 1 0s a 1 1 0 0 s a l l l 0x s c a l ep x a 2 5 0x s c a l ep x a 2 1 0 m o t o r o l am c 6 8 3 0 2m c 6 8 3 6 0m p c 8 5 0m p c 8 6 0m p c 8 2 4 0w w w m o t o r o l a c o r n 9 m p c 8 2 4 1h p c 8 2 4 5m p c 8 2 6 0m c f 5 2 7 2 m c f 5 2 4 9 m c f 5 4 0 7m c 9 3 2 8 m x lm 0 6 8 e z 3 2 8 1 1m s p 4 3 0 ) ( 1 1 xm s p 4 3 0 ) 【1 1 x 1m s p 4 3 0 ) ( 3 l xw w w 廿c o m m s p 4 3 0 x 3 2 m s p 4 3 0 ) ( 3 3 x 表1 1 常用嵌入式处理器一览表闸 目前,商用的嵌入实时操作系统产品主要包括: p r o d u c tp r o d u c e rw 曲u r l t o r n a d o v x w o r k s w i n dr i v e rs y s t e m s , i n c”v w w i n d r i v e r c o m p s o s y s t e m i n t e g r a t e ds y s t e m s ,i n c w w w i s i c o m l y n x o sl y n xr e a l - t i m es y s t e m sw w w 1 y n x ( :0 1 1 1 n u c l e u sp l u sa c c e l e r a t e dt e c h n o l o g yi n c w w w a t i n u c l e u s c o m q n xq n xs o f t w a r es y s t e ml t d w w w q n x c o m o s 一9m i c r o w a r es y s t e m sc o r p w w w m i c r o w a r e c o m 0 s ee n e ao s es y s t e m sw v 州e n e a c o m v r t xm i c r o t e cr e s e a r c h w w w m e n t o r g c o m m i c r o t e c l a m b d a t o o l d e l t a o s北京科银京成技术有限公司 w w w c o r e t e k c o m c n w i n d o w s c em i c r o s o f fi n c w w w m i c r o s o f t c o m 表1 - 2 嵌入式实时操作系统产品列表研 此外,随着开源社团g n a p 努力,l i n u x 作为开源软件的代表,也逐渐渗入到嵌入 式系统中,目前在工业控制领域比较流行的l i n u x 的衍生产品包括: p r o d u c e tp r o d u c tw e b c o v e n t i v ex l j n u x w w w c o v e n t i v e c o m l i n e )e m b e d i xw w w 1 i n e o c o m l y n u x w o r k s b l u e c a t w w w 1 y n u x w o r k s c o m m o n 切v i s t ah a r dh a t li n u xw w w 。m v i s t a c o m r e dh a tr e dh a te m b e d d e dl i n u x w w w r e d h a t c o m k a n s a su n i v e r s i t yk u 盯l i n u x w w w i t t c ,k u e d u k u r t f s m l a b s o p e nr t l i n u x w w w f s m l a b s c o r n 表1 - 3 嵌入式l i n u x 产品列表嘲 它们大都是在通用的l i n u x 内核打上自己的补丁( p a t c h ) 来实现特定的功能。以 u c l i n u x m 为例。标准的l i n u x 工作在保护模式,要求c p u 具有m m u ( m e m o r y m a n a g e m e n tu n i t ,内存管理单元,用于以实现虚存地址到实际地址的映射) ,但是多 数工业控制芯片为了控制成本,没有m m u 。u c l i n u x 提供了补丁,改变了l i n u x 可 执行文件的格式和l i n u x 加载可执行文件的模式,从而使得u c l i n u x 可以运行在没有 m m u 支持的c p u 上。r tl i n u x o 。1 和k u r tl i n u x m 通过将系统分为实时部分和非实 1 0 时部分,将内核作为一个任务运行在实时部分,从而提高了系统的响应性能。 1 3 项目方案比较 对于这种相对复杂的系统,如果采用传统的面向应用的开发方法,可以有轮询和 中断的两种方案: 3 1 轮询 在系统中运行一个主循环,分别轮询各个监测量,然后执行相应的控制算法,如 果监测量的值超过了正常水平,需要调用相应的保护策略。这种控制策略在最坏的情 况下,系统中高优先级的操作在所有的优先级保护完成后才能够得到响应。系统的实 时性得不到保证。 另外一个缺点就是对于控制集风板和电压采样采用了同样的轮询频率。像控制集 风板这种慢速,没有实时性要求的任务,采用较高频率的轮询没有什么意义;而另一 方面,针对过压、过流、过热保护,又不允许较大的延迟。因此轮询的方案仅仅适合 相对简单的小型系统。 1 3 2 轮询和中断互补 这也是工业空中领域经常采用的控制手段。对于实时性要求不高的任务,采用轮 询的方式,实时性要求高的任务采用中断来触发相应的控制策略。如果将控制策略放 到中断里实现,为了保证原子操作,在中断处理例程中禁止中断响应,这样还是无法 解决系统的实时性问题。如果在中断处理例程中允许中断响应,对于嵌套的中断管理、 优先级的分配和临界区的管理将是非常复杂的问题,尤其是对于风力发电这个相对比 较复杂的系统。最坏的情况下,各个控制逻辑纠缠在一起。由于中断的随机性,出现 故障的现场是无法重现的,这将会为调试和后期的维护工作增加很多麻烦,加大开发 的劳动强度。 1 3 3 嵌入式系统 引入嵌入式操作系统就可以很好的解决上述问题。嵌入式操作系统可以提供进程 的管理和进程间通讯的支持,各个控制逻辑就可以写成单独的进程。控制集风板这种 简单任务,可以在向控制电机发送关闭命令以后,主动的进入休眠态。过了一段时间, 被系统唤醒,继续工作。对于实时性要求较高的任务,可以分配较高的优先级,这样 它在就绪以后可以尽快地获得c p u 的控制权。对于实时性要求非常严格的任务,比 如过流保护,嵌入式操作系统支持由硬件触发中断,在中断处理例程中通过信号量来 激活相应的任务。此外,嵌入式操作系统还可以通过信号量来实现设备管理,可以使 得多个任务同步地访问临界资源,避免竞争一冒险的问题。 这样既可以满足实时性的要求,又可以使得代码清晰易懂,方便应用的开发和维 护,而付出的代价仅仅是 3 0 k 的r o m 容量的增加。 二系统结构 嵌入式控制平台大致可以分为三层,硬件层,系统层,应用层。其系统结构框图 大致如下: a o p l i c “硼t a s l e t h t a s k u c o s - i i 尉2 - 1 控制器系统结构图f i g u r e 2 1c o n t r o l l e rs y s t e ms t r u c t u r e 硬件上的芯片架构应该考虑到嵌入式系统的特点: 指令精简,占用较少的r o m 能够较快的保护现场 快速的响应中断 提供节能模式 扩展性好,方便和外围接口通讯 综合考虑上述要求,a r m ( a d v a n c e dr i s cm a c h i n e ) 【1 2 】系列芯片是一个可行的选 择。a r v i 是精简指令集架构的3 2 位单片机,指令简单而且便于编译器优化;a r m 同时支持a r m ( 3 2 位指令集) 和t h u m b ( 1 6 位指令集) 两种指令模式,并且可以 在运行中任意的切换。这样就能够有效的缩小编译后二进制代码的长度,适合嵌入式 系统对于r o m 资源的限制。具有类似d s p 算法的指令集,可以高效的完成信号处 理的工作。a r m 通过简化译码逻辑电路,降低了整个系统的功耗;多级流水的引入 又使其拥有很高的性能。 a r m 公司提供的a n s ic c + + 的编译开发环境加速了基于a r m 架构的应用的开 发。在目前,几乎所有的p o c k e t p c 都是基于a r m 架构的s t r o n g a r m 或者x s c a l e t ”1 基于p a l m o s5 的p a l m 及其兼容产品还包括了基于t i 的o m a p 嵌入式a r m 架构【1 4 1 。 另一方面,a r m 的芯片制造方式是由英国a r m 公司提供芯片架构,由全球各个半 导体厂商通过授权的方式制造。各个公司根据目标市场的需求,添加多种片上外设, 来满足用户多样的需求,而同时又保持通用的指令系统。选用a r m 芯片就不会被某 个芯片制造商绑定在特定的平台上 而且对于不同的应用,可以根据所用到的外设和 成本因素,选用从高端到低端不同的a r m 芯片。以前开发的p 也可以继续使用, 从而有效的保护了用户在软件开发的投资。 操作系统方面,商用的嵌入式系统价格昂贵,而且大多数不开放源代码,采用开 放源代码的系统会具有更好的扩展性。但是e m b e d d e dl i n u x 结构相对复杂,不适合 控制器这种较为紧凑的应用,因此我们选择了u c o s i i 作为整个系统的o s 。u c o s i i 开放源代码,而且代码具有良好的编程风格。它首先是在x 8 6 平台的d o s 操作系统 上实现的,因此相当适合原型开发。同时它内核小巧紧凑,仅仅提供了进程调度和进 程间通讯等基本服务,很适合资源紧张的嵌入式系统。 系统要求的通讯功能是采用以太网作为物理层,t c p i p 协议栈的方案。以太网目 前是局域网传输介质事实的标准,是高速、廉价的传输解决方案。t c p 口协议作为 互联网连接事实上的规范,可以使得不同的厂家生产的,运行完全不同的操作系统各 种型号的计算机互相可以通信。因为协议族的定义可以公开地得到,所以对于设备制 造商来说,采用开放的t c p i p 协议扩展性更好。而且,b s d 系列的u n i x 和l i n u x 都有完整的t c w i p 协议栈源代码,开放源代码项目中也有嵌入式系统的t c p ,i p 协议 栈可以借鉴,便于移植,参见【3 1 ,3 2 ,3 3 ,3 4 ,3 5 】。 t c m p 并没有完全遵守o s i 的7 层协议,而是采用了更加实用的协议分层: 1 4 图2 - 2t c p i p 协议族中不同层次的协议 f t g u r e2 - 2v a d o u sp r o t o c o l sa tt h ed i f f e r e n tl a y e r si nt h et c p i pp r o t o c o ls u i 心1 8 因为t c p 球在各种传输媒质上都有实现,移植t c p i p 协议栈到嵌入式系统上会 有广泛的应用。对于风力发电这种工业应用,由于大部分的控制逻辑是在本地的微控 制器上完成的,用于通讯的信包仅是将本地的数据传递给其他风机或者上报给监控 层。上位会根据上报的数据,对下位的控制算法微调,这种通讯数据量较小,可以使 用回复,校验的方式保证信息的可靠性,采用面向数据报的u d p 协议就可以完成。 因此本次研究的重点就在于a r p ,i p ,i c m p 和u d p 协议。 下面将对系统中硬件平台和操作系统作详细的介绍。 2 1 硬件平台 考虑到研发的工作重点在于操作系统的实施和t c p i p 协议栈的移植,为了缩短 研发的周期,整个系统建立在m i c e t e k 提供的e v 4 0 1 6 】的板卡上。e v 4 0 采用a t m e l 公司的a t 9 1 x 4 0 系列的a r 9 1 m 4 0 8 0 0 【的处理器,板上还搭载了两个串行口,复位开 关,三个应用程序按钮( 可以用于上电自检) ,三个l e d ,一个八段数码管,2 0 4 8 k 字节1 6 位s r a m ,2 m 字节的1 6 位f l a s h ,2 0 p i nj t a g 接口,e t h e r n e t 控制器以及 接口( 1 0 - b a s e t ,r j 4 5 ) ,u s b 控制器以及接口( 支持u s b l 1 规范) ,p c i 0 4 接口,e b i 扩展接口,i o 扩展接口,板上时钟源选择开关,触摸屏扩展接口,l c d 扩展接口等 多个外设。上述丰富的接口可以为我们提供一个面向多种应用的通用平台,这也是在 原型设计过程中采用e v 4 0 这块板卡的原因。 a t 9 1 x 4 0 1 1 - q 系列芯片是a t m e l 公司是配备a r m 7 t d m i 内核以及多种外设的一块 微控制器芯片。为了提高性能,a t 9 1 包含了两条总线- - a s b ( a d v a n c e ds y s t e m b u s ) 和a p b ( a d v a n c e dp e r i p h e r a lb u s ) 。a s b 提供了a r m 7 t d m i 和片内存储器、e b i 和 a m b a 的接口。片内提供的外设包括e b i 、p s 、a i c 、p i o 、w d 、u s a r t 、和t c 。 e b i ( e x t e r n a lb u si n t e r f a c e ) 提供了对于外存和外围设备的访问。 p s ( p o w e rs a v i n g ) 模块实现了系统的i d l e 模式,可以降低系统的功耗。 a i c ( a d v a n c e di n t e r r u p tc o n t r o l l e r ) 提供了对于中断的管理,减少了中断的延迟 时间。 p i o ( p a r a l l e li n p u t o u t p u tc o n t r o l l e r ) 管理3 2 根i o 线。 w d ( w a t c hd o g ) 提供了对于系统死锁的解决方案。 u s a r t ( u n i v e r s a ls y n c h r o n o u s a s y n c h r o n o u sr e c e i v e r t r a n s m i t t e r ) 提供了串 行口的支持。 t c ( t i m e rc o u n t e r ) 时钟计数器。 其系统框图如下: 1 6 l j 嘴 l i f 一 i r “7 t o m i 钿m1 1 _ 7 lm 童 i警k - i 如n d “s r mi 羞 j l “h a 一 。篇。,卜卜 = t l b b n oi i n 渊w 卜i j i 。僦 - - - - o o t r a 。: t c : j 一,i 僦巨 t c i e : p s r s a u n l - t c 2 : c h t l d 。 h r 黹p l r - - i p l op 4 剧谢 o c 帅荫w 卜一 图2 - 3a t 9 1 x 4 0 系统框图,f i g u r e2 - 3 a t 9 1 x 4 0s t r u c t u r e 【1 日 由于a r m 7 t d m i 的体系结构相对比较新,本节将首先简要介绍a r m 7 t d m i 架 构的特剧1 8 】: 2 1 1a r m 7 t d m i a r m 7 t d m i 不含m m u ,比较适合低端的控制器应用。考虑到不同系统的要求, a r m 提供了两种指令模式,3 2 位的a r m 模式和1 6 位的t h u m b 模式。后者可以 有效的减小代码的长度,适合那些对r o m 敏感的嵌入式系统。3 2 位和1 6 位模式的 切换也相当的方便,只需要一条跳转指令( b x ) 就可以了。a r m 还提供了大端( b i g e n d i a n ) 和小端( l i a l ee n d i a n ) 的两种对齐模式。e n d i a n 模式是在上电时由引脚b i g e n d 的电平指定的。 a r m 7 t d m l 支持七种操作模式u s e r ( u s r ) ,f i q ( f i q ) ,i r q ( i r q ) ,s u p e r v i s o r ( s v c ) , 1 7 a b o r t ( a b t ) ,s y s t e m ( s y s ) 和u n d e f m e d ( u n d ) 。u s r 模式是一般a r m 程序执行的方式;f i q 是快速中断发生后的模式,通常用于数据的传输;i r q 是一般中断发生后的模式;s v c 和s y s 通常用于操作系统的保护模式;a b t 模式发生在预取指令失败,通常意味着程 序访问了不存在的r o m , u n d 发生在读取到未定义的指令,通常系统已经走飞了。 a r m 7 t d m i 一共提供了3 7 个寄存器,其中r 0 一r 1 5 为通用寄存器,r 1 6 为状态 寄存器c p s r ( c u r r e n tp r o g r a ms t a t u sr e g i s t e r ) 。r 1 3 通常用于堆栈指针( s t a c k p o i n t e r ) ,r 1 4 用于连接寄存器( l i n kr e g i s t e r ) ,r 1 5 用于p c 。 a r ms t a t eg e n e r a lr e g i s t e r sa n dp 口糟| nc o u n t e r s y s t e m & u s e r f i q s u p e r v i s o r a b o r ti r qu n d e n e d r 0r 0r 0r or or 0 r 1r r ir r 1r 1 r 2融r 2融r 2r 2 r 3r t ,r 3r 3船 r 4r 4r 4r 4r 4r 4 r 5r 6r 5 瞄 r 6r 6r 6r 6 r r 6 r 7 r 7r 7 r 7r 7阳 r g 只8 q r 8鼬鹇 k 一q 融陌融 融 r 1 0 狡r i o ,佃 r 1 0r 1 0r 1 0r 1 0 r 1 1 k r l l 一佃 r 1 1r 1 1r 1 1 r 1 1 r 1 2 公r 1 l f i q r 1 2r 1 2 r 1 2r 1 2 r 1 3 x r l 3 佃 瓤r 1 3 ” 瓤r 1 3 一a b tr 1 3 a r q氛r 3 。u a d r 1 4 蕊r 1 4 知狡r 1 4 k r l 4 + 9 h瓤r u a r q 瓤r 1 4u d r i 5 f p c )r 1 5 ( p c )r 1 s p c j r 1 5e p c ) r 1 5c p c ) r l s f p c ) a r ms t a t ep r 叼r a ms 招t i r e g l s f e r s c p s rc p s rc p s rc p s rc p s ra 氐& o s r 岫k s p s r m j 瓤s p 3 r 。女k s p s r k s p s r ,u n d 艮- - m k e dr e g t m a r 图2 - 4 蹦寄存器组织匿1f i g u r e2 - 4a r mr e g i s t e r so r g a n i z a t i o n t 嘲 删为了提高中断的处理速度,采用了影子寄存器( b a n k e dr e g i s t e r ) 技术,上 图中,左下角有阴影三角形的是b a n k e dr e g i s t e r ,即该模式有自己私有的寄存器。当 1 8 发生异常( e x c e p t i o n ) 1 时,系统首先把正常运行的指令地址保存到r 1 4 ,然后把系 统的c p s r 拷贝到s p s r ,修改c p s r 中相应的中断位,刷新流水,去执行相应的异 常处理例程。离开异常时,可以用保存的p c 迅速返回到正常的运行态。以f i q 模式 为例,r s - - r 1 4 都是私有的寄存器,几乎不需要保存现场,加速了中断处理的速度, 提高了反应的实时性能。 a r m 中的异常优先级由高到低如下: l r e s e t 2 d a t a a b o r t 3h q 4m q 5p r e f e t c ha b o r t 6u n d e f i n e di n s t r u c t i o n , s o f t w a r ei n t e r r u p t 异常向量表参看下表: a d d r e s s e x c e p t i o n h o d e o x 0 0 0 0 0 0 0 0 r e s e t s u p e r v i s o r o x 0 0 0 0 0 0 0 4u n d e f i n e dj n s t r u c t i o nu n d e f i n e d o x o o 0 0 0 0 0 8s o f t w a r ei n t e n - u p t s u p e r v i s o r 0 x 0 0 0 0 0 0 0 c a b o r t ( p r e f e t c h ) a b o r t o x 0 0 0 0 0 0 1 0 a b o r t ( d a t a ) a b o r t o 0 0 0 0 0 0 1 4r e s e r v e d r e s e r v e d o x 0 0 0 0 0 0 1 8 i r q i r q 0 0 0 0 0 0 0 1 c 阿q f i q 2 1 2e b i 表2 1 异常向量表【删 a t 9 1 x 4 0 系列微控制器是3 2 位的系统,一共有3 2 位的地址总线,能够访问2 g 的地址空间。由于外设的速度通常比c p u 慢,在每一个读写过程中都必须插入等待 周期,为了简化对内存和外设的访问,提高系统的i o 吞吐能力,a t 9 1 x 4 0 提供了 e b i 作为访问外设的接口。

温馨提示

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

评论

0/150

提交评论