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


    前言        

            在以前的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软件中就可以直接下载,串口就懒得演示了。

  • 相关阅读:
    【Python 基础篇】Python环境搭建
    pytorch预测之解决多次预测结果不一致问题
    博客园商业化之路-开发任务众包平台:召集早期合作开发者
    Blazor预研与实战
    基于Python的书店销售管理系统
    Mysql 的分布式策略
    influxdb导出数据
    Python数据的输入与输出
    成为职业游戏建模师有没有前景,未来自己该如何发展学习
    如何进行SEO优化数据分析?(掌握正确的数据分析方法,让您的网站更上一层楼!)
  • 原文地址:https://blog.csdn.net/lwb450921/article/details/127940421