一款集成ST-link下载及虚拟串口的STM32F103C8T6最小系统板设计

news2024/11/17 3:32:58

前言        

        在以前的STM32单片机应用中,经常使用STM32F103C8T6最小系统板(小蓝板)作为主控。程序下载和串口交互都需要额外器件和接线,程序下载的话要用到ST-link,串口交互用到USB-TTL,常见的样子就下面这样吧。

     为了摆脱接线的麻烦和少占用我一个USB口,我决定将它俩集成到主控上。这里采用的方案是ST-link V2.1,上图所示的是ST-link V2,它没带串口功能。而V2.1的带有虚拟串口,但是固件大小比V2的大。

一、设计3D展示

        

         这里用要2块STM32F103的芯片,顶层的芯片是刷ST-link V2.1固件作下载加串口功能,底层是真正要用的主控芯片,并且如果要用ST的芯片,作下载和串口的芯片要用STM32F103CB,否则128KB固件刷不进去,后面我用的是AIR32F103CB(5块一片)替代,因为正版的芯片有点贵。主控芯片C8/CB都可以,看个人选择。

        除此之外,我又加了一个0.91寸的OLED和2个龟仔按键,2个LED灯作为简单的外设拓展。

二、实物展示

 

         纯手工焊接,丑了点,但不影响性能。

三、功能展示

         

 

         上面是ST-link设备识别、串口设备识别、虚拟U盘识别,下载和串口调试已验证无误,成功实现一线通。

下面演示的是虚拟U盘下载

四、仿制步骤

1.简述

  • 本设计板载ST-link V2.1,具备虚拟串口功能,能完成程序下载、串口调试一线通。同时,板载2个LED指示灯,2个外部按键,0.91寸IIC协议OLED
  • 关于ST-link V2.1与ST-link V2:功能上V2.1比V2多虚拟串口功能,固件比V2大,要用128KB容量芯片
  • 本设计用到2块单片机芯片,顶层的是作为ST-link V2.1,可以用AIR32F103CB代替,否则只能用STM32F103CB(128KB),ST的芯片价格可能较高。底层的芯片是作为主控芯片,选用ST正版芯片或国产替代也可以
  • 该电路焊接制作会较为复杂,建议有一定动手能力和问题分析能力的小伙伴上手
  • 关于元器件,屏幕用的是某园的如下款

   

     晶振用的是三脚无源晶振,为了减小总体体积。其它元器件基本都是0603封装的,有个保险丝是0805封装。

2.电路板打样

        原理图和PCB在立创已开源:点击跳转

3.制作、调试步骤

板子焊接首先从底层焊接,锡膏加加热台,底层的所有贴片器件都可以全部贴完上去(图示排针肯定是最后最后最后焊接,当时做的时候没拍过程图)

   

2.第二步

          第二步焊接顶层芯片和Type-C接口,同时在底层裸露的焊盘用杜邦线的公头端焊接,用于给芯片下载程序。杜邦线和板子的VCC和GND可以不用焊接,直接用手摁在排针孔上。最后要检查一下焊完这些有没有短路的,上电不短路进行下一步。

  

3.第三步

       打开STM32 ST-LINK Utility,杜邦线母头端和STlink模块连接,公头连接板子。然后将STlink模块插到电脑。

    

使用STlink模块连接芯片。

  选择固件STLinkV2.J28.M18.bin下载,下载过程中不要乱动,可能会下载失败。

4.第四步

    进行固件更新

    拔掉STlink模块,使用type-C线把板子和电脑连接,从STM32 ST-LINK Utility中打开升级工具。这个是必须要升级的

    

来到关键的一步,点击Device Connect,如果一切正常,显示如下。不正常的话一般都是焊接出错了,或者需要拔插连接电脑多次才能识别出来。这里也是坑点出现的地方

到这里,点击确定,然后再次点击Device Connect

能看到原来刷的固件版本,和要升级到的目标版本,点击Yes,进行升级,中途别乱动,可能会如下图卡死。

卡死就重新再来

这里是显示成功了。重新拔插连接电脑,会识别到STlink和串口设备,同时会多个U盘设备出来

5.第五步

完成剩余元器件的焊接。烧录测试bin文件代码,验证整体没有问题。

烧录完成,要手动按一下复位键,效果如下,蓝灯常亮,绿灯快闪(视频转GIF颜色有些淡化了)

        验证无误就可以用了,以后下载调试只要一根Type-C线,上面演示的是虚拟U盘下载,日常在Keil软件中就可以直接下载,串口就懒得演示了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(历史上最详细的网络)华为初级网络工程师知识点总结(二)工作考研均受益

超级详细网络知识二一,关于IPV4和IPV6地址的介绍(重点是IPV4)1,IPV4地址的组成2,子网掩码的详解3,IP地址的分类和播的形式4,IP地址的分类可用地址5,IPV4的特殊地址,公网地址&#xf…

信息数据采集软件-什么工具可以快速收集信息

随着时代的不断的进步,我们已经悄然无息地步入了一个大数据信息时代,每个人在互联网上都离不开信息数据的汇总分析以及信息数据的应用,不管是亮化自己的信息数据,还是分析同行详细信息的数据。今天小编就教大家如何用信息抓取软件…

yapi文档转换jmx脚本

需求 需要自动生成接口测试脚本接口文档(swagger/yapi/wiki)很多,我不想一个一个去复制黏贴到jmeter 期望 一键自动生成接口测试脚本,解放双手,降低纯手力劳动占比,进而给自己提供更多的时间去思考、理解…

第九章:单调栈与单调队列

单调栈与单调队列一、单调栈1、什么是单调栈?2、单调栈的模板(1)问题:(2)分析:二、单调队列1、什么是单调队列2、单调队列模板(1)问题(2)分析一、…

深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」

Https反向代理 之前的内容中我们主要针对于一些对安全性要求比较高的站点,可能会使用HTTPS(一种使用SSL通信标准的安全HTTP协议),针对于HTTP 协议和SSL标准相信大家都知道了,在这里我就不为大家进行介绍了&#xff0c…

共建“医疗合规科技实验室”,美创科技实力护航医疗数据安全

11月15日-17日,由工业和信息化部、深圳市人民政府主办,中国互联网协会、广东省通信管理局、深圳市工业和信息化局等单位承办的2022中国互联网大会隆重召开。 在互联网医疗健康合规发展论坛上,医疗合规科技实验室合作伙伴计划正式启动&#xf…

scau Java综合性实验之Java源程序分析程序

1. 编写一个Java应用程序,实现对某个目录中的所有Java源程序文件(包含该目录的子目录中的源程序文件)进行统计。统计内容包括: (1) 目录中每个源程序文件的总行数和空白行数,文件的字节数; (2) 目录中所有源…

ADB调试--详细教程(附华为手机无法显示设备解决方法)

终端打开开发者模式,用数据线连接电脑,然后按照下面的步骤操作 1、开启开发者选项: 设置->关于设备->版本号(连续点击5次) 2、打开USB调试 在开发者选项中,找到USB调试,将此打开。 3、…

作为资深程序民工怎么能被性能优化难倒!原理与实战齐飞,源自大厂自然更专业!

性能优化是一个很复杂的工作,且充满了不确定性。它不像Java业务代码,可以一次编写到处运行(write once, run anywhere),往往一些我们可能并不能察觉的变化,就会带来惊喜/惊吓。能够全面的了解并评估我们所负责应用的性能&#xff…

全渠道商城授权管控经销商,渠道商管理系统助力医药企业快速扩大渠道规模

随着医改的稳步推进,医药行业传统的以销售为主的扩张模式难以为继,国内药企面临创新转型。如何探寻医药数字化营销方法论,如何把握政策机遇和用户需求,利用数字化推动医药创新渠道破局,已成业内关注的重点。 后疫情时…

如何在win11中用双硬盘或移动硬盘装Ubuntu 20.04 双系统

首先明确一下思路,这个多硬盘的安装方式与单硬盘的方式没什么本质区别 下面介绍具体的方法: 1.下载Ubuntu系统镜像、制作系统盘 1.1 下载镜像 ubuntu20.04镜像下载:ubuntu20.04官网,点击进入下载 现在最新版是 Ubuntu 22.04.1…

ZX297520V3T:Codec NAU88C22驱动调试

一、音频驱动框架 ALSA(Advanced Linux Sound Architecture)是目前linux的主流音频体系结构。ALSA不仅在内核设备驱动层提供了alsa-driver,同时在应用层为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。为了方便调试,ALSA也提…

Spring~五种存储Bean对象的类注解、方法注解(@Bean)以及Bean对象的获取

目录 五种存储Bean对象的类注解 ​Controller Service Repository Component Configuration 方法注解Bean 使用Bean注解的常见问题 当一个类型有多个实例对象,使用类型获取就会报错 在容器中找不到Bean,不论通过什么方式来获取Bean对象都会报…

建设一个互联网医院系统要花多少钱?

建设一个互联网医院系统要花多少钱?很多人在筹备调研互联网医院建设后,仍然有很多问题答案不清楚,今天就给大家来聊一聊。 其实互联网医院看似简单,实则是一个较为复杂的过程,要想合法合规的开展线上诊疗业务&#x…

雷电模拟器dnconsole命令汇总

雷电模拟器之文件操作 删除相册中的文件 ldconsole adb --index 0 --command "shell rm /sdcard/DCIM/1.png" 雷电模拟器应用操作 假设启动名为test1的模拟器, 以抖音为例 : 判断应用是否安装: ldconsole adb --name test1 --co…

姿态识别+校准|视觉技术新突破

技术实现路径及优势 概述:通过2D图像序列加2D图像景深序列,利用复杂的3D重建算法与人体骨架模型的拟合还原姿态节点信息,进而对各种姿态进行准确的数学分析,达到准确高效识别姿态的效果;摆脱人脸3D训练样本真值依赖&am…

【输出重定向】Windows下 cmd 、powershell输出重定向

目录一、cmd和powershell二、什么是输入输出重定向三、语法及示例一、cmd和powershell 大家如果只用过Windows,可能cmd接触的相对多一点。按win r 输入cmd即可打开。我一般用的是powershell。 cmd:     cmd是command的缩写,即命令提示符。是提示命…

怎么手写转文字?借助这3款工具轻松实现

许多小伙伴在日常中会遇到需要把手写文字转换为电子版的情况,例如领导给一份手稿让你整理,亦或是平时自己随笔记录的一些内容想把它分享到平台上等等。但是手动逐字敲键盘输出太费时费神啦,所以今天要传授给大家一个好方法,那就是…

HTML5期末考核大作业,网站——青岛民俗 7页。 美丽家乡 学生旅行 游玩 主题住宿网页

👨‍🎓静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

LeetCode-808-分汤

1、动态规划法 我们可以利用二维数组dp[i][j]dp[i][j]dp[i][j]来记录当汤A的体积为i,汤B的体积为j时的概率。由于体积均为25的倍数,为了方便计算我们可以将所有体积都除以25。由于误差范围为10−510^{-5}10−5,我们可以计算得出当$n\ge179时…