《基于STM32及AD7606的16通道同步数据采集系统设计(共4页).docx》由会员分享,可在线阅读,更多相关《基于STM32及AD7606的16通道同步数据采集系统设计(共4页).docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上基于STM32及AD7606的16通道同步数据采集系统设计摘要:介绍了基于STM32及AD7606的同步数据采集系统的软硬件设计。主控芯片采用基于ARM Cortex-M4内核的STM32F407IGT6,实现对AD采集数据的实时计算并通过以太网络进行数据传输。A7606为16位、8通道同步采样模数数据采集系统,利用两片AD7606,可以实现对16路通道的实时同步采样。经过测试,该系统可以实现较高精度的实时数据采集。0 引言此处找书介绍STM32,该芯片主频可达168MHz,具有丰富的片内外设,并且与前代相比增加了浮点运算单元(Floating Point Unit,
2、FPU),使其可以满足数据采集系统中的介绍AD76061 系统总体方案设计整个系统由传感器模块、信号调理模块、数据采集模块、处理器STM32、及通信模块及上位机系统组成。系统整体结构框图如图1所示。本系统是为液态金属电池性能测试设计,需要测量电池的充放电电压、电流以及交流加热系统的电压、电流,并以此计算出整个液态金属电池储能系统的效率。因此两片AD7606的16个通道分为两组,每组8个通道,这两组分别测量4路直流、交流的电压和电流信号。AD7606通过并行接口与STM32连接,STM32读取AD采样数据后进行计算,并将数据通过网络芯片DP83848通过UDP协议发送给上位机。上位机负责显示各通
3、道采集信息、绘制波形以及保存数据等。图1 系统整体结构框图2 系统硬件设计2.1 模拟信号采集电路设计模拟信号的采集包含直流电压、电流,交流电压、电流四部分。直流信号的采集分别使用霍尔电压传感器HNV025A和霍尔电流传感器HNC100B,两种传感器的电路原理图类似,仅以霍尔电压传感器电路原理图为例说明,如图2-1所示。HNV025A为电流型霍尔电压传感器,可以提高信号的抗干扰能力,其输入输出电流比为10mA/25mA。因此在图中被测电压经过电阻R1转换为电流信号,传感器输出的电流信号经过R2变为电压信号。R3和C1组成一阶低通滤波器进行滤波。图2-1 直流电压信号采集原理图交流电压、电流信号
4、的调理电路同样类似,以交流电压信号采集为例,其电路原理图如图2-2所示。交流电压互感器变比为2mA/2mA,运放T1及电阻R3组成电流-电压转换电路,R2和C1是为了补偿电压互感器的相移,电容C2用来去耦和滤波。图2-2 交流电压信号采集原理图2.2 数据采集模块设计 数据采集模块由两片AD7606组成,AD7606与STM32之间的电路连接示意图如图2-3所示。图2-3 SD7606与STM32连接示意图(1)AD7606提供了三种接口选项【参考】:并行接口、高速串行接口和并行字节接口。其中并行接口具有最高的数据传输速度,并且与STM32的FSMC(FlexibleStaticMemoryC
5、ontroller, 可变静态存储控制器)兼容。因此两片AD7606与STM32通过并行接口方式连接。AD7606的数据线DB0DB15分别连接对应的FSMC数据线,片选信号分别接到FSMC接口片选信号PG9_FSMC_NE2和PG12_FSMC_NE4上。(2)AD7606的BUSY引脚电平为高时表示AD正在进行转换,变低表示转换完成。将BUSY引脚接到STM32的外部中断引脚并配置为下降沿触发,这样可以在AF转换完成后及时读取数据。(3)OS0.2为过采样配置引脚,通过控制STM32相关GPIO的电平可以是AD7606工作在不同的过采样状态。(4)CONVST_A,CONVST_B为转换触
6、发信号,上升沿触发。对于每一个AD7606来说,CONVST_A控制模拟通道14,CONVST_B控制模拟通道58。由于需要对所有通道同步采样,因此将CONVST_A,CONVST_B引脚同时连接在一个触发信号引脚上以实现同步采样。(5)REFOUT引脚为外部基准电压输入引脚。AD7606可以配置为使用内部基准电压或外部基准电压。当两片AD7606同时工作时,使用外部基准电压可以保证所有输入通道转换精度的一致性。外部基准电压源选择ADR421,ADR421为2.5V基准电源,具有出色的噪声性能、稳定性和精度【参考】,可以满足AD对基准电压源的精度要求。2.3 通讯模块设计本系统中数据通过以太网
7、络传输,与传统串行通讯相比,可以实现更高的数据传输速度,同时便于实现对设备的远程访问以及将多套系统共同接入网络。3 系统软件设计软件的开发是在Keil MDK开发环境下进行的,应用程序主要包括STM32F4的初始化、AD7606采样程序配置、LWIP协议栈的移植、数据处理等。初始化部分包括GPIO初始化、内存管理初始化、定时器初始化以及各项计算系数初始化等;AD7606采样程序配置主要包含FSMC配置、中断配置、数据读取、过采样配置等;LWIP协议栈移植包括编写DP83848驱动程序、修改LWIP源码、实现UDP发送接收数据等;数据处理部分包括根据采样数据计算所需要的电压、电流有效值、功率等等
8、。程序运行时,首先进行初始化操作,之后会在AD7606的触发引脚CONVST_A,CONVST_B上产生预设的固定频率和脉宽的脉冲信号,脉冲信号的上升沿触发AD进行采集,此时AD7606的BUSY信号引脚为高,转换结束后BUSY变低,由此产生外部中断,在中断程序中读取AD的采样结果。有两个缓冲区交替存储AD的采样结果,当一个缓冲区存满时再进行各项参数计算,此时AD的采样结果将保存在另外一个缓冲区中。双缓冲区的机制保证了在计算过程中缓中区中的数据不会被AD实时采样的数据所覆盖而导致计算错误。计算所得到的结果会定时发送给上位机。上下位机之间通过UDP协议进行数据传输,在主函数中会循环检测是否接收到
9、上位机的命令数据,如果接收到数据,则根据既定的命令代码执行不行的操作。每一帧发送的数据通信格式如图3-1所示:根据命令号的不同,已经实现的功能有:修改定时发送数据时间间隔、请求实时波形数据、AD复位、传感器校零、AD过采样率设置等。4系统精度测试与分析为测试系统精度,选择。作为参考标准。理想的霍尔传感器在输入为零时输出电流也应为零,不过实际的霍尔传感器即使输入为零时也会有很小的输出电流,这样会对测量结果造成一定的直流偏置。通过上文提到的传感器校零操作,可以将此直流偏置对测量结果的影响减少到最小。具体方法是在霍尔传感器输入为零时保存此时的AD采样值,然后在之后的实际测试中将每个采样值均减去此值。下面的测试结果均为将传感器校零后的测试结果。专心-专注-专业