基于pci总线的任意波形发生器的制作方法

文档序号:6459867阅读:223来源:国知局
专利名称:基于pci总线的任意波形发生器的制作方法
技术领域
本发明涉及一种任意波形发生器,特别是可以满足通讯、视频和电视、电
信、雷达、超声波以及航空检测设备等领域各种波形信号应用,基于PC工总线
的任意波形发生器。
背景技术
任意波形发生器是信号处理领域中必不可少的仪器设备。任意波形发生器 在通信系统、测试系统等方面得到广泛应用。现有技术中任意波形发生器很多 不能产生快速、有效、连续而且易于定制的信号波形。现有任意波形发生器主
要有基于CPLD技术设计的,通过上位机软件设置产生波形,然后将波形数据下 载到AWG, AWG在CPLD的高速控制电路下将波形数据送高速DAC进行转换形成 波形的AWG任意波形发生器。该AWG任意波形发生器的工作过程是,首先接收 上位机送来的波形数字信号存储到静态存储器SRAM,然后启动控制电路从静态 存储器SRAM取出数据送DAC进行数摸转换,转换后的模拟信号送低通滤波器形 成波形。
另一种是申请号为200610154451.6,公开号为CN101017383中国专利公开 的一种基于FPGA的高速任意波形发生器,该任意波形发生器主要包括CPU、并 行数据相位生成部分、波形存储部分、插值与滤波部分、并串转换电路和DAC 等组成。其中并行数据相位生成采用并行处理,可以在一个时钟内同时生成多 个数据的相位,获得多个数据,然后再利用FPGA中的并串转换电路将数据依次 输出到DAC,由DAC将数据转换成模拟量。在一个时钟内能同时生成多个数据, 主要突破了 FPGA工作频率的限制,可以向DAC提供超过lGHz以上的数据采样率。我们知道,可以产生连续、不间断、样式不同的模拟信号,是任意波形发 生器的关键所在。但上述现有技术任意波形发生器的不足之处是不能产生快速、 有效、连续而且易于定制的各种高质量、复杂信号波形。

发明内容
本发明的任务是提出一种快速、有效、连续,而且与现有技术相比更为灵 活、并且可变、可控的任意波形发生器。
本发明的目的可以通过以下措施来达到。本发明所提供的一种基于PCI总
线的任意波形发生器,包括PCI总线,不依附于某个具体处理器的局部总线, 其特征在于,包括
一个连在电源和地之间的D/A转换电路;
一个含有应用层软件和驱动程序软件的CPU芯片,使用其中的高端数据处
理软件进行信号的仿真处理,然后将仿真数据直接放入应用层缓冲区;
一个包含有寄存器的PCI器件和插入在CPU与系统总线之间的PCI总线,是
在era和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这
一层的管理,并实现上下之间的接口以协调数据的传送;
一个具有多级缓冲的PCI控制器,利用它可使PCI总线上外设与CPU并行工
作;
一个连接在CPU和外设之间的桥接电路,主要功能是在两种不同的信号环境 之间进行转换,并向系统中所有的主控制器提供一致的总线接口,用于在PCI 总线和LOCAL总线之间传递信息;
一个与接口芯片连接可编程逻辑器件CPLD,主要功能是最大限度的进行本地 时序的调用,以达到最优的数据传输;当直接内存访问DMA传输开始后,首先对静态存储器SRAM1中数据进行传输, 然后通知可编程逻辑器件CPLD,启动地址计数器,将静态存储器SRAM1中的数 据送向D/A,通过数模转换产生模拟信号波形。
本发明相比于普通的波形发生器技术具有如下有益效果。 本发明提出了一种利用缓冲区快速交换数据,基于PCI总线的任意波形发 生器。该任意波形发生器可以快速进行数据更换,有效地保证空间信号的连续 性和多信号的快速切换。具有灵活、快速、可变、可控,精度高等多方面的优 势。由于其可编程性能优越,因此只要能够保证准确建立信号的数学模型,就 可以得到相应准确的模拟输出结果,从而为提供复杂的信号产生环境和高质量 的信号波形样式提供了有力的保证,并且能够满足各种高质量、复杂信号的需 求,从而减轻了由于环境因素和波形质量而影响到的研究精度。所述的应用层 缓冲区开辟了两块数据缓冲区,底层软件设计的驱动中,分块缓冲,分别对应 用层进行相应的数据缓冲映射,保证了硬件数据传输效果达到最佳效果。管理 器提供的信号缓冲,能支持10种外设,并在高时钟频率下保持高性能。应用层 缓冲区开辟了两块数据缓冲区,底层软件设计的驱动中,分块缓冲,分别对应 用层进行相应的数据缓冲映射,保证硬件了数据传输效果达到最佳效果。数据 的传输过程由应用层程序发起,软件应用层完全不需要耗费资源便能完成数据 的传输。而应用层软件可以在这个过程中进行数据的产生和调配。可以快速进 行数据更换,有效地保证了空间信号的连续性和多信号的快速切换。 本发明的有益效果还在于:
1. 传输速度快。最高工作频率33函z,峰值吞吐率在32位时为132Mb/s, 64位时为264Mb/s。
2. 支持无限猝发读写方式具有强大的数据猝发传输能力。读写时后面可跟 无数个数据周期。
53. 支持并行工作方式。PCI控制器具有多级缓冲,利用它可使PCI总线上外 设与CPU并行工作。例如CPU输出数据时,先将数据快速送到缓冲器中,当这 些数据不断送往设备时,CPU就可转而执行其他工作了。
4. 独立于处理器。PCI在CPU和外设间插入一个复杂的管理层,用以协调数 据传输,通常称之为桥。桥的主要功能是在两种不同的信号环境之间进行转换, 并向系统中所有的主控制器提供一致的总线接口。因此PCI总线可支持多种系 列的处理器,并为处理器升级创造了条件。
5. 至少可提供4种规格,可定义32位/64位以及5V/3.3V电压信号。3. 3V 电压信号环境的定义为PCI总线进入便携机领域提供了便利。
6. 采用的多路复用结构数据线和地址线,减少了针脚数。 一般而言,32位 字长、仅作目标设备的接口只需47条引脚,作为总线控制者的设备接口再加2 条引脚,并可有选择地增加信号线扩展功能。支持即插即用功能,能实现自动 配置。在PCI器件上包含的寄存器,上面带有配置所需的器件信息,使外设适 配器在和系统连接时能自动进行配置,无须人工干预。


为了更清楚地理解本发明,现将通过本发明实施例,同时参照附图,来描 述本发明,其中
图1是本发明的任意波形发生器硬件结构方框图。 图2是本发明的缓冲器映射图。
图3是本发明的仿真效果图。 图4是本发明的D/A输出仿真图。
具体实施例方式
参阅图l。任意波形发生器主要包括,D/A转换电路、CPU芯片、PCI总线、 PCI控制器、桥接电路、可编程逻辑器件CPLD、应用层缓冲区;所述D/A转换电路用于数字信号和模拟信号的转换;CPU芯片中包含有应用层软件和驱动程序 软件,用于信号仿真,并将仿真数据放入应用层缓冲区;PCI总线是在CPU和原 来的系统总线之间插入的一级总线,从结构上看,具体由一个桥接电路实现对 这一层的管理,用于实现上下之间的接口以协调数据的传送;PCI控制器,具有 多级缓冲,用于管理PCI插槽,使连接在PCI插槽上的外设能够与CPU并行工 作;桥接电路,用于在两种不同的信号环境之间进行转换,并向系统中所有的 主控制器提供一致的总线接口;可编程逻辑器件CPLD,甩于本地时序的调用和 数据传输;应用层缓冲区,可以连续地交换数据。
数据的传输过程由应用层程序发起,但由PCI桥接口芯片PLX9054执行。 PLX9054工作于主模式。在该模式下,软件应用层完全不需要耗费资源便能完成 数据的传输。而应用层软件可以在这个过程中进行数据的产生和调配。整个传 输过程通过DMA和中断完成。
当DMA传输开始后,首先对与PLX9054接口芯片相连接的SR旭1进行数据 传输,然后通知连接在PLX9054接口芯片与两个SRAM之间的可编程逻辑器件 CPLD,启动CPLD内部的地址计数器,将与PLX9054接口芯片相连接的SRAM1中 的数据送向D/A,通过数模转换产生模拟信号波形。在SRAM1向D/A送数据期间, 应用层程序通过PCI总线通知PLX9054开始向连接在PLX9054与CPLD之间的第 二块静态RAM2中传送数据。同时,应用层软件又可以为第一块数据区准备数据, 当向第二块静态R應传送完数据后,检测连接在PLX9054与CPLD之间的第一块 静态RAM。如果此时第一块RAM中的数据已经发完,那么就启动第二块RAM,向 D/A发送数据,与此同时,又开始向第一块静态RAM中传送数据,而应用层软件 则开始为第二块RAM准备数据。如此周而复始。如果工作条件设计的较为理想, 那么就可以得到连续、不间断、形式不同的模拟信号。
参阅图2,应用层程序产生的数据送入底层驱动,然后由底层驱动软件将数据分发到硬件的存储空间中。软件设计先通过高端数据处理软件进行信号的仿 真处理,然后将仿真数据直接放入应用层缓冲区。由于本系统考虑到适应一定 的快速数据交换,理想状况下不允许出现空间信号的间断现象,因此在应用层
开辟两块数据缓冲区,分别标号缓冲区1 BUFFER1和缓冲区2 BUFFER2,在装完 BUFFER1以后,再使用数据填充BUFFER2。只要分配合理,就可以在应用层连续 地交换数据。底层软件设计的驱动中,分块缓冲,分别对应用层进行相应的数 据缓冲映射,由于底层驱动直接与硬件相关,因此需要尽可能设计出与硬件十 分匹配的缓冲区分块,以达到最佳的硬件数据传输效果。
应用层软件的编制采用美国微软公司的VC++编译器环境。VC是Windows系 统下的主要编程语言之一,用它开发的系统具有容易维护升级、界面友好、代 码效率高,执行速度快等一系列优点,并且能够直接与系统及底层硬件交换数 据。驱动程序的设计和制作采用NuMega公司的DriverWorks驱动开发工具包。 DriverWorks以面向对象(00P)的方式,将编写WDM及WINNT驱动程序所需的对 内核模式访问及硬件的访问封装成类。这样只耍在其向导程序的指引下,根据 硬件的具体参数填写必要步骤,就可以很方便地完成所需驱动程序的框架。最 后根据具体的要求添加新的类对象和所需的代码就可以成功地完成自己的驱动 程序。DriverWorks是基于¥〔++的,它生成的是标准的VC工程,只要将所建的 工程在VC下编译,就可以生成最终的设备驱动程序。PCI接口电路采用PCI专 用接口芯片PLX9-054。
PLX9054是由美国P工X公司生产的先进的PCII/0Accelerator,符合PCIV2. 2 规范,采用176引脚PQFP和225引脚PBGA两种封装形式。PLX9054提供了 PCI 总线、EEPR0M、 LOCAL总线三个接口。 PLX9054作为一种桥接芯片,在PCI总线 和LOCAL总线之间传递信息,既可以作为两个总线的主控设备去控制总线,也 可以作为两个总线的目标设备去响应总线。PLX9054采用了先进的PLX数据管道.结构技术,是32位、33MHz的通用PCI总线控制器专用芯片,功能强大、使用 灵活。PLX9054的静态RAM采用Cypress公司的CY7C1041静态RAM。 PLX9054的 D/A转换电路采用AnalogDevice公司的AD768高速16位D/A数模转换器,数据 转换速度达到30MSPS,是一种高速,稳定的电流型D/A转换器。
如果只考虑普通任意波形发生器的做法,那么并不需要对应用层、驱动层 以及硬件缓冲区的设计进行过多的考虑,只要开一个足够大的数据缓冲区,放 一个足够容量的静态RAM,然后将需要的数据灌入静态RMI,就可以完成一个高 性能任意波形发生器的功能。
本系统采用Matlab仿真软件对信号的数据产生文件进行仿真,仿真的条件 完全设置为真实的数据模拟信号输出条件,仿真程序及效果如图3所示。举例 如下若产生一个中心频率为5腿z,调频宽度为2MHz的Chip信号,使用30MHz 的信号恢复采样时钟,严格符合采样定理。通过仿真程序产生了一个16K的数 据文件,只要将这个文件装入缓冲区,就可以得到输出的模拟波形。然后将D/A 输出波形用示波器采集,就可以得到清晰的、与图4所示的D/A输出仿真图中 台阶式一模一样的输出图形。
权利要求
1. 一种基于PCI总线的任意波形发生器,包括PCI总线,不依附于某个具体处理器的局部总线,其特征在于,包括一个连在电源和地之间的D/A转换电路;一个含有应用层软件和驱动程序软件的CPU芯片,使用其中的高端数据处理软件进行信号的仿真处理,然后将仿真数据直接放入应用层缓冲区;一个包含有寄存器的PCI器件和插入在CPU与系统总线之间的PCI总线,是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送;一个具有多级缓冲的PCI控制器,使PCI总线上外设与CPU并行工作;一个连接在CPU和外设之间的桥接电路,在两种不同的信号环境之间进行转换,并向系统中所有的主控制器提供一致的总线接口,用于在PCI总线和本地LOCAL总线之间传递信息;一个与接口芯片连接可编程逻辑器件CPLD,用于本地时序的调用和数据传输;当直接内存访问DMA传输开始后,首先对静态存储器SRAM1中数据进行传输,然后通知可编程逻辑器件CPLD,启动地址计数器,将静态存储器SRAM1中的数据送向D/A,通过数模转换产生模拟信号波形。
2. 如权利要求1所述的基于PCI总线的任意波形发生器,其特征在于,底 层软件分别对应用层进行相应的数据缓冲映射的设有缓冲区分块。
3. 如权利要求1所述的基于PCI总线的任意波形发生器,其特征在于,应 用层程序产生的数据送入底层驱动,然后由底层驱动软件将数据分发到硬件存 储空间中。
全文摘要
本发明涉及的基于PCI总线的任意波形发生器,包括PCI总线,一种不依附于某个具体处理器的局部总线。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。应用层缓冲区,可以连续地交换数据。数据的传输,该过程由应用层程序发起,但由PCI桥接口芯片PLX9054执行,应用层软件可以在这个过程中进行数据的产生和调配,整个传输过程通过直接内存访问DMA和中断完成。该任意波形发生器利用缓冲区快速交换数据可以快速进行数据更换,有效地保证了空间信号的连续性和多信号的快速切换。具有灵活、快速、可变、可控,精度高等多方面的优势。
文档编号G06F17/50GK101425103SQ20081004622
公开日2009年5月6日 申请日期2008年10月7日 优先权日2008年10月7日
发明者任晓飞 申请人:成都飞机工业集团电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1