基于FPGA的PCI数据采集及回放系统

更新时间:2023-05-18 17:51:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于FPGA的PCI数据采集及回放系统

南京信息工程大学

硕士学位论文

基于FPGA的PCI数据采集及回放系统设计

姓名:李云飞

申请学位级别:硕士

专业:信号与信息处理

指导教师:周希辰

20090501

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

摘要

数字中频技术因其稳定性、可靠性和灵活性高的特点而成为现代雷达接收和信号处理的重要技术,该技术是提高现代雷达性能的重要技术之一,也是雷达接收机发展的必然趋势。而与之相辅助的高速数据采集系统无论是对其前期仿真论证还是对其后期验证和算法改进都具有非常重要的作用。因此在现在雷达系统设计中,迫切需要设计一个高速雷达数据采集回放系统,它既可以作为数字雷达接收机一部分将雷达回波信号实时采集到计算机中进行分析;也可以将计算机中的雷达回波信号回放到需要试验的信号处理板上进行验证。

本文根据某型雷达中频回波信号的特点并结合以往研究的成果,提出了一种雷达中频信号的高速数据采集与回放系统的实现方案,并在此基础上完成了该系统的设计与测试。该系统的主要功能是实现雷达中频信号的高速采集、高速传输、存储与高速回放。

本文所讨论的系统的实现方案主要是基于PCI控制器的突发传输来实现雷达数据的高速采集与回放的。通过ADC对雷达中频回波信号进行采集,然后在FPGA中进行数字下变频,将产生的正交两路信号传输到计算机中,实现数据的高速采集;当需要回放时通过PCI的DMA读将计算机中的数据回放到FPGA中,再通过RocketlO进行板卡之间的传输,从而实现了硬件回放。使用FPGA的IPcore实现了PCI总线接口和信号处理与缓存,这大大提高了系统的集成度,增强了系统的可靠性。

本文最后详细介绍了本系统软件部分的设计,包括驱动程序和应用软件的设计,驱动程序主要为应用软件进行对硬件的操作提供了一个桥梁。通过对整个系统进行调试和试验,结果证明系统能够实现数据流速度达到65MB/s的雷达信号数据高速传输。

关键词:数据采集/回放,PCI总线,数字下变频,IP核,FPGA

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

ABSTRACT

Thetechnologyofdigitalintermediatefrequencyisbecomingimportanttechnologiesinthemodemradarreceptionandsignalprocessingbecauseofitsstability,reliabilityandhighflexibility.It’SoneoftheimportanttechnologiestOimprovemodemradarperformance,andwillbecertaintrendoftheradarreceiverdevelopment.Therelativehigh—speeddataacquisitionsystemplaysaveryimportantroleinwhethersimulationisdemonstratedformerlyorresultisvalidatedandarithmeticisimprovedlater.So,inthedesignofmodemradarsystem,weareexigenttodesignahigh—speedradaracquisitionandplaybacksystem.ItCanbringtheradarechosignalintocomputertobeanalysedasapartofdigitalradarreveiver,andalsocantransfertheradarechosignalincomputertosignalprocessingboardfortesting.

Basedonthecharacteroftheradarintermediatefrequencyechosignalandtheresearchachievementbefore,thepaperholdsupaschemeofhigh—speeddataacquisitionandplaybacksystembasedonradarintermediatefrquencysignal,andcarriesOUtthedesignandtestofthesystem.Themainfunctionofthesystemistherealizationofradarintermediatefrequencysignalonhigh- speedacquisition,highspeedtransfer,high-speedstorageandhigh-speedplayback.

TheimplementofschemethispaperdissertatedisbasedontheinitiatorbursttransfersofPCIinterfacecontrollertoachivethehigh-speeddataacquisition/playbackintheradar.Firstly,theintermedietfrequencysignalacquiredbyADCgeneratesquadraturesignals,whichisprocessedbyDDC.And,theyaretransferredtocomputertoachievethehigh speeddataacquisition.ThedatastoredincomputerisplayedbacktoFPGAwithPCI’sDMAreads,andtransferredtoanothercardfortestingbyRocketlOofFPGA.ThedesignimprovesintegrationandreliabilityofthissystembecauseoftheimplementofPCIinterfacecontrollerusingIPlogicoreandtheachievementofsignalprocessing&storageinaFPGA.

Thispaperdiscussesthedesignofsoftwareinthesystemindetailaboutdriverandapplicationinthelastchapter.Thedriverplaysapartofabridgeforapplicationtooperatethehardwarevisually.Finally,thissystemisdebuggedandtested.Provedthroughtheexperiment,itcanachieve65MB/sdataflowofradarsignals’high speedtransmittion.Keywords:Dataacquisition/Playback,PCIBus,DDC,IPCore,FPGA

基于FPGA的PCI数据采集及回放系统

独创性声明

本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。本论文除了文中特别加以标注和致谢的内容外,不包含其他人或其他机构已经发表或撰写过的研究成果,也不包含为获得南京信息工程大学或其它教育机构的学位或证书而使用过的材料。其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。

学位论文作者签名:窿玄苫签字日期:

关于论文使用授权的说明

南京信息工程大学、国家图书馆、中国学术期刊(光盘版)杂志社、中国科学技术信息研究所的《中国学位论文全文数据库》有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文,并通过网络向社会提供信息服务。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。论文的公布(包括刊登)授权南京信息工程大学研究生部办理。留r从开f

口保密(——年——月)(保密的学位论文在解密后应遵守此协议)学位论文作者签名:耋玄盈签字日期:

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

第一章绪论

1.1课题研究背景和意义

软件无线电技术在通讯领域里的成功应用,为雷达信号的接收与处理提供了新的思路。而中频数字接收技术的日益成熟、可编程逻辑器件性能的极大提高和广泛使用为该技术在雷达中的应用提供了一个良好的平台。雷达信号中频数字接收带来的好处是,一旦信号被数字化后,随后的处理都将是全数字的。因此不会存在模拟电路中的温度漂移、增益变化或直流电平漂移等现象,因此目前中频数字接收机已经被广泛运用于雷达系统【¨。

中频数字接收机很重要的一部分就是对雷达信号的采集与传输。数据采集为雷达视频回波信号数字化处理、远程数据共享,为军事分析、预报气象灾害、处理交通事故等方面应用提供了重要的技术手段。另外,由于雷达信号波形和信号处理过程越来越复杂,只有对实战环境下的雷达目标回波信号有深入的了解,才能保证信号处理方法的准确性和可靠性。因此,需要将雷达目标中频回波信号实时采集记录下来,进行分析和研究。

由于现代雷达信号形式复杂,且具有全相参、宽带、大动态的特点,为了不丢失数据,保证不损失雷达目标回波信息。因此对雷达信号数据的采集设备必须满足高精度、大动态、高速率的要求。由于传统的数据采集设备很难满足这三个条件,尤其是传输速率较低,在对数据采集要求苛刻的场合下难以满足高速连续采集。随着PCI局部总线技术规范和应用的日趋成熟,采用PCI局部总线采集数据的方案逐步得以实现并应用。

同时在实际的工作需求中为了验证新开发的雷达信号处理板的性能指标,加速新产品的开发速度,经常要为新设计的雷达信号处理板提供可编程的测试信号。即通过应用程序的控制,按照一定的要求将储存在PC机硬盘中的实际采集的雷达回波信号或仿真数据实现快速回放(硬件回放),以模拟真实的雷达工作环境,从而为信号处理板提供实验室调试手段。减少了实际雷达的开机试验次数,节约了时间,降低了开发成本。

基于以上研究背景,本文设计了基于FPGA的PCI数据采集及回放系统,系统设计采用以Xilinx的FPGA为核心,FPGA实现对ADC传输过来的信号进行数字下变频,采用光模块与实际系统对接,使用DriverWorks、DDK和VC++开发了系统的软件部分,实现系统的可视化操作。同时运用成熟的PCI总线数据传输技术,实现高速数据采集功能,并具有把雷达信号数据进行快速实时回放的功能。该系统具有稳定可靠、传输速率高,性价比高等优点,在雷达工程中具有广泛的应用前景。

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

1.2本课题研究现状

在雷达制导方面,需要高速、高精度地大量获取目标回波数据,并进行实时处理以完成对运动目标的检测和识别。因此,近几年来,雷达的数据高速采集、记录设备研制和相关技术研究都取得了巨大的进展,使高速数据采集记录技术的研究达到了很高的水平。相关的科研院所、公司都在沿着不同的技术路线进行着深入的探索和研究。一般情况下都是沿着两个发展方面,一方面是将采集的数据直接写进存储设备;另一方面就是通过PC机的总线将数据存入PC机硬盘。现在从两个方面对高速采集技术的发展情况作扼要介绍。

1.基于专用接口。目前国外一些专业的高速数据采集记录设备研制和生产公司都有

高性能的产品出现,并且在数据率、传输路径和存储记录方式上都取得了较大的

突破。通过将数据采集前端与数据记录存储单元之间采用数据采集专用的高速数

据传输接口(如FPDP或FPDP2接口)和专门设计的磁盘阵列控制卡负责对磁盘阵

列的存取控制。主要代表产品有Conduant公司的BigRiver系列记录设备和

Amazon公司的高速磁盘阵列卡采集记录设备。这种技术方案比较成熟,采集记

录数据率可达到200--400MB/s,但设备量较大。数据存储也已经不再局限于到采

用SCSI磁盘阵列实现海量存储,为了提高存储容量和性价比,ATA和SATA接

口的普通商用硬盘已经在高速数据记录磁盘阵列中得到广泛应用。

2.基于标准总线。基于标准总线并带有高速DSP的高速数据采集板卡产品也非常

多,技术先进、市场主流的厂商主要有SpectrumSignalProcessing,SPEC,Signatec,

Acquisitionlogic,Ultraview等公司。例如Signatec推出的A/D板卡PDAl2A采样

率为125MSPS,分辨率为12b,信号带宽由DC-、一50MHz。可通过SAB总线

(SignatecAuxiliaryBus)以250MB/s的速率向其它处理、回放或存储器件传输数

据。还能通过PCI总线DMA模式以100MB/s速率传输数据。Ultraview公司制造

出基于PCI总线的采样率为1.25GMSPS、8b数据采集卡,型号为AD.1250DMA,

其存储深度为8GB。在66MHz和64b数据宽度下,PCI总线DMA模式向主机

传输数据速率可达320MB/s。虽然这些国外的设备度很先进,但是价格昂贵。

在国内研究方面,近年来,随着国防和民用的大量需求,许多科研院所对数据采集工作亦越来越重视,于是,数据采集技术研究取得了突飞猛进的进步,高速高精度AD,LVDS、光纤、FPDP接口传输,以及RAID技术的采用,都很好的促进了数据采集的研究开展和实际应用,目前国内的主流研究主要集中在由USB、PCI总线传输,由SCSI、SATA磁盘阵列进行存储的方法来研制采集记录设备,采集速率在几十至上百MB/s不等的研究水平,有的实现了更快的采集速率[21。相对其它高速数据采集系统而言,基于标准总线、具有海量数据存储深度、高速DSP

基于FPGA的PCI数据采集及回放系统

能力和高速A/D所组成的高速数据采集系统会成为以后雷达数据采集发展趋势。对于不同应用领域不同的应用环境和要求,系统的这四个组成部分会有所区别。

雷达同步数据回放系统作为现代雷达信号处理性能测试设备,显得特别重要,也是一个必要条件。数据回放系统为充分利用雷达外场试验数据对试验效果进行评估提供了一条新的技术途径。国内外对数据回放系统的研究与实现上主要是采集与回放分开。采集或回放卡一般都是往的精度,速度和多通道上发展。而基于PCI数据采集与回放功能于一体、且具有数字信号处理的国内的产品不是很多,稳定性不是很高。而国外的产品价格又很高。基于此,设计一个稳定可靠、性价比的数据采集回放系统在雷达系统设计中是很有意义的。1.3课题研究的主要任务

本论文结合雷达高速数据采集与回放技术的发展和实际应用情况,围绕采集回放数据高速率、实时性以及低误码率的主题来设计本系统,系统主要基于FPGA实现雷达回波的中频正交化和数据的快速传输。本论文主要从以下几点进行阐述:

1.

2.

3.

4.介绍了传输数据的PCI局部总线协议,为后面开发PCI控制器打下理论基础。详细介绍了基于FPGA的PCI数据采集回放系统的总体设计和各分系统的硬件设计。完成了PCI逻辑控制器的设计,并给出了实验数据及调试结果。讲述了系统的软件设计流程,包括驱动程序的设计和应用程序的设计。

基于FPGA的PCI数据采集及回放系统

第二章PCI局部总线规范

2.1PCI局部总线概述

PCI的含义为外设部件互联(PeripheralComponentInterconnect)。由于当时现有的MAC的技术标准的不公开和对EISA总线所出现的瓶颈一只能有限地支持突发传输等原因。在1991年,Intel公司提出了高性能的PCI局部总线的定义,并与IBM、Compaq、AST、liP等100多家计算机公司进行了合作。在1992年6月22日推出了PCI局部总线标准1.0版技术规范,随后2.0、2.1、2.2版本的技术规范陆续发布,目前最新的技术规范是2001年10月推出的3.0版本。

PCI局部总线是当今PC领域主流的局部总线标准,由于其独立于CPU的架构,而与CPU的时钟无关,因此用户可以将一些高速外设如网络适配卡、图形卡、硬盘控制器等从ISA总线上卸下,而通过PCI局部总线直接挂接在CPU上,使之与高速的CPU总线相匹配,从而打破了数据I/O的瓶颈,使高性能的CPU得以发挥。

2.2PCI局部总线的主要特点

PCI总线是微机上的处理器/存储器与外围控制器件、外围接口卡之间的互联结构,它规定了连接协议、电气、机械以及配置空间规范。PCI总线的主要特点是:

(1)传输率高:PCI局部总线在33MHz的时钟频率下,对于32位的数据通路可以达到132MB/s;64位的数据通路可达264MB/s。对于64位的66MHz时钟频率的PCI总线,数据传输率可达528MB/s;

(2)线性突发传输:减少了地址的操作,更有效地利用总线的带宽来传输数据,可以确保总线满载数据;

(3)采用独立于处理器的结构:不受制于系统所使用的微处理器的种类,不同的总线之间可以通过相应的桥芯片来转换;

(4)总线主控及同步操作:总线主控是一般总线功能,可以让任一具有处理效能的外设暂时接管总线,以加速执行高吞吐量、高优先次序的任务。PCI独特的同步操作功能可确保微机处理器与这些总线主控同时操作,无须等待后者完成任务;

(5)自动配置功能:每个PCI设备有256字节的配置寄存器,可以实现设备的即插即用:

(6)存取延误小:为兼容的外设提供快速的存取时间,存取延误极小,大幅减少外设

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

取得总线控制权所需时间;

(7)经济性:具有32位或64位地址数据多路复用的同步总线,总线引脚数少,对于总线目标设备只有47根信号线,对于主设备最多只有49根信号线,经济利用总线信号,降低成本。

2.3基于PCI局部总线的系统结构

图2.3.1为基于PCI的一个比较典型的系统框图。由图可见,PCI总线通过一种称之为桥(Bridge)的接口与系统各部分相连。桥的主要功能是在2种不同的信号环境间进行转换,并向系统中所有的主控制器提供一致的地址映射。按照功能区分,桥大致分为4类:

(1)Host-to.PCIBridge:连接处理器子系统(包括主处理器、高速缓存和存储器)

和主PCI总线,使PCI独立于处理器。也正因为如此,PCI还不能说是真正

的局部总线。

(2)PCItostandardbusBridge:连接PCI和标准I/O总线,如ISA、EISA或MCA,

在2种总线间进行转换。

(3)PCI.to-PCIBridge:将主PCI总线连至次级PCI总线,突发PCI总线的负载

限制,实现总线扩展。

(4)I/OController:在PCI和I/O协议间进行转换。图2.3.1中的图形、SCSI、局

域网和调制解调器的I,,o控制器均属于这一类。

另外,PCI还以各种变化形式出现在不同的系统中。如PCISIG发布了一种与PCI兼容的适用于便携机的总线连接规范;PCMCIA采用一个PCI总线规范的子系统来定义一种适用于PCMCIA卡的32位高性能接口。

图2.3.1基于PCI局部总线的系统框图

基于FPGA的PCI数据采集及回放系统

CstpurretnI;乏

南京信息工程大学硕士学位论文

2.4PCI局部总线操作

连接在PCI局部总线上的设备可以分为:主设备(master)和从设备(target),并且PCI支持多个主设备,主设备可以控制PCI总线、驱动地址、数据及控制信号;而目标设备则不能启动总线操作,只能依赖于主设备向它传递或从中读取数据。

2.4.1PCI局部总线信号定义

’’一一…’一…’’。一

_‘

(螂hoo]

Address.j

&Data(C/BEFJ::0臀::

\,

,::/3、蛔e3::。习ClBEI-/::4]雌>)、64-&t\Extension。‘DAD,/.,/PAR¨REQ64掌、./、CoA¨仁叠\<^cKu T口nV盘、LPCI尹/InterracelRnY盘、。STOPt:)ControB‘、

l——,<CoMPLIANTDEVlCE《 舱n>;笛:孑INTA蠢、L、DEVSEL■、L

In.完l:IL、;

声ⅢT嘣INT拳TB<}R脚g篓嚣::乏epoFong(r瑚lst6rs∞叻C;jZ<”州-……肋胁塑{《黧、

System{口i倒(TDl/、TDO、\l<TCK)TMS,r刍./TAG1149.j‘aF-EE

)TRST#

图2.4.1PCI局部总线信号

图2.4.1按功能对主设备和从设备进行了分类,群表示低电平有效,其余则是高电平有效。

信号类型定义:

矾:输入。

oUT:输出。

T/S:tri.state

s/r/s:inpuVout,三态双向信号。tri.state,持续的并且低电平有效的三态信号。在某一时刻仅能由一sustained

个主设备驱动它。

O/D:opendrain,漏极开路信号,以线或形式允许多个设备驱动和共享。

信号按功能分组进行介绍。

1.系统引脚

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

CLKIN:系统时钟,其频率范围为0~33MHz或0,-66MHz。对于PCI的信号,除RST#、INTA撑、INTB#、INTC群、INTD#之外,其余信号都在CLK的上升沿。

RST#IN:系统复位,用来使PCI专用的特性寄存器、配置寄存器、定序器、主设备、从设备以及输出驱动器恢复为规定的初始状态。每当复位时,PCI的全部输出信号一般都应驱动到第三态。ru三O#GWr#必须同时驱动到第三态,不能再复位期间为高或低。为防止AD、C/BE#及PAR在复位期间浮动,可由中央资源将它们驱动到逻辑低,但不能驱动到高电平。

2.地址数据线

AD[31:0]T/S:地址、数据复用的输入输出信号。一个总线交易由一个地址期和一个或多个数据期构成。在FRAME#有效时,是地址期:在IRDY#和TRDY#同时有效时,是数据期,当IRDY#有效时是写数据稳定有效;当TRDY#有效时是读数据稳定有效。PCI局部总线支持突发方式的读写功能。

C/BE[3:0]#T/S:总线命令和字节使能复用信号线。在地址期内,这四条线传输的是总线命令;在数据期内,他们传输的是字节使能信号,并在整个数据期中有效,用来确定AD[3l::0】线上哪些字节为有效数据。

PART/S:奇偶检验(PCI是偶校验)

3.接口控制信号

FRAME#S/T/S:帧周期信号。由当前主设备驱动,表示当前主设备一次交易的开始和持续时间。FRAME#有效代表总线传输的开始;FRAME#存在期,表示数据传输的继续进行;FRAME#无效代表是最后一个数据周期。

IRDY#S/T/S:主设备准备好信号。由当前主设备驱动,该信号的有效表明发起本次传输的设备能够完成交易的当前数据期。在读周期,该信号有效时,表示主设备已做好接受数据的准备。在写周期,该信号有效时,表示有效数据已提交到AD[31::0】线上。

TRDY#S/T/S:从设备准备好信号。由当前被寻址的从设备驱动,该信号有效表明从设备已做好完成当前数据传输的准备工作。也就是可以进行相应的数据传输。在写周期,该信号有效时,表示从设备已做好接受数据的准备。在读周期,该信号有效时,表示有效数据已提交到AD[31::01线上。

STOP#S/T/S:从设备发出的传输停止信号,要求主设备停止当前传输。

LOCK#S/T/S:锁定信号。当信号有效时,表示一个对桥的原始操作可能需要多个传输才能完成。(虽然PCI有这个功能,但不推荐使用它来锁定总线。)

IDSEL:INinitializationdeviceselect初始化设备选择信号,在配置读写期间用作片选信号。

DEVSEL#S/T/S:设备选择信号。该信号有效时,表示驱动它的设备已成为当前访问

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

的从设备。

4.仲裁信号(busmasteronly)

REQ#T/S:总线占用请求信号。该信号有效表明驱动它的设备要求使用总线。它是一个点到点的信号线,任何主设备都有其REQ#信号。

GNT#T/S:总线占用允许信号。用来向申请占用总线的设备表示其请求已获得批准。它也是一个点到点的信号线,任何主设备都有其GNT#信号。

5.错误报告信号

为使数据传输可靠、完整,PCI局部总线标准要求,所有挂于其上的设备都应具有错误报告线。

PERR#S/T/S.奇偶错误报告信号。反映的是数据传输的数据奇偶错误(除了特殊周期)。

SERR#O/D:系统错误报告信号。反映的是地址奇偶错误,特殊周期的数据奇偶错误,和系统的严重错误。

6.中断信号

INTA#,INTB#,INTC#,INTD#O/D:中断信号A,B,C,D。中断在PCI局部总线中是个可选项,并且中断信号属电平敏感性,低电平有效,使用漏极开路方式驱动。同时,此信号的建立和撤销与时钟不同步。对于单功能设备,仅使用INTA#。多功能设备才会用到其它中断信号。

7.其它信号

PRSNT[I:2】撑IN-卡存在信号。这个信号是向主板反映插槽中的板卡是否存在,并且反映它的功耗情况。这个在硬件设计时要注意,至少一个接地。对于扩展板必须指明板上电源功耗的最大值,而系统无论是5V或是3.3V电源线上都必须能满足这个功耗,表2.4.1给出了扩展板上PRSNT[1:2】挣引脚的设置。

表2.4.1PRSNⅣ引脚的设置定义

PRSNTl孝PRSNT2挣扩展板配置

不存在扩展板

有扩展板,最大功耗为25W

有扩展板,最大功耗为15W

有扩展板,最大功耗为7.5W开路地开路地

CLKRUN#INO/D开路开路地地S/T/S:时钟运行信号。该信号可选,用于mobile场合,没有在连接器中定义。

M66ENIN:66MHz使能信号。

PME#O/D:电源管理事件信号,跟电源管理有关的,该信号可选。一般不使用,切

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

记:不要将它置低。

3.3VauxIN:辅助电源信号,提供3.3V辅助电源,跟电源管理有关,该信号可选。

有关PME#和3.3Vaux的详细描述可以参考《PCIBusPowerManagementInterfacespecification))。

8.64位扩展信号

AD[63:32】T/S:扩展的32位地址/数据多路复用总线。

C/BE[7:4]#T/S:总线命令和字节使能多路复用线。

REQ64#S/T/S:64传输请求,并且具有和F黜卅E捍一样的时序。

ACK64#S/T/S:从设备将用64位传输,并且和DEVSEL#具有一样的时序。

PAR64T/S:高位双字的奇偶校验。

9.JTAG信号

TCKIN:测试时钟信号。

TDIIN:测试数据输入信号。

"1"130OUT:测试输出信号。

TMSIN:测试模式选择信号。

TRST样IN:测试复位信号。

64位扩展信号和JTAG信号暂未使用,具体参见参考文选[5】的相关章节。

2.4.2PCI地址空间

PCI局部总线定义了三个物理空间:内存地址空间、I/O地址空间和配置地址空间。前两者是普通的计算机系统地址空间,而配置空间是PCI所特有的。这些空间的编址方式是分布式的,每个设备对自己的地址空间负责。PCI总线支持正向编码和反向编码两种类型。从而省去了中央译码逻辑,其中最引起人们兴趣的是配置空间。PCI定义的配置空间的目的在于提供一种配置关联,这种关联适合于目前或将来的系统配置机制,从而使所有与PCI兼容的设备实现真正的“plug.and-play”。根据PCI总线规范【3】,除了主总线桥之外,所有的PCI设备都必须实现配置空间,PCI总线仲裁器首先访问一个目标设备的配置空间,以确定总线上存在的设备,主机Host才能继续对这个目标设备进行其他类型的访问,如内存访问、I/O访问。配置空间是长度为256字节并且有特定记录结构或模型的地址空间,可以在系统自举时访问,也可在其他时间访问。该空间分为头标区和设备有关区两部分,设备在每个区中只需实现必要的和与之相关的寄存器。由于不是完全实现PCI的所有接口功能,所以本节只对那些涉及到本设计所要用到的配置寄存器进行介绍。

直接影响到PCI设备特性的配置寄存器集中在配置空间的前16个双字上,该区域位

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

于PCI配置头,如图2.4.2。目前PCI2.3规范定义了三种配置头的格式,分别是头标类型0、头标类型l、头标类型2。

头标类型0:除定义头标类型l和头标类型2以外的所有PCI设备;

头标类型l:PCI.PCI桥设备,用于将两条PCI总线进行连接;

头标类型2:PCI.CardBus(主要用于笔记本的插槽式总线)桥,在PCCard规范中进行定义。

下面只对头标类型0进行扼要的介绍.

DevIceID

Statum

CIa8‘Code

BISTHead6r

TypeLatencyTIrloel-Vendol"lDCommandRq“s|onCaCheSIze∞o帅alDa卧o

小1ine铺∞蚰

卟日帕e^棚州’0●Registers1

盘帅小

CardbusCIS

Sula-ystornPoInterVendorID22

3铀骱lDSularsyst●m曲嘶ExparmlonROMReservedBase^dan'曩’c鬻杞瞥,帅帅

m;昌寸mR●●-n,-dMnxLltMknGrit。哿掣ma啪

图2.4.2配置空间头标区

头标区中的“设备识别D”和“版本识别D”用来标明特定的设备和版本的。“供应商ID”是PCISIG分配给PCI供应商的,如果系统读取该寄存器返回值不是FFFFh,那么证明在当前查找的PCI插槽上存在~个PCI设备,否则就视为不存在,因此FFFFh的值不可以被用来标示设备。“类代码寄存器”的作用体现在查找新硬件的时候,就会根据类代码来自动判断该设备属于何种类型。但是PCI设备是在驱动程序的指引下工作的,而非类寄存器,它只是使设备更加规范而已。

头标区中的“命令寄存器”用于对PCI总线设备的PCI操作进行粗略控制。头标区中的“中断引脚”寄存器表明设备的中断送到桥接器的那一个中断引脚,如果没使用中断,该寄存器必须清0,本设计是用到了INTA挣中断。

头标区中的“中断线”寄存器表明该设各在主机中所占有的中断号(IRQ(卜IRQl5),由系统分配并写入。“基址寄存器”用来将PCI地址空间映射到本地地址空间,并确定是存储器还是的空间。

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

2.4.3PCI局部总线仲裁

PCI总线的仲裁机制是基于访问的而不是基于时间的,总线管理必须为总线上的每一个访问进行仲裁,即一个总线主设备要想在总线上进行访问,就必须提出仲裁请求。PCI局部总线执行中心仲裁方案,每个主设备都有自己的REQ#请求信号线和GNT#批准信号线,要想得到总线的控制权,必须履行相应的请求。仲裁是隐含的,即一次仲裁可以在上一次访问期间完成,‘使得仲裁的实现不必占用PCI总线周期。但是,如果在总线空闲期,就不一定采用隐含方式了[4】。

在任意时刻,可能有一个或多个PCI局部总线主设备要求使用PCI局部总线,以将数据传送给另一个PCI设备。每一个发出请求的主设备使其REQ#信号有效(低电平),通知总线仲裁器它正在请求使用总线。所以中心仲裁机构必须实现一定的特殊算法,因为它是最坏情况下的仲裁基础,通常采用轮转优先级、公平性等仲裁算法。在实施中,系统设计者可以选择或修改算法。

PCI局部总线仲裁主要利用REQ#和GNT#两个信号线实现,前者用于某一设备占用总线的请求,后者用于允许某一设备占用总线的应答信号。

总线仲裁规则基本要求如下

(1)对总线所有权提出申请的设备必须具备立刻开始总线周期的能力。如果被授予总线所有权后(GNT#有效),主设备不能开始总线操作,它应放弃所有权,而由中央仲裁器重新仲裁,如果该设备不放弃所有权,且在第16个CLK周期仍不能开始操作,中央仲裁器则认为该主设备为“死设备”,以后不再授予其总线所有权。

(2)被授予总线所有权的主设备应在8个CLK(推荐为2—3个)周期内,驱动AD[31:0】信号线和C/BE[3:O】信号线至稳定电平;在9个CLK(推荐为34个)周期内驱动PAR信号至确定电平。

(3)当一个主设备拥有总线所有权时(REQ群和GNT#都有效),若中央仲裁器想把总线所有权转交给另外一个主设备,它将置当前设备的GNT#无效,此时有二种情况:

①当前主设备正在进行操作(FRAME#有效),那么在当前主设备完成操作后,交回总线所有权。

②当前主设备处于空闲期(FRAME#和IRDY#均无效),它将立刻交回所有权。

(4)PCI主设备可在任何需要时刻对总线提出申请,REQ#有效后,也可以在任何时刻撤回申请。但在一个操作周期如果发生重试、断开、目标设备故障引起的操作中止,REQ#必须置为无效。

(5)若总线不是空闲状态,一个主设备的GNT#无效和下一个主设备的GNT#有效之间至少应有一个CLK周期,否则会在AD和PAR信号线上出现时序冲突。

基于FPGA的PCI数据采集及回放系统

南京信息工程大学硕士学位论文

2.4.4PCI局部总线数据传输

PCI总线的基本传输规则是突发传输方式。每次传输由1个地址周期和1个或多个数据周期组成。在地址期,C/BE【3:O]}i}为总线命令,表示当前总线操作的类型,表2.4.2列出了其中的一些总线操作命令(其他命令参考参考文献Ⅲ):

表2.4.2总线命令

C/BE[3:0]#

OOl0

001l

0110

011l

1010

10】1。命令类型说明I/O读(从I/o口地址中读数据)I/O写(向I/0地址空间写数据)存储器读(从内存空间映像中读数据)存储器写(向内存空间映像写数据)配置读配置写

在数据期,C/BE[3:0]#为字节使能,表示当前传输的32位数据中有哪几个字节有效。

图2.4.3和图2.4.4分别为PCI总线读写操作时序图。其中2个互相指向尾部的箭头表示一个转换周期(tttmaroundcycle),即某信号线由一个设备驱动转到另一个设备驱动之间的过渡期,这样可以避免两个设备同时驱动一条信号线所造成的竞争。PCI总线传输包含读、写和终止三个内容。

1、读传输:

在图2.4.3所示的读时序中,FRAME#有效表示读操作开始。FRAME#有效后的第1个时钟上升沿为地址期,把地址驱动到AD[31:o】上,CmE[3:0]#上出现的是读命令(如“0110”:存储器读)。当DEVSEL#有效表示已译码到所要交易的目标设备了。当主设备准备好接收数据时,置TRDY#有效。数据传输发生在IRDY#和TRDY#均有效时的时钟上升沿处,IRDY#和TRDY#两者中任何一个无效都将使总线自动插入等待周期。由FRAME#无效和IRDY#有效表示最后1个数据传输开始,此时,当TRDY#有效时,最后1个数据传输完成。

基于FPGA的PCI数据采集及回放系统

F1u删;、

C/BI蹦傩』卜口彳v\八fU、咚l三三D1争<基[D∈歪X垂三0书南京信息工程大学硕士学位论文;/{

Ⅱ江,Y群

DESEIJTRDY嚣

地址期致据期教据期数据期

图2.4.3PCI总线读交易时序图

2、写传输:

在图2.4.4所示的写时序中,由于AD[31:O】一直由主设备驱动,不存在切换驱动的问题,所以没有转换周期。除此之外,写传输和读传输类似,数据节拍完成的工作是相同的。

Cm肼

IRDW

TRDY聋

DESEU

地址期敷据期数据期数据期

图2.4.4PCI总线写交易时序图

3、交易的终止过程

数据传输过程中,主设备或从设备都可请求终止当前总线操作。通常情况下,主设备通过置FRAME#无效,IRDY#有效来表示最后一个数据传输;从设备则通过置STOP#有效来请求终止,然后由主控设备最终终止操作。这是因为交易的结束必须满足系统的要求并且应该是有秩序的,而这只有主设备才能做到。以下是主、从设备发出终止交易的情况。

(1)由主设备发起的终止

主设备提出的传输终止一般由三种情况:一、完成:这是最常见的情况,是指主设备已经完成了要做的事了。

基于FPGA的PCI数据采集及回放系统

二、超时:当主设备的GNT#信号无效并且其内部的延时计数器已满,从而不得不终止传输的情况。

三、主设备废止:在2.2版规范中,允许主设备在没有目标设备响应的情况下终止交易的情况。

(2)由从设备发起的终止

在大多数情况下,目标设备能够发出或者接收主设备请求的数据直到主设备终止

交易。但是,当目标设备不能完成请求时,它可以用STOP#信号发起交易终止。目标设备用STOP#信号和其它信号的不同组合来向主设备表明导致终止的情况。其中包括重试、断开和目标设备废止。

2.5PCI总线的电气特性

PCI局部总线的电气规范中提供了5V和3.3V两种信号环境,二者不能混合使用,但是通过设计是可以使5V的元件工作于3.3V的信号环境的,反之亦然。元件可以混合使用,但信号环境必须是5V或3.3V中的一个。

PCI总线对负载要求十分严格。总线上允许最多10个电气负载,直接连接作为一个负载,插卡作为两个负载,PC机上一条PCI总线通常只允许3个插卡。另外,1个边缘连接插脚只允许连接到1个元件引脚上,并且其负载不能超过10pF。任何超出以上限制的设计都需要1个PCI.to.PCI桥来保证系统的可靠性。

PCI总线采用无端连接方式,信号的传输通过反射波来实现。当总线驱动器驱动某一信号时,往往只将信号电平驱动到实际所需电平的一半,信号传送到终点后发射回来,从而使的电平加倍,达到驱动所需的电平。当总线工作于33MHz时信号往返的时间不得超过10ns,这种信号传输要求驱动器的输出阻抗与被驱动总线的特性阻抗相匹配。因此,PCI指定了设备I/O驱动所需的电压电流特性,特别是在点平转换瞬间的交流特性【31。

对PCI扩展卡卡到PCI元件的引脚之间的走线长度有如下限制:

(1)在32位板上的所有接口信号的最大走线长度为1.5inch。

(2)在所有64位板上,用于64位扩展的附加信号线长度最大为2inch。

(3)无论是32位还是64位板,其时钟信号线的长度为2.5i-0.1inch,并且只能连接到一个负载连接上。

2.6本章小结

本章着重探讨了PCI局部总线规范,对PCI局部总线的接1:3信号和总线操作做了较详细的论述。进一步了解了PCI局部总线的工作原理,为后面的设计奠定扎实的基础。

基于FPGA的PCI数据采集及回放系统

第三章PCI数据采集回放卡硬件接口设计

3.1PCI数据采集回放卡总体设计

3.1.1系统总体设计方案

数据采集回放卡整个系统的设计思路如图3.1.1所示,系统的整个设计可以简单的划分为应用层、内核层和物理层部分。应用层和内核层主要是由软件实现的。应用层采用VC++开发用户界面程序,主要为用户提供可视化的操作界面。内核层是基于DriverWorks和DDK开发的系统驱动程序,主要起应用软件与硬件之间的桥梁作用,把客户端的控制命令或数据流传到硬件中;把硬件传输过来的数据进行缓存。物理层主要是基于FPGA为核心,在FPGA中实现PCI控制器,通过PCI局部总线实现对雷达中频信号进行采集或回放。在本文对系统设计的讨论中主要采用自底向上的方法,从硬件设计开始逐步到最终的应用软件的设计。

用户软件

应用层I通过驱动与采集回放卡J

通信

基于DriverWorks+DDK

编写的内核驱动

内核层主要负责中断响应

Pcidriver.sys

物理层PCI采集回放卡用FPGA的IPCore实现

PCI逻辑

支持Memory/IO读写和

DMA传输姚甜哐困—t鞣璺

中黝l4虿—甚-l

图3.1.1系统总体设计

3.1.2数据采集回放卡硬件接口总体设计

系统主要由采集与回放两部分组成。在采集的时候由于考虑到雷达的动态范围、回波的中心频率和带宽,所以采用了14位的采样率100MSPSADC,因此将产生200MB/s的数据流,

基于FPGA的PCI数据采集及回放系统

而32位、33MHz的PCI局部总线是无法完成这么高的传输率的。因此必须在保证信号不失真的情况下对数据流进行降速。假如对所有雷达回波信号进行持续不问断的采样,在数字下变频的时候根据多速率信号处理理论必须进行较大抽取。还可以采用自动门限检测的方法来判断目标回波信号存在的区域,以实时控制数据采集系统仅对有效的目标回波信号数据进行采集。由于常规的脉冲雷达发射的是周期性重复的脉冲串,且脉冲信号的占空比~般不超过lO%。因此在雷达回波信号中,有用的目标回波信号的时宽也仅占雷达脉冲信号重复周期的一小段时间。由此,对雷达回波信号进行数据采集时,信号采样和数据存储可以仅限于存在雷达目标回波信号的时间段内。假如设某雷达发射脉冲信号的周期为T,雷达目标回波信号的宽度为T,同一方向上有N个目标,则采用自动门限检测方法控制高速采样区间后,在不降低对有用目标信号采集速率的条件下,采集数据的平均输出速率可降低T/(NT)倍。因此数据平均传输和存储速率的要求也下降T/(NT)倍。

本章将详细讨论图3.1.2所示的数据采集回放卡的各功能模块,基于FPGA的PCI数据采集回放卡由光模块、ADC模块和FPGA等模块组成,其工作原理是通过高速ADC将外部模拟信道(接收机送来的已调理好的模拟信号)的中频信号进行采样,先将采样数据存储在FPGA的FIF02(主要起跨时钟域的作用)中,然后再进行数字下变频,把得到的正交两路信号送给FIF03,当FIF03半满时,通知FPGA使其产生控制信号用来控制PCI控制器执行DMA传送,将数据写入到计算机内存中,这样就可以在计算机中对数据进行处理(存盘或数据处理)。对于回放则是把硬盘上的数据读到计算机内存中,尔后通过PCI传输到FPGA的FIF01中,然后通过光模块把数据送出去。也可以使用光纤实现数据采集,直接采集外部接收机传过来的光信号送到FPGA的FIF01中。当FIF01半满时启动一次突发写。下面将分别从采集和回放两路详细介绍各功能模块。

图3.1.2采集回放卡硬件系统框图

基于FPGA的PCI数据采集及回放系统

3.2模数转换器(ADC)模块

3.2.1ADC选型

在本系统设计中,直接对中频信号进行采样,然后进行数字下变频,那么前端的ADC的选择尤为重要,它将直接影响到后面数字信号处理的指标。因此在选择ADC的时候一般情况下要考虑如下一些情况:

采样时钟必须满足带通采样定理,以保证信号在采样后的频谱不会出现混叠。ADC转换器的整个模拟输入带宽不小于被采样信号的最高频率。根据接收机的动态范围确定转换位数,ADC转换位数越高,动态范围越大。为了降低数字下变频(DDC)单元中滤波器的设计(获得较宽的过渡带),所以

采样后的频谱间隔不能太小,因此在工程中条件允许的情况下尽量提高采样率,

这样也利于提高信噪比.

对于中频75MHz、带宽为5MHz的雷达回波信号,根据带通采样定理,理想情况下10MHz的采样率就能无失真的恢复出原信号。当然也要考虑DDC中的NCO(数控振荡器)的实现(在本系统中NCO只能做到50MHz)。首先分析一下经过ADC采样后带通信号的频谱。

中频带通

信号频谱

A/D采样

后的频谱

图3.2.1经刖D采样后的频谱变化

由带通带样定理可得:中频为五的带通信号被采样频率为Z采样后的正/负频谱周期性延拓且交替出现,只要采样后被搬移到两正频谱间的负频谱不与左右相临的正频谱交叠就可以使采样后的信号不失真。图3.2.1中平移的负频谱正好处于两相临的正频谱的之间。这时两边的过渡带宽度越大,那么设计低通滤波器时可以获得最大的过滤带,降低了对低通滤波器的设计要求。

那么使用100MHz采样时钟对5MHz带宽的75MH【z中频信号进行采样,满足带通采样定理的要求,可以保证信号经采样后的频谱不会出现混叠。因此在本系统中为了获得好的性能

本文来源:https://www.bwwdw.com/article/fgk4.html

Top