当前位置: 首页 > news >正文

python 网站开发书籍电商运营培训班多少钱

python 网站开发书籍,电商运营培训班多少钱,牡丹江信息网完整版,wordpress股票api文章目录 简介ISP下载启动配置 USB转串口芯片CH340C手动isp下载自动isp下载RTS、DTR电平变化分析注意事项 简介 在嵌入式开发中#xff0c;使用STM32下载程序#xff0c;可以通过仿真器下载#xff0c;也可以通过串口下载。在stm32串口下载时#xff0c;我们需要手动配置启… 文章目录 简介ISP下载启动配置 USB转串口芯片CH340C手动isp下载自动isp下载RTS、DTR电平变化分析注意事项 简介 在嵌入式开发中使用STM32下载程序可以通过仿真器下载也可以通过串口下载。在stm32串口下载时我们需要手动配置启动模式为了方便进行程序的更新和下载于是有了自动ISP下载电路。本文将分享关于STM32自动下载电路的实现过程和原理。 ISP下载 ISP即In-System Programming在线编程。具有ISP功能的单片机芯片可以通过简单的下载线直接在电路板上给芯片写入或者擦除程序并且支持在线调试。 一般而言ISP都需要一些上位机来配合操作比如stm32常用的软件是FlyMCUmcu isp软件。对于stm32ISP下载又分为手动ISP下载和自动ISP下载。 启动配置 对于stm32有几种启动模式需要配置。系统存储器启动就是通过ISP下载。我们可以查看stm32参考手册里面有关于启动模式的配置。 这里的启动模式怎么理解呢简单来说STM32的启动模式决定了芯片上电或复位后执行的操作启动模式前两种我们用的比较多这里主要讲解这两种启动模式我们可以简单理解为有两种模式。第一种模式BOOT1X, BOOT0 0这里BOOT1X 意思就是是 0是1都可以主闪存存储器被选为启动区域即程序运行模式 第二种模式 BOOT10BOOT01系统存储器被选为启动区域即系统引导模式。 程序运行模式启动用户程序执行从闪存中加载的应用。 大白话运行程序 系统引导模式允许从特定接口如UART、USB等加载新固件用于程序下载和更新。 大白话下载程序 这里我们可以看到对于前两种模式BOOT1的状态只要保持为0即可所以一般我们都是通过配置BOOT0引脚状态来控制单片机是下载还是运行。STM32在启动时会检查BOOT引脚的状态以决定从哪个存储位置加载程序。 可以把STM32的启动模式比作一栋大楼的入口。 正常入口当你从主入口程序运行模式进入时你直接进入大楼开始进行你原本的活动运行用户程序。 特别通道如果你选择了侧门系统引导模式就好比你在大楼外进行一些特殊操作比如接收新的指令或进行维修程序下载。 通过选择不同的入口用户可以灵活地进入大楼并执行不同的操作就像通过设置BOOT引脚状态来控制STM32的启动模式。本质上是单片机可以选择从不同的位置运行程序我们可以看下下面这张表。 系统引导模式有一段程序专门用来下载代码这段程序叫bootlaoder也叫自举程序存储在stm32的内部系统存储器中它的作用是接收串口外设发送的程序数据并放置到flash中运行的起始地址是0x1FFF F000。在ROM区的0x0800 0000位置存储的就是编译后的程序代码。 自举程序在手册上是这样描述的。 对于stm32f103c8t6属于中容量产品这也是为什么我们通常通过串口1的PA9、PA10这两个串口引脚下载程序。现在我们对启动模式有了一定了解了我们再回过头看手册。 我们注意手册里的这句话在系统复位后 SYSCLK的第4个上升沿 BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态来选择在复位后的启动模式。 也就是说BOOT引脚的状态在复位后第4个上升沿就固定下来不再变化。对BOOT0和BOOT1的配置决定了系统将进入的启动模式。所以我们可以说stm32 isp下载的过程 一是需要对BOOT进行配置二是需要进行RESET复位确保它从设定的启动模式重新开始。 USB转串口芯片CH340C STM32通常使用串口进行通信而大多数计算机只有USB接口。USB转串口芯片能够将计算机的USB信号转换为STM32可识别的串口信号。此外USB和串口之间的电平标准也不同因此isp下载需要USB转串口芯片来进行通信下载这里我们使用usb转ttl芯片ch340c来进行下载电路的设计我们先了解一下ch340c。 这里只对我们用到的几个引脚进行介绍VCC,V3,GND接电源正极和地根据实际情况外接0.1uf的退耦电容RTS#DTR#,DCD#, RI# ,DSR#,CTS# 这几个引脚为modem联络信号由计算机软件程序控制可以理解为通过上位机软件来完成联络信号的控制目的是控制单片机自动下载程序时所需满足的电压条件。在STM32自动下载电路中我们只用到RTS#Request To Send请求发送 DTR#Data Terminal Ready数据终端就绪两个引脚。TXD、RXD是串行数据的输出发送、输入端接收 需要连接通信MCU的输入接收、输出发送端口UD、UD-连接typeC接口中对应的DD-。 手动isp下载 普通isp下载不具有自动下载功能需要手动进行启动模式的配置因此也叫手动isp下载。手动isp下载不需要用到CH340C的联络信号RTS#, DTR#, 所以在下载电路中我们只需给CH340C供电连接typec对应的D, D- 在将串口芯片的TX, RX连接到MCU的串口通信引脚就行了对于stm32f103c8t6前面我们讲过可以通过USART1接口启用自举程序所以这里串口芯片的TX 就连接到c8t6的pa10RX 串口芯片的RX, 连接到c8t6的pa9TX。 手动isp下载程序并运行的过程如下 配置启动模式BOOT0 1, BOOT1 0进入bootloader按下复位按钮准备接收数据存储到Flash上位机开始发送程序单片机通过串口接收代码数据重新配置启动模式下载完成后BOOT0 0, BOOT1 0运行Flash中的代码按下复位按钮运行下载的程序代码。 可以看到每次下载程序然后运行程序的时候我们都需要手动配置BOOT启动模式对应在硬件上 就是每次都要切换跳线帽而且每次都要按复位这样子多少有点麻烦于是就有了自动isp下载电路。 自动isp下载 自动isp下载电路可以实现自动下载就不需要去手动配置BOOT启动模式和每次都要按复位了那肯定是有其它电路控制实现这个功能了这个自动下载电路肯定要能在下载程序的时候自动配置启动模式和自动复位这就是我们说的实现自动下载电路需要满足的电压条件所以简单来说STM32自动下载电路的原理是基于单片机的启动模式和外部电路控制。具体来说 启动模式选择STM32具有多种启动模式其中通过BOOT0引脚的高低电平控制单片机进入内置引导程序从而实现固件下载。如果BOOT0为高电平单片机会进入下载模式允许通过串口接收新程序。 复位控制在下载过程中通过NRST引脚将单片机复位确保其处于可编程状态。通常使用NPN晶体管控制NRST引脚的高低电平以实现自动复位。 通信接口USB转串口模块连接至STM32的TX和RX引脚负责与PC端进行数据传输。通过串口发送的下载命令和数据将新的固件烧录到单片机中。 和手动下载电路不同的是 自动下载电路使用ch340c串口芯片时使用到了RTS#和DTR#两个联络信号引脚。 自动isp下载程序并运行的过程如下 配置启动模式 BOOT1固定为0BOOT10CH340_RTS输出低电平Q2导通BOOT0被拉高BOOT0 1进入bootloaderCH340_DTR1Q1导通NRST被拉低延时100ms延时后CH340_DTR拉低CH340_RTS维持拉低完成一次复位准备接收数据。存储到Flash上位机开始发送程序单片机通过串口接收代码数据重新配置启动模式接收完成后CH340_RTS为高电平Q2截止BOOT0 0运行Flash中的代码接收完成后此时CH340_DTR为高电平Q1截止NRST恢复为高电平因此无法实现自动运行程序需手动按下复位按钮运行代码。但实际上我们可以让它自动运行在软件上可配置“编程后运行”从主闪存0x800 0000位置运行实现自动运行下载的程序代码。 因此这个电路搭配软件进行使用 基本上就可以实现一键自动下载代码并运行代码的效果了对比一下手动isp下载可以发现自动isp下载的过程实际上就是上位机软件通过控制DTR和RTS来实现对BOOT0和NRST(复位引脚)的控制。 值得注意的是FlyMcu软件底部有关于RTS和DTR高低电平的选择用的是RS232电平使用的是负逻辑和我们常见的ttl电平正好相反即0是高电平1是低电平所以在实际电路中是DTR#的高电平复位RTS#低电平进Bootloader在软件上应设置成“DTR的低电平复位RTS高电平进Bootloader”。 RTS、DTR电平变化分析 一开始采样的时候遇到一个奇怪的现象RTS#在下载过程中会有几微妙不稳定的抖动在产生抖动的同时DTR#也由原来的拉低变成拉高了根据我们前面的分析这个是有点问题的会多产生了一次复位这个复位好像是没有必要的。后面分析既然是RTS#、DTR#的变化那就分析一下它为什么会变化而RTS#、DTR#是由上位机软件控制的所以猜想可能跟软件有关。 于是把FlyMcu软件换成了mcuisp 软件。 NICE 这个波形就很完美和我们前面分析的波形一致。我们再来分析一下这个时序图。 STM32自动下载电路过程可以分为3个阶段下载前下载中下载后。 下载前RTS#, DTR#都为高电平 此时BOOT0为0VNRST为3.3V 下载中上位机软件控制DTR为低电平RTS输出高电平此时DTR#输出高电平(3.3V)RTS#输出低电平(0V)NRST变为0V复位BOOT0为3.3V。之后需要延时 100ms 等待芯片复位完成。 延时 100ms后上位机软件控制DTR为高电平此时DTR#输出低电平(0V)RTS#维持输出低电平(0V)NRST信号被拉高变为3.3VBOOT0为3.3V表示复位结束从系统存储器中运行。 下载后上位机软件控制RTS#、DTR#输出都为高电平恢复到刚开始的电平状态此时BOOT00V, NRST维持为高电平3.3V单片机进入Flash等待复位启动程序。如若在软件勾选“编程后运行”单片机将跳到主闪存存储器的地址0x0800 0000处开始自动执行代码此时的RTS,DTR等各电平变化和不勾选其实是一致的。 在FlyMcu软件下载过程中 右侧会显示RTS和DTR电平状态变化 配合上面的波形图就很清晰了。RTS#, DTR#这里的“#”实际上就是取反的意思因为采用的是负逻辑所以实际上右侧的信息应为 开始全片擦除(全片擦除时间会比较长请耐心等候!) 全片擦除成功 DTR#电平置高(3-12V),复位 RTS#置低(-3 - -12V),选择进入BootLoader …延时100毫秒 DTR#电平变低(-3 - -12V)释放复位 RTS#维持低 开始连接…4, 接收到:79 1F 在串口COM7连接成功115200bps耗时734毫秒 注意事项 下载程序时确保BOOT引脚配置正确。如果下载后可以运行复位或重新上电后就不能运行可能和BOOT0的设置有关。此外原理图中的BOOT0需要通过100K的电阻接到地。使用usb转串口芯片时应采用适当的退耦电容如0.1μF以滤除电源噪声确保稳定工作。软件配置RTS和DTR电平时使用的是负逻辑 。
http://www.w-s-a.com/news/757974/

相关文章:

  • 增城哪家网站建设好如何做网站实名认证
  • 常州地区做网站个人购物网站需要备案吗
  • 网站建设公司 跨界鱼科技专业做服务器的网站都有哪些
  • 欧洲网站服务器网站建设费用计入什么科目
  • 网站的色调苏州策划网站模板建站公司
  • 怎么看网站用的什么后台公路建设项目可行性研究报告编制办法哪个网站查最新版
  • 可以看的网站的浏览器有哪些专业APP客户端做网站
  • 如何做网站推广自己的产品推荐个网站好吗
  • 网站经营范围wordpress注入点
  • 学校网站开发协议夫妻网络网站建设
  • 福州网站seo推广优化微信商家小程序怎么弄
  • 免费网站推广工具在游戏网站做中介合法
  • 网站建设前的规划网站建设公司六安
  • 公司注册网站开发的行业表述南宁在百度上建网站
  • 创建企业网站国内网站用django做的
  • 云主机网站的空间在哪制作微网站的平台
  • 长沙做网站 青创互联wordpress4.4.1
  • 宜昌哪里有专业做网站的网站开发做什么的
  • 3小说网站开发东莞网站公司哪家好
  • 做网站安全联盟解ps网站设计概述
  • 聊城公司做网站wordpress连接域名
  • 宣传网站建设的意义台州行app官网下载
  • 温州 网站优化网站开发公司前置审批
  • 网站开发具体的工作内容网站下载app免费
  • seo网站建设时文章频率昆山网站建设ikelv
  • 中天建设中瑞物资网站优化建立生育支持政策体系
  • 网站页面的宽度大网站怎样选域名
  • icp网站备案流程wordpress post 405
  • 网站怎样上传到空间重庆有多少网站
  • 用模板建商城购物网站嘉定专业网站建设