这是我分享的第一个案例,基于STM32的U盘数据采集及固件升级系统。最近遇到个需求
需要对预留TLL串口的设备进行固件升级和工作数据收集。原有方案是通过PC来完成这项功能,
但是由于PC不够方便,操作较麻烦等原因,就考虑做个小模块专用给设备升级和进行数据采集。
主要功能:

  • 固件升级 把设备新固件拷贝到U盘,通过串口进行固件升级
  • 数据采集 通过串口把数据导入到采集板,并存入U盘

通过分析以上功能我们需要选择带有USB功能的MCU,以前的项目中有用过带有USB的MCU,

具体型号是STM32F105VCT6,继续用它(使用以前调好的工程,方便调试!O!)

下面来看下功能框图

数据采集系统整体架构 数据采集系统结构图_数据采集系统整体架构

模块

描述

通讯串口

用来与设备进行数据通讯

USB

USB HOST接口用来插接U盘

调试串口

调试信息输出,接口有的话都会预留一个方便功能调试

数码管

方便客户看升级进度,要控制成本就选了数码管

蜂鸣器

用来做提示音

指示灯

一个电源指示灯,俩个可控制指示灯

Debug口

采用SWD调试接口,与JTAG接口比线束少,我一般都用SWD

电源

使用DC+5V圆形插头

功能列好了,下面来看原理图设计

  • 主MCU核心模块,因为使用USB设备,选择了25M的外部晶振,以前用过内部晶振,USB没有调通后来就放弃了(PS:技术不佳)。
  • 电源模块 选择比较常用的AMS1117-3.3 器件少好用。
  • 仿真和复位电路,简单的RC复位。
  • 通讯接口模块,一个和设备通讯的串口,一个USB HOST 接口
  • 蜂鸣器
  • 指示灯和数码管

数据采集系统整体架构 数据采集系统结构图_嵌入式_02

结尾

本篇主要介绍需求分析,功能定义及原理图设计参考。下一篇会着重介绍下PCB板的设计。

第一次写很多不足之处望指正。