(水声工程专业论文)嵌入式无线通信平台设计.pdf_第1页
(水声工程专业论文)嵌入式无线通信平台设计.pdf_第2页
(水声工程专业论文)嵌入式无线通信平台设计.pdf_第3页
(水声工程专业论文)嵌入式无线通信平台设计.pdf_第4页
(水声工程专业论文)嵌入式无线通信平台设计.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(水声工程专业论文)嵌入式无线通信平台设计.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 a b s t r a c t s o n a rb u o y , w h i c ho w n sal o to fa d v a n t a g e ss u c ha ss m a l ls i z ea n d c o n v e n i e n c eo fp l a c e m e n t ,i sa l l i n d i s p e n s a b l et o o li nu n d e r w a t e ra c o u s t i c r e s e a r c ha n de n g i n e e r i n ga p p l i c a t i o n w i r e l e s sd a t at r a n s m i s s i o ni st h ep r i m a r y m o d eo fc o m m u n i c a t i o nf o rs o n a rb u o y b e c a u s eo ft h el i m i to fc a p a c i t yo f w i r e l e s s d a t at r a n s m i s s i o n ,t r a d i t i o n a ld a t aa c q u i s i t i o ns y s t e mi ns o n a rb u o y m a i n l ya d o p t st h em e t h o do fs e l f - s t o r a g et os a v ed a t a , o rm a k eal o n g d i s t a n c e d a t at r a n s m i s s i o nt h r o u g ho p t i c a lc a b l e w i t ht h ed e v e l o p m e n to fu n d e r w a t e r a c o u s t i ct e c h n o l o g y , i ti sn e c e s s a r yt oi m p r o v et h ea b i l i t yo fd a t aa c q u i s i t i o na n d t r a n s m i s s i o n a n dt h ed e v e l o p m e n to fw i r e l e s sc o m m u n i c a t i o nt e c h n o l o g y , i n p a r t i c u l a rw i r e l e s sn e t w o r kc o m m u n i c a t i o n ,m a k e si tp o s s i b l et oa c h i e v et h el a r g e c a p a c i t a n c ed a t as t o r a g ea n dh i g hs p e e dt r a n s f e r sf o rb u o ys y s t e m s 。 u n d e rt h i sb a c k g r o u n d ,aw i r e l e s sc o m m u n i c a t i o np l a t f o r mu s i n ga r m p r o c e s s s o r sa n dv x w o r k sr e a lt i m eo p e r a t i n gs y s t e mi sd e s i g n e df o rs o n a rb u o y t h ed e s i g np r o c e s so fe m b e d d e dw i r e l e s sc o m m u n i c a t i o np l a t f o r mw h i c hi sb a s e d o na r m v x w o r k si s e x p a t i a t e dd e t a i l e d l y i nt h i s t h e s i s ,a n d n e t w o r k c o m m u n i c a t i o np r o g r a m sa r e e m p o l d e r e do l lt h i sp l a t f o r m t h eb s pd e s i g n m e t h o db a s e do n $ 3 c 2 4 1 0 ,w r i t i n go fs e r i a ld r i v e r sa n dn e t w o r kd r i v e r sa r eg i v e n i n t h i st h e s i s d a t at r a n s m i s s i o ns o f f w a r e so fn e t w o r kc o m m u n i c a t i o na r e d e v e l o p 印l o nt h i s b a s i s ,a n dap e r f o r m a n c es i m u l a t i o no ft h ew i r e l e s s c o m m u n i c a t i o ns y s t e ma td i f f e r e n ta n t e n n a h e i g h t si sm a d e a f t e ra n a l y z i n ga n d p r o c e s s i n gd a t ac o l l e c t e df r o me x p e r i m e n ti nl a k e ,t h ed e s i g no ft h i sp l a t f o r m p r o v e st ob ef e a s i b l e k e yw o r d s :s o n a rb u o y ;w i r e l e s sc o m m u n i c a t i o n ;a r mv x w o r k s ;n e t w o r k c o m m u n i c a t i o n 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下,由 作者本人独立完成的。有关观点、方法、数据和文献的引用已在 文中指出,并与参考文献相对应。除文中已注明引用的内容外, 本论文不包含任何其他个人或集体己经公开发表的作品成果。对 本文的研究做出重要贡献的个人和集体,均己在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 作者( 签字) :愎小纨 日期:如尹年易月凹日 哈尔滨工程大学 学位论文授权使用声明 本人完全了解学校保护知识产权的有关规定,即研究生在校 攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨 工程大学有权保留并向国家有关部门或机构送交论文的复印件。 本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据 库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本 学位论文,可以公布论文的全部内容。同时本人保证毕业后结合 学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈 尔滨工程大学。涉密学位论文待解密后适用本声明。 本论文( 囱在授予学位后即可口在授予学位1 2 个月后口 解密后) 由哈尔滨工程大学送交有关部门进行保存、汇编等。 作者( 签字) :秀、j 、锄 导师( 签字) :万庐正 日期:盘疗9 z 年易月f 了日2 研年3 月f 7 曰 哈尔滨工程大学硕士学位论文 第1 章绪论 1 1 论文的背景和意义 无线电通信h 习( r a d i oc o m m u n i c a t i o n ) 是指利用电磁波的辐射和传播, 经过空间传送的通信方式,也称为无线通信( w i r e l e s sc o m m u n i c a t i o n ) 。目 前,无线通信技术已经得到了广泛的应用,利用无线通信技术可以实现电话、 传真、数据、图像、电视、广播等通信业务。随着微电子技术和计算机技术 的进步,无线电新技术、新业务和新设备层出不穷,无线电技术以其在信息 传播、经济生产和军事上无可替代的独特作用受到国际上的普遍重视。 声纳浮标是锚泊或漂浮在海洋上的一种无人值守的测量平台,它能够把 采集到的水声数据通过无线电方式实时地传给船基或岸基的接收设备,因此 声纳浮标是水声研究和工程应用中获取声学数据的重要平台装置m 1 。现有的 浮标通信系统一般都具有一定的通信能力,通信方面仅限于传输指令信息和 计算处理结果,通信能力的不足限制了现有浮标系统的应用范围。众所周知, 水声研究实验数据是非常宝贵的,如果能够把浮标电子系统采集到的原始数 据或中间处理结果,通过无线通信平台及时的传输到接收装置,这将是对现 有浮标监测系统不足之处的弥补,也是对采集到的原始数据的极大利用。如 果能及时地把浮标通信系统采集到的原始数据或中间处理结果传给船站或岸 站的电子系统存储起来,就能确保原始数据或中间处理结果数据不被丢失。 现有浮标系统在通信作用距离方面也比较有限,浮标系统与船站或岸站距离 近,影响了浮标系统采集到的数据的质量。针对这些不足,设计一个实时性 强、可靠性高的浮标无线通信平台是极其必要的。 随着无线通信技术的发展,远距离大数据量的数据传输已成为可能,这 样把先进的无线通信技术应用到浮标上,从而做成新的数据采集和传输系统 变成可能。研制这种新的浮标通信系统的目的和意义在于不仅能弥补现有浮 标通信系统的不足,又能把采集到原始数据或中间处理结果通过无线传输系 统传给远离浮标的船基或岸基的接收设备,以便对采集到的数据作进步的 处理和研究,而且还能够降低测量成本、节约人力和物力。在这些背景下, 本文设计适用于浮标通信系统的嵌入式无线通信平台。 哈尔滨工程大学硕士学位论文 1 2 嵌入式无线通信平台的总体设计 本文主要设计一浮标通信平台,此平台把经过放大和滤波后的数据传给 a r m 处理器,处理器对接收的数据进行处理及打包,之后通过无线电把打包 的数据传给船站或岸站,船站或岸站接收到数据后进行解压、存储,即数据 的无线传输过程,其流程图如图1 1 所示。数据处理中心与无线电台的通信 设计上采用以太网控制芯片加处理器的方式来实现,通信协议采用t c p i p 协议,二协议栈可采用软件协议栈或硬件协议栈来实现。硬件协议栈的优点是 稳定,但不宜系统的扩展,增加了硬件电路设计的复杂性:软件协议栈的优 点是灵活、便于系统以后的扩展,因此在系统的设计上选用软件协议栈来实 现水声数据的传输。 、,钐 一 a 砌订 水声 放大 l 、l - 、 天线 天线 p c - 、r 叫 处理器 、r 叫 数据 滤波 机 i 数据发送端数据接收端 图1 。l 水声数据的无线传输流程图 声纳浮标无线通信系统由于使用要求和工作环境等因素影响,设计时需 要考虑到以下几方面:可靠性;实时性;功耗;体积。 高可靠性是顺利获取数据并分析记录及处理的保证。对水声工程实践来 讲,由于环境、气象等条件的限制,多数实验过程没有重复性,若不能准确、 及时地获得测量数据将带来巨大损失。因为浮标通信系统要求在水下工作几 个月甚至长达一年的时间,由于水下电能供给的局限性,水下设备和传感器 的数据采集与处理电路需要进行低功耗设计,以达到降低电能消耗,延长使 用时间的目的。因此,低功耗也是整个浮标通信系统的重要工作条件。另外, 受水下运载重量和空间的限制,浮标通信系统的电路面积也要求尽量小,为 了海上布放方便,设计时也应尽可能的实现设备的小型化。事实证明,海上 布放时的强烈冲击和意外碰撞在所难免,体积小和重量轻的设备具有明显的 2 哈尔滨工程大学硕士学位论文 布放可操作性。 a r m 处理器是面向低预算市场设计的一款r i s c 微处理器,是一种可扩 展、可移植、可集成的处理器。a r m 处理器具有体积小、功耗低、性能高、 实时性强等诸多优点。目前,已有超过8 5 的无线通信设备采用了a r m 技 术,a r m 以其高性能和低成本的优势,在该领域的地位日益巩固。 v x w o r k s 是一种由美国w r s 公司开发的套微内核、高可靠性、可裁 减的嵌入式实时操作系统( i h o s ) 。v x w o r k s 良好的持续发展能力、高性能 的内核以及友好的用户开发环境,使其在嵌入式实时操作系统领域占据一席 之地,并越来越多地被应用于通信、国防、工业控制、医疗设备等方面。 v x w o r k s 作为应用最为广泛的实时操作系统,率先集成了t c p i p 网络工具。 利用v x w o r k s 对b s ds o c k e t 的良好支持,可以方便地实现网络通信。这不 仅使嵌入式c p u 与p c 机或工作站之间的网络通信成为可能,同时也丰富了 系统的实时配置和调试方法,从而进一步扩展了v x w o r k s 的功能和灵活性。 针对a r m 处理器和v x w o r k s 操作系统在各自领域中的优秀特性,本文 将两者有效的结合起来,通过对声纳浮标通信技术的应用研究,设计一个基 于a r mv x w o r k s 的嵌入式无线通信平台,该平台具有可靠性高、实时性强 等特点。 1 3 论文的主要研究内容 本论文的主要任务是设计一个以a r mv x w o r k s 为核心的能实现水声数 据无线传输及接收的嵌入式无线通信平台,此平台具有将采集到的水声数据 通过无线电方式进行实时传输的功能。论文的主要研究内容包括: 第1 章绪论,主要针对现有声纳浮标系统的一些不足,结合现有的无线 通信技术,提出适应新的要求的浮标通信系统设计方案。 第2 章基于a r mv x w o r k s 的嵌入式系统,本章简要地概述了嵌入式 v x w o r k s 实时操作系统及t o r n a d o 集成开发环境,之后介绍了a r m 的体系 结构及g e c 2 4 1 0 开发板的硬件构成。 第3 章v x w o r k sb s p 及驱动程序的开发,本章主要涉及嵌入式v x w o r k s 实时操作系统的移植,包括v x w o r k sb s p 及其引导过程的介绍、b s p 的开发 及调试、串行设备及网络设备驱动程序的编写等。 哈尔滨工程大学硕士学位论文 第4 章v x w o r k s 下的数据传输软件开发,本章从s o c k e t 编程入手,详细 介绍了t c p i p 的网络体系结构及s o c k e t 编程模式,之后编写网络通信程序 并对仿真结果进行分析。 第5 章浮标无线电传输系统的实现,本章从浮标无线电传输系统的原理 入手,对影响浮标无线电通信系统的因素展开详细的分析,之后对系统进行 整体测试、验证系统性能并对试验数据进行分析。 4 哈尔滨工程大学硕士学位论文 第2 章基于a r m v x w o r k s 的嵌入式系统 2 1v x w r o r k s 及其开发环境t o r n a d o 2 1 1v x w o r k s 操作系统及其结构 v x w o r k s 操作系统是美国w i n d r i v e r 公司于1 9 8 3 年设计开发的一种嵌入 式实时操作系统( r t o s ) 1 5 1 因其良好的持续发展能力、高性能的内核、友 好的开发环境、卓越的可靠性和实时性,被广泛应用于通信、航空、航天等 实时性要求极高的领域中。 v x w o r k s 由一个体积很小的内核以及一些可以根据需要进行定制的系统 模块组成陋1 。微内核支持实时系统的一系列特征,包括多任务、中断支持、 任务抢占式调度和轮转调度,微内核设计使v x w o r k s 缩减了系统开销并加速 了对外部事件的反应。v x w o r k s 内核最小为8 k b ,即便加上其他的必要模块, 所占空间仍然很小且不失其实时性和多任务的系统特征。 v x w o r k s 是专门为实时嵌入式系统设计开发的操作系统内核,为程序员 提供了高效的实时多任务调度、中断管理、实时的系统资源以及实时的任务 间通信。在各种c p u 平台上提供了统一的编程接口和一致的运行特性,尽可 能屏蔽了不同c p u 之间的底层差异。应用程序员可以将尽可能多的精力放在 应用程序本身,而不必再去关心系统资源的管理。基于v x w o r k s 操作系统的 应用程序可以在不同c p u 平台上轻松移植。 此外,v x w o r k s 支持广泛的工业标准,如p o s i x l 0 0 3 1 b 实时扩展、a n s i c ( 浮点支持) 和t c p i p 网络协议等。v x w o r k s 提供了强大的网络功能,能与 其他许多主机系统进行通信,这种广泛的协议支持在主机和目标机之间提供 无缝的工作环境,任务可通过网络向其他系统的主机存取文件,即远程文件 存取,也支持远程过程调用。通过以太网采用t c p i p 和u d p i p 协议在不同 主机间传送数据。这些标准促进多种不同产品间的互用性,提升了可移植性。 由于其高度的灵活性,用户可以很容易地对该操作系统重新进行定制或作适 当开发,以满足自己的实际应用。 v x w o r k s 操作系统p “引主要由以下5 部分构成:板级支持包b s p 、微内核 哈尔滨工程大学硕士学位论文 w i n d 、网络系统、文件系统以及i o 系统。v x w o r k s 内核只占用了很小的存 储空间,并可高度裁剪,从而保证系统以较高的效率运行。 1 、板级支持包对各种板卡的硬件功能提供了统一的软件接口,包括硬 件初始化、中断的捕捉和处理、硬件时钟和定时器管理、内存地址映射以及 内存分配等。每个板级支持包还包括一个r o m 启动或其他启动机制。 2 、v x w o r k s 的核心为w m d ,包括多任务调度、任务间同步、进程问通 信机制以及中断处理、看门狗和内存管理机制。一个多任务环境允许实时应 用程序以一套独立任务的方式构建,每个任务都拥有独立的执行线程及独立 的系统资源。进程间通信机制使得这些任务的行为同步、协调。 3 、网络设施提供了对其他网络和t c p i p 网络系统的透明访问,包括与 b s d 套接字兼容的编程接口、远程过程调用( i 冲c ) 、s n m p 、远程文件访问 以及b o o t p 和a r p 代理。无论是松耦合的串行线路、标准的以太网连接, 还是紧耦合的利用共享内存的背板总线,所有的v x w o r k s 网络机制都遵循标 准的i n t e m e t 协议。 4 、v x w o r k s 提供的快速文件系统适合于实时系统应用,它包括几种支 持块设备的本地文件系统,这些设备都使用一个标准的接口,从而使得文件 系统能够在设备驱动程序上被灵活地移植。 5 、v x w o r k s 提供了一个快速、灵活,与a n s ic 兼容的i o 系统,包括 u n i x 标准的缓冲u o 和p o s i x 标准的异步i o 。 2 1 2t o m a d oi i 集成开发环境简述 j t o m a d oi i 集成开发环境是嵌入式实时领域里新一代的开发调试环境,是 实现嵌入式实时应用程序完整的软件开发平台,是交叉开发环境运行在主机 上的部分以及开发和调试v x w o r k s 嵌入式系统不可缺少的工具。 t o r n a d oi i 给嵌入式系统开发人员提供了一个不受目标机资源限制的超 级开发和调试环境,其开发系统包含三个高度集成的部分唧: l 、运行在宿主机和目标机上的强有力的交叉开发工具和实用程序: 2 、运行在目标机上的高性能、可裁剪的实时操作系统v x w o r k s : 3 7 连接宿主机和目标机的多种通信方式,如以太网、串口线、i c e 或 r o m 仿真器等。 6 哈尔滨工程大学硕士学位论文 t o r n a d o 开发环境面向各种目标机环境,不论目标机是资源丰富的还是 受限的,t o r n a d o 工具主要在主机端执行,并和远程目标机共享基于主机的 动态链接器和符号表。图2 1 显示了t o r n a d o 主要的主机组件接口和目标机 之间的关系。通过目标服务器和目标机代理来实现在主机工具和v x w o r k s 间 的通信。 主机开发工具 目标机运行系统 搦嬲嬲缀钐绣嬲彩嬲臻嬲糍嬲棼棼淞嘲:。 ? 插件 v x w o r l c s 应用程序 ? 工 调试器一! 程 s h e l l 解释器 目 7 答 ,标 理 系统浏览器 服 v x w o r k s 系统组件“ 工 目标浏览器 务 ,: , 具 逻辑分析工具 j 器 c + + 类支持库 ? : 第三方工具 , : v x w o r k s 内核 l 缀缸稿巍施删鳓施磊鼎。勘如妻磊矗蔬盎蛾南黝 ,i t iv1?b l i仿真调试工具。l i i 仟、4 ,t ! 、 l ”呲、4 b s p 图2 it o m a d oi i 开发系统结构图 2 1 3v x w o r k s 的交叉编译开发环境 位于宿主机上的t a r g e ts e r v e r 和位于目标机上的t a r g e ta g e n t 通过w d b 的接e l 协议完成t a r g e t 和h o s t 之间的通信。t a r g e ts e r v e r 和t a r g e ta g e n t 通 信的方式是通过b a c ke n d ,有串口连接、网络连接、n e t r o m 等。 在宿主机上,所有的工具如s h e l l 和d e b u g g e r ,通过w t x 协议将服务请 求发送到t a r g e ts e r v e r 。有些情况下,t a r g e ts e r v e r 将一个工具的服务请求直 接发送到t a r g e ta g e n t ;在另外一些情况下,请求将完全由t a r g e ts e r v e r 来响 应。t a r g e ts e r v e r 也会为宿主机的工具从缓冲区申请目标内存,并管理目标 板符号表。目标板上所有的t o r n a d o 工具都由t a r g e t a g e n t 代理。其中用到了 两个主要协议,如图2 2 所示。 7 哈尔滨工程大学硕士学位论文 宿主机( h o s ts y s t e m ) 目标机( t a r g e ts y s t e m ) t o r n a d o 工具 s h e l l t a r g e t s e r v e r e d i t o r d e b u g g e r p r o j e c t b r o w s e r w t x w i n d v i e w 协议通信t a r g e t a g e n t v x 肋r k s t a r g e t s i m u l a t o r w d b 协议通信 图2 2t o r n a d o 开发调试环境协议框图 w t x 协议( w i n dr i v e rt o o le x c h a n g e ) :用于开发板内部t o r n a d o 工具 与t a r g e ts e r v e r 之间的通信。 w d b 协议( w i n dd e b u g ) :用于主机t a r g e ts e r v e r 与目标板之间的通信。 在实时应用系统的开发调试阶段,往往采用以p c 机作为宿主机来调测 程序。t o m a d o 宿主机与目标机连接配置允许开发者设置和配置一定的开发 环境,也提供对开发环境的管理和许多管理功能。 2 2 a r m 体系结构 1 2 2 1a r m 处理器概述 a r m ( a d v a n c e dr i s cm a c h i n e s ) 是采用高尖端r i s c 架构的计算机, 它可以认为是一个公司的名字,也可以认为是一类技术的名称或一类处理器 的总称。目前,a r m 体系结构被公认为是业界最广泛的3 2 位嵌入式精简指 令集计算机( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ,p j s c ) n0 】微处理器结构。a r m 处理器以其低成本、低功耗、高可靠性等特点占据了嵌入式系统应用领域的 领先地位。可以说研究a r m 技术对于掌握r i s c 架构的处理器是非常有意义 的。a r m 处理器具有如下特点: 采用r i s c 指令集,体积小、功耗低、成本低、性能高; r 哈尔滨工程大学硕士学位论文 支持t h u m b ( 1 6 位) 和a r m ( 3 2 位) 双指令集,能很好地兼容1 6 3 2 位器件; 固定长度的指令结构,寻址方式简单,执行效率高; 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载存 储指令可以访问存储器,以提高指令的执行效率; 所有指令的条件执行实现了快速的代码操作。 2 2 2 处理器模式及异常 a r m 处理器共有3 7 个寄存器,其中包括3 1 个通用寄存器及6 个状态寄 存器,这些寄存器均为3 2 位。同时a r m 处理器又有7 种不同的处理模式, 在每一种模式下均有一组相应的寄存器与之对应,即在任意一种处理器模式 下,可访问的寄存器包括1 5 个通用寄存器( r 0 r 1 4 ) 、1 2 个状态寄存器和 程序计数器。在所有的寄存器中,有些是在7 种处理器模式下共用同一个物 理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。 a r m 微处理器支持7 种运行模式u 1 1 : 1 、用户模式( u s r ) :a r m 处理器正常的程序执行状态: 2 、管理模式( s v c ) :操作系统使用的保护模式; 3 、数据访问中止模式( a b t ) :当数据或指令预取终止时进入该模式,可 用于虚拟存储及存储保护; 4 、快速中断模式( f i q ) :用于高速数据传输或通道处理: 5 、外部中断模式( i r q ) :用于通用的中断处理; 6 、系统模式( s y s ) :运行具有特权的操作系统任务; 7 、未定义指令中止模式( 吼d ) :当未定义的指令执行时进入该模式, 可用于支持硬件协处理器的软件仿真。 a r m 微处理器的运行模式可以通过软件改变,也可以通过外部中断或异 常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模 式下时,某些被保护的系统资源是不能被访问的。除用户模式外,其余的6 种模式均称为非用户模式或特权模式( p r i v i l e g e dm o d e ) ;其中除了用户模式 和系统模式以外的5 种又称为异常模式( e x c e p t i o nm o d e ) ,常用于处理中断 或异常以及需要访问受保护的系统资源等情况。 哈尔滨工程大学硕士学位论文 a r m 体系结构所支持的异常及具体含义见表2 1 。 表2 1a r m 体系结构所支持的异常 异常类型具体含义 复位 当处理器的复位电平有效时,产生复位异常,程序跳转到复 i 位异常处理程序处执行 当a r m 处理器或协处理器遇到不能处理的指令时,产生未 未定义指令 定义指令异常。可使用该异常机制进行软件仿真 该异常由执行s w i 指令产生,可用于用户模式下的程序调用 软件中断 特权操作指令。可使用该异常机制实现系统功能调用 若处理器预取指令的地址不存在或该地址不允许当前指令访 指令预取中止 问,存储器会向处理器发出中止信号,但当预取的指令被执行 时才会产生指令预取中止异常 若处理器数据访问指令的地址不存在或该地址不允许当前指 数据中止 令访问时,产生数据中止异常 当处理器的外部中断请求引脚有效且c p s r 中的i 位为o 时, i r q ( 外部中断请求) 产生i r q 异常。系统的外设可通过该异常请求中断服务 当处理器的快速中断请求引脚有效且c p s r 中的f 位为0 时, f i q ( 快速中断请求) 产生f i q 异常 当正常的程序执行流程发生暂时的停止时,称之为异常( e x c e p t i o n s ) , 例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保 留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异 常同时发生,它们将会按固定的优先级进行处理。 当一个异常出现以后,a r m 微处理器会执行以下几步操作u 2 1 : l 、将下一条指令的地址存入相应的连接寄存器l r ,以便程序在处理异 常返回时能从正确的位置重新开始执行; 2 、将c p s r 复制到相应的s p s r 中: 3 、根据异常类型,强制设置c p s r 的运行模式位: 4 、强制p c 从相应的异常向量地址取下一条指令执行,从而跳转到相应 的异常处理程序处。 还可以设置中断禁止位,以禁止中断发生。 异常处理完毕之后,a r m 微处理器会执行以下几步操作从异常返回:; 1 、将连接寄存器l r 的值减去相应的偏移量后送到p c 中: l o 哈尔滨工程大学硕士学位论文 2 、将s p s r 复制回c p s r 中: 3 、若在进入异常处理时设置了中断禁止位,要在此清除。 可以认为应用程序总是从复位异常处理程序_ 开始执行,因此复位异常处 理程序不需要返回。 2 3g e c 2 4 1 0 开发板的硬件构成 g e c 2 4 1 0 是广东嵌入式软件技术中心推出的一款基于s a m s u n g 半导体公 司为手持式设备等相关应用设计的低功耗、高集成度的微处理器,包含一个 a r m 9 2 0 t 内核,其外观见图2 3 。 i 蛹# 入 i 绩 u d 镕i 灯s z 2 4 1 0b s d y ) i i6 n k mh * h 图23 g e c 2 4 1 0 开发板外观 g i = c 2 4 1 0 内部集成了各种功能强大的标准接口,包括l c d 显示屏接1 5 、 以太网接口、串口、电源输入接口、音频输入输出接口、u s b 接口、2 0 针 j t a g 调试接口等,其内部包含以下主要功能模块”: 采用三星公司的$ 3 c 2 4 10 ,主频可达2 0 3 m h z : 、户6 4 m 字节的s d r a m ,由两片k 4 s 5 6 1 6 3 2 组成,工作在3 2 位模式下; 6 4 m 字节n a n d f l a s h ,采用的是k 9 f 1 2 0 8 ,可以兼容1 6 m ,3 2 m 或 1 2 8 m 字节:2 m 字节的n o rf l a s h ,采用的是s s t 3 9 v f l 6 0 1 ; 哈尔滨工程大学硕士学位论文 i o m 以太网接口,采用的是c s 8 9 0 0 q 3 ,带传输和连接指示灯; 音频输入输出,音频模块由$ 3 c 2 4 1 0 的i i s 音频总线接口和 u d a l 3 4 1 音频编码解码器组成,板上还集成了一个m i c ,用于音频输入; 2 路u a r t 串行口,波特率高达1 1 5 2 0 0 b p s ,并具有r s 2 3 2 电平转换 电路; e m b e d d e d i c e ( 2 0 脚标准j t a g ) 接口和并口式j t a g 接口,支持 a d s 软件的下载和调试以及f l a s h 的烧写; 0 x f f f f f f f f 0 x 6 0 0 0 0 0 0 0 o x 4 0 0 0 - p f f f o x 4 0 0 0 - 0 0 0 0 o x 3 8 0 00 0 0 0 i 一 0 x 3 0 0 00 0 0 0 0 x 2 0 0 0 0 0 0 0 0 x l8 0 0 - 0 0 0 0 0 x l 0 0 0 0 0 0 0 0 x 0 8 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 n o t u s e d s f ra 9 3 t b o o t s r a m ( 4 k b y t e s ) s d r a m ( b a n k 7 ,n g c s 7 ) s d r a m ( b a n k 6 ,n g c s 6 ) s r o m ( b a n k 5 ,n g c s 5 ) s r o m ( b a n k 4 ,n g c s 4 ) s r o m ( b a n k 3 ,n g c s 3 ) s r o m ( b a n l 2 ,n g c s 2 ) s r o m ( b a n k l ,n g c s l ) s r o m ( b a n k 0 ,n g c s 0 ) a ) n o tu s i n gn a n df l a s h f o rb o o t i n gr o m n o t u s e d s f r a r e a n o tu s e d s d r a m ( b a n k 7 ,n g c s 7 ) s d r a m ( b a n k 6 ,n g c s 6 ) s r o m ( b a n k 5 ,n g c s 5 ) s r o m ( b a n k 4 ,n g c s 4 ) s r o m ( b a n k 3 ,n g c s 3 ) s l 的m ( b a n k 2 ,n g c s 2 ) s r o m ( b a n k l ,n g c s l ) b ) u s i n gn a n df l a s hf o r b o o t i n gr o m 图2 4 $ 3 c 2 4 1 0 存储分配图 1 2 哈尔滨工程大学硕士学位论文 $ 3 c 2 4 10 支持两种启动模式:一种是从n a n df l a s h 启动;一种是从外部 n g c s 0 片选的n o rf l a s h 启动。在这两种启动模式下,各片选的存储空间分 配是不同的,这两种启动模式的存储分配见图2 4 。 在进行器件地址说明之前,有一点需要注意,n g c s 0 片选的空间在不同 的启动模式下,映射的器件是不一样的。由图2 4 可知:在n a n df l a s h 启动 模式下,内部的4 kb y t e sb o o t s r a m 被映射到n g c s 0 片选的空间,其有效 地址:9 x 0 0 0 00 0 0 0 0 x 0 0 0 00 f f f ;在n o rf l a s h 启动模式下,与n g c s 0 相 连的外部存储器n o rf l a s h 就被映射到n g c s 0 片选的空间,其有效地址空间 为:0 x 0 0 0 00 0 0 0 0 x 0 0 2 00 0 0 0 。插上短路块j - p 1 从n a n df l a s h 中启动,默 认不插上短路块从n o rf l a s h 中启动,本文选取从n o rf l a s h 中启动。 2 4 本章小结 本章简要地描述了嵌入式v x w o r k s 实时操作系统及t o r n a d o 集成开发环 境,之后介绍了a r m 体系结构及g e c 2 4 1 0 开发板的硬件组成。通过本章可 以对v x w o r k s 操作系统及g e c 2 4 1 0 开发板有初步的了解,同时为下文基于 $ 3 c 2 4 1 0 v x w o r k s 平台的b s p 开发和声纳浮标无线通信平台的设计奠定坚 实的基础。 哈尔滨工程大学硕士学位论文 第3 章v x w o r k sb s p 及驱动程序的开发 3 1v x w o r k s 的引导过程 3 1 1 系统的启动流程 开发嵌入式系统必须了解其软件的基本执行流程,知道了执行的顺序以 及哪些是需要开发人员开发的,就可以逐个模块进行研发。嵌入式操作系统 的软件执行流程可以抽象为如图3 1 所示。 目标板加电启动 山 b 。t 1 。a d e r 初始化硬件并引导操作系统 士 操作系统内核初始化 0 循环执行用户应用程序 图3 1 嵌入式系统的软件执行流程 嵌入式系统的资源有限,程序通常都是固化在r o m 或f l a s h 等非易失 性固态存储设备中。板子加电后,需要有一段程序对系统硬件和软件运行环 境进行初始化,完成由硬件启动到操作系统启动的过渡,从而为操作系统提 供基本的运行环境,如初始化c p u 、堆栈、存储器系统并完成操作系统的加 载等。这一部分程序称为系统的引导程序,它的设计与系统的硬件配置有很 大关联,可以说针对不同的c p u 甚至相同的c p u 不同的外设配置,都不能 不加改动地使用同一个引导程序。 最后将操作系统和应用程序加载进来,这些工作由汇编语言和c 语言编 写的引导装载程序b o o t l o a d e r 完成,它主要是初始化c p u 状态及各功能寄存 器、初始化存储系统、配置c p u 各种模式下的数据栈、屏蔽中断、初始化c 语言所需的存储空间、根据需要切换处理器模式和状态。接着引导装载程序 初始化某种通信通道,比如串口、网口等,用以建立主机与目标机通信连接, 当系统运行所需的软硬件环境设置好后,引导装载程序还要从主机或者目标 1 4 哈尔滨工程大学硕士学位论文 ;昌昌;昌昌;昌暑;昌昌宣;i ;暑暑宣;暑;薯;每。一一 1mv q i | 葺葺暑暑;皇宣_ 葺皇皇皇| 宣叠 板的存储器上下载操作系统和应用程序映像文件,即内核加载。 嵌入式系统的内核加载总的来说有两种方式: 1 、每次启动后引导程序从主机上通过串1 2 1 或者网口下载操作系统内核 到系统的r a m 空间运行。b o o t l o a d e r 进行系统初始化工作后,还要将固化在 r o m f l a s h 中的内核的代码段、数据段或者b s s 段中的几个或全部拷贝到 r a m 中执行,将控制权交给操作系统。 2 、先将内核固化在r o m f l a s h 等存储设备上,系统启动时引导程序 从r o m f l a s h 中把内核拷贝到r a m 空间的某一地址段,再从该地址段的 首地址开始运行系统内核。 3 1 2 引导装载程序b o o t l o a d e r 的执行流程 嵌入式系统在上电或复位时通常都从地址0 x 0 0 0 0 0 0 0 0 处开始执行,而在 这个地址处通常是系统的b o o t l o a d e r 程序。在系统上电复位后,首先执行复 位向量处的引导代码,因为系统刚加电时,c 语言运行的环境没有建立,操 作系统的内核还没有被加载,系统的初始化工作只能由引导加载程序完成。 引导加载程序b o o t l o a d e r 是嵌入式程序的开头部分,可与系统及应用程 序一起固化在r o m f l a s h 中或单独固化,执行后再从主机下载系统和应用。 在嵌入式系统中,b o o t l o a d e r 是严重地依赖于硬件而实现的,因此要建立一个 通用的b o o t l o a d e r 几乎是不可能的,其执行流程如图3 2 所示。 设置程序入口指针及中断向量 l 初始化c p u 各种模式下的堆栈和寄存器 初始化系统中用到的各种片内外设 初始化目标板( 部分驱动) 引导操作系统 图3 2b o o t l o a d e r 程序的执行流程 哈尔滨工程大学硕士学位论文 从结构和功能上可再将b o o t l o a d e r 分为两个阶段进行设计: b o o t l o a d e r 阶段1 的执行步骤: 基本的硬件初始化,包括屏蔽所有的中断、设置c p u 的速度和时钟频 率、初始化r a m 和l e d ,关闭c p u 内部指令数据c a c h e ; 为加载阶段2 准备r a m 空间并拷贝阶段2 到r a m 中; 设置堆栈指针s p ; 跳转到操作系统的入口处。 b o o t l o a d e r 阶段2 的执行步骤: 初始化本阶段要使用的硬件设备,比如串口、网口、计时器等; 检测系统的内存映射,所谓内存映射就是指在整个4 g b 物理地址空间 中有哪些地址范围被分配用来寻址系统的r a m 单元; 规划内存占用布局及加载映像文件; 设置内核启动参数,调用内核。 3 1 3v x w o r k s 映像类型 v x w o r k s 映像内容包括:代码段( t e x ts e g m e n t ) 、数据段( d a t as e g m e n t ) 和符号起始块段( b s ss e g m e n t ) 。其中,代码段指可执行的指令集合;数据 段指已经初始化的全局和静态变量;符号起始块段指未初始化的全局和静态 变量,a n s ic c + + 中要求这些变量初始化为零。 v x w o r k s 映像可分为两类:可引导型映像和可下载型映像。 1 、可引导型映像( b o o t a b l ei m a g e ) 可引导映像是将引导程序和v x w o r k s 融为一体的映像,常常直接烧写到 r o m f l a s h 等非易失性固态存储器中,包括基于r o m 型映像和驻留r o m 型 映像。如图3 3 所示的基于r o m 型映像固化在r o m f l a s h 中,由b s p 从r o m 或f l a s h 中装载整个映像到r a m 中运行,并可分为压缩的( c o m p r e s s e d ) 和 非压缩的( u n c o m p r e s s e d ) ,压缩型的装载到r a m 中后需要解压。如图3 4 所示的是驻留r o m 型映像,对一些系统内存r a m 资源较少的情况下,为了 节省资源,只拷贝i m a g e 中的数据段到内存r a m 运行,余下的代码段在r o m 中执行,这样空出更多的r a m 空间给

温馨提示

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

评论

0/150

提交评论