基于DSP与FPGA的蓝牙数据采集系统设计
扫描二维码
随时随地手机看文章
摘 要: 介绍了采用TMS320F1218(DSP)与EP2C5(FPGA)作为协同处理模块完成系统的控制与处理以及采用BlueCore2-External蓝牙模块实现数据无线传输、蓝牙数据采集系统实现的硬件和软件设计原理。测试表明,该系统能够实现数据实时、精确、高速采集。
关键词: FPGA; DSP; 蓝牙模块; SDRAM
数据采集系统广泛地应用于工业、国防、图像处理、信号检测等领域。DSP处理器是一种高速的数字信号处理器,蓝牙技术作为一种低成本、低功耗、近距离的无线通信技术,已广泛应用于许多行业和领域[1]。本设计采用了DSP与FPGA协同控制处理,并用蓝牙传输代替有线电缆传输,有效地解决了DSP和FPGA单独处理的不足与有线电缆传输的弊端,大大提高了数据采集处理能力,拓宽了系统在环境较为恶劣或特殊场所的应用。
1 系统硬件设计
1.1系统总体设计
基于DSP与FPGA的蓝牙数据采集系统由下位机和上位机两部分组成。其中下位机主要由前端传感器、信号调理电路、ADC模数转换电路、DSP与FPGA协同处理模块以及蓝牙模块组成,主要完成前端数据的采集、转换、处理等功能,并将处理后的数据传输给上位机;上位机主要由USB蓝牙适配器和PC机组成,完成数据的显示、监控、存储等功能,并向下位机发送命令。该系统主要实现现场数据高精度、高速度、多通道实时采集,利用蓝牙的无线传输特性实现数据的无线传输。系统硬件框图如图1所示。
本系统中,DSP与FPGA协同控制处理是系统的核心部分,通过动作指令控制前端调理模块进行数据采集,同时将采集到的数据经DSP和FPGA协同处理,后由蓝牙模块将数据传输给上位机,由上位机完成后续的相应处理工作。
1.2 前端调理模块
前端调理电路主要包括传感器、信号调理电路、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所示。
1.3 DSP与FPGA协同处理模块
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,片内有18 KB RAM,128 KB Flash存储器[3]。TMS320F1812采用3.3 V外设供电和1.8 V内核供电,由外部电路提供电源和时钟信号,与蓝牙模块、FPGA连接时不需要电平转换。本系统中,TMS320F1812主要功能:控制FPGA及数据的读取,通过向FPGA发送复位信号、控制信号以及读指令,使FPGA从SDRAM中读取存储的数据,并将数据传输给TMS320F1812;完成输入数据的计算、打包等处理,与蓝牙模块连接。
1.4 蓝牙模块
蓝牙模块设计可选用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模块将采集处理后的数据无线传输给上位机,完成数据的显示、监控、存储等。
2 系统软件实现
本采集系统软件设计主要包括数据采集和蓝牙传输。其中,由于采用蓝牙接口模块和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.