《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于STM32和LabVIEW的地震数据采集卡的设计
基于STM32和LabVIEW的地震数据采集卡的设计
来源:电子技术应用2012年第10期
张 勇, 董浩斌
中国地质大学(武汉) 机械与电子信息学院,湖北 武汉430074
摘要: 针对地震波高动态范围的特点,设计一种基于STM32和LabVIEW的24位高精度、120 dB高动态范围的地震数据采集卡。采集卡前端通过采用基于△-Σ技术的24位ADC调制芯片CS5372,配合使用数字滤波芯片CS5376,实现较强的数据采集和处理能力。选用STM32作为主控制器,使采集卡拥有低功耗以及高可靠性和可维护性。上位机采用LabVIEW作为开发平台,通过网络接口芯片ENC28J60实现STM32和上位机的通信。
中图分类号: TP274
文献标识码: B
文章编号: 0258-7998(2012)10-0072-03
Design of a seismic data acquisition system based on STM32 and LabVIEW
Zhang Yong, Dong Haobin
Faculty of Mechanical & Electronic Information,China University of Geosciences,Wuhan 430074,China
Abstract: According to the seismic wave high dynamic range characteristics, a kind of seismic data acquisition card based on STM32 and LabVIEW for 24 bits high precision and 120 dB high dynamic range is designed. At the front of this acquisition system a 24 bits ADC modulation chip based on △-Σ technology CS5372 is used, and cooperates with using digital filter chip CS5376 realizing the strong data acquisition and processing power. STM32 is used as the main controller, which makes collection card has low power consumption, high reliability and maintainability. The upper machine used LabVIEW as a development platform, which through the network interface implementation STM32 and PC communications.
Key words : STM32; LabVIEW; high dynamic range; digital filter; network communication

    在地球物理勘探领域,地震波勘探越来越受到地质工作者的青睐,地震波数据的正确采集因此显得非常重要。地震信号由于其自身的固有特征,动态范围需在120 dB左右,频带需要在10 Hz~1 kHz左右,对采集卡提出了较高要求,而且随着城市化进程的加剧,测试环境的背景噪声也越来越复杂,这给地震数据的采集带来了新的问题,同时也给采集卡提出了更高的要求。因此需要采用更高精度的ADC技术和更加严格的数字滤波技术对信号进行处理,才能得到理想的采集数据[1]。目前国内相应的仪器均采用国外进口,为了有所突破,本文对此技术进行的相应研究,通过CS3301、CS5272以及CS5376和STM32相连,构成了一套地震数据采集卡,采集在地震勘探过程中的地震波信号,并通过网络接口传递给上位机,以LabVIEW作为软件平台对数据进行实时监测、处理以及分析。

1 系统的硬件结构框图
    系统的硬件结构框图如图1所示,硬件电路主要包括前端运放CS3301、24位ADC芯片CS5372、数字滤波芯片CS5376、网络接口芯片ENC28J60以及STM32F103ZE芯片的最小系统和相关模块之间的接口电路。 

1.1 STM32F103ZE硬件模块
    本系统采用ST(意法半导体)公司生产的STM32F103ZE作为核心控制模块。STM32F103ZE是基于最新Cortex-M3内核的32位高速ARM微处理器,功耗比较低,工作频率经过PLL倍频后最高可以达到72 MHz。它拥有512 KB Flash,64 KB SRAM,外围接口相当丰富,拥有2个SPI接口,完全满足设计的要求。STM32F103ZE作为本系统的控制核心,直接通过两个SPI接口分别控制CS5376和ENC28J60工作状态以及数据采集、处理和发送过程。首先将CS5376滤波处理过后的数据传递给ENC28J60,再通过网线与上位机通信。在本数据采集系统中,STM32F103ZE外接8 MHz时钟,经过内部PLL倍频至72 MHz[2]。
1.2 CS3301、CS5372及CS5376硬件接口模块
    CS3301、CS5372和CS5376是Cirrus Logic公司生产的专用于地震数据采集的一组套片,需要一起配合使用,CS5372是基于△-Σ技术的24位ADC调制芯片,它对信号进行抽取调制后变成“1”的比特流,然后送至数字滤波芯片CS5376进行滤波处理后形成24位数据输出。前端的信号调理电路采用CS3301,它是差分运放,增益可控,用它进行前端阻抗匹配以及放大倍数的控制。对应的电路接口图如图2和图3所示。图2中,CS3301通过MUX0和MUX1选择输入通道,GAIN0~GAIN2控制增益。这些控制信号都接入STM32,由STM32进行控制。电阻R1、R2、R3、R4和电容C1、C2组成信号输入耦合电路。其中电阻R1、R2的作用是匹配信号内阻;电容C1、C2起隔直作用;电阻R3、R4组成运放偏置电流回路。隔直电容C1、C2在隔断直流信号的同时,也隔断了部分低频信号。如果想让预定频率的信号通过,则C1、C2和R3、R4的大小必须合适。另外CS3301、CS5372均需要外接时钟信号,它们直接由数字滤波芯片CS5376产生,这样有利于在数据处理时严格控制信号的同步性。

1.3 STM32和ENC28H60硬件接口模块
    在本课题中设计中,网卡芯片采用Microchip(微芯)公司生产的ENC28J60。该芯片是目前全球最小封装的以太网控制器。目前市场上大部分以太网控制器采用的封装均超过80引脚,而符合IEEE802.3协议的ENC28J60只有28引脚,这既能提供相应的功能,又可以大大简化相关设计,并减小电路板的空间,精简相应的程序设计开发。此外,ENC28J60 以太网控制器采用业界标准的SPI 串行接口,只需4条连线即可与主控单片机连接。这些功能加上由Microchip 免费提供的、用于单片机的TCP/IP软件堆栈,使之成为目前市面上最小的嵌入式应用以太网解决方案[3]。
    ENC28J60芯片内部集成了网络变压器和用作指示的LED,因此电路中不再需要接网络变压器。由于ENC28J60是基于SPI 接口的以太网控制芯片,因此其与嵌入式系统的接口非常简单,只需将ENC28J60的SPI接口与STM32F103ZE的SPI接口按照标准的SPI接口方式连接即可。
2 系统的软件设计
2.1 STM32软件设计

    STM32F103ZE采用MDK作为开发环境。系统采集软件由主程序和若干子程序构成,子程序包括SPI1控制CS5376,SPI2控制ENC28J60, 数据采集程序框图如图4所示。

    在STM32软件设计中需要包含对网络接口芯片ENC28J60和数字滤波芯片CS5376的初始化。ENC28J60和CS5376均采用SPI接口,因此需要对STM32F103的两个SPI接口——SPI1和SPI2分别初始化。这里不再赘述。
2.2 LabVIEW上位机软件设计
    本课题采用了LabVIEW作为上位机软件开发平台。它使用图形化编程语言——G语言进行编程,功能强大而使用灵活,分前面板和后面板两部分来进行设计。前面板是图形化显示界面,后面板是模块连接图。在本课题的设计中,使用了LabVIEW后面板数据通信控件协议中的4个函数[3],将分别介绍如下。
 

    该函数是用来打开地址或者网络端口或服务器的TCP连接。比如说打开192.168.1.1端口号为80的TCP连接。该函数是用来匹配IP地址是否是目标板的IP地址,如果是则连接成功,不是则返回错误信号。该函数中的地址要与其建立连接的目标板的地址一致。该地址可以为IP句点符号格式,例如192.168.1.1或者主机名。如未指定地址,LabVIEW将建立与本地计算机的连接;远程端口或服务名称可以接受数字或字符串输入。远程端口或服务名称是要与其确立连接的端口或服务的名称。
    在本课题中目标板的端口号选用5 000端口。
    函数3:读取TCP数据 (函数),如图7所示。
    当LabVIEW和目标板建立连接后,该函数用来读取数据以及控制读取数据的字节数。在本课题中一次读取的字节数控制为4 096 B。刚好为一个AD采样存储空间的大小。
    函数4:关闭TCP连接(函数),如图8所示。该函数是实现关闭TCP连接。

    在本课题中LabVIEW前面板框图如图9所示,后面板如图10所示。在前面板中输入目标板的地址192.168.1.30,端口为5 000,读取的字节数为4 096。打开/停止键控制打开和关闭TCP连接。

 

 

    由于刚开始不知道数据传输的格式,所以使用网络调试助手进行数据观测。
    通过观测发现网络数据包是按照字节进行发送的,也就是说下位机中的24 bit AD采样数据分4个字节发送,先发送低字节,然后发送高字节,因此需要将发送的数据进行整合处理。相应的整合电路如图11所示。

    先将低2字节的数据直接拿出来,高2字节的数据乘以65 535后与低2 bit的数据进行叠加形成新的数据。这个新的数据就是一次AD转换的结果,转换成float型数据,也就是乘以参考电压除以2的N次方减1,将相应的数据传送给显示控件进行显示。在试验过程中用AD采样标准三角波和标准正弦波。从显示的曲线可以看出,系统可以完全地进行采样并且正确地显示。
    本课题提出了一种基于STM32和LabVIEW的地震数据采集卡的设计,实现了信号的远程监测,用户通过登录服务器即可实现信号的远程监控。经实验测试,采集卡通信稳定,信号采集精度高,并且使用方便。非常适合远程中低频信号的监测,具有很好的应用前景。
参考文献
[1] 何正淼,宋克柱,汤家俊,等. 24位ADC在地震数据采集中的应用[J].数据采集与处理,2005,20(2):244-248.
[2] 彭刚,秦志强.基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011.
[3] 刘建超.单片机与Internet网络的通信应用研究[D].济南:山东师范大学,2007.
[4] 吴成东,孙秋野,盛科. LabVIEW虚拟仪器程序设计及应用[M].北京:人民邮电出版社,2008.

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