技术中心
 
 

多路数据采集系统的设计与实现

   日期:2013-01-15    

设计了一个基于ARM芯片的多路数据采集系统,可以实现对8路数据的采集,信号的采集方式可以是单路采集也可以是多路循环采集,控制信号可通过触摸屏或上位机控制输入,数据采集的结果以数字和图形的方式在液晶屏上实时显示。经软硬件综合调试,验证了方案的可行性。

随着物联网技术的发展与应用,A/D数据采集是其中一项重要的研究课题,A/D多路采集系统实现方案可以多种,通过对三种实现方案进行比较,最终采用STM32系列ARM芯片进行设计。STM32是基于ARM Cortex-M3内核的32位处理器,具有杰出的功耗控制以及众多的外设,并具有极高的性价比,目前正逐渐抢占了电子领域原有的51、AVR的市场。本设计中采用STM32F103RBT6作为主控制器,该芯片配置丰富,便于今后的系统功能扩展。

为实现多路数据采集要求,提出如下三种设计方案:

基于单片机的数据采集系统

本方案采用双单片机的方法,即在数据采集的远端、近端均采用单片机控制,远端完成数据的采集、抽样、发送;近端完成数据的接收、校验、处理和显示等,键盘控制数据显示。在近端与远端的通信中,采用RS 485差分方式接口,以提高通信速度与传输距离。该方案存在不足之处是:A/D接口和RS 485接口编程不方便,采集信号的频率范围和速率较低,实用性不大。

基于CPLD的数据采集系统

采用CPLD对A/D芯片的采集控制,通过USB接口传输给上位机,优点是可以实现高的采集速率和采集精度,有着较大的实用性,但难点之处是CPLD对A/D模块的控制,及单片机对USB的配置。

基于ARM的数据采集系统

本方案主控器采用STM32系列的ARM芯片,方案如图1所示。

此方案中A/D转换器为ARM芯片内置,采集的方式、起始时间和持续时间由上位机通过RS 232口控制,数据通过USB接口传输至上位机保存。考虑到使用笔记本作为控制上位机时没有232接口,使用USB转232的电缆提供RS 232控制信息。

由于A/D芯片内置,芯片价格也便宜,电路设计较前面的简单,且ARM自带的A/D采集方式多样,并可以通过配置ARM芯片内相应的寄存器就可以实现,因此实现简便。考虑到后面的扩展需要和应用的广泛与实用性,本设计采用此方案。

系统设计原理

该电路主要由电源模块,主控器模块,显示模块,SD卡模块,USB转232模块等几个部分组成。

(1)主控制器

采用STM32F103RBT6作为MCU,其性价比很高,该芯片具有20 KB SRAM、128 KB FLASH、3个普通的16位定时器、1个16位的高级定时器、2个SPI、2个I2C、3个串口、1个USB、1个CAN、2个12位的ADC、51个通用I/O口。因为主控器STM32是3.3 V供电的,所以需要将USB的5 V电压转换为3.3 V。这里采用电源线性稳压芯片AMS1117—3.3,将5 V转换为3.3 V。

(2)液晶显示

电路中采用通用的LCD接口,支持8位或者16位总线或者SPI的液晶屏。该模块采用TFTLCD面板(薄膜晶体管液晶显示器),可以显示16位色 的真彩图片,提高数据显示效果,同时也可以将采集数据以图形曲线的方式形象的表现出来。该模块有2.4’/2.8’两种大小的屏幕可选,320×240的 分辨率,16位真彩显示,自带触摸屏。接口采用80并口与外部连接,采用16位数据线。

(3)JTAG

采用标准的JTAG接法,STM32的SWD接口与JTAG是共用的,只要接上JTAG,也可以使用SWD模式下载并调试代码,多数情况下使用SWD来下载调试代码,节省资源、而且下载速度也快。

(4)SD卡

利用SD卡,扩大容量存储设备,用来实时保存采集的数据,既可以弥补没有上位机的情况,也更方便于事后对大量的数据的分析与处理。

(5)A/D采集

STM32本身拥有1~3个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字 转换器。它有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方 式存储在16位数据寄存器中。最大的转换速率为1 MHz,也就是转换时间为1μs。

软硬件综合调试结果

编写数据采集、触摸屏控制、上位机控制程序和液晶显示模块程序主要几个模块,将程序下载并进行系统调试。

系统可以通过触摸屏选择实现对8路数据的单路采集或多路循环采集模式,数据采集的结果可在液晶屏上显示,也可传输给上位机或保存在SD卡中。通过比较被测电压和数据采集到的电压值,测量精度符合设计要求。


 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢