基于GD32F407及CL1606的多通道同步采集系统设计
Design of Multi-Channel Synchronous Acquisition System Based on GD32F407 and CL1606

作者: 罗 瑞 , 徐 涛 :沈阳航空航天大学自动化学院,辽宁 沈阳; 卢少微 , 马克明 :沈阳航空航天大学材料科学与工程学院,辽宁 沈阳;

关键词: 采集系统电阻值多通道同步采集LabVIEWAcquisition System Resistance Value Multi-Channel Synchronous Acquisition LabVIEW

摘要:
针对多通道电阻信号同步采集的需求,本文设计采用国产单片机GD32F407做主控芯片,国产CL1606做外部模拟量数据采集转换芯片的采集系统,最多可同步采集48路数据。电阻信号经过恒流源电路形成微弱的电压信号,然后经过放大电路放大后输入到A/D芯片中转化成数字信号。GD32F407接收到多路通道转换结果分析处理后将各通道数据保存到SD卡中并通过以太网通信发送至上位机。上位机用LabVIEW搭建,可以将不同通道的数据变化以波形形式同时呈现出来。经实验验证,设计的可扩展多通道采集系统最大误差小于2%,可满足绝大多数应用场合采集精度需求。

Abstract: In response to the needs of synchronous acquisition of multi-channel resistance signals, an acquisition system using domestic single-chip GD32F407 as the main control chip and domestic CL1606 as an external analog data acquisition and conversion chip was designed, which can simultaneously acquire 48 channels of data. The resistance signal forms a weak voltage signal through the constant current source circuit, and then is amplified by the amplifying circuit and input into the A/D chip to be converted into a digital signal. GD32F407 receives the analysis and processing of the multi-channel conversion result and sends it to the master computer through the Ethernet port. At the same time, the data of each channel is saved to the SD card. The master computer is built with LabVIEW, which can simultaneously present the data changes of different channels in waveform form. Experimental verification shows that the designed scalable multi-channel acquisition system has a maximum error of less than 2%, which can meet the acquisition accuracy requirements of most applications.

1. 引言

近年来,工业生产中质量要求不断提高,对采集系统的需求越来越高。在图像处理、工业设备状态监控以及复合材料健康检测领域,需要的采集设备需要具有多通道、高精度、高速度等性能。采集系统的精度主要通过A/D转换芯片的有效位数来反映,有效位数越多,采集系统精度越高。采集系统的速度主要通过采样率来体现 [1]。本文针对0~1 KΩ的电阻数据采集需求,设计了一套完整的多通道同步采集系统,通道数可以灵活组合,最多可扩展至48通道。目前,常见的高精度数据采集系统使用的芯片多数是国外生产设计的。为了降低对国外技术的依赖,加大对国内芯片设计生产厂商的支持,本文设计采集系统的主控芯片、A/D转换芯片以及部分电源芯片等关键芯片全部替换为国产芯片。其中主控芯片选用兆易创新公司生产的GD32F407芯片,A/D转换芯片选用核芯互联公司生产的CL1606芯片。采集的数据通过Micro SD卡进行保存,通过以太网发送至上位机软件LabVIEW中进行实时显示。

2. 系统组成与工作原理

2.1. 系统组成

本采集系统采用主从式设计结构,如图1所示。采集主板集成的模块包含两个A/D转换芯片,共计16路采集通道、16路的信号调理转换放大电路、GD32单片机集成控制模块、网口UDP通信模块、SD卡存储模块以及外部扩展模块。一张子板包含一个A/D采集模块,8路信号调理转换放大模块,可同步采集转换8通道的数据。主板包含了4组插槽,最多可同时插4张子板,每个A/D转换芯片包含了8路同步采集系统,共需6片CL1606A/D转换芯片采集通道即可扩展到48路。

2.2. 工作原理

图1中传感器为输出电阻信号的传感器,譬如碳纳米纸传感器及Pt100温度传感器等。采集系统工作过程为:首先实时电阻信号通过传感器接口送入采集系统中,紧接着通过恒流源电路将电阻信号转化为电压信号,然后再通过放大电路将电压信号放大到A/D芯片信号输入范围要求内进行模数转换,转换完成后送入主控芯片进行数据处理,最后将处理还原的实时电阻数据保存在SD卡中并通过以太网发送

Figure 1. The overall structure of the acquisition system

图1. 采集系统总体结构

至上位机。主控芯片可控制48个采集通道进行同步采集转换。一次模拟量转换结束后通过点名方式依此选取各通道进行数字量的读取并保存在相应的数组内,全部读取完成后开始第二次模拟量的采集转换,各通道采样数率均可达200 KSPS。上位机选用LabVIEW进行设计,可同时显示48通道的采集数据。

3. 采集系统硬件设计

系统硬件部分主要包括电源电路的设计、恒流源电路设计、放大电路设计、多片A/D转换芯片组合电路设计及布局考虑、单片机外围电路设计、数据传输及存储电路设计等。

3.1. 电源电路设计

系统采用锂电池或者直流5 V电源适配器等两种方式供电。锂电池满电电压为4.2 V,在3.7 V供电时间最长。我们选用锂电池升压芯片FP6293将电压升至5 V,5 V电压为A/D芯片及恒流源电路供电。5 V直流电压同时经过SGM6013芯片、ARD130芯片以及CS5171芯片分别生成3.3 V为单片机最小系统及网口电路供电、0.5 V基准电压为减法放大电路提供参考电压、±12 V为运算放大器提供工作电压。12 V直流电压经过ADR421芯片、REF02芯片分别转换为2.5 V基准电压为A/D芯片提供外部参考电压,5 V基准电压为恒流源电路提供参考电压。充电管理选用BL4056芯片,充电电流大小可通过外接电阻来调整,最大充电电流为1 A。电源模块单独集成在一块PCB板上,减少高频信号给采集系统带来的噪声干扰。电源板电压转换过程如图2所示。其中FP6293、SGM6013以及BL4056都为国产芯片,分别为台湾远翔科技公司、盛邦微电子公司以及上海贝岭公司设计制造。

Figure 2. Block diagram of voltage conversion design

图2. 电压转换设计框图

3.2. 信号调理电路设计

该部分电路包含两部分,恒流源电路及减法放大电路,本采集系统最高可扩展至48路,所以共需48个信号调理电路。该模块输入信号为实时电阻信号,输出为放大到A/D芯片输入信号范围内的实时电压信号。

3.2.1. 高精度恒流源电路

根据设计需求可知,采集系统需要输出1 mA恒定电流将传感器的电阻信号转化为电压信号。该恒流源电路需要具备的性能有:输出电流精度高,负载在0~1000 Ω变化范围内电流输出稳定性好。

本文设计的高精度恒流源电路如图3所示。该电路由5 V基准电压、运算放大器LM324、匹配电阻以及三个用于电流放大的三极管组成的 [2]。电路中Rx为碳纳米传感器电阻,RN1为精密采样电阻。采样电阻需选用误差小于0.1%且具有较低温度系数的电阻,Q1Q2Q3等三极管可以增强电流输出能力,保证负载变化范围较大时,输出电流的稳定性。该电路工作原理为:5 V基准电压在采样电阻RN1上产生恒定压降,从而输出恒定电流。选用输出电压精度小于0.2%的基准电压会使输出的电流精度更高且更稳定。高精度恒流源电路输出恒定电流计算如下:

根据运算放大器“虚短”、“虚断”特性:

V r e f R 4 = V 1 R 1 (1)

V 1 R 5 = V 2 R 6 (2)

V 3 = V 4 = ( V x + I R N ) R 9 + R 10 R 9 (3)

V 4 V 2 R 12 = V x V 4 R 13 (4)

Figure 3. High-precision constant current source circuit design

图3. 高精度恒流源电路设计

R10 = R13R1 = R4 = R5 = R6 = R9 = R12,且R1 = 2R10时,由上述公式可推导出:

I c = V r e f 5 R N (5)

由公式(5)可知,当我们高精密电阻RN1选择1 KΩ,Vref为5 V时输出的恒定电流为1 mA。

Figure 4. Subtractive amplifier circuit design

图4. 减法放大电路设计

3.2.2. 减法放大电路

恒流源电路输出1 mA电流经过传感器将电阻信号转化为电压信号。电阻变化范围为0~1 KΩ,转化成电压信号为0~1 V。需要经放大电路放大至合理范围才能送往A/D转换模块。系统采用双电源供电的OP07CD运算放大器设计的减法放大电路,如图4所示。J1为滑动变阻器,系统工作之前各个通道需进行调零操作,既在放大电路输入电压为0 V的时候,调节J1使输出电压也为0 V。目的是消除系统零点漂移引入的测量误差,使得采集结果最大程度的接近真实值。Vx为碳纸传感器的电压,Vo为放大后可直接送入A/D转换模块的电压。放大电路计算公式如下:

根据运算放大器“虚短”、“虚断”特性:

V + = V x × R 56 R 55 + R 56 (6)

V r e f V R 15 = V o V R 30 (7)

V+ = V,且R30 = R56 = 10R15 = 10R55时,联立公式(6)、(7)可得:

V o = 10 ( V x V r e f ) (8)

其中Vref为0.5 V,Vx ∈ [0, 1 V],根据公式(8)可计算放大后的电压Vo ∈ [−5 V, +5 V],满足A/D输入要求。

3.3. A/D同步转换模块设计及PCB布局考虑

系统采集主板包含了2片CL1606国产A/D芯片,共有16个数据输入通道,采用5 V单电源供电。该芯片内置16位电荷再分配逐次逼近型模数转换器、二阶抗混叠滤波器、采样保持放大器、数字滤波器和高速串、并行接口。每个通道的输入阻抗可以达到1 MΩ,不需要外部驱动运算放大器和外部滤波电路。与GD32单片机内部自带的18通道、12位逐次逼近ADC相比,在采样速度、采样精度、同步性以及实时性都有明显优势 [3] [4] [5]。采集系统选用±5 V单端信号输入模式,混叠滤波器3 dB截止频率为15 KHz,可过滤传感器电压信号中混叠的大于15 KHz的杂波,外部电路如图5所示。

Figure 5. Two CL1606 chips 16-channel synchronous acquisition and conversion circuit diagram

图5. 两片CL1606 芯片16通道同步采集转换电路图

参考电压2.5 V由外部提供,精度为±0.5%。4个电源脚都配备了去耦电容,可以有效降低A/D芯片电源阻抗,及电源尖峰幅度。两片A/D芯片转换触发引脚CONVST都短接到一起连接到单片机同一个控制引脚,单片机可通过控制该引脚实现16路通道同步转换。两A/D芯片片选脚CS1、CS2分别连接单片机两个控制引脚,16路数据同步转换完成后单片机通过片选引脚分时选中不同的A/D芯片,将16位数据通过并行端口传输至单片机内进行处理。

PCB布局时A/D模块采用对称布局原则,目的是确保各通道之间性能匹配良好,16位数字量输出信号线也尽量保证长度一致原则,去耦电容紧靠各输入引脚。

3.4. 数据存储模块设计

存储模块采用常见的体积小、传输速度快、性能稳定的Micro SD卡,共有9个引脚,外围电路如图6所示。所有的数据线及控制线都外接一个10 K的上拉电阻,目的是提高数据传输过程的稳定性。SD

Figure 6. Micro SD card peripheral circuit

图6. Micro SD卡外围电路

卡支持SPI和SDIO两种接口,因本设计选用的主控芯片中自带SDIO控制器,所以采用SDIO接口与单片机通讯。通过配置寄存器使SDIO工作在高速模式,此时传输速率可达到50 MHz。采用四线传输,传输时先发低字节再发高字节,而每个字节则是先发高位再发低位,为保证数据传输的准确性,每个数据包结尾都会有CRC校验 [6]。

3.5. 数据通讯模块

此模块要实现单片机与上位机LabVIEW通讯工作,为此我们采用了SMSC公司设计生产的10/100 Mbps以太网物理层收发器LAN8720A芯片 [7],该芯片体积小,功耗低,通过RMII与MAC相连。RJ45是一款带电压转换和LED指示灯的HY911105A网络插座。外部晶振X1提供25 MHz的时钟源,芯片内部可将25 MHz的时钟源倍频到50 MHz输入到时钟引脚。以太网通信功能主要通过移植TCP/IP协议LwIP实现,数据传输采用UDP传输协议。上位机LabVIEW接收到数据包后在前面板上分别显示出不同通道的波形,以供测试人员做出全面析。数据通讯模块外围电路设计如图7所示。

(a) LAN8720A外围电路 (b) 网络插座HY911105A外围电路

Figure 7. Circuit design of data communication module

图7. 数据通讯模块电路设计

3.6. MCU主控模块外围电路设计

本文设计采集系统主控芯片采用兆易公司设计生产的一款单片机GD32F407。GD32F407是基于ARMCortex-M4内核的32位通用微控制器,在提高处理能力,降低功耗方面具有最佳性价比。Cortex-M4内核具有浮点单元(FPU),可加速单精度浮点数学运算并支持所有ARM单精度指令和数据类型。它提供了内存保护单元(MPU)和强大的跟踪功能。GD32F407主频高达168 Mhz,内部集成3072 KB的片上闪存和192 KB的SRAM存储器,闪存访问零等待可极大提高运行速率。同时提供多个增强型多功能I/O口、3个分辨率12位,采样速率最高2.6 MSPS的ADC、8个16位通用定时器,2个32位通用定时器和2个16位基本定时器。它也提供多种标准的通信接口:3个SPI接口、3个I2C端口、4个USART接口、2个UART接口、2个I2S协议音频数据传输接口、2个CAN接口、1个SDIO总线接口、1个USB接口以及1个ENET接口等。单片机最小系统电路如图8所示,其中BOOT0与BOOT1都要串联电阻接地。

Figure 8. GD32F407 minimum system circuit design

图8. GD32F407最小系统电路设计

4. 软件设计

4.1. 下位机软件设计

下位机软件采用集成开发环境Keil MDK平台利用C语言对GD32F407进行软件开发调试。系统初始化过程主要包括系统时钟、I/O口以及CL1606、LAN8720、SD卡等外设。采集系统采样频率初始设定8 K/s,CL1606设为8倍过采样模式,可进一步改善信噪比。数据处理后通过调用SDIO总线保存在SD卡,并通过网口UDP传输协议与上位机进行实时通信,以数据报的形式发送到LabVIEW中。系统下位机软件设计流程图如图9所示。

Figure 9. The program flow chart of the slave computer of the acquisition system

图9. 采集系统下位机程序流程图

4.2. 上位机软件设计

本文系统采用LabVIEW虚拟仿真软件做上位机,主要是用来将多路采集通道实时数据显示出来。数据通过以太网与LabVIEW通信,网口传输模块利用UDP协议将数据报通过源端口发送出去,上位机LabVIEW只需设置相应的目标端口接收数据即可 [8] [9]。该上位机功能包括暂停、清零、一键存储等,同时也可在前面板中设置上下限,若采集到的电阻值超出范围则对应通道的指示灯会点亮报警。LabVIEW前面板如图10所示。

Figure 10. The design of the front panel of the master computer software

图10. 上位机软件前面板设计

上位机程序面板设计主要包括三大部分,分别为UDP读取、波形显示模块与数据一键存储模块等。其中两个通道的UDP读取与波形显示模块设计如图11所示。数据一键存储模块设计如图12所示。

Figure 11. The design of the UDP reading and waveform display module

图11. UDP读取与波形显示模块设计

Figure 12. The design of the data storage module

图12. 数据存储模块设计

5. 采集系统精度分析

采集系统软硬件联合调试完成后,进行数据采集试验来验证采集系统的精度。实验对象为碳纳米纸传感器。碳纳米纸具有优异的电学性能,初始电阻在50~100 Ω范围内,满足采集系统电阻采集范围。将碳纳米纸传感器用502胶水固定在复合材料表面,传感器两端用导电银浆引出两根导线待用,然后通电启动采集系统,对采集系统进行调零操作,进而消除运算放大器零飘带来的误差。调零完成后将碳纳米传感器两根引出线接入通道1传感器接口,给复合材料施加大小不同的力,在上位机软件读取不同时刻的电阻值作为测量值进行记录。同时采用6位半精度测量仪34401A检测同一时刻的电阻值作为电阻准确值进行记录,二者对比如表1所示。该通道相对误差分布如图13所示。

Table 1. Acquisition channel 1 measured value and actual value data comparison

表1. 采集通道1测量值与实际值数据对比

Figure 13. Absolute error distribution of acquisition channel 1

图13. 采集通道1绝对误差分布图

表1数据可以看出,本文设计的多通道同步采集系统测量值与34401A万用表测得电阻实际值比较,最大相对误差不超过1.89%,最小误差不超过0.58%,误差平均值为1.093%。

6. 总结

本文设计了一种GD32F407单片机做主控芯片,CL1606做A/D模块采集转换芯片的多通道同步采集系统,可针对测量对象灵活选择测量通道数,最多可扩展至48路采集通道,满足不同应用场合电阻信号采集的需求。采集的数据可以保存在SD卡中,方便采集测试人员随时查看历史数据,也可以通过以太网通信采用UDP协议发送到上位机LabVIEW中查看实时数据变化。实验验证了采用国产替代芯片设计的采集系统精度小于2%,工作稳定可靠,可满足多数应用场合的需求,为后续国产替代芯片应用于采集系统设计中提供了思路。

文章引用: 罗 瑞 , 徐 涛 , 卢少微 , 马克明 (2021) 基于GD32F407及CL1606的多通道同步采集系统设计。 动力系统与控制, 10, 41-52. doi: 10.12677/DSC.2021.101005

参考文献

[1] 连杰, 田小超. 基于STM32的高精度、大容量、多通道同步数据采集存储系统的设计[J]. 电子制作, 2015(7): 28.

[2] 许宜申, 顾济华, 陶智, 吴迪. 一种高精度恒流源电路的设计与实现[C]//中国仪器仪表学会. 第六届全国信息获取与处理学术会议论文集(3): 2008年卷. 中国仪器仪表学会: 《仪器仪表学报》杂志社, 2008: 732-734.

[3] 屠晓伟, 俞润超, 杨庆华. 基于STM32和USB的多通道数据采集系统设计与实现[J]. 自动化仪表, 2020, 41(5): 84-87.

[4] 袁立, 李玉海. 基于FPGA和MCU的多路对地电阻数据采集系统的设计[J]. 现代电子技术, 2007(16): 46-48+52.

[5] 王晨辉, 吴悦, 杨凯. 基于STM32的多通道数据采集系统设计[J]. 电子技术应用, 2016, 42(1): 51-53+57.

[6] 何丹, 李树国. SD存储卡接口SD模式的FPGA实现[J]. 微电子学与计算机, 2014, 31(1): 103-106.

[7] 陈志星, 杨金孝. 基于LwIP的嵌入式设备Web服务器设计与实现[J]. 电子设计工程, 2018, 26(11): 110-113.

[8] 林静, 林振宇, 郑福仁. Labview虚拟仪器入门到精通[M]. 北京: 人民邮电出版社, 2010.

[9] 袁和, 张光锋. 基于UDP的实时数据可靠传输[J]. 电子技术与软件工程, 2017(24): 151-152.

分享
Top