已阅读5页,还剩67页未读, 继续免费阅读
(水声工程专业论文)基于c64xdsp的实时数据采集存储软件关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工程大学硕十学位论文 a b s t r a c t d a t aa c q u i s i t i o na n ds t o r a g ea r ev e r y i m p o r t a n tp a r t s o fd i g i t a l s i g n a l p r o c e s s i n g t a k i n gt h ed e v e l o p m e n to fu l t r as h o r tb a s e l i n e s b l ) p o s i t i o n i n g s y s t e mf o rt h eb a c k g r o u n d ,h a r d w a r ea r c h i t e c t u r eo f t h es y s t e mi sf i r s t l y e x p o u n d e d ,a n dt h e nt h ek e yt e c h n o l o g i e si nd a t aa c q u i s i t i o no nt h ed s p , p c i d r i v e rd e v e l o p m e n ta n dd a t as t o r a g ea r ed i s c u s s e di nd e t a i lw i t hd a t aa c q u i s i t i o n a n ds t o r a g ef o rc l u e f i r s to fa l l ,a i m i n ga ts o l v i n gt h ep r o b l e m so ft r a d i t i o n a ld s ps o f t w a r e d e v e l o p m e n tm o d e ,h i g hc o u p l i n gd e g r e e ,p o o rr e a l - t i m ep e r f o r m a n c ea n dl o w d e v e l o p m e n te f f i c i e n c y , d s p b i o s r e a l t i m e o p e r a t i n gs y s t e m h a sb e e n i n t r o d u c e di nt h ed e s i g no fd s ps o f t w a r e p r i n c i p l e sa n dm e t h o d so fm u l t i t h r e a d p r o g r a m m i n gd e s i g nu s i n gd s p b i o s a r ei n t r o d u c e da n dt h ea p p l i c a t i o ni n s y s t e m sd a t aa c q u i s i t i o na n dp o s i t i o n i n gs o l u t i o ni sa l s od i s s e r t a t e d t h en e w s y s t e mh a s c l e a ra r c h i t e c t u r ea n d g o o dp o r t a b i l i t y , w h i c hc a n s h o r t e nt h e d e v e l o p m e n tc y c l e s e c o n d l y , f e a t u r e so ft m s 3 2 0 c 6 4 16 sp c ii n t e r f a c em o d u l ea r ei n t r o d u c e d k e yt e c h n o l o g i e si np c id r i v e rd e v e l o p m e n ta n dc o m m u n i c a t i o n sb e t w e e nd r i v e r a n da p p l i c a t i o nh a v e b e e nd i s c u s s e d ;t h er e s u l t so ft e s ta n da n a l y s i sa r ed e s c r i b e d f i n a l l y , t h em e t h o d so fh i g h - s p e e dd i s ks t o r a g ei nw i n d o w sa r ed i s c u s s e d i n - d e p t h ,a n dt h ew a yw h i c hi m p r o v e st h es p e e do fs t o r a g eu s i n gt h et e c h n o l o g y o fm e m o r y m a p p e df i l e ( m m f ) h a sb e e nr e a l i z e d k e yw o r d s :d a t aa c q u i s i t i o na n ds t o r a g e ;p c id r i v e r ;d s p b i o s ;m m f 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献等的引用已在文中指出,并与参考文献相对应。除文中 已经注明引用的内容外,本论文不包含任何其他个人或集 体已经公开发表的作品成果。对本文的研究做出重要贡献 的个人和集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 作者( 签字) : 窒星维 e l期:刀9 夕年易月乡日 哈尔滨二r 程大学硕士学位论文 第1 章绪论 1 1 课题来源及意义 1 1 1 课题来源 “高精度水声定位关键技术研究”是国家高技术研究发展计划( 8 6 3 计 划) 的海洋高技术应用研究类课题之一。其研制目标是:研究提高水声定位 精度方法和技术,并开发出一套超短基线定位川系统,为建立水下立体高精 度定位系统,解决水下探测和作业的高精度定位问题提供技术装备。“基于 c 6 4 x d s p 的实时数据采集存储软件关键技术研究 是选题取材于该系统但 不仅限于该系统的一个基础应用研究课题。 1 1 2 课题的目的和意义 数据采集旺1 存储是数字信号处理中非常重要的环节。对于不同的任务, 数据采集要达到的技术指标也不相同。对于瞬态信号,声纳信号和图像处理 都需要几m b s ,甚至几十m b s 的高速采集速率。以前用于p c 机的数据采 集卡主要是基于i s a 总线,传输速率太低,不能实现数据的高速传输。p c i 总线推出后,以其突出的性能倍受计算机和通信业界的青睐,将取代以往的 总线,成为高档机及高性能工作站外部件的基石。p c i 作为局部总线,一边 与处理器和存储器总线接口;另一边为外设扩展提供了高速通道。 3 3 m h z 3 2 b i t 的p c i 总线可以实现1 3 2 m b s 的数据传输速率;6 4 位的p c i 总 线能实现2 6 4 m b s 的数据传输速率。开发以p c i 总线为基础的数据采集设备 是技术发展的必然要求。在实际工作中,利用p c i 总线将采集数据直接传到 系统内存,可有效解决数据的实时传输和存储,为信号的实时处理提供方便。 数据采集卡在各行各业中尤其是在各种信号分析中的应用越来越广泛。国内 外有大量的公司进行数据采集卡和数据采集器的研制,他们所设计的插卡式 数据采集卡能达到的采样速率很高,但是通用性差,不易于扩展且价格相当 目虫 l :l - j 贝。 在超短基线水声定位系统研制过程中,一方面在定位解算过程中要先采 哈尔滨工程大学硕士学位论文 集存储数字信号后再进行滤波、解算,这时需要有数据采集;另一方面,系 统开发过程中也经常需要采集并存储一些可供脱机处理的数据,即把原始数 据采集回来使用仿真软件( 如m a t l a b ) 进行脱机处理,并和系统硬件解算出 的结果进行对比,分析问题并改进算法,不断提高系统的精度。以前往往是 在进行湖试或海试时,携带一台数据采集器采集数据,体积较大,移动性也 不好,甚是不便。如果新开发的系统本身就具有数据采集功能的话,就会方 便很多。因此在超短基线系统设计时就增加了原始数据采集的功能,即可以 把系统作为一个数据采集器来使用,既增强了系统的功能,又大大降低实验 的成本。 同时,对于超短基线定位系统来说,由于声信号的频率相对较低,a d 的采样率一般在几百k s p s ,但由于组成基阵的基元数量会有多个,即有多个 通道,所以数据速率通常也就在几十m b p s ,因此研究提高实时数据采集存 储速度的软件方法有一定的现实意义。 本课题紧扣行业热点和实验室课题实际需要,以基于c 6 4 xd s p 的实时 数据采集存储软件的设计实现为研究目标,在满足系统性能要求的基础上, 大大降低了开发成本。 1 2 数据采集存储系统的发展现状 随着计算机技术的发展与普及,数字设备正越来越多地取代模拟设备, 在生产过程控制和科学研究等广泛的领域中,计算机测控技术正发挥着越来 越重要的作用。然而,外部世界的大部分信息是以连续变化的物理量形式出 现的,例如温度、压力、位移、速度等。要将这些信息送入计算机进行处理, 就必须先将这些连续的物理量离散化,并进行量化编码,从而变成数字量, 这个过程就是数据采集。它是计算机在监测、管理和控制一个系统的过程中, 取得原始数据的主要手段。 数据采集口1 就是将被测对象( 外部世界、现场) 的各种参量( 可以是物 理量,也可以是化学量、生物量等) 通过各种传感元件做适当转换后,再经 信号调理、采样、量化、编码、传输等步骤,最后送到控制器进行数据处理 或存储记录的过程。控制器一般均由计算机承担,所以说计算机是数据采集 系统的核心,它对整个系统进行控制,并对采集的数据进行加工处理。用于 2 哈尔滨丁程大学硕十学位论文 数据采集的成套设备称为数据采集系统幢1 p “引( d a t a a c q u i s i t i o ns y s t e m ,d a s ) 。 数据采集系统弘1 是计算机与外部世界联系的桥梁,是获取信息的重要途 径。数据采集技术是信息科学的重要组成部分,已广泛应用于国民经济和国 防建设的各个领域,并且随着科学技术的发展,尤其是计算机技术的发展与 普及,数据采集技术特有广阔的发展前景。 数据采集系统追求的最主要目标有两个:一是精度,二是速度,也就是 可靠性和实时性。对任何的测试都要有一定的精确度要求,否则将失去测试 的意义;提高数据采集的速度不仅仅是提高了工作效率,更主要的是扩大数 据采集系统的适用范围,便于实现动态测试。 现代数据采集系统具有如下主要特点b 1 : ( 1 ) 现代数据采集系统一般都由计算机控制,使得数据采集的质量和效率 大为提高,也节省了硬件投资。 ( 2 ) 软件在数据采集系统的作用越来越大,这增加了系统设计的灵活性。 ( 3 ) 数据采集与数据处理相互结合得日益紧密,完成数据采集、处理到控 制的工作。 ( 4 ) 数据采集过程一般都具有“实时”特性,实时的标准是能满足实际需 要;对于通用数据采集系统一般希望有尽可能高的速度,以满足更多的应用 环境。 ( 5 ) 随着微电子技术的发展,电路集成度的提高,数据采集系统的体积越 来越小,可靠性越来越高,甚至出现了单片数据采集系统。 ( 6 ) 总线在数据采集系统中有着广泛的应用,总线技术它对数据采集系统 结构的发展起着重要作用。 1 2 1 数据采集技术的历史与发展5 1 数据采集系统起始于2 0 世纪5 0 年代,1 9 5 6 年美国首先研究了用在军事 上的测试系统,其目标是由非熟练人员进行操作,测试相关的文件,并且测 试任务是由测试设备高速自动控制完成的。由于该种数据采集测试系统具有 高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试 任务,因而得到了初步的认可。大约在6 0 年代后期,国外就有成套的数据采 集设备产品进入市场,此阶段的数据采集设备和系统多属于专用的系统。 哈尔滨工稗大学硕士学位论文 2 0 世纪7 0 年代中后期,随着微型机的发展,诞生了采集器、仪表同计 算机融为一体的数据采集系统。由于这种数据采集系统的性能优良,超过了 传统的自动检测仪表和专用数据采集系统,因此获得了惊人的发展。从7 0 年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系 统,另一类是工业现场数据采集系统。就使用的总线而言,实验室数据采集 系统多采用并行总线,工业现场数据采集系统多采用串行数据总线。 2 0 世纪8 0 年代随着计算机的普及应用,数据采集系统得到了极大的发 展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主 要有两类,一类以仪器仪表和采集器、通用接口总线和计算机等构成。例如: 国际标准i c e 6 2 5 ( g p i b ) 接口总线系统就是一个典型的代表。这类系统主要用 于实验室,在工业生产现场也有一定的应用。第二类以数据采集卡、标准总 线和计算机构成,例如:s t d 总线系统是这一类的典型代表。这种接口系统 采用积木式结构,把相应的接口卡装在专用的机箱内,然后由一台计算机控 制。第二类系统在工业现场应用较多。这两种系统中,如果采集测试任务改 变,只需将新的仪用电缆接入系统,或将新卡再添加到专用的机箱即可完成 硬件平台重建,显然,这种系统比专用系统灵活得多。2 0 世纪8 0 年代后期, 数据采集系统发生了极大的变化,工业计算机、单片机和大规模集成电路的 组合,用软件管理,使系统的成本降低,体积减小,功能成倍增加,数据处 理能力大大加强悼“9 。 2 0 世纪9 0 年代至今,在国际上技术先进的国家,数据采集技术已经在 军事、航空电子设备及宇航技术、工业等领域被广泛应用。由于集成电路制 造技术的不断提高,出现了高性能、高可靠性的单片数据采集系统。目前有 的d a s 产品精度已达1 6 位,采集速度每秒达到几十万次以上。数据采集技 术已经成为一种专门的技术,在工业领域得到了广泛的应用。该阶段数据采 集系统采用更先进的模块式结构,根据不同的应用要求,通过简单的增加和 更改模块,并结合系统编程,就可扩展或修改系统,迅速地组成一个新的系 统。 该阶段并行总线数据采集系统向高速、模块化和即插即用方向发展,典 型系统有v x i 总线,p c i 总线、p x i 总线等,数据位己达到6 4 位总线宽度, 采样频率可以达到1 g s p s 以上。由于采用了高密度、屏蔽型、针孔式的连接 4 哈尔滨 二程大学硕十学位论文 器和卡式模块,可以充分保证其稳定性及可靠性,但其昂贵的价格是阻碍它 在自动化领域普及的一个重要因素。但是,并行总线系统在军事等领域取得 了成功的应用。 1 2 2 数据存储技术发展现状p 1 在高速数据采集存储系统中,数据存储是另一项关键技术。存储器介质 目前有磁盘、r a m 、d r a m 和闪存等。其中磁盘和闪存可以做到数百g b 和 数t b 以上,但速度较慢;r a m 和d r a m 内存速度很快但容量相对较小, 尤其是在嵌入式应用中。根据它们的特点,一般有以下几种存储方案: 1 采用r a m d r a m 组成r a m 阵列 数据采集后存到大容量r a m 阵列,采集结束后再进行数据处理和保存。 该方式容量可达数百m b ,速度也很快,但是容量仍然不够,连续采集时间 不能太长,而且不能掉电使用,不利于现场采集。采用这种方法,持续采集 时间受存储器容量的限制,一般只能持续零点几秒到几十秒时间,因此在许 多场合可能无法满足要求;而存储器容量的增加,其价格也会成倍增长。这 种方式在一些瞬态测量( 如数字示波器) 应用场合中使用。 2 短时间采集( 如几微秒到几毫秒) + 慢速闪存阵列 短时间采集的数据放在缓冲里,然后不采集的时候存入大容量闪存。这 种方式可以脱机采集,存储器容量也比第一种方式大,但由于闪存速度较低, 只能短时间( 如一次脉冲时间) 采集,不适合连续采集。此方式在一些逻辑分 析仪产品中有使用,用于保存- 4 , 段测量结果。 3 p c 机作为海量存储 p c 机将采集卡的数据通过高速总线实时存入p c 机内存或磁盘。如果用 磁盘作为存储介质的话,存储容量可以扩充到数百g b ( 单硬盘) 到数t b ( 采 用磁盘阵列技术) 容量以上,并且有足够的数据带宽,适合长时间连续高速 采集,缺点是需要一台高性能p c 机,体积功耗都很大,不方便在现场进行 数据采集。市面上大多数通用数据采集器多采用这种方式,本文也是采用这 种方式。 因此,从存储容量、读写速度和单位成本等方面综合考虑,采用高速硬 盘直接数据存储是很有优势的。但是数据的实时存盘一直是数据采集速度最 哈尔滨t 程大学硕士学位论文 大瓶颈,它直接制约了采集存储设备的实时存储能力。市面上大多数的应用 是利用多个i d e 硬盘组成廉价冗余磁盘阵y i j ( r e d u n d a n ta c c e s si n d e p e n d e n t d i s k ,r a i d p l ) 。其中r a i d 0 把多块独立的硬盘组合起来形成一个硬盘组,从 而提供比单个硬盘更高的存储性能。在这种情况下,磁盘容量可以达到数t b , 存储速度也不是问题,可以极大地提高连续采集时间。 虽然r a i d 技术有着很明显的速度和容量优势,但由于设备体积、功耗 的限制和出于对设备成本的考虑,本着“物尽其用 的原则,本文主要研究 单硬盘模式下如何使用软件方法提高应用软件的存储速度,这种方法在采用 r a i d 方式下仍然适用。 1 3 论文的主要工作 论文主要工作是完成系统实时数据采集存储软件开发,包括数据采集模 式下各种原始输入数据( 主要是a d 数据) 的采集存储和定位模式下的数据 采集传输。重点对数据采集存储软件开发中应用到的d s p b i o s 、p c i 驱动程 序和内存映射文件这三项关键技术进行研究:具体有以下几个方面: ( 1 ) 使用d s p b i o s 完成数据采集模式下数据由从片把f p g a 输入的数据 传送到主片,再由主片把数据整理打包发送到p c i 0 4 主机,最后由主机进行 存储所需要的所有工作,包括主从片d s p 采集程序、驱动程序和磁盘采集程 序。 ( 2 ) 使用d s p b i o s 完成定位模式下主从片中与数据采集相关的d s p 软 件开发以及从片自适应相位差估计的d s p 程序开发,同时为主片和从片d s p 搭建了一个结构清晰、可扩展性强的框架。 ( 3 ) 使用d d k 完成c 6 4 1 6 自带p c i 接口从模式驱动程序及测试程序的开 发,为工控机和数字板直接的数据传输和通信提供底层软件支持。 ( 4 ) 对w i n d o w s 环境下高速磁盘存储方法的进行了较为深入的研究,比 较并测试了各种磁盘存储方法,充分挖掘软硬件能力,尽可能使软件的数据 存储速度达到硬盘存储速度的上限,并最终选用内存映射文件技术实现了单 硬盘方式的高速存储,满足数据采集模式下高速数据存储的需要,也为其他 对存储有较高要求的系统提供技术储备。 6 哈尔滨= 厂程大学硕士学位论文 第2 章系统硬件结构介绍 超短基线定位系统的任务是结合高精度船载平台罗经,姿态仪及广域差 分g p s 系统,实现在大洋中对深海探测设备,如:侧扫声纳系统、海底照相 系统、机器人和取样器等,进行水下高精度定位。同时本系统可与上述设备 接口,在实现高精度定位同时又能传送数据及遥控信号。具体的功能有: ( 1 ) 同时对5 个装有应答器( t r a n s p o n d e r ) 的目标进行定位; ( 2 ) 实时显示本船及目标的大地坐标和或相对坐标和航迹; ( 3 ) 具有水声通信功能,可对应答器进行遥控和数据传输; ( 4 ) 具有外部罗经、d g p s 及姿态传感器接口,可实时进行运动姿态修正; ( 5 ) 具有原始数据采集的功能,为脱机解算或算法优化提高原始数据。 2 1 系统总体结构 超短基线定位系统主要由声头,接收电路、发射电路,数字信号处理板, 应答器,工控机以及提供方位姿态、经纬度等数据的辅助设备组成。其组织 结构如图2 1 所示。 图2 1 超短基线定位系统组成框图 由于海面不是静止不动的,而是上下沉浮、纵横摇摆的,为了获得达到 较高的定位精度,在声头内部安装了方位姿态仪,该设备的更新频率为 哈尔滨 二稗大学硕士学位论文 1 0 0 h z ;另外,由于水声信道的复杂性,系统还配置了一部声速剖面仪;差 分全球定位系统( d g p s ) 给出了母船自身的绝对坐标,这些数据最后汇总到主 处理机,为高精度定位提供了保证。 2 2 数字处理板构成 数字信号处理板是本系统的核心部件,主要完成8 路基元信号的采集和 处理,并将处理结果通过r s 2 3 2 串口( 传送处理结果) 或者p c i 总线( 传送 原始数据) 传给上位机进行显示或存储,上位机也可通过以上两种接口对数 字信号处理板下传参数和控制命令。按照功能整个数字信号处理板可分为四 个部分:数据采集单元、信号处理单元、控制单元、显控单元。数字板框图 如图2 2 所示。 2 2 1 数据采集单元 数据采集单元采用的模数转换器是美国a d i 公司的a d 7 6 5 5 ,a d 7 6 5 5 具有如下特性。 ( 1 ) 1 6 b i t 量化精度; ( 2 ) 4 通道; ( 3 ) 可以允许两个通道同时采样转换; ( 4 ) 最高采样率为每通道5 0 0 k s p s ( 目前系统要求采样率为2 0 0 k h z ) ; ( 5 ) 数据接口具有并行和串行两种形式。 由于系统对于各通道信号的相位一致性要求非常严格,所以在选择a d 器件的时候要求能够对各通道同时采样保持,a d 7 6 5 5 总共有4 个信号输入 端,但是只能对其中两个通道采样保持,因此1 片a d 只用到了其中的两个 通道,另外两个通道直接接地。整个系统有8 路信号,所以用了4 片a d , 并且这4 片a d 的数据总线是连在一起的,通过f p g a 来实现对8 路信号的 采集控制。 哈尔滨t 程大学硕士学位论文 i ii 串串串串 口口口口 l234 i li zi - ,1 1 4i 5l ol 7l i 、5 图2 2 数字处理板总体结构图 2 2 2 信号处理单元 信号处理单元采用t i 公司的高性能处理器t m s 3 2 0 c 6 4 1 6 口4 1 ,其主要技 术指标如下: ( 1 ) 主频6 0 0 m h z ,每周期执行8 条3 2 b i t 指令,最大峰值速度4 8 0 0 m i p s ; ( 2 ) 4 g b ( 2 3 2 ) 寻址范围,支持字节寻址; o 哈尔滨t 程大学硕士学位论文 宣;i i i i i i i i 宣;i i i i 宣昌i i ;i ;i ;i i ;i ;i i i ;i i 宣;i i i i i i ;i i i ii ii ;i ;i ;i i i i i i 掌 ( 3 ) 片内集成大容量s r a m ,最大可达8 m b i t ; ( 4 ) 1 6 3 2 6 4 b i t 高性能外部存储器接口( e m i f ) 提供了与s d r a m 、 s b s r a m 和s r a m 等同步异步存储器的直接接口; ( 5 ) 3 2 b i t 3 3 m h zp c i 主从模式接口。 在设计整个系统的时候为了增加系统的计算能力,采用了两片d s p ( 下 文简称从片) 对数据进行处理,另外还有一片主控d s p ( 下文简称主片) 对 系统进行控制,为了增加d s p 处理各路数据的灵活性,设计的时候并没有将 d s p 直接和各路a d 相连接,而是先通过f p g a 将数据采集进来,两片d s p 与f p g a 之间通过e m i f b 接口相连接,这样f p g a 就可以灵活的根据需要 将任意一路数据分发给两片解算d s p ,如图2 2 所示。 两片从片d s p 通过外部存储器接口还分别外接一片f l a s h ( 51 2 k 8 b i t ) 和s d r a m ( 4 b a n k s 1 m 3 2 b i t ) ,以实现程序的下载和数据的缓存,两片从 片d s p 的处理结果也是通过m c b s p 传给主片。 2 2 3 控制单元 控制单元由一片t m s 3 2 0 c 6 4 1 6 以及一些外部接口构成,下面将分别介 绍各部分的接口以说明控制单元实现的功能。 1 t m s 3 2 0 c 6 4 1 6 与t l l 6 c 7 5 4 接口设计 t l l 6 c 7 5 4 是4 通道串并转换芯片,通过e m i f b 与主控处理器连接,四 个串口分别连接姿态仪、g p s 、p c i 0 4 串口以及一个备用串口,对整个系统 的控制( 如控制参数的装订、定位结果的上传等) 可以通过p c i 0 4 串口或者 备用串口实现,但是这两个串口不能同时控制,可以用跳线来选择是p c i 0 4 串口控制还是备用串口来控制。 2 t m s 3 2 0 c 6 4 1 6 与d a 接口设计 d a 用来产生询问信号,并把此信号送给发射机,由换能器发射出去, 采用了1 2 b i t 的t i 公司高速并行接1 5 1d a ( d a c 7 8 2 1 ) ,最高采样率可达 2 0 4 m h z 。通过其e m i f a 接口与d a 连接,d a 采用+ 5 v 供电,前端运放 采用+ 1 2 v 供电,信号输出范围+ 5 v 。 3 t m s 3 2 0 c 6 4 1 6 与f p g a 接口设计 t m s 3 2 0 c 6 4 1 6 的e m i f b 与f p g a 相连接,通过这个接口( 用的是c e 3 1 0 哈尔滨工程大学硕士学位论文 片选空间) 向f p g a 发送控制命令,f p g a 在收到命令后可以修改工作的同 步周期。 4 t m s 3 2 0 c 6 4 1 6 与f l a s h 接口设计 f l a s h 采用的和信号处理单元的相同,都是s s t 公司的s s t 3 9 v f 0 4 0 ,但 是不同的是控制单元的这片f l a s h 除了要完成主控d s p 的程序加载功能外, 还要在f l a s h 开辟一块剩余的存储空间,用于存储声线修正的数据。声速剖 面装订由显控单元通过串口下载,但主片d s p 保存有上次声速剖面值,上位 机可以更新、读取,装载f l a s h 内容,并装载含安装误差的修正。 5 t m s 3 2 0 c 6 4 16 的p c i 接口口2 1 设计 t m s 3 2 0 c 6 4 1 6 内部集成了一个符合2 2 版本规范的p c i 接口,该接口支 持主从模式,3 2 b i t 地址数据总线,3 3 m h z 时钟。通过该接口与p c i 0 4 的 p c i 接口相连,就可以访问d s p 整个片内r a m 、集成外设以及片外存储器。 在本设计里,主要是通过p c i 接口传输采集的原始数据,存储到p c i 0 4 外挂 的硬盘里;也可以通过这个接口来实现一些控制参数的下传、装订及定位结 果的上传。 2 2 4 显控单元 显控单元是一台p c i 0 4 结构的堆叠式工控机,其功能与p c 机相同,主 要负责运行显控软件、驱动程序和数据采集存储软件。主要的性能参数有: ( 1 ) 采用主频为1 g h z 的i n t e lc e l e r o nm 处理器; ( 2 ) 内存为2 5 6 m b 的s d r a m ; ( 3 ) 具有3 3 m h z 3 2 b i t 的p c i 2 2 总线。 2 3 本章小结 本章详细介绍了系统的硬件结构,首先先介绍了系统的总体结构,接着 详细介绍数字处理板的构成,即数据采集单元、信号处理单元、控制单元、 显控单元,为软件功能实现提供硬件基础。 哈尔滨_ t 程大学硕士学位论文 第3 章数字处理板软件设计与实现 3 1d s p 软件概要设计 数字处理板的设计目标是实现以3 片数字信号处理器( d i g i t a ls i g n a l p r o c e s s o r , d s p ) n 核心、现场可编程i - j 阵y i j ( f p g a ) ) a , , j :逻辑控制、p c i 为传输 接口构成的一个既有快速处理能力,又有高速传输能力的水声信号处理系统。 其软件总体流程图如图3 1 所示。 图3 1 数字板软件流程图 传统的d s p 系统在软件实现上多采用单任务顺序结构,即通常在主函数 中写一些w h i l e 死循环,然后中断服务函数中设置一些标志变量,通过判断 标志变量来进行处理,这样的结构浪费了大量的c p u 时间,实时性差,资源 1 2 哈尔滨工程大学硕士学何论文 利用率低,在高速、实时数据采集领域难以满足实际要求。按照这种传统的 编程方式,各个功能模块是以顺序结构组织在一起,各模块之间的调用和切 换都是由各模块自身提供的代码来完成,这样使得应用程序各模块之间处于 一种紧耦合状态,如果添加新的功能模块,不但因为要修改相关模块的调用 代码而难于升级维护,并且新增模块也会明显影响到原有系统的时间响应特 性。d s p b i o s 的出现提供了另外一种组织应用程序各功能模块的机制,它 通过可配置的内核服务使各功能模块在系统调度器的安排下按照优先级的高 低分时复用c p u 资源,这种机制带来了应用程序可维护性的提高,而且也为 能够提供更高级、方便的调试手段打下了基础。 3 2d s p b 1 0 s 口伽口2 引概述 3 2 1d s p b i o s 简介冽 d s p b i o s 是一个功能丰富、可扩展的内核服务集,开发人员可以用来 管理系统级的资源和构建d s p 应用的基础架构。d s p b i o s 所提供的内核服 务在代码大小和性能上进行了专门优化,可以应用于t m s 3 2 0 c 5 0 0 0 和c 6 0 0 0 系列的d s p 。通过使用d s p b i o s ,我们可以: ( 1 ) 使用多线程技术高效地管理d s p ; ( 2 ) 使用标准接口的i o 和中断; ( 3 ) 高效地定义和配置系统资源,如系统内存; ( 4 ) 通过实时分析工具对用户应用程序的运行状况实时查看; ( 5 ) 向新的t m s 3 2 0 d s p 移植更加容易。 d s p b i o s 是一个用户可剪裁的实时操作系统,主要由三部分组成:多 线程实时内核、实时分析工具、芯片支持库。利用实时操作系统开发程序, 可以方便快速的开发复杂的d s p 程序。操作系统维护调度多线程的运行,只 需将定制的数字信号算法作为一个线程嵌入系统即可;芯片支持库帮助管理 外设资源,复杂的外设寄存器初始化可以利用直接图形工具配置;实时分析 工具可以帮助分析算法实时运行情况。 d s p b i o s 实时操作系统的图形配置界面如图3 2 所示。 哈尔滨工程大学硕士学位论文 e s t i m a t e dd a t as i z e :2 6 8 9e s t m i n s t a c ks i z e m a u s ) :6 4 0 弼坳s y s t e m 期甚i n e t r u m e n t a t i o n 飘。q 释s c h e d u l i n g 舅鳓s y n e h r o n i z a t io n 孤迥i n p u t o u t p u t 甍涮c s l c h i ps u p p o r l i b r e x y 图3 2d s p b i o s 图形配置界面 3 2 2d s p b i o s 内核技术 d s p b i o s 内核口卅实质上是可以从c 源程序或者汇编源程序中调用的函 数库,目标应用程序通过在源程序中嵌入相应的a p i 调用从而唤醒d s p b i o s 的运行时刻服务。该函数库提供如下服务或者功能: ( 1 ) 一个小型的抢占式的实时应用程序线程调度器,支持多任务功能; ( 2 ) 对片上定时器和硬件中断的硬件抽象; ( 3 ) 与设备无关的管理实时数据流的i o 模块; ( 4 ) 捕获目标程序线程实时运行期间生成的实时信息的一系列函数,从而 可以分析目标程序实时运行期间的一些信息。 具体来说,d s p b i o s 提供了如下六类组件或服纠1 4 “2 5 1 :系统服务组件、 实时分析组件、调度组件、输入输出组件和芯片支持库( c s l ) 。其中,每类 组件或服务又包括数个功能模块,每个模块一般管理相关内核对象类一个或 者多个实例,下面分别加以描述。 1 系统服务 d s p b i o s 配置工具提供一个可视编辑器来定义目标应用的全局属性、 系统内存映象图、中断向量表以及对片上定时器进行编程。d s p b i o s 内核 提供a p i 调用来对内存进行动态的分配和回收上作。 2 实时分析 该服务可以在目标应用程序正在运行时,利用其提供的实时交互和诊断 功能,对程序线程的运行状态进行实时监控和数据分析。该类服务提供相应 的a p i 来完成其功能。 3 调度模块 d s p b i o s 调度器向程序员提供了四种不同的线程类型。每一种线程提 1 4 哈尔滨 二程大学硕士学位论文 供不同的执行效果。d s p b i o s 支持两种高优先级的中断线程( h w i ,s w i ) 和一 种背景空闲线程i d l 模块管理这些内核执行线程。除此之外,d s p b i o s 内 核还提供了一种多任务线程类任务线程( t s k ) ,能够在它们执行的任意 点上挂起和重新调度执行。 4 输入输出模块 设备无关的i o 模块负责管理数据的传输。d s p b i o s 提供两种传输方 式:管道和数据流。数据管道是小而快速的在读写线程之间传递数据的通用 组件。数据流在缓冲机制方面提供了更大的灵活性,从而满足更加广泛的需 求。数据流依赖于一个或者多个基础设备驱动程序。 5 片级支持库( c s l ) 口别 芯片支持库提供了配置和控制片上外围设备的c 语言接口。该模块是顶 层的a p i 模块。模块的主要工作的是初始化该库。该配置工具用于对片上外 围设备进行编程,如e d m a 、多通道缓冲串行h ( m c b s p ) 以及其他一些外围 设备等。 3 3d s p b i o s 的多线程技术研究 对一个操作系统来说,任务调度是其完成的主要功能,任务调度的高效 性、流畅性、实时性等是决定一个操作系统优劣的重要指标。d s p b i o s 通 过线程来实现任务调度。 3 3 1 线程概述及类型 许多实时d s p 应用都需要同时执行许多不相关的功能,这些功能一般是 对外部事件的响应,称为线程口卅口5 1 。不同的系统对线程有不同的定义,在 d s p b i o s 中线程的定义比较广,定义为任何独立的指令流。d s p b i o s 使程 序可以构建为多个线程的集合,每一个线程执行模块化的功能。运行在d s p 处理器上的多线程应用程序通过让高优先级的线程抢占低优先级的线程,从 而达到并行处理的目的。实时d s p b i o s 应用以这样的形式组织而不是常规 的单一的中央化的轮询操作,使得程序易于设计、实现和维护。d s p b i o s 中,有四种类型的线程,它们分别为硬件中断( h w i ) ,包括时钟( c l k ) 函数; 软件中断( s w i ) ,包括周期( p r d ) j 药数;任务- ( t s k ) ;后台线程( i d l e ) 犯伽口5 1 。下 哈尔滨工程大学硕士学位论文 i |i|1 面分别进行说明。 1 硬件中断瞄刁 h w i 其实就是中断服务。当硬件中断产生之后,d s p b i o s 就会调用相 应的h w i 函数。如果把h w i 设置为d i s p a t c h 的话,则会在调用h w i 函数 的前后自动调用h w ie n t e r 和h w ie x i t 。在h w i 函数的执行时,若有其他 的硬件中断产生,当前的h w i 会被新的中断抢占,也就是说d s p 会先去执 行新的h w i 。如果希望当前的h w i 在不被其他的h w i 打断的话,可以在不 能被打断的代码前后调用h w id i s a b l e 和h w ie n a b l e 。h w i 的优先级是硬件 级别的优先级( 固定的) ,若同时有多个中断向d s p 请求的话,它决定d s p 先 响应哪个中断。而中断所对应的h w i 则是可以被任何其他的h w i 抢占。 硬件中断h w i 由外部异步事件触发。一个h w i 函数( 也称为中断服务 例程i s r ) 用于完成受时间约束的由事件触发的系统中关键的任务。h w i 是 d s p b i o s 应用中优先级最高的任务。h w i 应该用于需要以将近2 0 0 k h z 的 频率运行的在2 到5 微秒内完成的任务。此外,h w i 的进入和退出时需要 8 2 1 0 2 个时钟周期。 2 软件中断 尽管硬件i s r 由硬件中断所触发,而软件中断却由调用s w i 函数所触发。 软件中断的优先级介于硬件优先级与任务的优先级之间。它的截止时间不像 h w ii s r 那样苛刻。像h w i 的i s r 一样,软件中断总是运行到结束。软件 中断用于调度截止时间为1 0 0 微秒或更多的事件。s w i 允许h w i 把一些次 关键的处理任务延迟到一个较低优先级的线程上来完成,这样就减少了c p u 花费在i s r 上的时间,提高了c p u 响应中断的能力。 s w i 有1 5 级优先级,高优先级的s w i 可以抢占低优先级的s w i 。一般 通过s w i或者类似的函数) 来启动它。和 一样都是不能被阻塞p o s t ( s w ih w i ( b l o c k ) 的线程。也就是说一旦它们被运行,就要运行到终点为止,除非被其 它的线程抢占口2 ”2 3 1 。 3 任务 任务的优先级比软件中断的优先级低,高于后台线程的优先级。任务不 同于软件中断在于它们在执行期间可以挂起,直至必要的资源可用。 d s p b i o s 提供了大量的数据结构用于任务间的通信和同步,包括队列、信 1 6 哈尔滨 二程大学硕士学何论文 号量和邮箱。 4 空闲循环 后台线程的优先级最低。在m a r e 函数返回后,d s p b i o s 应用调用每个 d s p b i o s 模块的启动例程,然后陷入空闲循环。空闲循环是一个调用i d l 对象的所有函数的连续循环。循环中的每一个函数都必须等到其它函数完成 才能被重新调用空闲循环一直运行直至被系统中优先级高的线程所抢占。 5 其它线程 除了上面所述线程外,还有几种类型的线程,它们可以归结为上述类型 中的某一类。这几种线程分别是时钟( c l k ) 函数、周期( p i m ) 函数和数据通知 函数。时钟函数以片上定时器中断的速率所触发,默认情况下,这些函数由 h w i t i n t 硬件中断所触发,可以看作是h w i 函数。周期函数或者在片上定 时器中断的倍数或者在某一个发生事件的基础上执行。可以把周期函数看作 为一种特殊类型的软件中断。当使用管道( p i p ) 或者主机通道( h s t ) 进行数据 传输的时候,数据通知函数得以执行这些函数当进行一帧数据的读或写的时 候所触发,用于通知写方或者读方。这些函数作为调用p i p _ a l l o c 0 、p i p _ g e t 0 、 p i p或者 的上下文被调用。f r e e ( ) p i pp m o 3 3 2 线程优先级及其调度 d s p b i o s 内,硬件中断具有最高的优先级。中断类型和优先级由芯片 的体系结构确定。高优先级的硬件中断可以抢占低优先级的硬件中断( 如果可 能的话) 。软件中断的优先级要比硬件中断的低。一共有1 4 个软件中断优先 级,高优先级的软件中断或者硬件中断可以抢占低优先级的软件中断。软件 中断不能阻塞。任务的优先级要比软件中断的优先级低,一共有1 5 个优先级, 任务可以被高优先级的线程抢占。任务可以阻塞,以等待资源的可用性以及 低优先级的线程。后台线程的优先级最低。当系统不忙时,该线程中的函数 以创建时的顺序串行执行( 有可能被高优先级的线程抢占) 。d s p b i o s 调度 器总是调度具有最高优先级的就绪线程来运行,除非有以下几种情况口: ( 1 ) 当前运行的线程正在暂时禁止一些或所有的硬件中断,阻止其它硬件 中断i s r 来抢占当前的线程。 ( 2 ) 当前运行的线程正在暂时禁止软件中断,阻止任何高优先级的软件中 1 7 哈尔滨t 程大学硕士学何论文 断来抢占当前的线程,然而,它不能阻止任何硬件中断来抢占当前运行的线 程。 ( 3 ) 当前的线程正在暂时禁止任务调度,阻止任何高优先级的任务来抢占 当前的任务。然而,它不能阻止软件中断或者硬件中断来抢占。 ( 4 ) 最高优先级的线程是一个被阻塞的任务。这样的话,它也不能抢占当 前运行的线程。 。 h w i 和s w i 都使用系统堆栈,而每个t s k 都有自己的堆栈。可以在t s k 线程之间随意地互相切换,切换时d s p b i o s 将自动地更新堆栈寄存器,因 此t s k 线程可以被阻塞。这样t s k 就可以写成一个死循环: w h i l e ( 1 ) d o _ s o m e _ t a s k ( ) ; y i e l dt oo t h e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年急诊科理论考试试题及答案
- 2026年电工证考试试题带答案
- 2026年秋季开学初中英语入门法治教育课件
- 2026年秋季开学小学六年级毕业班收心归位动员课件
- 2026年秋季开学新教师项目式学习入职培训
- 小学科学5、一天的生活用水教案
- 2026年注册安全工程师烟花爆竹安全错题
- 2026年秋季开学值班值守安全教育第一课
- 2026年中职园林(假山制作)试题及答案
- 幼儿园亲子活动的总结
- 陕西省宝鸡市2026年初一新生入学分班数学考试真题及答案
- 剖宫产术的护理配合
- 第15讲 开学综合摸底检测试卷及答案-2026年秋三升四小学数学(人教版新教材适配)
- 2026年江苏省事业单位公开招聘考试真题与答案
- 净水厂调试 运营方案
- 2026年初中历史中国近现代史专题讲座
- 2026年危急值报告制度试题及答案
- 2025至2030中国医疗机构手部消毒产品替代趋势与市场格局变化报告
- 机物料采购管理制度范本
- 初中生物细胞结构功能3D打印模型教学应用分析教学研究课题报告
- 预防安全踩踏事故课件
评论
0/150
提交评论