当前位置:首页 > 作文大全 >

一种利用可控硅实现STM32串口自动下载代码的方法设计

发布时间: 2022-03-24 09:13:30 浏览:

摘要:本论文首先简要描述了STM32系列芯片的应用与特点,随后对STM32下载代码及启动方式进行了分析,在此基础上提出了用可控硅实现串口自动下载代码的方式。期望通过本文的研究能够对STM32系列芯片串口自动下载代码提供一种全新的且简单易行的方法。

关键词:STM32;可控硅;自动下载

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)11-0245-02

1 STM32系列芯片的应用及特点

自从ARM公司2007年首推Cortex内核以后,ST凭借基于ARM Cortex-M3内核的STM32F1,成为嵌入式芯片市场的最大赢家之一。特别是STM32F103系列,包括现在的STM32F407系列,更是成为市场上最通用的MCU系列之一。在功能丰富的同时,拥有着超高性价比,ST的MCU被广泛应用于通信 、交通 、医疗 、物联网 、车联网、工业控制等领域。

STM32系列32位微控制器,是基于ARM Cortex-M的微处理器,它能支持基于32位的广泛应用,支持高性能、实时功能、数字信号处理,低功耗及低电压控制,同时拥有一个完全集成并且容易使用的开发环境。

以STM32为应用的产品线非常广泛,有大量的工具和软件作支撑,是众多产品的理想选择。丰富的型号。STM32系列从内核上分,可分为:Cortex-M0、Cortex-M3、Cortex-M4、Cortex-M7。STM32系列从应用上分,大体分为:超低功耗型、主流型、高性能型。根据内核机性能、功耗的不同,STM32分为“STM32F0系列”、“STM32F1系列”、“STM32F2系列”、“STM32F3系列”、“STM32F4系列”、“STM32F7系列”,及超低功耗的“STM32L0系列”、“STM3L1系列”、“STM32L4系列”。其中,仅“STM32F4系列”就有180多种型号可供选择,封装灵活,有QFN、LQFP、BGA多种封装。

STM32系列的芯片具有丰富的外设接口,包括FSMC、 TIMER 、SPI 、IIC、 USB 、CAN 、IIS、 SDIO 、ADC 、CDA 、 RTC、 DMA等众多外设及功能,具有极高的集成度。功耗可以优化,STM32各个外设都有自己独立的时钟开关,可以通过关闭相应的外设时钟来降低功耗。开发成本极低,STM32支持SWD和JTAG两种调试口,它的开发可以不需要昂贵的仿真器,SWD仅需两个IO口,即实现调试。价格非常低廉,比如STM32F030仅售3元一片。

2 串口下载的优点

在很多应用场合,产品时常需要更新代码。STM32的代码下载有多种方法,比如JTAG、SWD、USB、串口等,其中最佳的选择是串口下载。通过JTAG、SWD口下载时,需要连接JLINK仿真器;USB口下载时则需要在硬件上增加转换芯片,并要开发相应的驱动及上位机软件。而通过串口下载,仅需复用原有的串口,无需另增驱动。不仅可以减少成本支出,而且可以提高产品的可靠性[1]。

3 本方法的设计

STM32有三种启动方式,通过管脚BOOT0和BOOT1设置,两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行,其对应启动模式如下表:

从上表可以看出,STM32通过配置BOOT0的高低点配来配置芯片是处于串口下载模式或是工作模式。在很多实际应用中,通过拨码开关来配置BOOT0的电平,或是通过串口的DTR和RST信号,配合上位机软件实现下载。

本方法设计了一个全新的下载电路,通过可控硅控制BOOT0的电平状态,来自动切换STM32的启动方式,不需要用户手动切换,不需要特殊的上位机软件,可以非常方便地下载代码。

3.1设计思路

本方法的设计思路如下图所示,利用STM32通过设置BOOT0实现启动方式切换的特性,自定义串口下载命令,实现串口自动下载代码。

3.2硬件设计

本设计选用可控硅MCR100-6做控制BOOT0电平的开关。可控硅具有导通和关断两种状态,相当于开关的闭合与断开状态,利用这个特性可用作无触点开关。其状态切换条件如下表:

可控硅及复位信号的连接方法如下图所示。BOOT0接至可控硅的阴极K并拉低,阳极A加3.3V正向电压,控制极G接至STM32的GPIO脚。当STM32收到烧写命令时,第一步把GPIO置高,控制极G为高,此时阳极A电位与阴极K低阻导通,BOOT0被拉高;第二步把GPIO1置低,复位信号NRST拉低,STM32复位重新启动,BOOT0和NRST保持高电平,此时STM32成功进入烧写模式。烧写结束后断电重启,STM32重新进入工作模式[2]。

3.3软件设计

自定义下载命令“$DHLCD,1*”及下载标志位“ucFlag_Load=0”。串口收到烧写命令时,将标志位ucFlag_Load置1,程序跳转至BOOT0、复位信号设置处,进入烧写模式。代码如下所示:

4 本方法的优点

利用本方法可以实现STM32串口的自动下载,无需另设拨码开关;成本低廉,方法简单易行,代码容易实现。不需要单独开发驱动及上位机软件,只需要使用ST官网提供的ISP下载软件,即可以实现代码自动烧写。

5 结论

本文在简要分析STM32下载代码及启动方式的基础上,提出了利用可控硅的开关特性实现串口自动下载的方式,并从硬件及软件两个方面对设计进行论述。本方法已在实际产品中加以运用,取代了原先采用拨码方式实现状态切换的方法。实践证明,本方法簡单易行,稳定可靠。

参考文献:

[1] 蒙博于.STM32自学笔记[M].2版.北京航空航天大学出版社,2014.

[2] 张洋,刘军.原子教你玩STM32(库函数版)[M].2版.北京航空航天大学出版社,2015.

相关热词搜索: 可控硅 串口 利用 代码 方法

版权所有:无忧范文网 2010-2024 未经授权禁止复制或建立镜像[无忧范文网]所有资源完全免费共享

Powered by 无忧范文网 © All Rights Reserved.。冀ICP备19022856号