(通信与信息系统专业论文)基于dsp和网络接口的数据采集系统设计实现.pdf_第1页
(通信与信息系统专业论文)基于dsp和网络接口的数据采集系统设计实现.pdf_第2页
(通信与信息系统专业论文)基于dsp和网络接口的数据采集系统设计实现.pdf_第3页
(通信与信息系统专业论文)基于dsp和网络接口的数据采集系统设计实现.pdf_第4页
(通信与信息系统专业论文)基于dsp和网络接口的数据采集系统设计实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(通信与信息系统专业论文)基于dsp和网络接口的数据采集系统设计实现.pdf.pdf 免费下载

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

文档简介

基于d s p 和网络接口的数据采集系统设计实现 摘要 本论文主要讨论“浮游植物粒径分布现场在线监测系统的数据采集与实 时处理部分,设计了基于d s p 和网络接口的数据采集系统,该系统的实时性十 分重要。本设计使用d s p 芯片作主处理器来提高系统的性能,这样系统能充分 地满足荧光信号脉冲宽度的测量和多普勒信号提取的需求。 本系统要完成对传感器送来信号的采集处理,其工作流程为:运算放大器 对收到的p m t 送来的电信号进行放大后送到a d 转换电路,a d 转换电路将模 拟信号转变成数字信号后送到t m s 3 2 0 c 6 7 1 3 中,主处理器对收到的数字信号进 行快速傅里叶变换得到频谱数据,最后通过网络接口将频谱数据送到上位机或 者网络上来,通过上位机程序显示出来。 论文中采用t i 的t m s 3 2 0 c 6 7 1 3 作为主处理器来完成采集数据的处理,采 用台湾r e a l t e k 公司的r t l 8 0 1 9 a s 来实现数据通信,运用a l t e r a 公司m a x 7 0 0 0 系列中的c p l d 芯片e p m t l 2 8 s t c l 0 0 一i 0 来实现逻辑控制,根据系统的设计要求 将不同模块结合起来。 本论文阐述了基于d s p 和网络接口的数据采集系统的设计方案,介绍了主 要芯片,各模块的电路设计,不同模块间接口设计,各模块的工作原理及其软 件程序,最后给出了几组测试数据,验证了设计的正确性。 关键字:d s p ;网络接口;数据采集 d e sig na n dim ple m e n t a tio no fd a t aa c q uisitio ns y s t e m b a s e do nd s pa n dn e t w o r kin t e r f a c e a b s t r a c t t h i s p a p e r f o c u s e so nt h ed a ma c q u i s i t i o na n dr e a l t i m ep r o c e s s i n g o fp h y t o p l a n k l o np a r t i c l es i z ed i s t r i b u t i o no n l i n em o n i t o r i n gs y s t e m ,f o rw h i c h t h er e a l t i m ei sp a r t i c u l a r l yi m p o r t a n t i na d d i t i o n , t h ed a t aa c q u i s i t i o ns y s t e mi s d e s i g n e db a s e do nd s pa n dn e t w o r ki n t e r f a c e i nt h i sd e s i g n , ah i g h - p e r f o r m a n c e d s pc h i pi su s e da st h em a i np r o c e s s o rt o i m p r o v et h ep e r f o r m a n c eo ft h e s y s t e m s ot h i ss y s t e mc a ns a t i s f ya l ln e e d sf o rm e a s u r e m e n to ff l u o r e s c e n ts i g n a l p u l s ew i d t h a n de x t r a c t i o no f d o p p l e rs i g n a l t h es y s t e mi sa b l et oa c q u i r ea n dp r o c e s ss i g n a l sf r o ms e n s o r s a f t e r s t r e n g t h e n i n gt h es i g n a l sr e c e i v e df r o mp m t , t h eo p e r a t i o n a la m p l i f i e rs e n d st h e s e s i g n a l st oa dc o n v e r t e rc i r c u i t a d c o n v e r t e rc i r c u i tc o n v e r t sa n a l o gs i g n a l s t o d i g i t a ls i g n a l s a n ds e n d sd i g i t a ls i g n a l st ot m s 3 2 0 c 6 713 t h e nt h em a i n p r o c e s s o rp e r f o r m sf a s tf o u r i e rt r a n s f o r m o nd i g i t a ls i g n a l s ,a n df i n a l l yt h r o u g ht h e n e t w o r ki n t e r f a c et h es p e c t r u md a t aa l es e n tt op c0 1 n e t w o r k , w h e r et h es p e c t r u m j i sd i s p l a y e d i nt h i sp a p e r , t ic o m p a n y st m s 3 2 0 c 6 7 13d s pc h i pi su s e da st h em a i n p r o c e s s o rt oa c q u i r ea n dp r o c e s sd a t a r e a l t e kc o m p a n y sr t l 8 0 1 9 a si su s e dt o e x c h a n g e d a t a a l t e r ac o m p a n y se p m 7 1 2 8 s t c l 0 0 1 0c p l dc h i pi su s e dt o i m p l e m e n tl o g i cc o n t r 0 1 d i f f e r e n tm o d u l e sa r e c o m b i n e d a c c o r d i n g t o t h e r e q u i r e m e n to fs y s t e n l t h i sp a p e re x p l a i n st h ed e s i g no fad a t aa c q u i s i t i o ns y s t e mw h i c hi sb a s e do n d s pa n dn e t w o r ki n t e r f a c e i ti n t r o d u c e si t sm a i nc h i p s ,c i r c u i td e s i g n ,m o d u l e i n t e r f a c e sd e s i g n , o p e r a t i n gp r i n c i p l e sa n ds o f t w a r e s f o rd i f f e r e n tm o d u l e s t h e f i n a le x p e r i m e n tr e s u l t sv a l i d a t et h ec o r r e c t n e s so ft h ed e s i g n k e y w o r d s :d s p ,n e t w o r kin t e r f a c e d a t aa c q u isitio n 基于d s p 和网络接口的数据采集系统设计实现 1 绪论 1 1 课题背景: 信号的作用越来越重要,它与人们的生活可以说息息相关。为了能够科学 的利用各种各样的信号,数字信号处理被广泛的应用到通信,雷达,遥测遥感, 远程监测等领域上。 数据采集、信号测量处理与系统控制完整的构成了一个多功能系统,数据 采集是数字信号处理过程中的重要环节。数字信号处理一般是指将模拟信号转 化为数字信号并进一步加工处理、显示及存储记录,这也是数据采集系统需要 完成的功能,在某些特定的领域,数据采集系统越来越重要f 1 1 ,数据采集系统 的工作原理是将通过传感器采集信号的物理变化转化为电流信号或电压信号 的变化,然后将这些电流、电压模拟信号再进一步转化为数字信号并处理、显 示和存储。 数据采集系统已被广泛的应用到交通、物流、农业、工业、商业、仓储、 军事、科研等各个领域中【2 】。无论在哪个领域,数据采集与处理的性能越高, 工作效率就越高,经济效益也就越大。而数据采集系统性能的好坏关键在于它 的精度与速度,在保证精度的条件下应该尽可能提高采样速度,以满足实时采 集、实时处理和实时控制对速度的要求。 1 2 发展与方向 目前的数据采集领域主要在两个方向发展,一个方向是追求高采样精度, 这是数据采集系统的重要保证;另一个方向则是追求高速度与大吞吐量。数据 采集卡作为外界电信号与上位机之间的桥梁,可以采集数据之后将得到的数据 在数据采集卡上的处理器芯片上进行处理,然后将处理后的数据结果传输到上 位机上,上位机拥有的较为完备的人机交互界面,为科研工作者进行实时观察 和数据测试提供极大便利。 数据采集器发展概况如下:国外的数据采集精度高、采样速度快、功能较 全,但价格较为昂贵;体积较大、操作复杂;采样速率和采样精度两者不能很 好的统一。国内的数据采集器与国外的相比其精度和速度有一定的距离,市场 上的数据采集器都不能很好的满足一些特定用户的需求【3 1 。 基于d s p 和网络接口的数据采集系统设计实现 我国目前已研制出种类众多的数据采集器,基本达到国外的中期水平,然 而以数据采集卡为核心的数据采集系统多数是p c i 卡,需插在上位机的p c i 插槽上,由上位机来控制数据采集。可是这类数据采集设备安装麻烦;价格昂 贵;受计算机插槽数量、地址、中断资源限制,可扩展性差。在一些电磁干扰 性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真【4 】。目前国 内的数据采集卡市场主要由国外公司主导,而数据采集卡在目前社会生产和科 研中的作用日益重要,因此积极研制和开发具有自主产权的数据采集系统对于 我国的社会生产和科研活动有重大的现实意义【5 1 。 1 3 课题研究意义和目的 课题来源于基于激发荧光和激光多普勒技术的浮游植物粒径分布现场在 线监测系统,该系统原有的数据采集器集成了数据采集硬件系统设计和相应的 软件开发。当前端电路将在多模光纤中传输的荧光信号和多普勒信号通过两个 光电探测器( p m ) 转换成电信号之后,系统开始采集两个通道中的电信号, 在对电信号进行模数转换、快速傅里叶变换等处理之后得到频谱信号,通过上 位机软件将单粒子采样的荧光信号、多普勒信号的波形及多普勒信号的频谱图 显示出来。 本文设计的基于以太网通信的数据采集系统,其目的是对通过传感器信号 进行快捷、方便的数据采集以便能够做到对于设备运行和数据采集的远程监 测、实时控制和处理分析。本设计通过计算机控制实现信号的采集,数据信号 采集和结果的存储,以便服务于总课题基于激光激发叶绿素荧光和激光多普勒 信号测量方法的浮游植物粒径分布和浓度的实时现场在线监测系统。本设计采 用了网络接口技术,可以将采集到的数据传输到一定距离之外的上位机或者局 域网上,方便数据采集部分之外的设备转移和实时监测。 1 4 本章小结 本章中主要介绍了数据采集系统的发展、现状以及本设计的背景和目的。 基于d s p 和网络接口的数据采集系统设计实现 2 系统总体架构 2 1 系统设计要求 本设计为双通道的数据采集卡,通过两个a d c 采集数据然后传送到d s p 之中处理,要求采集速率为2 m ,并且a d c 的采集速率可调,以防止d s p 来 不及处理后续数据【6 1 。两个通道中分别为激光激发荧光信号和多普勒信号, d s p 分时将两个通道中的数据读入d s p 的内部r a m 中,然后在d s p 中对荧 光信号( l i f ) 进行实时监测,设定好门限,两个通道将不断循环采集2 k 数 据,直到通道一中的荧光信号达到了预先设定的门限值,再开始采集后续的 6 k 数据,最后对通道一中的8 k 荧光信号进行一系列计算,得出荧光信号中 的脉宽和峰值等数据,另一方面对通道二中的8 k 多普勒信号信号进行傅里叶 变换后得到多普勒信号的频谱,最后将在d s p 中计算所得到的数据传输到p c 上,在上位机软件中进行显示。 为能够达到系统对于激光激发叶绿素荧光和激光多普勒信号的要求,本系 统的技术要求指标如下: ( 1 ) 双通道同步采集;( 2 ) 1 6 b i t a d 分辨率;( 3 ) 1 m h z a d 转换频率; ( 4 ) 5 1 2 k h z 最高频谱分辨力;( 5 ) 具有独立的逻辑控制模块进行逻辑控制; ( 6 ) 具备通信接口,能满足数据通信实时性、有效性;( 7 ) 具备数据处理后 显示功能。 2 2 系统整体结构 本系统总体分为模拟部分与数字部分,具体为数据采集模块,d s p 处理器, 逻辑控制模块和网络接口模块。系统结构框图如图2 - 1 。 数据采集模块:a d 转换器完成经过运放处理的采样电信号的模数转换, 成为d s p 能够处理的数字信号,以便对其进行处理得到有效信息。 d s p 处理器:负责对于接收信号的数字信号处理,本系统中主要完成对于 采集信号的f f t 算法。 基于d s p 和网络接口的数据采集系统设计实现 图2 - 1 系统结构图 逻辑控制模块:控制a d 选通;对系统数据采集和信号处理的同步控制 以及其它逻辑控制,使系统正常工作;负责译码以及电平转换工作以保证不同 模块之间的无缝结合。 网络接口模块:负责完成数据在处理器与上位机之间的通信,使被处理后 的数据能够能直接为人所用。 2 3 系统工作原理 本系统要采样处理双通道内的中频信号,当单路信号经运算放大器后处理 后转变为差分信号被送入a d 转换模块,然后模数转换器将模拟信号转换为 数字信号,主处理器会分时选通两路通道,从而完成荧光信号和多普勒信号的 数字信号传输,在d s p 中会实现时域数据的快速傅里叶变换算法得到频谱数 据。c p l d 完成d s p 的地址译码实现两片a d c 的分时选通,并做好d s p 与 r t l 8 0 1 9 a s 的电平转换工作。网络接口模块负责完成d s p 与上位机之间的数 据通信,使处理后的频谱数据能够送到上位机程序显示。 2 4 本章小结 本章着重介绍了系统所需具备的指标,给出了系统的总体设计架构并简略 的说明了系统的工作原理。 基于d s p 和网络接口的数据采集系统设计实现 3 系统硬件设计 在第二章中介绍了整个系统是由数据采集模块、逻辑控制模块、数据处理 模块和网络接口模块组成,下面将分别阐述各个模块的电路设计。 3 1 数据采集模块 - 数据采集模块的主要工作是将传感器传来的采集信号经运算放大器放大、 滤波、采样、a d 转换然后将转换后的信号送入数据处理模块之中。 3 1 1 运算放大器 一般来说从传感器送过来的信号相对较弱,因此在a d 转换模块前端需要 运算放大器对信号进行放大以便对其后续处理,在此有两种a d c 缓冲器的方案 【刀,这两种方案下图所示: 2 2 0 f 一 、 2 2 p f ? 图3 - 1a d c 缓冲器方案一 ” 上图中的t h s 4 5 0 3 具有输出共模输出电压控制端,带宽为3 7 0 m h z ,供 电电压为+ - 5 v , 1 2 v 1 5 v 可选择;两个输入端口的共模输入范围为4 v 州; 差模输出电压摆幅为+ - b y ,共模抑制比为8 0 d b ,输入阻抗为1 0 0 mq ,静态 电流2 8 m a e 引。 基于d s p 和网络接口的数据采集系统设计实现 v 粕 2 、,c 0 , v 劓 2 v o o 图3 2a d c 缓冲器方案二 方案二中的0 p a 2 8 2 2 是双路宽带低噪声运算放大器,其最高单位增益频宽 为5 0 0 m h z ,最高增益带宽积为2 4 0 m h z ,最高输出电流为9 0 m a n 。 比较两种方案可以发现,使用全差动放大器t h s 4 5 0 3 能够降低电路设计 的复杂程度,满足a d c 的输入要求。在本系统设计中,运算放大器采用t i 公司的t h s 4 5 0 3 全差动运算放大器,其共模电压由外部芯片r e f 3 0 2 0 提供, r e f 3 0 2 0 的基本指标如下9 】: 最高输出电流:2 5 m a ; 最高精度:0 2 ; 低的静态电流:5 0 u a 最大; 其输出电压:2 0 4 4 _ 2 0 5 2 v ,其典型值为2 0 4 8 v 。 从其指标中可以看出r e f 3 0 2 0 能够符合t h s 4 5 0 3 的共模电压要求。 本设计中a d c 缓冲器的设计电路如图3 3 : 基于d s p 和网络接口的数据采集系统设计实现 h ; i s l n ls l n j印f r 1q 疋8 7 m i ) ll tr 17 + 仉i 价 r 3搿 8 净 净 一 j h ,v 珏彳+ v l u u i 1 j v 一肺 v - o c m2:二 v0 c m 三 h o i t h s 卯3 疋8 j | r 6v 飞耳 c h i p e n a b l e s c h i p e n a b l e s ,3 白: 一- 一n寸n叼卜 o -导 寸辞 露寻导 导 令尊导 口 ,、 陀c : 一一:nnnn nnn n n 一 = = j 一 v 一 ,w w h -m *j 缶 l l 卜 k 。 。j 。 。w_ _ 口_一n寸n口h口 冒e 一5 口口 口 口口ao口 。“ 站山 叫 团【d【日【d 山 l _ _ m bb f ib ,b扣b :zi h - 。一 _, :公 i王疆d z 、, 公 i 吐辎j 一 l e 一r 一- 。 。”p 。 ,。 。, i 礤。r ii 一一:r 圣t : 图3 3 4d s p 与r t l 8 0 1 9 a s 部分接口电路原理图2 r t l s 0 1 9 a s 的读控制引脚2 9 ( i o r b ) 与写控制引脚3 0 ( i o w b ) 与d s p 的读写控制引脚r d 与w r 相连接,其片选a e n 与d s p 的c e 3 片选引脚相 连被映射到d s p 的c e 空间3 。 r t l 8 0 1 9 a s 网卡控制芯片要通过网络隔离变压器h r 9 1 1 1 0 2 a 与网络介质连 接接入到局域网,i - 依9 111 0 2 a 是中山汉仁公司生产的网络变压器,它可以有效 抑制双绞线上的各类信号,隔离不同电平的网络设备以防止不同电压通过网络 传输损害设备,总体上起着抗干扰、低通滤波和隔离变压作用。 3 5 本章小结 本章主要介绍了系统的硬件各模块设计,包括数据采集模块,数据处理模 块,逻辑控制模块以及网络接口模块的芯片选型、介绍、外围电路以及接口电 路设计。在附录6 ,给出了本设计的p c b 版图。 基于d s p 和网络接口的数据采集系统设计实现 4 系统软件设计 4 1 数据采集 本设计中的逻辑控制模块c p l d 需要完成如下几个任务:在d s p 采集数 据之时分时选通两个a d c ,使两片a d c 的数据彼此之间不产生冲突;为两片 a d c 提供8 m 的时钟信号;完成d s p 与r t l 8 0 1 9 a s 的电平转换。 i 本设计共有两个数据采集通道,即两块a d c 与c 6 7 1 3 的e m i f 总线相连 接。硬件连接图如图4 1 ,主处理器采用分时读取的方式采集两片a d c 中的 数据,需要c p l d 做好a d c 读取地址的译码工作。在数据采集软件设计上, 采用混合编程的方式,在此过程中,用到了汇编语言函数a s m f u n c o 【3 叼来实现 数据的采集。 a d s l 6 0 5a d s l 6 0 5 。基儿鎏 产 、 ” , b m i f 总线 t m s 3 2 0 c 6 713 图4 1a d c 连接图 当数据采集开始时,系统要实现从a d c l 和a d c 2 中读取数据、对3 2 个 数据进行平滑处理、2 kb u f f 0 3 5 1 循环采集数据、门限判定等功能,图4 2 为循 环b u f f e r 的简单示意图,从图中可以看出新旧数据之间的替换方式。 基于d s p 和网络接口的数据采集系统设计实现 图牝循环b u f f e r 示意图 循环存储数据直至数据均值达到荧光信号的门限值,本方案中共设定了4 个循环b u f f e r 寄存器b 4 ,b 5 ,a 6 和a 7 ,利用它们来实现2 k 数据的循环存储 0 5 1 。采集到的荧光信号数据大小为1 6 b i t ,多普勒信号则通过f f t 算法被转化 为3 2 b i t 。 由于用来存储荧光信号的内存( l i f ) 中始终要存放最新采集的3 2 个数据 的平均值,因此在开始采集之前需要先采集3 2 个数据并计算它们的平均值放 到荧光信号内存中。图4 - 3 之中的两个指针会分别指向开始采集的3 2 个数据 内存空间的首尾。 飘”2髻+ 一 一;咆* :拦。 + ,? l ” 葛3? 护蟹1 搿 钟t7 班 彳弘二挚+ t j j m蔫 ,。 - 嚣 础 镌 j 3 2 辑一 9 , 嚆 :3 l3 2 罐 ,m ,z ,锄镗 。髫 l ,勿 裂茜 。私 兹 。磊 尤 ,甥 嘲 2 i c , j 锰:l - :井 图4 3l i f 内存工作图 图中的两种颜色的箭头都是循环b u f f e r 的指针,其中的深色箭头如果到 达了2 k 会自动跳转到循环b u f f e r 的起始位置,如此进行数据的循环采集。浅 基于d s p 和网络接口的数据采集系统设计实现 色箭头则指向了三十二个数据的起始地址,每当一个新数据被采集到,就将新 数据加到原来三十二个数据和上,同时减去最旧的那个数,这样始终会有最新 3 2 个的数据和,自然就有了最新3 2 个数据的平均值,这个平均值会被用来与 设定的采集门限值进行对比。 继续进行循环采样直至已采样3 2 个数据的平均值超过门限,然后进行一 次2 k 数据的循环采样使2 k 空间中充满数据,随后对这已经采集到均值超过门 限的2 k 数据放到l d v s i 中去,并将采集到的新数据放置到l d v s 2 中来,这样 以2 k 为一个单位不断的采集数据并存储,所有的已采集数据就会按时间的顺 序排列起来【3 6 】。 m t r o o o o l 徽i 勘0 i o 如吐糊 多瞽韵铬阱 9 乏龙穗弩 彩i 睁勒绍 够顿瓣 图4 - 4d s p 的内存数据存放结构 图4 - 4 为d s p 的内存数据存放结构,其中多普勒信号l d v 为时域信号,内 存范围o x l 8 0 0 0 - - o x l b f f f ,其格式为1 6 b i t 短整型有符号数;荧光信号l i f s 为时域信号,内存范围o x l c o o o - - o x l f f f f ,存放格式是1 6 b i t 短整型有符号 数;l d v f 为频谱信号。 卿 铷 2 2 淑 似 基于d s p 和网络接口的数据采集系统设计实现 4 2 数据处理 本设计的硬件平台是以t m s 3 2 0 c 6 7 1 3 d s p 芯片为核心处理器的,d s p 担 负系统的数据采集及处理的重要任务,在软件开发过程中要充分利用d s p 开 发工具。 4 2 1c c s 介绍 集成开发环境c c s 【3 7 】【3 8 1 ( c o d ec o m p o s e rs t u d i o ) 是t i 公司为t m s 3 2 0 : 系列d s p 设计的高度集成的软件开发和调试环境,它集成了环境配置、程序 调试、源文件编辑、跟踪和分析等一系列工具,能自动查找工程所需要的头文 件,并将它加入到工程中【3 9 1 ,c c s 为软件开发提供了极大便利,它基本涵盖 了d s p 软件开发的各环节,为用户完成编辑、编译链接、调试、数据分析等 提供了良好的工作平台,图4 5 给出了应用c c s 进行系统软件开发的总体流 程结构。 国 蓁麓h 刚= 。矧一。篓姜7 图4 - 5c c s 开发流程图 c c s 有以下特性删: 集成可视化代码编辑界面;集成代码生成工具;具备基本调试工具和断点 工具;探针工具;分析工具;数据的图形显示工具;提供g e l 工具;支持r t d x ( r e a lt i m ed a t ae x c h a n g e ) 技术;提供d s p b i o s 工具,增强对代码的实时 分析能力,如分析代码执行效率、调度程序执行的优先级、方便管理或使用系 统资源。c c s 支持片上的仿真功能,这样可以提供给开发者一个真实的系统 工作过程,从而缩短开发时间。 4 2 2 软件开发 t i 的c 6 0 0 0 系列d s p 有两种编程语言:c c + + 语言和汇编语言。t i 公 司采用公用目标文件格式c o f f 4 1 1 来简化的程序设计。在编写程序时,一般采 基于d s p 和网络接口的数据采集系统设计实现 用比较简单的c 语言编程,但当在一些比如对速度、效率有较高要求的特殊 场合,要采用能够和硬件直接对话的汇编语言,以便提高效率。在本设计中采 用混合编程的方法【4 2 】,即在对时间要求比较宽松的部分用c 语言编写程序, 在循环b u f f e r 这一比较复杂的部分还有一些计算算法中使用汇编语言编写程 序。由于采用c 语言和汇编语言混合编程,因此必须遵从两种语言之问接口 规范 4 3 1 。本设计中的c 语言主函数文件为c p l dt e s t c 文件,它的大体结构是 声明引用的头文件【删,如: 。 # i n c l u d e # i n c l u d e # i n c l u d e # i n c l u d e # i n c l u d e # i n c l u d e 以上声明是为了使用c s l 芯片支持库,c s l 是t i 公司封装好的类似于 a p i 函数库的一种芯片支持库,采用c s l 可以大量节省设计者在编程时所花 费的时间,c s l 将d s p 芯片内部寄存器的一些具体底层访问封装起来,形成 一个函数,提高用户的编程效率。采用c s l 函数编写的代码具有更强的移植 性,当然在程序中需要定义一些计算结果存放的具体地址,例如如下程序: # d e f i n em e m l i fo x 0 0 0 1c 0 0 0 i n t l6 木m e m l i f h e a d = ( i n t l 6 木) m e m l i f ; 4 2 3 快速傅里叶变换算法 系统需要对采集得到的8 k 数据进行快速傅里叶变换,运用f f t 算法能提 高傅里叶算法的运算速度,t m s 3 2 0 c 6 7 1 3 中存储的采集数据是3 2 位浮点型数, 算法中只要对采集数据的实数部分傅里叶变换,这样8 k 的浮点数据实际上只 占用6 4 k 字节的内存空间。由1 m 的采样速率和8 k 的采集点数,可以算出分辨 率为1 2 5 h z 。 本系统中f f r 算法的实现要用到d s p 6 7 x 库中自带的函数,因此要下载并 装载d s p 6 7 x 1 i b 使其可用。下面是f f t 算法中的部分代码: g e n _ t w i d d l e ( w , n ) ; 生成蝶形因子; 基于d s p 和网络接口的数据采集系统设计实现 b i t _ m v ( w , n 1 ) ; 位翻转蝶形因子; f o r ( ;) f o r 循环使能d s p 不断采集通道采集数据、进行f f t 处理、上位机读取的循环; 。 i f ( * r t l f l a 鼎x 0 0 0 0 0 4 0 0 ) 主机决定是否进行下一次采集处理,若数据 读取完毕则向d s p 的r t l f l a g 内存中写入0 x 0 0 0 0 0 4 0 0 ,使d s p 中的细循环有 效运行; d a t _ o p e n ( d a t _ c h a a n y , d a t _ p r i _ h i g h ,0 ) ; d a t _ f i l l ( x , b y t e c n t l ,& f i l l v a l u e ) ; 清零 d a t _ f i l l ( c , b y t c 2 n t 2 ,& f i l l v a l u e ) ; d a t _ c l o s e 0 ; * d s p f l a g = 0 x 0 0 0 0 0 0 0 0 ; d s p 准备f l a g * r t l f l a g = 0 x 0 0 0 0 0 0 0 0 ; 主机读取f l a g a s m f u n c 0 ; 嵌入汇编语言段 d s p f _ s p _ e f l t r 2 _ d i t ( ( f l o a t * ) a ,w ,n ) ; 引用d s p 6 7 库函数 b i t _ r e v ( a , n ) ; f o r ( i = 0 :i n :i + + ) t: b e i = s q r t ( a 2 ,l = i = i :a 2 木i + a 2 术i + 1 木a 2 木i + 1 ) :计算功率 谱密度),| _ ) 4 3 网卡软件 4 3 1 网卡工作原理 要实现网卡的收发功能必须编写好驱动程序,驱动程序在屏蔽底层硬件处 理细节的同时还为上层软件提供接口,使系统能顺利实现预设功能。d s p 对 r t l 8 0 1 9 a s 的软件编程包括初始化,接收控制和发送控制三部分,r t l 8 0 1 9 硬 件驱动的实现实际上是对其内部寄存器的操作。 基于d s p 和网络接口的数据采集系统设计实现 4 3 2 网卡初始化 为使网络接口控制器r t l 8 0 1 9 a s 处于接收或发送的准备状态,需要进行 网卡初始化,具体说来是要完成相关工作模式的寄存器设置,为此需要了解与 之相关的寄存器的含义,表缸l 为r t l 8 0 1 9 a s 寄存器的具体分布情况。主要 功能寄存器简要介绍m 1 : c r 为命令寄存器;i s r 为中断状态寄存器;i m r 为中断屏蔽寄存器;d c r 为数据配置寄存器;t c r 为发送配置寄存器;t s r 为发送状态寄存器;r c r 为接收状态寄存器;n c r 为冲突个数寄存器:r s r 为接收状态寄存器;b n r y 为边界寄存器;t p s r 为发送页开始寄存器;c l d a 0 ,1 为本地d m a 地址寄 存器;p s t a r t ,p s t o p 为接收页开始、结束寄存器;t b c r 0 ,1 为发送字节 计数器;c r d a 0 ,1 为远程d m a 地址寄存器;r s a r 0 ,l 为远程d m a 开始 地址寄存器;r b c r 0 ,1 为远程d m a 字节计数寄存器;c n t r 0 ,l ,2 为物理 帧错误计数器、c r c 校验错误计数器、包丢失计数器;p a r 0 5 为物理地址寄 存器;m a r 0 7 为广播地址寄存器。 表4 1r t l 8 0 1 9 a s 寄存器表 in of h e x )p a g e 0p a g e lp a g e 2page3 1 r ln v l瓜 q珏u瞰lm 1 0 0 c rc rc rc rc rc r 0 1 c l d a op s t a r tp a r op s t r :r 9 3 1 6 c r9 3 4 6 c 足 0 2 c 乙d a lp s t o pp a r lp s t o p 8 p a g eb p a g e 0 3 b n l t yb 嬲p & r 2 c o n f l g o 0 4 t s rt p s rp a r 3t p s r c o n f i g lc o 烈f l g l 0 5 n c rt b c r :on j 江1 4 c o n f i g 2c o n f i g 2 0 6 f 正ot b c r lp a r 5 c 0 n f i g 3c o n f l g 3 0 7 i s r矾a ;r r t e s t 0 8 c r d a or s a r o m a r o c 戤、 :钳矿 0 9 c r d a lr s a r lm a r l h l t c l x 0 a 8 0 i 9 丑) o r b c r om a r 2 o b8 0 1 9 i d l r b c r lm a r 3 毋v 豫 0 c r s rr c rm a r 4i 泛rf m w p o d c k n t c rm a r 5t c r c 0 n f i g 4 o e c n t r ld c rm 蜥d c r o f c 闷2呶 m a r 7涨 1 0 1 7 r e m o t ed m ap o r t 1 8 一l f r e :筻tp o r t 上文介绍的寄存器是在编程过程中需要用到的一些寄存器,在表中粗斜体 的寄存器表示在标准的n e 2 0 0 0 的适配器中不支持【4 7 1 ,它们是由r t l 8 0 1 9 a s 自己定义的寄存器。 基于d s p 和网络接口的数据采集系统设计实现 网卡0 x 1 8 h o x i f h 的8 个地址均为复位端口,对其中任何一个端口读或 写都会使n i c 复位,一般从0 x l8 h ,0 x l a h ,0 x l c h ,0 x l e h 几个偶数地址中 选择一个作为复位端口,因为并非所有的以太网控制器都支持0 x 1 9 h ,0 x l b h , 0 x l d h 这些奇数地址的复位。中断状态寄存器i s r 中有与复位相关的标志位是 r s t ,若网卡正常复位,该位会置为l ,可以通过检查r s t 的值来确认网卡是 否正常复位。 初始化主要是设置p a g e o 、p a g e l 的寄存器,下列为初始化的部分代码: r e 9 0 0 = 0 x 2 1 ;使芯片处于停止模式,准备初始化 p a g e ( 0 ) ; 选择页0 的寄存器 r e 9 0 a = 0 x 0 0 ;对r b c r0 清零 r e 9 0 b = 0 x 0 0 ;对r b c r1 清零 r c 9 0 c = 0 x e 0 ;使r c r 处于监视模式,此时不接收数据包 r e 9 0 d = 0 x e 2 ;将t c r 设置启用c r c 自动生成和自动校 验,工作在正常模式 r e 9 0 1 = 0 x 4 c ;页起始地址寄存器初始化 r e 9 0 2 = 0 x 8 0 ;页停止地址寄存器初始化,与起始地址构成 缓冲区 r e 9 0 3 = 0 x 4 e ;页边界地址寄存器初始化 : r e 9 0 4 = o x 4 0 ;发送页地址寄存器初始化 r e 9 0 7 = 0 x i f ;复位中断状态寄存器;清除全部中断标志 位 r e 9 0 f = o x 0 0 ;中断屏蔽寄存器初始化,使能数据包正确 接收中断,屏蔽所有中断 r e 9 0 e = 0 x c g ;初始化数据配置寄存器,普通模式,1 6 位数据d m a r e 9 0 c = 0 x c e ; r e 9 0 0 = 0 x 2 2 ; 将芯片设置为正常工作模式,与网络连接 启动芯片开始工作 基于d s p 和网络接口的数据采集系统设计实现 4 3 3 数据发送 本设计中采用查询方式来完成数据的接收与发送工作,主程序发送一帧数 据之前要先查看t s r 寄存器的值以判断上

温馨提示

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

评论

0/150

提交评论