(水声工程专业论文)基于vxworks的水下通信网节点底层软件的设计与实现.pdf_第1页
(水声工程专业论文)基于vxworks的水下通信网节点底层软件的设计与实现.pdf_第2页
(水声工程专业论文)基于vxworks的水下通信网节点底层软件的设计与实现.pdf_第3页
(水声工程专业论文)基于vxworks的水下通信网节点底层软件的设计与实现.pdf_第4页
(水声工程专业论文)基于vxworks的水下通信网节点底层软件的设计与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨工程大学硕七学位论文 a bs t r a c t w b r ki nt h i st h e s i sm a i n l yf o c u s e so nt h ed e s i g na n di m p l e m e n t a t i o no ft h e b o r o ml a y e rs o f t w a r eb a s e d - o nv x w o r k sf o rt h eu n d e r w a t e ra c o u s t i cn e t w o r k n o d e t h ep l a t f o r mo ft h eu ,a nn o d ea d o p t sa d u s t r i a la n dl o wp o w e r f u le m b e d d e d p r o c e s s o r a t 91r m 9 2 0 0 ,t m s 3 2 0 v c 55lo a ( d s p ) p r o d u c e db y t ia n d x c 4 v l x l 5 f g 3 6 3 ( f p g a ) p r o d u c e db yx i l i n x c o m b i n e dw i t ha t 9 1 r m 9 2 0 0 ,t h e e m b e d d e dr e a lt i m e o p e r a t i n gs y s t e mv x w 6 r k s i s a d o p t e d t of u l f i l lt h e r e l i a b i l i t y , t i m e l i n e s sa n dm u l t i t a s k i nt h et h e s i s ,as e to fe m b e d d e ds o f t w a r es y s t e mi sd e v e l o p e df o rt h en o d e c o n t r o l s y s t e m b a s e do na t 9 1 r m 9 2 0 0 ,x c 4 v l x l5 f g 3 6 3a n dv x w o r k s a c c o r d i n gt ot h e i rc h a r a c t e r i s t i ca n dd e v e l o p m e n tm e t h o d s o n eo ft h em a i np a r to ft h i st h e s i si st or e p l a n tt h ev x w o r k so p e r a t i n g s y s t e mo n t oa t 9 1r m 9 2 0 0 ,w h i c hi sa st h em a i np r o c e s s e ro ft h ew h o l es y s t e m a t t h es a m et i m e ,t h ew h o l es y s t e mc a nlu l ls t e a d i l ya n dr e l i a b l yo nt h em a n a g eo ft h e v x w b r k s t h eo t h e rp a r to ft h et h e s i si st od e v e l o pt h ed r i v e r sf o rp e r i p h e r yu n d e r v x w o r k s a f t e rf i n i s h i n go ft h er e p l a n t a t i o n ,t h ed r i v e r so fs dc c a r d ,r e a l t i m e c l o c k c a l e n d a r ( p c f 8 5 6 3 t ) ,c o d e ca n dt h ec o m m u n i c a t i o nm o d u l eb e t w e e n a r ma n dd s pa r e d e s i n g e da n di m p l e m e n t e d k e yw o r d s :u n d e r w a t e ra c o u s t i cn e t w o r k s ;v x w o r k s ;a t 9 1r m 9 2 0 0 ;b o a r d s u p p o r tp a c k e t ;x c 4 v l x l5 f g 3 6 3 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献等的引用已在文中指出,并与参考文献相对应。除文中 已经注明引用的内容外,本论文不包含任何其他个人或集 体已经公开发表的作品成果。对本文的研究做出重要贡献 的个人和集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 作者( 签字) 之l 塑! 丞 e t期:纱年多月2 1 0 目 哈尔滨工程大学硕士学位论文 - k i l l i 黼i 葺;i i ;宣赫赫i ;宣暑宣;薯黼葺i i ;i i 暑警鞘蔷i 第1 章绪论 1 1 论文的背景和意义 在海洋水文资料的收集、海洋运输、航道的检测、海洋渔监资源的调查、 矿业资源( 石油、天然气) 的勘探和开发中,传统的收集海底数据的方法是 把传感器放到海底,过一段时间把设备从海底取上来获得数据,这样的信息 不仪不及时,而且一旦设备损坏将使数据丢失。但是如果通过水下通信网就 可以把数据及时可靠的传到陆地。由于海洋环境复杂多变,无人深潜器和水 下智能辊器入得以应用,它们通常要在大范围内移动,因此更需要水下通信 网,以便对它们进行及时的控制和信息的收梨1 1 。 在未来多基地和舷铃分布式传感器系统构成的庞大的反潜战网络中,水 下数据通讯是关键技术之一,而水声网络承担着探测和数据通信的重要使命。 它通常由海底传感器、自主式水下运载器和水西站组成,水面站可进一步与 i n t e m e t 等主予网连接。这种配置形成一种交互式环境,在这种环境中人们可 以从多个水下远程设备提取实时数据,并把控制信息传递给各个设备,这种 霹络可适用于多变环境。现代海战,海底战场作为“蹬维战争 中重要组成 部分,具有极其特殊的战略地位和极其熏要的军事价值。在本国海域建立水 下战场的通信网和预警网将是国防建设必须面对的阅题。因此水下通信网的 研究具有重大意义。 1 2 水下通信网国内外动态 网内对水声通信网的研究侧重在水声通信技术方面,我国水声通信网络 技术的研究起步很晚,主要停留在水下通信网的系统框架、多蛙接入技术、 逻辑信道的分配、m a c 层协议等通信网关键技术的仿真研究工作,目前尚未有 取得实验成果的报道。 围外近年来在水声通信网方面进行了大量的研究工作,在相关的方案验 证、仿真工作的基础上已经开始了水声通信网的海上实验工作睇1 ,如: 1 美国海军空间及海上作战系统中心根据关键海区大范围水下预警的要 求开发的可部署分布自主系统( d a d s ) ,是一种通用的分布式水下信息网。网 哈尔滨工程大学硕士学位论文 络由传感器、控制器及武器节点组成,可以执行水下检测、目标探测及跟踪 任务,其总的设计原则是“简单、有效、可靠、安全”。图11 为d a d s 项目 中水声通信网的拓扑图。 2 美国海军水下无线网络研发中心研究的水下网络基于“s e a w e b ”概 念0 1 ,网络节点分布在1 0 0 1 0 0 0 0 平方公里的范围内。s e a w e b 网络支持包括 潜水艇和自主水下航行器在内的移动节点,可对节点进行分簇。物理层调制 方式尾m f s k ,目前的信息速率可以达到8 0 0 b i t s ,当信道条件发生变化时, 最多可降低到3 0 0 b i t s 。分别在2 0 0 1 年和2 0 0 4 年进行了海上实验: 2 0 0 1 年的实验持续了4 天,网络由1 4 个节点组成。链路层协议自动解 决网络的冲突问题,可靠性很高,节点未出现故障。 2 0 0 4 年的实验中,网络由分布在海底较大范围内的4 0 个节点组成,经 水面浮标通过无线电信道与船上的控制中心进行联系。图12 分别是2 0 0 1 年 和2 0 0 4 年海试的网络拓扑结构图。 0 一 l 图1 1d a d s 通信网的拓扑图图12s e a w e b 海试中的网络拓扑结构图 1 3 水下通信网节点结构 水下通信网节点是一种分层结构,与国际标准化组织( i s o ) t 算机网络系 统i s o 参考模型相似,如图1 3 所示: 图1 3 水声通信网络协议层次结构 三层分别是物理层、数据链路层和网络层。物理层负责数据的调制解调, 在发送端,它把逻辑信息( 比特0 和1 ) 转换成在信道中传输的信号。在接 哈尔滨工程大学硕十学位论文 收端,检测被噪声及其他信道污染的信号,并把信号转换成逻辑值。比特通 常被分成分组( ,分组是在数据链路层处理的h,该层有两种主要功能:packet) 成帧和纠错控制。成帧指的是给分组定义,包括信息序列、同步序列、信源 和信宿地址及其他控制信息。数据链路层的纠错控制通常是通过循环冗余校 验( c r c ) 来实现的。校验的冗余位添加在分组中。在接收机处进行检验,检 测分组中的差错。如果c r c 发现有问题,节点可以请求分组重发信息,这种 过程称为自动重传请求( a r q ) 。为了实现a r q ,网络中的各个节点必须遵循 数据链路协议,常用的协议有停止和等待、退n ( g ob a c kn ) 、可选重传协议, 这些协议控制在两个节点之间交换分组和确认正确接收分组的逻辑序列,他 们组成数据链路层的逻辑链路控常t j ( l l c ) 子层。如果有两个以上节点在同一信 道进行通信,那么必须采用其他措施,把多个信源接入到同一媒体上,这些 措施称为媒体接入控制( m a c ) 方法。m a c 协议包括a l o h a 协议、载波侦听媒 体接入( c s m a ) 协议( 以太网就是这样一种协议) 、t o k e n 协议等,这些协议 组成数据链路层的媒体接入控制子层。 数据链路层的上一层是网络层,该层设定了下一层如何进行理想的数据 传输。因此,该层只对分组进行处理而不询问他们是否正确,它的主要功能 是路由选择。路由选择指的是寻找通过网络的路径,并把来自信源的分组沿 着该路径传递给信宿,如果同一信息的所有分组是在同一条路径传输的,这 条路径是在信息交换开始时由路由选择算法建立的,那么可以说该网络采用 虚拟电路交换( v i r t u a lc i r c u i ts w i t c h i n g ) ,如果确定了每一个分组的新路径,那 么说明该网络采用数据图表交换。查找网络路径通常根据最佳准则,例如使 路径距离最短,或延迟和中继跳数达到最少。计算最近路径的静态路由选择 算法包括d i j k s t r a 算法和b e l l m a n f o r d 算法。静态算法为那些必须适应多变 工作环境的实际应用网络的许多动态路由选择算法提供了依据。 通信网节点的原理结构框图如图1 4 。c o d e c 完成信号的接收和发射功 能,d s p l 完成调制解调工作以达到全双工通信的要求,并进行信道均衡和 纠错等操作,d s p 2 完成对目标的探测与识别功能,主控部分由一片a r m 及 其外围器件构成,在a r m 控制器上运行v x w o r k s 操作系统,网络层和链路 层建立在此基础上。此外,v x w o r k s 操作系统还将管理目标探测与识别软件 和通信软件的运行,协调探测识别任务、定位任务、通信任务的运行和系统 哈尔滨工程大学硕士学位论文 资源的分配。 图1 4 节点原理结构框图 1 4 本论文的主要研究内容 本文主要任务是设计实现一个基于水声通信网节点的嵌入式软件系统。 主要研究内容包括以下几个方面: 1 在a t 9 1 r m 9 2 0 0 处理器上移植嵌入式实时操作系统v x w o r k s 。使系 统的稳定性、实时性和多任务性最大程度得到保证。 2 在f l a s h 上建立一种满足c f i 和s c s 规范的通用t f f s 文件系统。 从而使目标机可以脱离主机而独立运行,便于操作系统及应用程序的在线升 级功能。 3 设计并调试s dc a r d 驱动程序,从而实现大容量数据存储功能;1 2 c 总线驱动及挂接其上的设备驱动程序( p c f 8 5 6 3 和c o d e c ) ,为系统提供准 确的时间信息以及c o d e c 与d s p 数据传输通道的f p g a 程序。 4 实现a r m 通过h p i 对两片d s p 的完全控制,从而完成a r m 和d s p 之间的数据交换。 最后,对全文作出总结,并对未来的工作做了展望。 4 哈尔滨1 _ 程大学硕士学位论文 第2 章水下通信网硬件平台与v x w o r k s 操作系统 2 1 水下通信网结点硬件平台 2 1 。王水下通信网结点硬件平台的构成 根据水下通信网对实时性、多任务性、可靠性和低功耗的要求,确定嵌 入式处理器结合嵌入式实时操作系统v x w o 呔s 。硬件平螽采用了工业级、低 功耗的嵌入式处理器a t 9 1 r m 9 2 0 0 、t i 公司的数字信号处理器 t m s 3 2 0 v c 5 5 l o a 和x i l i n x 公司的可编程门阵列x c 4 v l x l 5 f g 3 6 3 。 嵌入式处理器a t 9 1 r m 9 2 0 0 作为主处理器,其上运行嵌入式实时操作系 统v x w o r k s ,主要负责水下通信网上层软件及片内外设的管理工作。上层软 件包括链路层裙网络层的应焉。辩设包括串墨,网i s l ,s dc a r d ,实时时钟 p c f 8 5 6 3 等。a t 9 1 r m 9 2 0 0 外部存储器包括3 2 ms d r a m ,8 mf l a s h 。 审墨作为低速的通信端西,可以传输一些对实时性要求不是缀严格的控 制信息,也可以作为系统调试阶段的终端设备,方便应用程序的开发。嵌入 式处理器a t 9 1 r m 9 2 0 0 内嵌了e m a c 控制器,配合物理层芯片d m 9 1 6 1 e p 为网络通信提供了平台,通过网络实现主机与目标机高速的数据传输。s d c a r d 作为大容量的数据存储设备,因其体积小丽广泛的应用在嵌入式领域。 a t 9 i r m 9 2 0 0 片内集成了m c i 控制器,工作在s dc a r d 模式下,可以轻松实 现大容量的数据存储功能。实时时钟p c f 8 5 6 3 在系统掉电的情况下,可通过 一块纽扣电池供电,为系统提供时间信息。a t 9 1 r m 9 2 0 0 通过1 2 c 总线访阀 p c f 8 5 6 3 ,获得准确的年月日时分秒。 两片t m s 3 2 0 v e 5 5 1 0 a 被用作为协处理器。d s p l 完成调制解调工彳乍, 进行信道均衡和纠错等功能,以达到全双工通信的要求;d s p 2 完成对目标 的探测与识别功能。两片d s p 可通过多通道缓冲串c i ( m c b s p ) 进行数据交换。 a t 9 1 r m 9 2 0 0 可通过t m s 3 2 0 v c 5 5 1 0 a 的h p l 日,采用菲复用的方式访问 t m s 3 2 0 v c 5 5 1 0 a 的存储空间,实现高速数据的交换。c o d e c 作为a d , d a 的结合体,完成数据的采集与发送。c o d e c 的采样频率,数据传输模 式等既可通过a t 9 1 r m 9 2 0 0 的1 2 c 总线,也可以通过t m s 3 2 0 v c 5 5 1 0 a 的多 哈尔滨工挥大学硕士学位论文 通道缓冲串口工作在s p i 模式下进行设定。数据传输采用串行总线方式。 x c 4 v l x l 5 f g 3 6 3 可以为系统各个器件之间的访问提供控制信号,完成 时序调整,高速设备与低速设备的数据缓冲等功能。水下通信网的硬件平台 系统组成如图2 1 所示: 串口 d m 9 1 6 1 e 网口 s d 础m 3 2 m b f l a s h 8 m b p c f 8 5 6 3 实时时钟 a r m a t 9 1 r m 9 2 0 0 d s p t m s 3 2 0 v c 5 5 1 0 a 亡:二二二】,、n t 、。,、 f p g a x c 4 v l x l5 f g 3 6 3 dspcodectms320vc5510a 图2 1 水下通信网的硬件平台系统 2 1 2 硬件平台主要处理器 1 a t 9 1 1 w 9 2 0 0 芯片结构 a t 9 1 r m 9 2 0 0 陌1 是a t m e l 公司推出一款基于a t 9 2 0 t 处理器的片上系统, 内部集成了丰富的标准接口: 融合了a r m 9 2 0 t t m a 砌( 园t h u m b ( 萤处理器,包括: ( 1 ) 工作于1 8 0 m h z 时性能高达2 0 0 m i p s ,存储器管理单元。 ( 2 ) 1 6 k 字节的数据缓存,1 6 k 字节的指令缓存。 ( 3 ) 含有调试信道的内部仿真器。 低功耗:v d d c o r e 电流为3 0 4 m a ,待机模式电流为3 1 m a 。 附加的嵌入式存储器: s r a m 为1 6 k ;r o m 为1 2 8 k 。 6 哈尔滨工程大学硕士学位论文 外部总线接口( e b i ) : 支持s d r a m ,静态存储器,b u r s tf l a s h ,无缝连接c o m p a c t f l a s h , s m a r t m e d i a t m 及套ta 小t df l a s h 。 提高性能而使用的系统外设: ( 1 ) 增强的时钟发生器与电源管理控制器。 ( 2 ) 两个p l l 片上振荡器。 ( 3 ) 调试单元、两线u a r t 并支持调试信道。 ( 4 ) 有8 个优先级的高级中断控制器,独立的可屏蔽中断源。 ( 5 ) 有1 2 2 个可编程i o 口线的四个3 2 位p i o 控制器。 ( 6 ) 2 0 通道的外设数据控制器( d m a ) 1 0 1 0 0b a s e t 型以太网卡接口: ( 1 ) 独立的媒体接h ( m i i ) 或简化的独立媒体接n ( r m i i ) 。 ( 2 ) 对于接收与发送有集成的2 8 字节f i f o 及专用的d m a 通道。 多媒体卡接口( m c i ) : ( 1 ) 自动协议控制及快速自动数据传输。 ( 2 ) 与m m c 及s d 存储器卡兼容,支持两个s d 存储器。 4 个通用同步异步接收发送器( u s a r t ) : 两个3 通道1 6 位定时计数器( t c ) : 2 x c 4 v l x l5 f g 3 6 3 芯片的特点 f p g a 采用了x i l i n x 公司v i r t e x 4 系列芯片嘲。x i l i n x 的v i r t e x 一4 拥 有多达2 0 万逻辑单元,先进的9 0 n m 工艺技术。v i r t e x 4 相对其它f p g a 芯 片,其优势如下:首先,v i r t e x 4f p g a 具备以极低成本获得突破性性能的独 特方法。而其在i o 带宽、片上r a m 速度、和d s p 处理能力及逻辑运算性 能方面均具有巨大的优势。其次,它是速度极快、功率极低的f p g a 器件。 与同类型9 0 n mf p g a 器件相比较,它显著地降低了功率损耗,包括静态功 率、动态功率及起动功率。同时还具备高速逻辑电路其所必需的一套完善的 时钟管理体系,包括5 0 0 m h zd c m 数字时钟管理器、区域时钟简化源同步 接口、丰富的时钟信号、差分时钟树减少偏移和抖动以及精确的时钟管理。 开发工具采用x i l i n x 公司集成开发环境i s e 8 1 ,由于该软件针对自家 芯片采用了优化的综合和实现过程,使设计的速度更高,最大程度的减小消 7 哈尔滨t 程大学硕士学位论文 耗的面积,设计结果能更好的调动芯片的内部资源,工作更高效。 3 t m s 3 2 0 v c 5 5 1 0 a 芯片的特点 t m s 3 2 0 v c 5 5 1 0 a p l 是n 公司推出的新一代定点数字信号处理器( d s p ) , 它具有更高的代码执行效率和极低的功耗,其最高指令执行速率高达 2 0 0 m i p s 。一而且与t m s 3 2 0 v c 5 4 x 的指令完全兼容,具体特点如下所述: ( 1 ) 资源丰富。3 2 位宽的外部存储器接口( e m i f ) ,2 个2 0 位宽的定时 器,6 通道的d m a 控制器和3 个多通道缓冲串口( m c b s p ) ,1 6 位增强型并 行接口( e h p i ) ,8 个通用管脚( g p i o ) 。 ( 2 ) 数据处理能力强而且运算速度快。t m s 3 2 0 v c 5 5 1 0 a 采用了改进的 哈佛结构,c 5 5 x 的d s p 在一个总线周期内同时进行3 个数据读和2 个数据 写的操作,采用了并行的双m a c 结构,提供了更强大的并行处理能力。 ( 3 ) 功耗低。t m s 3 2 0 v c 5 5 1 0 a 采用高性能静态c m o s 技术,i o 供电 电压为3 3 v ,核供电电压为1 6 v ,而且有多种低功耗工作模式,有效地降低 了系统功耗。 2 2 水下通信网软件总体方案的确定 由于水下通信网节点是一种分层结构,为了更好的维护网络层、链路层 和物理层的功能,以及管理目标探测与识别软件和通信软件的运行,需要建 立一种多任务机制;同时为了满足实时通信和对目标做最快速的反应,又对 系统提出了实时性要求。根据水下通信网对多任务性、实时性、可靠性的要 求,确定嵌入式处理器结合嵌入式实时操作系统的实现方案。 2 2 1 嵌入式实时操作系统的选型 嵌入式实时操作系统在多媒体通信,生产过程控制,交通控制,航空航 天等各个领域得到广泛的应用,因而越来越引起人们的重视。表2 1 列出了 几种常用嵌入式实时操作系统碑1 。可以看出v x w o r k s 的综合性能表现更加出 众,因此能够最大限度的满足水下通信网对实时性,多任务性和可靠性的要 求。 哈尔滨丁程大学硕士学位论文 表2 1 几种常用嵌入式实时操作系统的比较 嵌入式操作系 v x w b r k s q n x n e u t r i n o u c l i n u xi h e m s 统的比较 内核类型 抢占性实时抢占性实时非抢占式抢占性实时 内核最小尺寸8 k b 左右 1 2 k b1 0 0 多k b3 0 k b 左右 实时性很好很好一般很好 极高( 宇宙飞船极高( 机场空中很高( 曾被美国 安全可靠性 和火星探测器交通控制,9 1 1一般军方用于导弹 等)报警系统等)防御系统控制) 系统a p i非常丰富丰富丰富丰富,自带a p i 优秀,大多数主容易,多数主流容易,多数嵌入容易,多数主流 内核可移植性流的c p u 和嵌的c p u 和嵌入式处理器和控的c p u 和嵌入 入式处理器和控式处理器( 需要制器式处理器和控 制器m m c )制器 服务执行时间确定确定不确定确定 2 2 2v x w o r k s 及其开发环境t o m a d o v x w o r k s 是美国w i n dr i v e rs y s t e m 公司推出的一个嵌入式实时操作系 统。v x w o r k s 是一个运行在目标机上的高性能的嵌入式实时操作系统。它以 其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等 高精尖技术及对实时性要求极高的领域中,如卫星通讯、军事演习、弹道制 导、飞机导航等。v x w o r k s 是一个具有可伸缩、可裁剪和高可靠性,同时适 用于多种目标c p u 平台的嵌入式实时操作系统。v x w o r k s 包括一个微内核、 强大的网络支持、文件系统、i o 系统和c + + 支持的各种模块。w i n d 内核包 括基于优先级的抢占式多任务调度机制、任务间的同步和进程间的通讯机制 以及中断处理、看门狗和内存管理机制。不仅提供多种信号量支持任务间同 步和互斥机制,而且提供消息队列、管道、套接字和信号等机制支持进程间 通信。v x w o r k s 体系结构如图2 2 所示: 9 哈尔滨工程大学硕十学位论文 一wind k e r n e l霄il s c s id r i v e rb s p 哑r kd r i v e r i ,lh a r d w a r e yl 审 i s c s ic o n t r o l l e rf | s e r i a lc o n t r o l e ri | c l o c kt i m e re n t e r n e tc o n t r o l e r 图2 2v x w o r k s 体系结构 t o r n a d o 是嵌入式实时领域里实现嵌入式实时应用程序的完整软件平台。 集成了编译器、编辑器、调试器于一体的高度集成的窗口环境;为嵌入式系 统开发人员提供了一个不受目标机资源限制的超级开发和调试环境;提供了 高效的、图形化的实时应用开发平台。 t o r n a d o 采用主机目标机交叉开发模型,应用程序在主机的w i n d o w s 环 境下编译链接生成可执行文件,下载到目标机,主机上的目标服务器与目标 机上的目标代理程序通信,完成对应用程序的调试、分析。t o r n a d o 主机工 具与目标机系统交互关系如图2 3 所示: t o f ,u a d o 杉:心上j l 主机端fh 标帆端实时嵌入l :膨川钍, 缩i 棼器调试嚣 i f 墩拟内存宇穹:研!p o s i x 髓; i 倒缱j :孑| l ih l j l 健 i、 宠p :系统i o 系统 t o r n a d o 幼泰j i 现化一l :l t j 挺撒模拟 :j 觅i 豁 f c r o s s v , , i n d l 莰 娶 酬缃泓议栈 一 o s 十缓心 啪 扎它力式7t - - 代埘l w 1 1 d 内核 f f w i n d v i e w j 鲁 渊i 式 一 j w i n s s h l b s p 他f r - m 学l :j r i-i j t a g b d m p - 图2 3t o m a d o 主机工具与目标系统交互关系 1 0 哈尔滨丁程大学硕十学位论文 2 3v x w o r k s 对删体系结构的支持 2 3 1a r m 体系结构 a r m ( a d v a n c e dr i s cm a c h i n e s ) i 为核是一个r i s c ( r e d u c e di n s t r u c t i o n s e tc o m p u t e r ,精简指令集计算机) 结构的3 2 位c p u ,其独到之处体现在功 耗低、性价比高、代码密度大3 个大特色上p 1 。 目前a r m 处理器主要有5 大系列:a r m 7 ,a r m 9 ,a r m 9 e ,a r m l 0 , s e c u r c o r e ,还有与i n t e l 合作实现的x s c a l e 以及s t r o n g a r m 处理器,性能从 6 0 m i p s 到1 2 0 0 m i p s 不等。 采用r i s c 架构的a r m 微处理器一般有如下特点: 采用r i s c 指令集,使得处理器体积小、功耗低、成本低、性能高。 支持t h u m b ( 1 6 位) a r m ( 3 2 位) 双指令集,很好地兼容1 6 3 2 位器件。 大量使用寄存器,多数数据操作在寄存器中,指令执行速度更快。 寻址方式灵活简单、执行效率高。 a r m 微处理器支持7 种运行模式,分别为: 用户模式m s r ) :a r m 处理器正常的程序执行状态。 快速中断模式( f i q ) :用于高速数据传输或通道处理。 中断模式( i r q ) - 用于通用的中断处理。 管理模式( s v c ) :操作系统使用的保护模式。 中止模式( a b 0 :当数据或指令预取异常时进入该模式,可用于虚拟 存储及存储保护。 系统模式( s y s ) :运行具有特权的操作系统任务。 未定义指令模式( u n d ) :当未定义的指令执行时进入该模式,可用于 支持硬件协处理器的软件仿真。 a r m 微处理器的运行模式可以通过软件改变,也可以通过外部中断或异 常处理改变。除用户模式外,其余6 种模式称为“非用户模式”或“特权模 式 ( p r i v i l e g e dm o d e s ) 。其中除去用户模式和系统模式以外的5 种模式又称 为“异常模式”( e x c e p t i o nm o d e s ) ,常用于处理中断或异常,以及访问受保 护的系统资源等情况。a r m 体系结构支持的异常如下: 1 l 哈尔滨工程大学硕士学位论文 复位:当处理器的复位电平有效时,产生复位异常,程序跳转到复 位异常处执行。 未定义指令:当a r m 处理器遇到不能处理的指令时,产生未定义异 常,可使用该机制进行软件仿真。 软件中断:该异常由于执行s w i 指令产生,可用于用户模式下的程 序调用特权操作指令,可使用该异常机制实现系统功能调用。 指令预取中止:若处理器预取指令的地址不存在,或该地址不允许 当前指令访问,则存储器会向处理器发出中止信号,但当预取的指 令被执行时,才产生指令预取中止异常。 数据中止:当处理器数据访问指令的地址不存在,或该地址不允许 当前指令访问时,产生数据中止异常。 中断:当处理器的外部中断请求引脚有效,且c p s r 中的i 位为0 时,产生m q 异常。系统的外设可通过该异常请求中断服务。 快速中断:当处理器的快速中断请求引脚有效,且c p s r 中的f 位 为0 时,产生f i q 异常。 当一个异常出现后,a r m 微处理器对于异常的处理,执行以下的操作: 将下一条指令的地址存入相应的连接寄存器l r ,以便程序在处理完异常后 返回时能从正确位置重新开始执行。将c p s r 拷贝到相应的s p s r 中。 根据异常类型,强制设置c p s r 的运行模式位。强制p c 从相关的异常向 量地址取下一条指令执行,从而跳转到相应的异常处理程序处。当异常处理 完,将执行如下的操作:连接寄存器l r 的值减去相应的偏移量后送到p c 中。将s p s r 拷贝回c p s r 中。若在进入时设置了中断禁止位,则在此 清除。 2 3 2v x w o r k s 与a r m 的结合 为了在a r m 处理器上开发v x w o r k s ,风河公司提供了集成开发环境 t o r n a d o 和可裁减的实时操作系统v x w o r k s 内核。v x w o r k s 支持v 4 、v 4 t 、 v 5 和v 5 t 版本的a r m 体系结构,其包含的内核有a r m 7 t d m i 、a r m 7 2 0 t 、 a i t m 7 4 0 t 、a r m 9 2 0 t 、a r m 9 2 2 t 、a 1 0 m 9 4 0 t 、a r m 9 4 6 e 和a r m 9 6 6 。当 在a r m 处理器上开发v x w o r k s 应用时,需要注意的一些问题0 1 : 1 2 哈尔滨工程大学硕十学位论文 ( 1 ) 处理器模式和字节对齐方式: 对于a r m ,v x w o r k s 主要执行在3 2 位超级用户模式下( s v c 3 2 ) 。当异 常发生时,这将会导致c p u 进入其他模式,大多数处理器内核发生s v c 3 2 模式的切换。a r mc p u 包括支持小端模式和大端模式的字节对齐方式。 ( 2 ) 中断和异常: 当a r m 中断或异常发生时,c p u 进入异常模式中的某个模式下,而每 一种模式都有一些专用寄存器。为了使处理是可重入的,v x w o r k s 把桩( s t u b ) 程序安装到t r a p 中断和从异常模式到s v c 模式的异常切换中。当在异常模式 里执行时,处理程序是可重入的,因为重入操作将破坏连接寄存器。当一个 异常或基本级别的中断处理程序通过v x w o r k s 的一个调用安装时,处理程序 的地址被存储以便在模式切换完成后被s t u b 程序使用。处理者返回到s t u b 程 序,恢复处理器到发生前的状态。 ( 3 ) 高速缓存: 对于所有a r m 的高速缓存,高速缓存必须与m m u 一起使用,来解决 高速缓存一致性问题。当m m u 被打开时,每页的页描述选择了高速缓存模 式,它可以是高速缓冲存储或非高速缓冲存储。页描述通过填充在s y s p h y s m e m d e s c 结构中的定义进行配置,该结构在t a r g e t c o n f i g b s p n a m e s y s l i b c 文件中。 ( 4 ) 存储管理单元: v x w o r k s 提供两种级别虚拟存储管理。基本级别与v x w o r k s 捆绑在一起, 完全级别需要可选产品v x v m i 。a r m 9 2 0 t 有m m u ,支持重映射功能。 2 4 本章小结 本章简要的描述了水下通信网结点硬件平台的结构。确定了嵌入式实时操 作系统v x w o r k s 结合a r m 处理器的实现方案,以及在a r m 平台开发 v x w o r k s 需要注意的问题。通过本章可以对水下通信网结点硬件平台有了初 步的了解,同时为下面开发软件系统奠定了基础。 哈尔滨工程大学硕士学何论文 第3 章v x w o r k s 操作系统的移植 本章以水下通信网硬件平台主控制器a t 9 1 i 洲9 2 0 0 为平台进行了 v x w o r k s 操作系统的移植。为了目标机可以脱离主机而独立运行,同时实现 操作系统及应用程序的在线升级,基于f l a s h 设计并实现一种t f f s ( t r u ef l a s h f i l es y s t e m ) 文件系统。 3 1v x w - o r k s 板级支持包b s p b s p 1 即b o a r ds u p p o r tp a c k a g e ,通常指针对具体的硬件平台,用户所编 写的启动代码和部分设备驱动程序的集合。在v x w o r k s 中,将b s p 简单描 述成介于底层硬件环境和v x w o r k s 之间的一个软件接口。它的主要功能是系 统加电后初始化目标硬件,初始化o s ,及提供部分硬件的驱动程序如时钟、 中断、串口驱动等。b s p 是上层软件与底层硬件之间进行交互的桥梁,为上 层提供统一接口。b s p 中包括的驱动程序一般与具体的硬件相关,移植到不 同的硬件系统的时候,要注意修改相关的驱动。 w r s 提供了大量预制的,支持许多商业主板或评估板的b s p ,减少了开 发时间。宏观来看,b s p 包括三部分: ( 1 ) 初始化。所谓初始化是指从系统上电复位开始直到v x w o r k s 开始 初始化用户应用时( 即系统执行到u s r a p p l n i t 函数处) 的一段时间内系统所 执行的过程,这个过程主要包括三个方面的工作: c p u 初始化。初始化c p u 的内部寄存器。 目标机初始化。初始化控制芯片的寄存器、i o 设备寄存器,为整个 软件系统提供底层硬件环境的支持。 系统资源初始化。为操作系统及系统的正常运行做准备,包括操作 系统初始化、空间分配等。 ( 2 ) 使v x w o r k s 能够访问硬件驱动程序。这主要是指b s p 包含部分必 要的设备驱动程序和相关设备的初始化操作。 ( 3 ) 在v x w o r k s 系统中,集成了硬件相关( h a r d w a r e d e p e n d e n t ) 的软件 和部分硬件无关( h a r d w a r e i n d e p e n d e n t ) 的软件。 1 4 哈尔滨丁程大学硕士学位论文 3 2v x w _ o r k s 操作系统的引导 3 2 1v x w o r k s 加载方式的选择 在编写b s p 之前,首先需要了解v x w o r k s 操作系统的启动过程u 2 1 。v x w o r k s 内核映像可以分为3 种:可加载类型映像( l o a d a b l ei m a g e ) 、带有r o m 启动功能的压缩或不压缩映像( r o m b a s e di m a g e ) 和驻留r o m 的映像( r o m r e s i d e n ti m a g e ) 。 可加载型映像的执行需要通过引导代码把它装载到目标机r a m 中,然 后才开始执行。引导代码通常也是一种v x w b r k s 映像,称之为引导映像。它 的设计目的就是把另一个包含应用的v x w o r k s 映像装入到r a m 中,可以在 r o m f l a s h 中执行,也可以在r a m 中执行。 基于r o m 型映像在执行前首先把自己从r o m 或f l a s h 中装载到r a m 中。这种类型的映像通常在启动阶段比较慢,但在执行阶段比r o m 驻留型 映像要快。 r o m 驻留型映像在启动时把数据段拷贝到目标机r a m 中。这种类型的 映像在启动阶段比较快,当目标机的r a m 空间比较小的时候通常使用它。 在嵌入式应用中通常会使用该类型的映像,然而,它在目标机上执行的速度 比其他类型的映像要慢,原因是c p u 访问r o m 比访问r a m 要慢。 当构造v x w o r k s 映像时,可以根据需要选择不同类型的映像。本文采用 的是可加载类型映像的加载方式。可加载类型映像v x w o r k s 操作系统可以通 过串口、网络或t f f s 文件系统引导。串口的速率通常很低,因此通常加载 操作系统的时间较长,且不利于后期的调试工作;网口的速率很高,但需要 把v x w o r k s 映像放在主机上;当把操作系统映像放在f l a s h 中的t f f s 文件 系下,可使目标机脱离主机而独立运行。 可加载类型内核首先需要将启动代码烧写到f l a s h 中。该启动代码 ( b o o t r o m ) 一般运行在r a mh i g ha d r s 处。v x w o r k s 内核映像通常被加载 到r a m 中r a ml o wa d r s 地址处的一段空间,再开始执行。如图3 1 所 示。 哈尔滨下程大学硕士学位论文 r o m f l a s h r a m 引导带代码 v x w o r k s 映像 r o m 引导程序 引导程序 l o c a l _ m e m _ l o c a la d r s r a m _ l o 形4 d r s f r e m r a m ,a d r s r a m h i g h - a d r s 图3 1 可加载型v x w o r k s 映像 3 2 2v x w o r k s 引导程序的启动流程 b o o t r o m 是在b s p 的基础上,由t o r n a d o 工具b u i l d 命令生成的v x w b r k s 启动程序。b o o t r o m 文件的包括压缩、非压缩的,e l f 、b i n 、h e x 等格式, 在调试状态下需要生成e l f 格式的,在已经调试好b s p 以后,需要生成b i n 格式的b o o t r o m 映像,烧写到f l a s h 中。考虑到f l a s h 存储器的容量,可选择 压缩和非压缩型的格式 1 4 ob o o t r o m 的启动流程主要有以下五步: ( 1 ) 上电r e s e t :系统上电,c p u 从o 地址开始执行。 ( 2 ) r o m i n i t :它是系统运行的入口,它实现初始化c p u 、判断启动类 型、配置内存和外围设备的读写时序、设置堆栈指针等。 ( 3 ) r o m s t a r t :这一部分是v x w o r k s 提供的标准程序一般不需要改动。 该函数是c 的入口函数,由r o m i n i t 调用,主要完成清内存,将r o m 中的程 序拷贝到r a m 中,解压并跳至解压后的程序处运行。 ( 4 ) u s r l n i t :它主要是实现硬件的初始化、c a c h e 初始化、异常向量 初始化、内核初始化等,此部分代码是在关闭中断状态下,多任务系统还没 有启动时执行的,故而只能进行初始化工作,不能调用延时、等待或中断相 1 6 哈尔滨工程大学硕士学位论文 关的函数。然后多任务系统启动,并运行第一个任务u s r r o o t 。 ( 5 ) u s r r o o t :它主要是实现v x w o r k s 文件的下载,并且跳转到下载的 v x w o r k si m a g e 的入口地址,从而启动操作系统。它初始化串口设备,根据 启动行加载相应的模块,创建交互s h e l l ,启i m a g e 下载。 具体实现过程如图3 2 所示: 图3

温馨提示

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

评论

0/150

提交评论