基于ARM_Cortex-M3的多路数据采集系统的设计
时间:2026-01-22
时间:2026-01-22
基于ARM Cortex-M3的多路数据采集系统的设
计
摘要:数据采集是获取信号对象信息的过程。本文设计了一个基于ARM Cortex-M3
处理器的数据采集系统,利用内置的丰富的外设资源,实现多路模拟输入电压信号的连续采集和顺序转换,通过RS232串行通信将转换结果在PC接收端显示,并产生PWM方波信号,实现对现场电压信号的实时监测。
关键词:数据采集系统;嵌入式系统:Cortex-M3微处理器
0 引言
数据采集系统是将采集传感器输出的温度、压力、流量、位移等模拟信号转换成计算机能识别的数字信号,进行相应的计算存储和处理;同时,可将计算所得的数据进行显示或打印,以便实现对某些物理量的监测和控制。
嵌入式系统是以应用为中心,以计算机为基础,软硬件可剪裁,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的核心是各种类型的嵌入式处理器。目前,采用ARM技术的微处理器占据了主流,其应用遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。而ARM微处理器的Cortex系列专为安全要求较高的应用而设计。其中,Cortex-M3适于高性能、低成本需求的嵌入式应用。
1 多路数据采集系统总体设计
1.1 系统设计要求
本数据采集系统的设计要求实现150路直流电压的实时采集和顺序转换。经过部分采集处理后,由串行数据总线将转换数据发送至上位机界面,经过换算,以检测采集的电源正常与否;同时在输出端产生5路PWM方波信号,以用作输出测试与控制。
1.2 系统设计方案
根据上述设计要求和数据采集系统的设计规范,将系统划分为两个部分:最小系统和采集系统。
最小系统采用基于ARM Cortex-M3架构的微控制器STM32F103RBT6为主控CPU,利用其内置16通道ADC对输入的多路直流电压信号进行实时采集和转换,内置外设USART 将转换结果经过串口发送在PC端由串口调试助手显示。
采集系统采用5块采集板,每块板实现30路电压信号采集。各块板上,采用比例分压的方法,利用排阻进行采集电压的比例转换,以达到ADC转换的参考基准电压要求。电压信号的输入采用4.16线模拟开关CD4067,通过CPIJ输出四位控制信号,依次选择各路输入信号,进行采集转换。
电压信号经过采集板,级联输入到最小系统板中,利用CPU内置ADCl中的10个转换输入通道,依次进行转换。设置CPU_内部DMA模块实现转换结果的存储,利用串口转发数据,在上位机显示转换结果。
根据上述设计方案,本数据采集系统的系统组成和工作原理如图1所示。
2 数据采集系统的硬件设计
根据系统构成原理,硬件设计上,最小系统和采集系统两部分通过并行接口实现多块板级联,通过选择相应的输入通道和转换通道,实现信号采集和转换结果的显示。
最小系统中,采用STM32F103RBT6微控制器,工作频率可达72MHz ,内置2个12位ADC ,16个外部模拟信号输入通道,可达1 u s 转换时间,转换范围是O ~3.6V ;支持7个DMA 通道,可操作多种通用外设,如定时器、ADC 、USART 等;内置3个同步16位定时器,每个可有4个通道用于PWM 波形输出。
2.
1 最小系统的设计
按照STM32最小系统的设计规范和本系统的功能要求,最小系统构成如图2所示:
电源模块:CPU 为3.3V 供电,最小系统外部输入电源为5V ,经过电压转换芯片LM1117-3.3获得3.3V 输出电压,以提供系统电源。电源的输入输出端并接滤波电容,分别滤除电源的高频和低频噪声。
除此之外还有外部时钟,复位系统,ADC 参考电压,USART 串行通信,JTAG 调试接口,总线驱动接口的设计。
STM32F103RBT6处理器具有51个多功能双向5V 兼容的I /O 口,使用时可以作为通用GPIO 口,也可作为复用AFIO 口。复用I /O 中,本系统外设所使用的有:定时器4通道四TIM4-CH4复用PB9口;USART1引脚USART1-TX 、USART1-RX 复用PA9、PA10:ADC 转换通道CH0~CH9分别复用PA0~PA7及PB0、PB1。
对于复用功能的端口可以配置成以下模式:输入模式(浮空、上拉或下拉)或复用功能输出模式,此时输入驱动器被配置成浮空输入模式。ADC 通道端口用作ADC 输入时将对应端口配置为模拟信号输入模式;USART 数据传输时,TX 、RX 复用端口分别配置为备用功能推拉模式和
输入浮动模式。
2.2 电压采集系统的设计
电压采集系统作为本系统的第二部分,主要实现多路电压信号顺序选择输入,获得ADC 采集端的输入电压信号,同时,输出最小系统中产生的PWM方波信号,并能选择不同的ADC通道,以实现5块采集板与最小系统板级联。本部分主要包括电压采集模块、数据选择模块、PWM输出模块以及输入输出接口等。
电压采集模块:电路中采用电阻比例分压的方法,获取输入电压信号,以达到CPU采集转换的基准电压的要求。在实际硬件设计中,采用比例阻值的排阻代替分离电阻以便于电路板的绘制和整体布局。
数据选择模块:采用16选1输出的模拟开关CD4067作为数据选择器,输出控制由CPU 四个端口输入高低电平作为二进制组合以确定输出的数据通道。
PWM输出模块:最小系统中选择定时器四,软件配置为PWM输出,由三极管放大后获得PWM方波。
上一篇:昆山市劳动和社会保障局