杨勇,杨润生,刘品
(1.军械工程学院 光学与电子工程系,河北 石家庄 050003;2.西安军事代表局驻203所军代表,陕西 西安 710065)
数据采集系统广泛地应用于工业、国防、图像处理、信号检测等领域。DSP处理器是一种高速的数字信号处理器,蓝牙技术作为一种低成本、低功耗、近距离的无线通信技术,已广泛应用于许多行业和领域[1]。本设计采用了DSP与FPGA协同控制处理,并用蓝牙传输代替有线电缆传输,有效地解决了DSP和FPGA单独处理的不足与有线电缆传输的弊端,大大提高了数据采集处理能力,拓宽了系统在环境较为恶劣或特殊场所的应用。
基于DSP与FPGA的蓝牙数据采集系统由下位机和上位机两部分组成。其中下位机主要由前端传感器、信号调理电路、ADC模数转换电路、DSP与FPGA协同处理模块以及蓝牙模块组成,主要完成前端数据的采集、转换、处理等功能,并将处理后的数据传输给上位机;上位机主要由USB蓝牙适配器和PC机组成,完成数据的显示、监控、存储等功能,并向下位机发送命令。该系统主要实现现场数据高精度、高速度、多通道实时采集,利用蓝牙的无线传输特性实现数据的无线传输。系统硬件框图如图1所示。
本系统中,DSP与FPGA协同控制处理是系统的核心部分,通过动作指令控制前端调理模块进行数据采集,同时将采集到的数据经DSP和FPGA协同处理,后由蓝牙模块将数据传输给上位机,由上位机完成后续的相应处理工作。
前端调理电路主要包括传感器、信号调理电路、ADC模数转换模块。
信号调理电路包括模拟信号调理电路和数字信号调理电路。其模拟信号调理主要实现对模拟信号的缓冲、放大、衰减、隔离、滤波以及线性化等处理,以获得ADC所需要的归一化信号;数字信号调理主要完成对数字信号的整形、分频、隔离、缓冲等处理,以便与FPGA模块相连。
前端调理电路的核心是模数转换,对于模拟信号,传感器采集的信号经调理后需要进行模数转换,然后与FPGA相连。而数字信号则经过调理后可直接与FPGA相连。模数转换模块采用TI公司的高速、低功耗、6通道同步采样的16位模数转换器 ADS8364。ADS8364采用+5 V工作电压,具有80 dB共模抑制能力的全差分输入通道,6个模拟输入通道(分为 A,B,C 3组)可以同时并行采样和转换[2]。考虑到FPGA可以灵活地改变时钟频率,进而改变系统的采样频率,所以ADS8364由FPGA提供时钟和复位信号,最高频率为5 MHz,其相应采样频率为 250 kHz。同时 FPGA还为 ADS8364提供信号。A/D转换结束后产生转换结束信号通过FPGA引发DSP的中断。在转换结束后,FPGA将6个16位的转换结果读入SDRAM中。ADS8364的地址/模式信号(A0,A1,A2)决定 ADS8364的单通道、周期或 FIFO模式的数据读取方式。将ADD引脚置为高电平,使得读出的数据中包括转换通道信息。在系统中,采用FPGA实现ADS8364的接口控制电路,ADS8364转换数据通过FPGA存在SDRAM中。
本系统中,ADS8364、FPGA、DSP与 SDRAM 的 接口连接如图2所示。
DSP和FPGA协同处理模块是本系统的核心,其主要完成对ADS8364的控制、数据的计算以及相应的逻辑控制,并通过蓝牙完成数据的传输。由于数据采集要求采集数据量大,多路信号同时采集,要求实时性好、速度快、精度高等,本系统采用基于DSP与FPGA协同处理。系统设计中,采用TI公司的DSP芯片TMS320F2812和Altera公司的FPGA芯片EP2C5。
EP2C5是Altera公司推出的CycloneII序列FPGA器件,采用 TSMC90nm、Low-K工艺,1.2 V内核电压,工作电压为 1.15 V~3.465 V,内嵌 RAM 119 808位,13个乘法器,并有143个I/O脚。在本系统中,为了数据缓存,需要在FPGA和DSP之间有一个FIFO来充当数据的缓存区,同时为了满足数据采集中高速实时数据流应用,避免FIFO溢出,设计时通过FPGA及SDRAM构造一个FIFO,以提供一个低成本并能满足高速实时数据流传输的解决方案。本系统中的EP2C5时钟信号由外部晶振提供,EP2C5的复位信号由TMS320F2812的I/O口实现。TMS320F2812为EP2C5产生复位信号,当EP2C5检测到有效的复位信号后,就会按照TMS320F2812产生的分频因子触发A/D转换器进行A/D采样,同时将ADS8364输出的数据经EP2C5预处理后,存储到SDRAM中。EP2C5的JTGA口为其提供程序下载端口。
TMS320F1812数字信号处理器是TI公司推出的低功耗、高性能32位定点数字信号处理器,它采用8级流水线结构,最高主频150 MHz,片内有18KB RAM,128 KB Flash存储器[3]。TMS320F1812采用3.3 V外设供电和 1.8 V内核供电,由外部电路提供电源和时钟信号,与蓝牙模块、FPGA连接时不需要电平转换。本系统中,TMS320F1812主要功能:控制FPGA及数据的读取,通过向FPGA发送复位信号、控制信号以及读指令,使FPGA从SDRAM中读取存储的数据,并将数据传输给TMS320F1812;完成输入数据的计算、打包等处理,与蓝牙模块连接。
蓝牙模块设计可选用CSR公司的BlueCore2-External单芯片蓝牙模块。该模块核心工作电压为1.8 V,输入输出口的工作电压为3.3 V,符合蓝牙规范V1.1和V1.2,集成有射频收发、基带控制和管理以及蓝牙主控制器接口协议 HCI, 具有 SPI、UART、USB、PIO、PCM 接口。BlueCore2-External支持8 MB的外部 Flash和ROM,可实现100 m内的通信[1]。其结构框图如图3所示。
本系统设计中,上位机通过USB蓝牙适配器,将控制、动作指令发送给下位机,BlueCore2-External模块接收指令经DSP处理后传给其他功能模块,完成前端数据采集处理;下位机接收上位机命令,执行相应命令,并通过BlueCore2-External模块将采集处理后的数据无线传输给上位机,完成数据的显示、监控、存储等。
本采集系统软件设计主要包括数据采集和蓝牙传输。其中,由于采用蓝牙接口模块和USB蓝牙适配器,这部分协议已经固化在模块中。因此,用户只需要在DSP和FPGA中编写数据采集、处理和收发程序。系统软件流程图如图4所示。
DSP和FPGA编程的主要任务是初始化、逻辑控制、前端数据采集和数据的处理传输。系统上电复位后,首先完成系统的初始化,包括FPGA、TMS320F1812和蓝牙模块的初始化;然后等待上位机蓝牙适配器发送的控制指令,通过下位机的蓝牙模块完成与上位机的连接、数据传输、断开连接等操作。在DSP收到上位机的控制信息后,选择相应的处理算法,向FPGA发出动作指令,同时FPGA发出采集参数指令,控制A/D转换器完成数据的采集,并将ADS8364输出数据进行预处理后存入SDRAM中。当上位机通过蓝牙提出读取数据指令时,DSP向FPGA发出读指令,FPGA从SDRAM中读取数据并发送给DSP,由DSP完成数据的计算,打包等处理,最后通过蓝牙发送给上位机。
基于DSP与FPGA的蓝牙数据采集系统,可以同时具备DSP与FPGA的优势,支持更高的计算处理能力。其良好的重构方案,可以很好地完成多路信号、大量信号的实时、快速、精确的采集,适用于恶劣复杂的环境,且开发成本低,具有较高的使用价值[4],有很好的应用前景。
[1]钱志鸿,杨帆.蓝牙技术原理、开发与应用 [M].北京:北京航空航天大学出版社,2006.
[2]TI公司.ADS8364数据手册[Z].2002.
[3]苏奎峰.TMS320F2812原理与开发[M].北京:电子工业出版社,2005.
[4]华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].北京:人民邮电出版社,2008.