当前位置:首页 > 测试测量 > 测试测量
[导读]0 引言 随着遥感技术的发展,遥感图像的分辨率也越来越高。飞行器上搭载的遥感成像设备也从过去的低分辨率向现在的高分辨率在转变。遥感成像设备分辨率提高的同时,也对飞行器的数据下传链路提出了更高的带宽要求。

0 引言
    随着遥感技术的发展,遥感图像的分辨率也越来越高。飞行器上搭载的遥感成像设备也从过去的低分辨率向现在的高分辨率在转变。遥感成像设备分辨率提高的同时,也对飞行器的数据下传链路提出了更高的带宽要求。而相应的地面数据接受设备,也需要具备对高速实时数据的存储和处理能力。同样在测试设备方面,为了对大容量存储设备进行高速数据的传输测试,相应的地面检测设备也应该具备高速数据的输出功能。因此,急需开发出具备高速实时数据接收和高速数据输出功能的高速数据采集存储系统。
    从目前此类系统的技术指标来看,往往只能达到100Mbps到150Mbps的数据接收和数据输出功能。而根据目前的应用需求来看,高速数据流的数据传输速率往往在200Mbps以上甚至达到300Mbps。对于这种高速数据流,目前的系统就难以连续无错的进行存储和处理,往往会因为数据传输速率超过系统能处理的极限,导致出现丢失数据或者系统功能不正常,状态不稳定等问题。
本文中介绍的高速数据采集存储系统的设计目标就是对传输速率最高为300Mbps的数据流进行无错接收存储,并能实现最高为300Mbps的高速数据流输出,以便于对大容量存储设备进行检测。
1 系统总体介绍
   高速数据采集存储系统是在32位的计算机系统上实现的,数据传输也是利用32位,33MHz的PCI总线来完成。数据存储是利用两块SATA接口的硬盘组成的RAID0磁盘阵列来实现的。整个系统的核心是数据传输接口卡,它完成外部数据到计算机内存的传输。然后运行的驱动程序再将内存中的数据存储到硬盘上。因此,整个系统的设计也就分为数据传输接口卡的设计和驱动及应用程序设计两大部分。
2 数据传输接口卡设计
    数据传输接口卡从功能上分为PCI总线接口,存储缓冲区,中断模块,传输控制模块,缓冲区控制以及DMA控制六个模块,如图2-1中所示。当工作于数据输入时,传输控制模块根据缓冲区情况启动传输,传输过程中缓冲区控制模块将数据读出送到PCI总线上,DMA控制模块控制着PCI总线上数据传输的进行。传输结束以后,中断模块发出中断信号提示驱动程序对传输到内存中的数据进行处理。下面主要介绍PCI总线接口模块,DMA控制模块,存储缓冲区模块以及传输控制模块几个核心模块的设计。
 500)this.style.width=500;" border="0" />

2.1 PCI总线接口模块的设计
      PCI总线接口模块完成的工作主要是PCI总线命令的解码,地址以及数据的锁存。实现PCI接口常用的方法是采用现成的PCI总线接口协议芯片(PLX905X系列等),如文献[2]中数据采集板的设计就是采用的这种方法。但是由于这些协议芯片往往不是针对空间应用而专门开发的,从可靠性方面考虑,不能采用这种设计方案。在本方案中,整个接口的设计是在使用Xilinx公司提供的LogiCORE PCI v3.0的IP核(IP Core)的基础上实现的。LogiCORE PCI v3.0是Xilinx公司提供的用于PCI总线接口设计的IP 核,在它的基础上可以根据实际应用的需要很方便的定制和实现PCI总线接口。由于IP 核本身实现了配置空间以及总线命令的解码和地址的锁存,所以设计者只需要专注于PCI传输状态机和本地控制信号的设计。采用这种实现方式虽然比直接使用PCI接口专用芯片更为复杂,但是整个设计可以集成于一片高可靠性的FPGA之中,从而有效的提高了整个设计的可靠性。
2.2 DMA控制模块的设计
    为了满足高速率数据传输的需要,并且在数据传输的同时不占用CPU,所以必须采用DMA的方式来传输数据。由于PCI总线上的DMA传输是通过PCI设备本身的DMA控制功能来完成的,而不是依靠总线上单独的DMA控制设备来实现,所以在设计时必须实现DMA控制模块。DMA控制模块在数据传输周期发出控制命令以及更新地址。其中传输地址控制可以依赖一组传输地址寄存器来实现,而传输的控制可以通过PCI传输状态机给出的信号来产生控制信号。
2.3 存储缓冲区模块的设计
    为了保证数据的连续不间断传输,每次传输只传输半个缓冲区的数据,而外部数据总是在两个半区之间切换储存,因此不会造成数据的丢失和不连续。
     一个典型的PCI总线上的写数据传输时序如图2-2中所示。首先用于传输的数据必须要提前从本地的缓冲区中读出,然后出现在总线AD信号线上,当IRDY信号和TRDY信号同时有效时(为低电平时),被目标设备获取。当传输结束时,最后一个从本地缓冲区中预读出的数据(如图中阴影的数据3),并不会被传输到目标设备。而本地的缓冲区控制模块会认为数据已经传输,这时如果不采取措施就会导致数据丢失。
 

500)this.style.width=500;" border="0" />
     在传输结束的时候,PCI总线传输状态机会切换到备份数据的状态,在这个状态下,缓冲区的控制模块会检测是否存在已经读出而未传输的数据,如果存在这样的情况,控制模块则采取措施防止数据丢失。对于双口RAM这种存储结构而言,数据读出以后,只要没有在同一地址写入数据,那么数据是不会丢失的,因此要实现前面的功能只需要简单的修改一下读指针目前指向的地址就可以实现。
2.4 传输控制模块的设计
     传输控制模块的核心是一个传输控制状态机。它通过检测存储缓冲区的情况,来控制传输的进行。当输入缓冲区中数据存储满或输出缓冲区空以后,自动请求一次数据传输,由此保证数据流的连续。
3 驱动与应用程序的开发
    驱动程序的开发是采用标准的WDM(Windows Driver Model)设备驱动程序模型,利用DriverStudio的驱动程序开发工具包来进行开发的。关于WDM的驱动程序模型,限于篇幅的原因就不作详细的介绍。
    一个典型的数据传输过程是这样进行的。首先驱动程序完成设备的初始化,如在内存中开辟缓冲区,硬件设备的初始化等等。完成初始化以后硬件就处于等待传输的状态。当用户通过应用程序发出传输数据的指令以后,驱动程序处理这一请求,并对硬件发出指令开始数据传输。由于数据传输的时间可能比较长,所以应用程序采用多线程的设计,传输线程会等待驱动程序在传输结束时发出的信号,而同时应用程序还能完成与用户的交互工作。当传输结束后,驱动程序向硬件写入停止指令,中止传输,并向应用程序发出传输结束信号。驱动程序对应用程序的通信是通过创建Win32事件来实现通信的。
4 设计的仿真和验证
     为了验证设计的正确性,首先需要对设计进行逻辑功能仿真。为了验证设计是否能正常的工作在PCI总线上,那么就需要仿真PCI总线上的各种总线事务,验证设计是否能响应各种总线命令。仿真是在Xilinx公司提供的PCI总线接口仿真实例的基础上实现的。按照PCI总线规范设计了一个简单的总线仲裁器,用来仿真主设备申请总线占用的过程。此外还设计了一个PCI总线上的从设备,用来仿真主设备与从设备之间的数据传输过程。此外还仿真了总线上对设备的自动配置过程。通过观察仿真波形图,发现设计完全满足PCI总线的数据传输规范,而且数据传输的结果正确。
    在仿真验证正确的基础上,将设计实现于Xilinx公司型号为virtexII2v1000-fg456-5的FPGA中。将数据接口卡安装于测试计算机上,利用数据接口卡的自回路数据传输功能以及单向输入输出功能,对系统进行了验证和性能测试,结果如表格1中所示。
从结果可以看出,当输入输出速率保持在160Mbps以下时,可以保证自身回路数据传输无错进行,但是当速率提高到200Mbps以后,传输就会出现数据丢失,导致接收的数据与发送数据不一致。因此,为了保证数据的无错传输,自身回路数据传输测试速率应该不高于160Mbps。

500)this.style.width=500;" border="0" />

  单向输入输出测试时,当输入速率或者输出速率小于300Mbps,系统的功能是完全正确的,而当工作于400Mbps的时候,则会出现数据丢失的情况。与自身回路传输测试的数据比较可以看出,当在自身回路数据传输测试速率为200Mbps的时候,由于此时系统接收和输出同时进行,共同分时使用总线,此时相当于单独接收或者单独输出测试时400Mbps的传输速率。两次测试结果的一致性也说明了测试的可靠性。
5 结语
    通过对系统的测试验证,证明了本设计能够完全满足高速实时数据流对数据采集存储系统的要求。为了方便以后进一步的工作,在测试时也对缓冲区大小和传输速率之间的关系进行了简单的测试。将缓冲区大小从8KB改变到16KB以后,传输速率只是稍微有些提高,对性能的改善十分不明显。结果说明简单的扩大硬件缓冲区并不会带来数据传输速率的明显改观,同时还会占用FPGA内部宝贵的RAM资源。究其原因在于,数据传输速率主要受到32位/33MHzPCI总线带宽自身的限制,以及硬盘读写的峰值速率的限制,而并不是缓冲区大小的影响。可以预见如果采用64位/66MHz的PCI总线并采用更多的磁盘来构成RAID磁盘阵列以提高磁盘读写速率,那么整体的性能会有很大的提升。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

如同造纸术的改良推动了人类文明的传承、蒸汽机的改进催生了工业革命,在人类历史上,创新的工具引领了影响深远的变革。今天,大模型发展如火如荼,但企业在大模型应用落地过程中仍需要解决幻觉、开发难度大、适配迁移难、试错成本高等系...

关键字: AI 数据处理 大模型

随着大数据时代的到来,数据处理成为了一项至关重要的任务。传统的数据处理方法往往面临着效率低下、准确性不高等问题,而机器学习技术的兴起为数据处理带来了全新的解决方案。本文将深入探讨机器学习在数据处理中的应用,并分析其优势和...

关键字: 数据处理 计算机 机器学习

随着信息技术的飞速发展和大数据时代的到来,数据挖掘和机器学习作为数据处理的两大核心技术,在各行各业中发挥着越来越重要的作用。然而,尽管数据挖掘和机器学习在很多方面存在交集,但它们各自具有独特的定义、方法和应用场景。本文旨...

关键字: 数据挖掘 机器学习 数据处理

随着信息技术的飞速发展,云计算作为一种新兴的计算模式,正在逐步改变着传统的数据处理和应用方式。云计算通过整合大量分布式计算资源,为用户提供高效、灵活、安全的数据存储和计算服务。在当前数字化、网络化、智能化的时代背景下,云...

关键字: 云计算 数据处理 智能化

随着信息技术的飞速发展,数据处理和传输速度的要求越来越高,从而催生了高速器件技术的迅速崛起。高速器件,也称为高频器件或高速集成电路,是指能够在高频或高速条件下工作的电子器件。它们在现代通信系统、计算机、雷达、电子对抗、高...

关键字: 数据处理 高速器件 通信系统

2月18日消息,据央视新闻报道,当地时间18日,国产商用飞机C919在2024年新加坡航空展的飞行预演上亮相,这是国产大飞机首次在海外试飞。

关键字: C919 航天航空 飞行器

随着信息技术的迅猛发展,服务器作为数据处理和存储的核心设备,在企业信息化建设中扮演着至关重要的角色。华为作为全球信息与通信技术解决方案的领先供应商,其服务器产品凭借卓越的性能、创新的技术和稳定的品质,在市场上赢得了广泛的...

关键字: 服务器 数据处理 华为

北京时间 12月26日,南京翼辉爱智物联技术有限公司推出的家庭超能盒——XSpirit 2 所搭载的 EdgerOS 迎来重大版本更新。在新版本中,增加了全新的投屏助手功能,并对已有的小智快存、爱智家、打印机和远程电脑四...

关键字: 物联网 数据处理 投屏助手

Analog Devices (ADI)诚邀公众和媒体参与第六届中国国际进口博览会,期待通过演示互动和专家研讨,探访ADI在工业自动化、汽车、医疗健康、消费电子、新能源与可持续发展等领域的创新成果,感受ADI如何通过边缘...

关键字: 边缘感知 数据处理 半导体

太阳能供电应用系统的设计需要考虑多个方面,包括太阳能电池板、储能装置、控制模块等。本文将介绍一种基于太阳能供电的应用系统设计方法,并从这几个方面进行详细阐述。

关键字: 太阳能 系统设计
关闭
关闭