基于LPC2103的三相电信号数据采集系统
通,U3B 成为跟随电路,输出信号Uo=-5 V.由此,限幅电路将输入信号限制在了[-5 V ,5 V]范围内,且信号不会失真。
与电压获取电路相似,在限幅电路后将信号进行整流处理,之后将送入核心处理器的A/D采样环节。
1.3 数据采集与存储模块
数据采集的部分采用了LPC2103内置的10位A/D,将经过调理的三相电信号提供给其A/D引脚即可。
根据数据采集系统的设计要求,本设计开发的数据采集系统,将在不方便与上位机通信的情况下,能够在下位机中保存大量的实时数据。由于采集模块采用了LPC2103内置的10位A/D,其A/D数据寄存器为32位寄存器,为节省数据运算时间和提高采样频率,每次采样的结果保留低16位,即每个采样点的数据为16 b=2 B.系统将采样频率设置为1 024 Hz,在这样的采样频率下,8 通道1 s采集的数据量:1 024 × 8 × 2 B = 16 KB ,考虑到长时间采集下的较大数据量和数据存储时的高传输率,数据的存储使用SD卡完成。
SD卡与微控制器之间的通信有SD和SPI两种接口模式[4],由于LPC2103内部拥有串行外设SPI总线,且使用SPI总线时能够节省主控制器的I/O 资源,因此本设计采用SPI接口方式实现SD卡与主控制器的通信,接口电路如图5所示。
将LPC2103 配置为主机,SD 卡为从机,在SPI模式下完成数据传输。控制器的GPIO 端口P0.9连接SD 卡片选线SD_CS;主控制器时钟信号线SCK0 连接SD 卡SCK 引脚,保证主从设备间的时钟同步;控制器的主机输出从机输入线MOSI连接SD卡的数据输入;控制器的主机输入从机输出线MISO 连接SD 卡的数据输出信号线。
2 系统软件开发
用户通过按键选择数据采集系统运行模式。运行模式1,系统采集三相电信号,并将实时数据通过串口发送至上位机;运行模式2,系统采集三相电信号,并将实时数据保存至SD 卡,不与上位机进行通信。主程序流程图如图6所示。
程序的初始化主要包括:GPIO端口、定时器模块、A/D 模块、SPI接口单元、UART接口单元、SD卡等6大模块。对SD卡的操作按照其数据手册,通过主控制器发送给SD 卡相应的命令来完成。SPI模式下,SD卡的指令由6 B组成,主控制器向SD卡发送指令时,高位字节在前,低位字节在后。操作流程如图7所示。
本设计使用了文件系统为FAT16 类型的SD 卡。FAT16 文件系统的系统分区由引导扇区、FAT 表、FDT表和文件数据区四大部分组成,数据的读/写均以扇区为单位。由于SD 卡系统分区的前三部分是十分重要的,一般不能将数据写入这三部分所在的扇区内,否则会使得SD卡无法被电脑识别,因此在向SD卡写入数据前,首先需找到引导扇区的位置,并根据其中的内容计算FAT、FDT 以及数据簇的起始地址和大小。为节省LPC2103 的内存,设置SD 卡写数据为单块写模式。写SD同样要遵循SD卡写块时序。
3 测试结果
本设计的上位机数据测试软件在LabVIEW 环境下开发,针对串口发送的数据和保存在SD 卡中的实时数据进行不同的开发,其数据结果如图8所示。数据测试软件将串口发送的数据转换至[-5 V,5 V]之间进行显示。图中,通过标定换算,数据采集的结果是准确有效的。
因此,方案所设计的三相电信号数据采集系统能够为进行基于电机拖动的液压动力系统运行状态监测研究奠定良好的数据平台。
4 结论
本文提出了基于LPC2103 的三相电信号数据采集系统的设计方案。方案以LPC2103为核心设计的三相电信号数据采集系统,采用霍尔传感器准确、安全的获取电压电流信号,数据的存储采用SD卡存储方式和串口发送数据至上位机存储模式两种法相结合,增加了数据采集系统的应用灵活性,并给出了详细的软、硬件开发过程。通过测试软件的标定换算,数据采集的结果是准确并有效的,从而验证了方案中所设计的三相电信号数据采集系统能够为进行基于电机拖动的液压动力系统运行状态监测研究奠定良好的数据平台。
- 基于RS-485总线的宿舍智能防火防盗报警系统(06-28)
- 基于PCI-9846H的死区时间引起的电压波形畸变的研究(11-10)
- 基于FPGA的RS232异步串行口IP核设计(02-09)
- 一种多处理器数据采集系统方案(03-24)
- 基于USB2.0和DDR2的数据采集系统设计(03-19)
- 基于MSP430和USB的数据采集系统(04-14)