《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FPGA的可调信号源设计
基于FPGA的可调信号源设计
杨新春,任璐娟,黄洋文,刘 毅
(中北大学 电子测试技术国家重点实验室,山西 太原 030051)
摘要: 针对航天检测设备中信号源单一、不可调等缺点,提出并实现了一种以FPGA 、高速D/A、继电器AQY210为核心,结构简单,控制灵活,信号质量高的多功能信号源生成系统。该系统可提供各种频率、幅值、偏置等参数可调的模拟信号,成功应用于工业控制开关量输出性能检测。同时,上位机与硬件通信的接口使用了USB-单片机(CY7C68013)和USB-FIFO(FT245)两种方案,并进行实际对比,提出其适用条件和范围。
Abstract:
Key words :

摘  要:针对航天检测设备中信号源单一、不可调等缺点,提出并实现了一种以title="FPGA" target="_blank">FPGA 、title="高速D/A">高速D/A、继电器AQY210为核心,结构简单,控制灵活,信号质量高的多功能信号源生成系统。该系统可提供各种频率、幅值、偏置等参数可调的模拟信号,成功应用于工业控制开关量输出性能检测。同时,上位机与硬件通信的接口使用了USB-单片机CY7C68013)和USB-FIFO(FT245)两种方案,并进行实际对比,提出其适用条件和范围。
关键词:FPGA;高速D/A;AQY210;信号源;USB

    传统产品级信号源往往只能产生单一信号,满足不了科研和实际检测的需要。尤其在复杂的航天环境实验中,需要信号源能产生不同种类和参数可调的信号,作为系统自检时的信号输入,以此检测目标设备的工作状态和各项性能指标,为目标设备正常工作提供依据。
    现场可编程逻辑阵列器件(FPGA)具有编程方便、高集成度、高可靠性等优点。为了满足科研和实际测试要求,本文设计了一种以FPGA、高速D/A为核心,能产生多路频率可调信号的信号源系统。该系统中波形数据、控制命令字由上位机发出,通过FPGA控制在数据存储器中存储波形数据,并将波形数据读出送入DAC进行数模转换后得到相应的模拟信号波形及开关量的控制。利用上述方法设计的信号源,信号产生灵活、功能扩展方便、信号参数可调,实现了硬件电路的软件化设计,具有特殊的现实意义和广泛的应用前景[1]。
1 系统设计
    本信号源系统主要由数据输出(上位机软件)、USB数据传输接口、数据缓冲与存储(FIFO和SRAM)、控制部分(FPGA) 、数据的转换及调理(DAC、跟随器)及开关量的输出等6个模块组成。
    系统总体设计框图如图1所示,其具体工作流程为:PC机发送数据至USB单片机端点FIFO,当数据大小达到512 B时,数据自动打包后送入外部缓冲FIFO。FIFO是一种先进先出的数据缓存器,它与普通存储器的区别在于没有外部读写地址线,靠空/满标志的产生来控制数据的写入与读出。在FPGA控制模块中,当FPGA接收到FIFO半满信号后,由FPGA控制将波形,数据存于SRAM中。然后FPGA控制波形数据从SRAM中取出后送D/A进行转换,经数模转换和调理电路后即得所需波形,或直接由FPGA将数据发送到继电器来控制外部供电系统的开断。

2 模块设计
2.1 USB传输部分

    USB 接口即“通用串行总线接口”,是应用于计算机领域的新型接口之一,它使得外围设备与计算机的连接更加高效、便利。USB 接口不仅具有传输速率快、即插即用、支持热插拔等特点,而且易于扩展,可以有效地解决计算机外围接口不足的问题。随着在工程实际中对数据传输的速率要求越来越高,传统的串口、并口传输已经不能满足数据传输速率的要求,而USB2.0 接口最高可达480 Mb/s 的高速传输速率,使得计算机和外围设备之间的高速数据传输成为可能。同时,USB 接口设备的普及也促使其成为数据高速传输中设备连接的首选接口。
    本设计考虑了两种USB2.0通信接口设计模式:(1) 基于USB 单片机的接口设计。例如以Cypress 公司开发的CY7C68013 单片机为控制核心而设计的USB 通讯接口;(2)基于协议转换芯片的接口设计,例如以FTDI 公司推出的FT245BM 协议接口芯片为控制核心的USB 通信接口。
    (1)USB-单片机
    CY7C68013单片机[2]的GPIF接口有16位数据线、6个RDY信号和6个CTL信号。RDY信号用于对输入的信号进行判断, CTL用于输出对外部器件的控制命令,16位数据线用于单片机与外部器件进行数据交换和传输。该芯片集成了51单片机内核、USB2.0收发器、串行接口引擎(SIE)、4 KB FIFO存储器以及通用可编程接口等模块,这些模块保证了CY7C68013与DSP、ATA等外围器件实现无缝、高速的数据传输。
    (2)USB-FIFO
    FT245BM是由FTDI公司推出的USB协议芯片。FT245BM内含2个FIFO数据缓冲区。一个是128 B的接收缓冲区,另一个是384 B的发送缓冲区。它们用作USB数据与并行I/O口数据的交换缓冲区。FIFO是实现与外界(微控制器、FPGA或其他器件)数据互换的接口,它主要通过8根数据线DO~D7、读写控制线RD和WR以及FIFO发送缓冲区空标志TXE和FIFO接收缓冲区非空标志RXF来完成数据的交互。FT245BM与FPGA之间的逻辑连接图如图2所示。

    通过USB-单片机和USB-FIFO两种传输方式的对比来看,FT245BM USB接口协议芯片具有设计简单、使用简便的特点。但是,由于受其芯片内部FIFO空间所限,导致传输速率有限,最高只能达到1 MB/s左右;同时由于波形数据和控制命令字都是通过DATA(7:0) 8个端口进行输入或输出,所以在传输时是分时复用的,不仅在上位机和底层硬件通信时带来很大的不便,而且降低了信号源的频率,远远小于1 MB/s[3]。
    CY7C68013单片机具有传输速率快、程序设计灵活性强、传输速率高等特点。它支持12 Mb/s的全速速率和480 Mb/s高速传输速率,并且用户可以根据实际情况来编写和修改数据传输的程序模块,但是其程序的设计相对FT245BM来说比较复杂,需要用户根据实际需求来开发相关的动态链接库和应用程序,以完成对数据传输的控制。
    两种基于USB的设计方法各有优缺点,根据实际实验设计的需要,在传输速率不高、接口设计比较简单的情况下,可以考虑使用FT245BM USB接口协议芯片。而对于传输速率要求较高,接口设计比较复杂,同时要求根据实际需求来设计数据传输模块的场合,可以考虑使用CY7C68013 USB单片机。本设计在前期试验中采用FT245BM,但由于传输速度的限制以及控制的实时性,最终采用了CY7C68013 USB单片机设计模式。
2.2 FPGA控制部分
    FPGA程序控制流程图如图3所示。


    FPGA有两种工作模式:第一种是数据存储模式,即控制读取FIFO中的波形数据并存储到SRAM中。进入这种工作模式后,FPGA判断FIFO的空信号是否有效;如果FIFO的空信号无效,则FPGA控制FIFO的读信号有效,从FIFO中读取波形数据存储到SRAM中。SRAM的存储方式采用分块存取的方式,在数据读取时可通过分块扫描的方式均匀读出各种波形数据,并且通过简单的修改扫描频率即可控制波形频率。第二种是数据转换模式,即控制读取SRAM中的波形数据传送给D/A转换器,并控制D/A转换器完成转换和对继电器开断。
2.3 D/A转化部分和开关电路[4-5]
    DAC715是美国TI公司生产的16位高精度数模转换器,该芯片具有16位数据总线,可在工作电压为±12 V或±15 V时,实现0 V~10 V的模拟电压输出。FPGA主要通过DAC715的输入工作选通信号WR、寄存器控制信号A0和D/A锁存控制信号A1 来控制DAC715完成数模转换。DAC715输入数据与输出电压的对应关系如表1所示。

    本设计的开关量采用继电器AQY210,该继电器是电流驱动,电路连接图如图4所示。

    本文所设计的信号源利用USB接口技术,实现了计算机命令字和波形数据的实时下载,使得产生的信号频率、幅值和偏置灵活可调,可满足不同的实验要求,同时对外部供电系统可以灵活控制。事实上,这种控制的灵活性也使其在航天测试上得到了广泛运用。
参考文献
[1] 陈亮,张炜.基于FPGA的多功能信号源生成系统设计与实现[J]. 现代电子技术,2009,32(6):34-37.
[2] 林刚勇,马善农,许邦莲.CY7C68013在数据传输中的应用[J].微计算机信息,2007(29):76-78.
[3] 周功业,陈玉刚.基于USB和GPIF的大规模数据采集系统[J].微型机与应用,2003,22(11):16-18.
[4] 雷霆,李航,曲永志.基于FPGA的可调信号源检测装置的设计 [J].自动化信息,2008 (12):41-43.
[5] 王春玲,王杰.可变频标准信号源的VHDL设计[J].泰山学报,2009(11):79-82.

此内容为AET网站原创,未经授权禁止转载。