论文部分内容阅读
日前,随着客户对数据采集系统速度的要求不断提升,数据采集技术的不断发展,纯硬件形式的数据采集系统相比于采用软硬件结合的采集系统而言,已经明显落伍。USB成为PC机与外部设备连接的通用标准协议是凭借其易于扩展、热插拔、即插即用以及高效的传输率等优点。STM32微控制器上不仅提供多种通信接口,而且更为让人惊艳的是集成了高速的USB2.0接口[1]。因此,STM32微控制器成为数据采集器的核心首选系列。Cortex-M3内核正好符合通信及数据采集系统领域对系统的实时性和处理速度的高要求,并且成本上可以得到严格控制。本论文就是在STM32系列的Cortex-M3处理器上实现实时通信与数据采集。STM32F103VE芯片基于要求高性能、低成本、低功耗的ARM Cortex-M3内核,高集成度且易于开发。采用了集成Cortex-M3内核的STM32F103VE芯片,STM32连接PC和MAX1270进行通信,成为通信信道,PC通过USB下传用户命令到STM32,STM32再通过SPI总线与MAX1270通信,控制MAX1270对外部模拟信号进行数据采集,然后对采集到的数据进行A/D转换处理,最终通过串行总线利用USB转TTL模块传输到PC上进行显示。整个通信过程包含发送命令字和收集采样数据。其中,通过STM32的定时器来触发MAX1270的采样操作,实现采样率的控制,同时将采样数据通过USB反馈给PC。本文采用了uC/OS-Ⅱ实时嵌入式操作系统作为开发平台控制以及监测通信以及数据的采集任务。并且详细阐述了将uC/OS-Ⅱ实时操作系统移植到STM32F103VE芯片上的过程,包括修改相应的函数以及文件代码的详细修改方案。数据采集器模块以STM32F103VET6芯片为主体, STM32微控制器通过SPI接口与MAX1270相连,通过USB接口与PC主机相连,而A/D转换的任务交由MAX1270来完成。选择A/D转换器MAX1270是因为其串行输出、双极性输入的特性可以在不增加硬件情况下,将双极性模拟信号进行A/D转换。USB总线模块方面,STM32F103VE芯片上集成的总线通信接口,用USB转TTL模块与PC机进行通信。本文给出了串行总线的初始化、波特率的设置以及代码设计。最终,通过SecureCRT查看串口检测到的电池电压采样数据。