1、多路数据采集系统的设计与实现来源:电子设计工程 作者:沙晶晶,董洪军,李 蒙摘要:设计了一个基于 ARM 芯片的多路数据采集系统,可以实现对 8 路数据的采集,信号的采集方式可以是单路采集也可以是多路循环采集,控制信号可通过触摸屏或上位机控制输入,数据采集的结果以数字和图形的方式在液晶屏上实时显示。经软硬件综合调试,验证了方案的可行性。关键词:数据采集;ARM;液晶显示器; AD 转换;STM320 引言随着物联网技术的发展与应用,AD 数据采集是其中一项重要的研究课题,AD 多路采集系统实现方案可以多种,通过对三种实现方案进行比较,最终采用 STM32 系列ARM 芯片进行设计。STM32
2、是基于 ARM Cortex-M3 内核的 32 位处理器,具有杰出的功耗控制以及众多的外设,并具有极高的性价比,目前正逐渐抢占了电子领域原有的51、AVR 的市场。本设计中采用 STM32F103RBT6 作为主控制器,该芯片配置丰富,便于今后的系统功能扩展。1 方案比较与论证为实现多路数据采集要求,提出如下三种设计方案:(1)基于单片机的数据采集系统本方案采用双单片机的方法,即在数据采集的远端、近端均采用单片机控制,远端完成数据的采集、抽样、发送;近端完成数据的接收、校验、处理和显示等,键盘控制数据显示。在近端与远端的通信中,采用 RS 485 差分方式接口,以提高通信速度与传输距离。该方
3、案存在不足之处是:AD 接口和 RS 485 接口编程不方便,采集信号的频率范围和速率较低,实用性不大。(2)基于 CPLD 的数据采集系统采用 CPLD 对 AD 芯片的采集控制,通过 USB 接口传输给上位机,优点是可以实现高的采集速率和采集精度,有着较大的实用性,但难点之处是 CPLD 对 AD 模块的控制,及单片机对 USB 的配置。(3)基于 ARM 的数据采集系统本方案主控器采用 STM32 系列的 ARM 芯片,方案如图 1 所示。此方案中 AD 转换器为 ARM 芯片内置,采集的方式、起始时间和持续时间由上位机通过 RS 232 口控制,数据通过 USB 接口传输至上位机保存。
4、考虑到使用笔记本作为控制上位机时没有 232 接口,使用 USB 转 232 的电缆提供 RS 232 控制信息。由于 AD 芯片内置,芯片价格也便宜,电路设计较前面的简单,且 ARM 自带的AD 采集方式多样,并可以通过配置 ARM 芯片内相应的寄存器就可以实现,因此实现简便。考虑到后面的扩展需要和应用的广泛与实用性,本设计采用此方案。2 系统设计原理电路设计原理如图 2 所示。 该电路主要由电源模块,主控器模块,显示模块,SD 卡模块, USB 转 232 模块等几个部分组成。(1)主控制器采用 STM32F103RBT6 作为 MCU,其性价比很高,该芯片具有 20 KB SRAM、12
5、8 KB FLASH、3 个普通的 16 位定时器、1 个 16 位的高级定时器、2 个 SPI、2 个 I2C、3 个串口、1 个 USB、1 个 CAN、2 个 12 位的 ADC、51 个通用 IO 口。因为主控器 STM32是 33 V 供电的,所以需要将 USB 的 5 V 电压转换为 33 V。这里采用电源线性稳压芯片 AMS111733,将 5 V 转换为 33 V。(2)液晶显示电路中采用通用的 LCD 接口,支持 8 位或者 16 位总线或者 SPI 的液晶屏。该模块采用 TFTLCD 面板 (薄膜晶体管液晶显示器),可以显示 16 位色的真彩图片,提高数据显示效果,同时也可
6、以将采集数据以图形曲线的方式形象的表现出来。该模块有 2428两种大小的屏幕可选,320240 的分辨率,16 位真彩显示,自带触摸屏。接口采用 80 并口与外部连接,采用 16 位数据线。(3)JTAG采用标准的 JTAG 接法,STM32 的 SWD 接口与 JTAG 是共用的,只要接上 JTAG,也可以使用 SWD 模式下载并调试代码,多数情况下使用 SWD 来下载调试代码,节省资源、而且下载速度也快。(4)SD 卡利用 SD 卡,扩大容量存储设备,用来实时保存采集的数据,既可以弥补没有上位机的情况,也更方便于事后对大量的数据的分析与处理。(5)AD 采集STM32 本身拥有 13 个
7、ADC,这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量16 个外部和 2 个内部信号源。各通道的 AD 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。最大的转换速率为 1 MHz,也就是转换时间为 1s。3 软硬件综合调试结果编写数据采集、触摸屏控制、上位机控制程序和液晶显示模块程序主要几个模块,将程序下载并进行系统调试,最终效果如图 3,图 4 所示。 系统可以通过触摸屏选择实现对 8 路数据的单路采集或多路循环采集模式,数据采集的结果可在液晶屏上显示,也可传输给上位机或保存在 SD 卡中。通过比较被测电压和数据采集到的电压值,测量精度符合设计要求。4 结语本系统电路简单,成本低,并具有一定的可扩展性和实用性。ARM 自带的 AD 采集方式多样,可以通过配置 ARM 芯片内相应的寄存器就可以实现,因此实现简便。主控器STM32 芯片是基于 ARM CortexM3 内核的 32 位处理器,具有杰出的功耗控制以及众多的外设,具有极高的性价比,在工业控制、消费类电子产品、通信系统、网络系统、无线系统等多个领域具有广泛的应用前景,因此值得研究和推广。