基于PCI总线的高速实时数据采集系统
发布时间:2008/6/3 0:00:00 访问次数:439
关键词:pci总线;cpci总线;高速实时数据采集;fifo;cpld
引言
目前的大多数雷达信号处理机都是采用自定义总线,不具有通用性,每进行一些系统功能的改变就需要大量的硬件改动。而cpci总线作为一种新兴的工业总线,其采用了pci总线的电气特性以及vme总线的物理特性,兼具了二者的优点,正在不断的推广应用。由于pci总线接口比较容易实现,因此我们采用了基于cpci总线的工控机来实现雷达信号处理。作为雷达信号处理的前端,数据采集板是通用雷达信号处理机的不可缺少的一部分。本文就是根据某通用雷达信号处理机的要求而设计的。实践表明,该系统可以有效的解决数据的实时传输和存储问题,为信号的实时处理提供了方便。
数据采集系统的硬件结构
在某通用雷达信号处理机中,我们需要对雷达输入信号的i和q两个通道的信号进行中频采样,采样精度为12位,最高采样频率为20mhz,数据采集卡采集到的数据要通过pci总线实时的传输给数字信号处理板。每路数字信号字长采用16位,两路合并为32位数据,通过pci总线进行传输。
根据以上要求,采用图1的设计方案。系统设计以pci总线控制器为基础,通过主控写方式将采集到的i、q两路数据实时传送给数字信号处理板。系统的主要功能模块有:adc(ad9042)、pci总线控制器(pci9054)、fifo缓冲器(idt72v3660)、系统逻辑控制芯片cpld(epm7128)等。
其中adc采用美国adi公司生产的一种高速度、高性能、低功耗的12位ad9042。它片内带有跟踪/保持放大器和基准电源,只需单+5v电源即能工作,并能以最高41mhz的速率提供与cmos兼容的逻辑数据输出。而pci9054是plx公司的一种功能强大、使用灵活的pci/cpci系统总线的桥接芯片。它支持32位数据、33mhz速率的pci总线,符合v2.1和v2.2版的pci规范;既可以工作于从模式,又可以工作于pci主模式下。
本系统采用pci9054的主模式传送。当fifo输出的半满标志位(/hf)有效时,启动pci9054的主模式写操作,把数据从fifo由pci总线传送到信号处理板。数据传送时,局部总线控制逻辑应驱动地址总线、数据总线、读写信号线及地址选通信号,控制pci局部总线的数据传输。pci一直监控局部总线,当pci9054检测到地址选通信号有效,并且地址线被驱动为有效的地址信号时,表明局部总线有数据传送。此时,pci9054会直接将局部总线数据存入其内部主控写fifo,随后会向cpci/pci系统申请pci总线控制权。在得到总线控制权后,根据映射地址自行完成本次主控写操作。局部总线控制器只需将数据写入pci9054内部fifo,其后的操作不需要cpld的参与。
由于pci9054内部的主控写fifo只有32级深度,实时传送高速数据时,pci9054的内部fifo会很快存满,而外界的数据仍会源源不断的传送过来,可能会造成数据的丢失,因此必须要扩展外部fifo。同时,ad9042的数据输出需要与cmos逻辑的接口器件相连接,因此我们采用cmos器件idt72v3660来扩展系统的fifo。
cpld控制芯片主要完成系统的控制逻辑,包括数据采集控制逻辑、fifo控制逻辑和pci接口控制逻辑三部分。我们采用altera公司的epm7128来实现系统的逻辑控制,并利用maxplusii软件进行设计、仿真和调试。实验表明,epm7128完全可以满足系统的设计要求,大大提高了系统控制电路的集成度。
数据采集系统控制和cpld设计
cpld对系统的控制包括对ad9042的控制、对fifo的控制以及对pci9054的控制。其中,对pci9054的逻辑控制是设计的重点。
对于ad9042,只需要提供20mhz的编码信号encode,它就会在每一个encode信号的上升沿触发a/d转换。同时,idt72v3660在写允许信号有效时,也是在wclk信号的上升沿把fifo输入数据线上的数据存入fifo。因此,可以把40mhz的时钟信号二分频,得到的20mhz时钟信号直接提供给ad9042和idt72v3660,启动ad9042的模数转换以及进行采样数据的存储。同时注意,由于ad9042的采集数据输出需要3个时钟延迟,系统刚启动时读取的3个数据是无效数据。因此,信号处理板在软件设计时,必须抛弃系统启动时读取的前3个数据。这样,a/d采样的数据就会以20mhz的频率存入fifo,用以后续向信号处理板传输。
pci9054局部总线可以工作在m模式、j模式和c模式下,m模式是专门为motorola公司的mpc850和mpc860提供直接非复用的接口,j模式是数据和地址复用的模式,而c模式是数据和地址非复用的总线模式。电路设计和时序控制比较简单,因此在本系统中pci9054局部总线工作在c模式。利用其fifo的主控功能,通过突发传输将数据传送到信号处理板中。
传输控制电路如图2所示。cpld充当局部总线的主控方,控制局部总线的数据传输,而pci9054只作为局部总线的被动方。需要传送数据时,只要pci9054没有占用总线(即lhold、lholda无效),cpld只需要使地址选通信号(/ads)
关键词:pci总线;cpci总线;高速实时数据采集;fifo;cpld
引言
目前的大多数雷达信号处理机都是采用自定义总线,不具有通用性,每进行一些系统功能的改变就需要大量的硬件改动。而cpci总线作为一种新兴的工业总线,其采用了pci总线的电气特性以及vme总线的物理特性,兼具了二者的优点,正在不断的推广应用。由于pci总线接口比较容易实现,因此我们采用了基于cpci总线的工控机来实现雷达信号处理。作为雷达信号处理的前端,数据采集板是通用雷达信号处理机的不可缺少的一部分。本文就是根据某通用雷达信号处理机的要求而设计的。实践表明,该系统可以有效的解决数据的实时传输和存储问题,为信号的实时处理提供了方便。
数据采集系统的硬件结构
在某通用雷达信号处理机中,我们需要对雷达输入信号的i和q两个通道的信号进行中频采样,采样精度为12位,最高采样频率为20mhz,数据采集卡采集到的数据要通过pci总线实时的传输给数字信号处理板。每路数字信号字长采用16位,两路合并为32位数据,通过pci总线进行传输。
根据以上要求,采用图1的设计方案。系统设计以pci总线控制器为基础,通过主控写方式将采集到的i、q两路数据实时传送给数字信号处理板。系统的主要功能模块有:adc(ad9042)、pci总线控制器(pci9054)、fifo缓冲器(idt72v3660)、系统逻辑控制芯片cpld(epm7128)等。
其中adc采用美国adi公司生产的一种高速度、高性能、低功耗的12位ad9042。它片内带有跟踪/保持放大器和基准电源,只需单+5v电源即能工作,并能以最高41mhz的速率提供与cmos兼容的逻辑数据输出。而pci9054是plx公司的一种功能强大、使用灵活的pci/cpci系统总线的桥接芯片。它支持32位数据、33mhz速率的pci总线,符合v2.1和v2.2版的pci规范;既可以工作于从模式,又可以工作于pci主模式下。
本系统采用pci9054的主模式传送。当fifo输出的半满标志位(/hf)有效时,启动pci9054的主模式写操作,把数据从fifo由pci总线传送到信号处理板。数据传送时,局部总线控制逻辑应驱动地址总线、数据总线、读写信号线及地址选通信号,控制pci局部总线的数据传输。pci一直监控局部总线,当pci9054检测到地址选通信号有效,并且地址线被驱动为有效的地址信号时,表明局部总线有数据传送。此时,pci9054会直接将局部总线数据存入其内部主控写fifo,随后会向cpci/pci系统申请pci总线控制权。在得到总线控制权后,根据映射地址自行完成本次主控写操作。局部总线控制器只需将数据写入pci9054内部fifo,其后的操作不需要cpld的参与。
由于pci9054内部的主控写fifo只有32级深度,实时传送高速数据时,pci9054的内部fifo会很快存满,而外界的数据仍会源源不断的传送过来,可能会造成数据的丢失,因此必须要扩展外部fifo。同时,ad9042的数据输出需要与cmos逻辑的接口器件相连接,因此我们采用cmos器件idt72v3660来扩展系统的fifo。
cpld控制芯片主要完成系统的控制逻辑,包括数据采集控制逻辑、fifo控制逻辑和pci接口控制逻辑三部分。我们采用altera公司的epm7128来实现系统的逻辑控制,并利用maxplusii软件进行设计、仿真和调试。实验表明,epm7128完全可以满足系统的设计要求,大大提高了系统控制电路的集成度。
数据采集系统控制和cpld设计
cpld对系统的控制包括对ad9042的控制、对fifo的控制以及对pci9054的控制。其中,对pci9054的逻辑控制是设计的重点。
对于ad9042,只需要提供20mhz的编码信号encode,它就会在每一个encode信号的上升沿触发a/d转换。同时,idt72v3660在写允许信号有效时,也是在wclk信号的上升沿把fifo输入数据线上的数据存入fifo。因此,可以把40mhz的时钟信号二分频,得到的20mhz时钟信号直接提供给ad9042和idt72v3660,启动ad9042的模数转换以及进行采样数据的存储。同时注意,由于ad9042的采集数据输出需要3个时钟延迟,系统刚启动时读取的3个数据是无效数据。因此,信号处理板在软件设计时,必须抛弃系统启动时读取的前3个数据。这样,a/d采样的数据就会以20mhz的频率存入fifo,用以后续向信号处理板传输。
pci9054局部总线可以工作在m模式、j模式和c模式下,m模式是专门为motorola公司的mpc850和mpc860提供直接非复用的接口,j模式是数据和地址复用的模式,而c模式是数据和地址非复用的总线模式。电路设计和时序控制比较简单,因此在本系统中pci9054局部总线工作在c模式。利用其fifo的主控功能,通过突发传输将数据传送到信号处理板中。
传输控制电路如图2所示。cpld充当局部总线的主控方,控制局部总线的数据传输,而pci9054只作为局部总线的被动方。需要传送数据时,只要pci9054没有占用总线(即lhold、lholda无效),cpld只需要使地址选通信号(/ads)