更全的杂志信息网

STM32F10x一键串口下载的电路设计与调试

更新时间:2016-07-05

引 言

传统的8/16位单片机因其有限的性能和简单的内部外设模块,使得其在设计一些功能稍显复杂的电子产品时显得捉襟见肘。而大多数32位处理器又因为其高功耗、高成本、复杂的开发应用环境限制了它在低端电子产品中的使用。因此基于ARM Cortex-M内核的32位嵌入式处理器应运而生,Cortex-M内核是ARM公司针对一些对成本比较敏感的低端嵌入式应用而专门开发的ARM处理器内核。

行业中基于Cortex-M内核的ARM处理器多如牛毛,这其中又以ST公司开发的基于Cortex-M3内核的STM32F10x系列处理器为其中的翘楚。STM32F10x系列处理器因其高性能(主频达到72 MHz,同类产品性能最高)、低功耗、完善的器件软件库和开发工具链以及简单的硬件应用环境(如芯片无BGA封装等)使得其作为32得到广泛应用。

STM32F10x系列处理器通常情况下有两种方式来下载程序到芯片内部的主闪存存储器中:一种是外接专用的ARM仿真器(如J-LINK仿真器等)通过芯片的JTAG接口将用户编写的应用程序下载到芯片内部的主闪存存储器,另一种是通过芯片的ISP接口将用户编写的应用程序下载到芯片内部的主闪存存储器,不需要外接专用的ARM仿真器。

可以看出,采用ISP方式来下载程序时,成本远低于采用仿真器的方式下载程序。但是由于采用ISP方式下载程序需要用到芯片出厂时固化在芯片内部的Bootloader程序,下载完用户的应用程序后又需要芯片重新上电且需立即切换到去执行用户的应用程序,因此芯片通常需要通过跳线的方式在这两者之间进行转换,这给用户的应用带来了极大的不便。

(4)创新驱动效应偏低,自主研发能力有待加强。湖北省汽车零部件产业集聚了很多仅有组装生产功能而无研发能力的零部件企业,但技术研发能力强、营业规模超10亿元级的龙头企业还很少。另外,还缺乏汽车零部件方面的公共创新服务平台,导致整体创新驱动效应明显不足,汽车零部件技术研发、检验检测、产业孵化等公共配套服务缺乏,无法有效促进整体汽车零部件技术和生产工艺的提升。

鉴于此,本文设计了一种实用的STM32F10x系列处理器一键串口下载电路,运行调试PC机上的MCU-ISP软件将用户的应用程序下载到芯片内部的主闪存存储器后,马上就能运行用户的应用程序,从而极大地减少采用此芯片时的开发时间成本和生产成本。

1 STM32F10x系列处理器串行下载的工作原理

2.公司治理同步改革需求迫在眉睫,主业升级和经营方式转型问题亟待解决。结构调整中引入混合所有制成为国企响应“降杠杆”要求的重要举措和突破口。2017年,混合所有制改革从点到面已成星火燎原之势,央企中已开展混合所有制改革的企业占比达68.9%。公司治理的同步改革成为国企改革过程必须面对也是亟待解决的问题。随着混合所有制改革的推进,国企实现所有权由单一持有到多元持有的变化,不仅如此,有的企业更是面临着主营业务的多元化。这些都要求经历过混改的国有企业不断推进主业升级和经营方式的转变。

我们以STM32F103ZET6为例来说明STM32F10x最小系统电源部分电路的调试步骤。STM32F103ZET6采用3.3 V供电,首先用万用表测量电源模块输出的3.3 V电源信号正常,同时令示波器3.3 V电源信号的纹波不要超标(3.3V±5%)。然后测量STM32F103ZET6的电源引脚(17、52、39、62、72、84、95、108、121、131、144、31、33)上3.3 V电源信号都正常。

所有入组患者,在入院均予以解痉平喘、抗感染、吸氧等常规对症治疗,必要时接受维持电解质及酸碱平衡等治疗措施。常规治疗组给予强心、利尿、扩血管等综合对症治疗;心脉隆治疗组在此基础上增加心脉隆注射液(云南腾药制药有限公司生产,国药准字Z20060443,规格:2 mL/支)治疗,将心脉隆注射液加入生理盐水或葡萄糖注射液(200 mL)中,以5 mg/(k92·d)静脉输注,疗程7 d。

图1是STM32F10x处理器,采用UART(异步串行通信接口,俗称232接口)下载程序的硬件接口连接图。STM32F10x处理器的UART接口外接232转换芯片,232转换芯片再连接到单板的232串行接口插座。PC主机的232串行接口插座和单板的232串行接口插座再通过线缆连接。

对照组给予经皮腰椎间盘摘除术联合臭氧消融治疗,研究组患者给予射频热凝术联合臭氧消融治疗。射频热凝术:患者取俯卧位,保持患者腰椎过曲位,常规消毒、铺巾,确定穿刺点,进针到靶点,设定频率,检出患者最大耐受温度,采用最大耐受温度连续治疗180s,在治疗过程中,注意患者的耐受性,及时调整射频针的位置。臭氧消融:在射频热凝术治疗之后,拔除电极针,接上已经灌入10ml的臭氧的灭菌注射器,缓慢注射8ml。并观察患者气态弥散情况,观察半小时,结束治疗。

图1 STM32F10x处理器 ISP(UART接口)方式下载程序硬件接口连接图

PC主机上运行ISP软件,STM32F10x处理器上电后自动运行芯片出厂前烧写到芯片内部系统存储器中的Bootloader程序。芯片内部的Bootloader程序和PC机上的MCU-ISP程序通过专门的串口通信协议将用户编写的应用程序下载到芯片内部的闪存中。

2 一键串口下载电路的设计与工作原理分析

通常STM32F10x系列处理器是通过专用硬件配置引脚(BOOT1和BOOT0)的设置来确定处理器内部程序的启动方式。

STM32F10x系列处理器在使用上极其方便。除了性能和内部功能模块都较传统的单片机有很大的提升和扩展外,STM32F10x系列处理器在片内程序的加载和调试上都提供了丰富的手段。STM32F10x系列处理器除了可以通过JTAG(联合测试行动组)协议接口在线下载程序和仿真程序外,还提供多种串行接口(UART、USB、CAN等)下载程序到芯片内部的闪存中。STM32F10x系列处理器通过JTAG接口下载程序时必须采用专门的仿真器(如JLINK仿真器等)来下载程序,因此提高了产品的开发成本和生产成本。在很多场合基于STM32F10x系列处理器的嵌入式电子系统通常采用串行ISP(in-system programming 在线系统编程)方式来加载程序。

表1为STM32F10x系列处理器启动硬件配置表。

表1 STM32F10x系列处理器启动硬件配置表

启动模式选择引脚BOOT1BOOT0启动模式说 明X0主闪存存储器主闪存存储器被选为启动区域01系统存储器系统存储器被选为启动区域11内置SRAM内置SRAM存储器被选为启动区域

当BOOT1=x、BOOT0=0时,系统上电后,处理器从主闪存存储器启动运行程序,这是正常的工作模式;当BOOT1=0、BOOT0=1时,系统上电后,处理器从系统存储器启动运行程序,系统存储器中的程序一般都是芯片出厂前由厂家写入的Bootloader程序;当BOOT1=1、BOOT0=1时,系统上电后,处理器从从内置SRAM启动,这种模式主要用于调试程序。

CH340的第16脚和第1脚分别是芯片的电源信号引脚和地信号引脚,分别接单片机的电源信号和地信号。第7脚和第8脚是芯片的12 MHz晶振输入和输出引脚。第5脚和第6脚是USB差分信号引脚,直接连接到单片机的USB插座上。第4脚为电源滤波引脚,当芯片5 V电源供电时,该引脚需外接0.01 μF的退耦电容;当芯片由3.3 V电源供电时,该引脚需外接电源信号,因此在电路设计时需做兼容设计。芯片的第14脚为RTS(数据发送请求)信号,通过外接一个三极管组成的控制电路来控制STM32F10x芯片的BOOT0信号,当RTS信号输出为高时,BOOT0为低电平,当RTS信号输出为低时,BOOT0为高电平。芯片的第13脚为DTR(数据接收请求)信号,通过外接一个三极管组成的控制电路来控制STM32F10x芯片的复位信号(NRST),当DTR信号输出为高时,NRST为低电平,当DTR信号输出为低时,NRST为高电平。

图2为一种实用的一键串行下载电路的原理图。除此电路外,系统还需要将STM32F10x芯片的BOOT1引脚固定拉低,即将BOOT1信号永远设置为低电平。

如图3所示,DTR#信号和RST#信号为一对相反信号,RTS#信号和BOOT0信号为一对相反信号。当DTR#信号和RTS#信号为高电平时,RST#和BOOT0为低电平信号;反之,当DTR#信号和RTS#信号为低电平时,RST#和BOOT0为高电平信号。

今年10月,我有幸获邀出任“2018年麦克拉伦谷葡萄酒大赛”的国际评委,对于自幼在澳大利亚长大的我,虽然对麦克拉伦谷一点也不陌生,但每次到访该地,总会找到一些意外新发现;至于对从未去过麦克拉伦谷的朋友,建议参观周末农夫市集,将新鲜出炉的面包、芝士、橄榄和水果盛满您的野餐篮子,或是沿着接连麦克拉伦谷及Willunga旧铁路线的“设拉子径”漫步、踏单车或骑马,沉浸在当地的艺术文化氛围之中。

分娩是产妇必经的生理过程,但初产妇缺乏分娩的经验,极易产生焦虑、恐惧、抑郁等不良心理情绪,最终影响到妊娠结局,甚至危及母婴安全[1-2]。本文主要就中医情志护理对改善初产妇产后心理状态的临床效果进行研究,并作如下总结:

图2 一键串行下载电路原理图

从这里可以看出,当系统要通过串口来下载程序时,必须首先将BOOT1设置为0(低电平)、BOOT0设置为1(高电平),这样芯片上电后首先运行芯片出厂前由厂家写入的Bootloader程序。芯片内部的Bootloader程序和PC机上正在运行的MCU-ISP程序之间通过专门的串口通信接口连接好后,就可将用户编写的应用程序下载到芯片内部的主闪存存储器中。下载应用程序到芯片内部的主闪存存储器后,如果要测试下载的应用程序的运行结果,就必须要重新将BOOT0设置为0(高电平),然后系统再重新上电运行。系统再重新上电运行后就能执行主闪存存储器中的应用程序了。在系统软件调试过程中,为了下载应用程序和观察应用程序的执行效果,就需要不断地将BOOT0在高低电平之间进行切换,这给应用程序的调试和开发带来了很大的不便。

通过上面两个步骤,整个电路实现了下载应用程序并且下载完成后自动运行此程序的一键串行下载的功能。整个过程不是通过硬件跳线而是通过软件的方式来实现程序的自动下载和运行,方便了STM32F10x系统应用程序的调试和测试,从而大大提高了STM32F10x系统的开发效率。

Research on Thermal Efficiency of Advanced Utilization Systems of Boiler Tail Flue Gas Heat Based on the Equivalent Enthalpy Drop Theory LI Weike(86)

图3为一键串行下载电路关键信号波形图。

该电路是通过CH340来实现下载功能。CH340是一款USB总线转换芯片,它完成USB和UART之间协议转换的功能。采用该芯片的原因主要有两个:一是在目前主流的PC主机中基本不再提供RS232异步串行通信接口,要实现STM32F10x芯片程序的下载必须通过USB接口才能连接,因此必须在单板上直接提供这种USB和UART协议之间的转换电路;另外也可以通过MCU-ISP软件操作芯片的RTS(数据发送请求)和DTR(数据接收请求)两个引脚,方便地实现一键下载程序的功能。

图3 一键串行下载电路关键信号波形图

当需要下载程序到STM32F10x芯片的时候,首先通过MCU-ISP软件控制DTR#输出高电平,通过三极管控制TP2使得STM32F10x芯片的复位信号RST#为低。控制复位时间大约为100 ms。100 ms后,RST#信号恢复正常,STM32F10x芯片进入正常启动状态。同时,由于此时RTS#为低,控制TP1使得BOOT0信号为高,另外系统电路已将BOOT1信号固定设置为低,这样STM32F10x芯片在正常启动状态下就同时采样到BOOT1为低电平,BOOT0为高电平,STM32F10x芯片将从系统存储器启动。由于STM32F10x芯片在出厂前已将Bootloader程序烧写到系统存储器中,此时STM32F10x芯片将开始运行Bootloader程序,进入加载程序的模式下。STM32F10x芯片通过串行通信接口准备开始加载应用程序,由于串行通信接口的发送脚TXD和接收脚RXD接到CH340上,经过CH340完成串行通信接口和USB接口协议的转换后,再通过电脑上的MCU-ISP软件设置后,就可以将电脑上需要下载的应用程序下载到STM32F10x芯片主闪存存储器中。

程序下载完成后,MCU-ISP软件再次控制DTR#输出高电平,通过三极管控制TP2使得STM32F10x芯片的复位信号RST#为低。同时控制RTS#输出高电平,通过三极管控制TP1使得BOOT0信号为低。由于RST#为低,系统再次进入复位状态,复位时间大约为100 ms。100 ms后,RST#信号恢复正常,STM32F10x芯片进入正常启动状态,由于此时BOOT0信号为低,BOOT1信号也为低,此时系统将主闪存存储器启动。主闪存存储器此时已经下载了新的应用程序,因此系统实际上开始运行此应用程序。

试验在巴彦淖尔临河区干召庙镇巴彦淖尔市农科院盐碱地试验田(北纬 40°79′,东经 107°28′),试验地通过多点取样检测土壤耕层盐分,遴选出一块盐分含量5.86~11.71 g/kg、平均pH值8.9的盐碱化弃耕农田,10月初用激光平地机进行土地平整,使供试农田的田面高差控制在2~5 cm,随后耕翻、耙磨供试验用。试验田进行常规秋灌压盐1次和常规春灌压盐1次,灌水量 65~70 m3。

其中BOOT0信号连接到STM32F10x芯片的启动配置引脚(第138脚),NRST复位信号直接连接到STM32F10x芯片的复位引脚(第25脚)。CH340的第2脚和第3脚分别为串行数据输出和输入脚,分别连接到STM32F10x芯片的第一路串行数据输入(102)和输出(101)脚。RTS信号和DTR信号的高低变化是受PC机上的MCU-ISP软件来控制的。

3 一键串口下载电路的调试

在调试一键串行下载电路时,除了要保证一键串行电路本身没问题之外,还需要确保STM32F10x最小系统硬件电路都正常。这样再通过安装在电脑上的MCUicd-ISP软件才能正常地将程序下载到STM32F10x芯片。下面分别说明两部分电路的调试步骤和方法。

3.1 STM32F10x最小系统硬件电路的调试

同其它的嵌入式处理器系统一样,要保证STM32F10x最小系统硬件电路正常运行,就必须从以下几个方面来加以测试和调试:

① 电源信号。

工学交替实训教学主线的主要环节有:课内实践+工学交替生产实习+专项技能训练+专业综合实训+顶岗实习;包括:装配体测绘、钳工实训、电工实训、铸造实训、机加工实训、机械课程设计、液压传动实训、零件加工工艺编制设计(课内随堂)、数控加工实习(课内)、工艺装备设计实训、工学交替生产实习、顶岗实习等。

在新制成品曲(半成品曲)的储藏过程(T4→T5)中,曲块个别优势菌属相对丰度有显著变化。如:芽孢杆菌属(Bacillus)相对丰度急剧降低。在制曲T1和T2阶段,高温(59~65℃)对优势菌群有明显富集效应,使优势菌属(如Kroppenstedtia)趋于稳定。在制曲后期,随温度降低,个别优势菌群相对丰度有降低或恢复的情况。有趣的是,在制曲各阶段,仍有部分未知菌群待鉴定。

② 复位信号。

STM32F103ZET6的复位引脚为第25脚且低电平有效。所以在STM32F103ZET6正常工作时,一定要保证复位引脚的信号为高电平。用万用表测量第25引脚,确保正常工作时此引脚信号为高电平。

③ 时钟信号。

STM32F103ZET6的时钟电路主要包括一个高速外部时钟和振荡电路以及一个低速外部时钟和振荡电路。高速外部时钟和振荡电路提供的时钟信号供CPU内部高速的系统时钟来使用,低速外部时钟和振荡电路提供的时钟信号供CPU内部实时时钟和其他定时功能提供一个低功耗且精确的时钟源。在STM32F103ZET6未下载初始化程序之前,芯片内部的系统时钟由内部RC振荡电路来提供。因此此时用示波器去测量这两对时钟信号输入脚(8和9、23和24)的信号,将测不到振荡的时钟信号,但并不代表此时芯片没有正常工作。

④ JTAG接口电路。

STM32F10x芯片提供的JTAG接口电路除了实现对内部电路的测试外,还可以实现对STM32F10x芯片进行程序的仿真和下载。也就是说STM32F10x芯片可以采用接口来进行程序的下载,一种是本文所述的ISP方式,一种是JTAG方式。JTAG接口主要包括TCK、TDO、TDI、TMS、TRST等引脚。如果这些引脚设置不当的话,将会使STM32F10x芯片处于不正常的工作状态,从而影响STM32F10x芯片的ISP功能的实现。因此在进行STM32F10x芯片在线下载调试前,必须用万用表测量这几个引脚是否处于正常的电平信号。要保证TDO、TDI、TMS、TRST等引脚处于高电平,TCK处于低电平的状态。

上述4部分电路的信号都正常,才能保证STM32F10x最小系统硬件电路处于正常工作状态。

3.2 一键串行下载电路的调试

一键串行下载电路的参考电路如图2所示。首先保证CH340的电源引脚16是否有5 V信号,再确保CH340的辅助电源引脚V3是否正确连接了容量为0.01 μF的退耦电容(注意V3在CH340外接3.3 V电源信号时也需连接到3.3 V的电源信号,与5 V供电时不同)。然后用示波器测量时钟输入引脚7、8是否是时钟振荡信号。

信号测量正常后再用USB接口线将单板上的USB接口连接到电脑的USB接口上。打开电脑的“设备管理器”的“端口(COM和LPT)”中将搜索到CH340串口接口,此时表示CH340已经正常工作。

用基于CH340芯片制作的USB接口转串口的连接线(市面上有销售)连接PC机和待调试单板。然后再在PC机上运行MCU-ISP软件,选择芯片类型为“STM32F10x series”,选择串口号为电脑“设备管理器”所识别到的串口号,选中要下载的程序文件,点击“程序下载”,此时程序就可以顺利地下载到单板的芯片上了。

4 主要创新点和结论

本文描述了一种基于CH340芯片实现的STM32F10x系列处理器的一键串行下载电路。此电路可应用于采用STM32F10x系列处理器实现的嵌入式系统中。采用了此电路后,STM32F10x系列处理器不需要外接专门的价格昂贵的仿真器来进行程序的下载和调试,同时在下载和调试用户应用程序的过程中,不需要手动设置STM32F10x系列处理器的硬件来启动配置引脚的电平值。这极大地降低了STM32F10x系列处理器的应用成本,同时也大大地提高了该系列处理器实现的嵌入式系统的开发效率。

根据本方案设计的产品样机已在实践中得到应用和验证。

参考文献

[1] ST. STM32F103ZET6datasheet.pdf,2009.

[2] ST.Application note AN2606:STM32 microcontroller system memory boot mode,2017.

[3] 江苏沁恒股份有限公司.CH340中文手册(一),2010.

盛春明
《单片机与嵌入式系统应用》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号