基于FPGA的主从式高速数据采集与传输系统
随着数字技术的飞速发展和数字系统的广泛应用,模拟信号转换为可处理的数字信号,对采集系统的精度、采样率以及数据速率都有更高的要求。对于大型复杂的设备,其故障检测和诊断同样是一项复杂的工作,采集设备的工作状态及环境变化,对操作者了解设备的工作状态,及时对系统的故障作出判断和处理有积极的意义。FPGA器件具有很高的集成度,丰富的资源,用户可编程,使用方便灵活,设计周期短,因而广泛应用于数字系统中。本文介绍了以FPGA为控制核心的高速数据采集与传输系统,以低速串口传输数据量少的上位机控制指令,通过高速USB接口向上位机传输数据量大的采集数据帧,保证指令和数据传输的可靠性,可提供最多32路采集通道,并可通过上位机界面配置采集通道数量和采集电路增益,FPGA控制器根据约定的控制协议执行操作。系统程序设计以ISE 10.1为平台,使用Verilog HDL语言设计实现。系统针对复杂环境的大型设备的运行监测和故障诊断需求,提供一种可应用远程测控的底层数据采集与传输应用[1-3]。
1 系统硬件结构
系统结构如图1所示,系统主要有上位机管理系统、链路管理主控层和通道管理从控制层三个主体部分。上位机管理系统提供人机交互的功能,本文不做详细介绍,系统硬件主体主要由主控层和从控层组成。链路管理主控制层主要实现控制指令解析、数据管理和从控层管理等功能,通道管理从控制层主要功能是通道管理和配置、数据管理和传输。主控层提供3个与从控层通信的差分接口,可支持3块从控层并行工作。
链路管理主控制层由1片Xilinx的FPGA芯片XC3S1500作为控制模块,3组差分芯片对作为主控层与从控层的通信链路,1片RS232和CY7C68013A芯片分别作为控制层与上位机管理系统的下行控制链路和上行数据链路。主控FPGA与采集FPGA是跨印制板连接,使用差分驱动和接收芯片(LVDS391/390)通过屏蔽差分线缆连接,主控层与每个从控层通过1根包含6对差分线的屏蔽线缆连接,上行和下行各3对差分线路,保证板间通信的可靠性。
从控层由1片Xilinx的XC3S200AN芯片作为控制模块构成母板,每2路采集通道组构成采集子板,以双列直插的方式与母板连接,整体结构并行对称,采集母板提供了4个子板接口,可以8路通道并行工作。从控层结构如图2所示,每一路采集通道由AD8253和AD8250组成的前后两级放大,级联的芯片增益可由从控层FPGA通过软件配置,温度传感器DS18B20实时监控系统本身的工作环境温度。
2 控制及数据传输
由系统硬件结构可知,系统有上行和下行两组通信链路,即控制指令链路和数据传输链路。控制指令起于上位机系统,由串口发送到控制层,经主控层解析处理后,分发至相应的从控层,再由从控层执行相应的指令操作。数据传输起于从控层,通过差分线路传输到主控层,在主控层组帧后,写入USB芯片,最后由上位机系统读入显示。指令和数据都约定了特定的格式,以一定的协议进行通信,同时对从控层和采集通道都进行了编号,以此实现控制协议的解析和分发,以及数据管理和上位机解析。
2.1 控制协议
控制协议是由上位机、主控层和从控层共同约定的,控制命令以字为单位,有标志字、控制命令和配置参数三类。其中标志字约定为11111111B,标志字是命令和参数的起始标志,主控层或从控层只有在接收到标志字后,才会解析接下来的数据,判断上位机发出的命令。
控制命令:00000000B、01xxxxxxB、11xxxxxxB和01XXxx
xxB分别约定为系统复位指令、停止转换指令、启动转换指令和从控层配置指令。指令格式如表1所示。
配置参数:XXXXxxxxB,主要有采样率参数和通道配置参数,其中XXXX为通道号,编码为0000~0111B,即0~7号通道。配置参数跟在指令01XX1100B/01XX1110B后时,xxxx为XXXX通道的采样率参数,作为从控层/主控层采样脉冲的参数。配置参数紧接在XX层通道配置计数指令后时,则xxxx为XXXX通道的增益配置参数,高2位为前级放大器增益,低2位为后级放大器增益。
配置命令基本格式如图3所示。在系统上电后以FF00H迫使系统复位,系统复位成功后,同样以FFH开始,发送采样率配置和通道增益配置命令及参数。如配置指令FF_4E_x1H,即第一层所有通道采用同一内采样脉冲,采样率分频参数为1,对应内采样率设置为40 kHz。
2.2 通信协议及数据格式
上文已经介绍了系统各部分的硬件连接,主控层和从控层之间有6对差分线,上行和下行分别3对,下行有复位信号、采样脉冲信号和数据信号线,上行有数据线、同步时钟线和同步使能线。数据信号线以异步串行的方式,主控层向从控层发送命令和配置参数,采样脉冲信号线在不同层采用外采样脉冲或主控层提供的脉冲时使用,以保证不同层间的同步采样。上行数据以SPI同步串行方式传输,数据速率为12.5 Mb/s。
数据格式如图4,一个数据有3 B,由6 bit的头信息编码和18 bit数据位组成。高2位是该从控层的编号,编码范围为00B~11B(0~3层);次高4位为通道编码,0000B~0111B(0~7号通道)为A/D通道编码,1010B(10号通道)为温度传感器信息编码,余下通道编码可作扩展。
- 基于DSP和USB的三维感应测井数据采集系统(06-14)
- 基于DSP的USB口数据采集分析系统设计(09-22)
- 基于Linux平台的天气雷达高速数据采集系统设计(03-13)
- 基于CPLD的线阵CCD数据采集系统(06-05)
- 100MHz 数字存储示波表样机的研究与试制----数据采集系统设计(一)(06-04)
- 用RS-485构成总线型多点数据采集系统(06-04)