这是我分享的第一个案例,基于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 接口
-
蜂鸣器
- 指示灯和数码管
结尾
本篇主要介绍需求分析,功能定义及原理图设计参考。下一篇会着重介绍下PCB板的设计。
第一次写很多不足之处望指正。
扫描上方二维码关注“嵌入式案例Show”公众号,看更多嵌入式案例
版权声明:本文为m0_46341772原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。