STM32F103C8T6最小系统板设计,集成ST-link下载和虚拟串口功能

前言        

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

    作者:嵌入式创客工坊

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32F103C8T6最小系统板设计,集成ST-link下载和虚拟串口功能

    发表评论