本帖最后由 ifxz0123 于 2022-7-5 14:11 编辑
为什么我强烈建议客户使用HK芯片留出5线的SWD口?
以下内容摘自轩微科技离线烧录器说明书。
STM32,GD32,MM32,BLM32,HK32,AT32,LKS32 部分
SWD 接口术语表 Vref:高电平参考电压,在 STM32 脱机编程器中其即表示VDD-VDDA 线上的电压. GND:即 0 电势点.与 VSS 同意.编程器默认为黑线.目标芯片的电源负引脚. SWDIO(JTMS):目标芯片的PA13 引脚,SWD接口的数据脚,JTAG 接口的TMS脚. SWCLK(JTCK):目标芯片的PA14 引脚,SWD接口的时钟脚,JTAG 接口的TCK脚. NRST:目标芯片的NRST引脚. SWD 引脚配置 注意, 发货时默认是黄线为 SWDIO, 蓝线为 SWCLK, 黑线为 VSS(GND), 红线为 VDD-VDDA(Vref),绿线为 NRST。SWDIO 接芯片的 PA13 脚,SWCLK 接芯片的 PA14 脚,VSS 接芯片的 VSS 脚,红线(Vref)接芯片的 VDD-VDDA(VDD 与VDDA 要接在一起).对于GD32 的某些型号,可能接法与众不同,要仔细看具体芯片手册。 注意:对于网上流传的一些坑人的三线,四线 SWD 口就可以烧写 STM32 芯片的言论,我们给出专业级的说明: STM32 的 SWD 标准接口是五根线(由 ARM 公司定义),VREF,GND,SWDIO,SWCLK,NRST.所有的线制均需要 GND,SWDIO,SWCLK这三根线,这个没争议.即所谓的三线下载就是这三线.而NRST 与 VDD 有些人认为不必要连.下面一一描述.对于 NRST,如果 STM32 芯片的内部 SWD 模块被禁用了(用户程序内有禁用 SWD 接口的代码被执行)则没有 NRST 是不可能再次烧写STM32 芯片的.因为 SWD 模式进入需要芯片的 SWD 模块处于激活状态,而 SWD 禁用时,必须通过在NRST 低电平时发送SWD 激活码才可以再次唤醒STM32 的SWD 模块.所以,不接NRST就可以下载STM32 是有条件的,不能适用所有STM32 芯片状态!对于VREF(有些人可能认为是VDD)其作用主要是用来实现编程器的 SWDIO 引脚上的通信电平与目标芯片的IO 电平匹配的,SWDIO引脚是一个开漏的引脚,其高电平的实现来自于编程器内部连接于SWDIO 与 VREF线间的上拉电阻(这个电阻是编程器的事.不要再设计在电路板上).如果VREF 上的电压与芯片的 IO 电压不一致,则可能造成电平不匹配而通信失败.即 VREF 就是采集目标板芯片电压的!那些说不用接这个也可烧写的是其狭隘的认为所有的STM32 均是 3.3V 供电,事实上,有些STM32 是在 2V 供电或其它电压下供电的.所以编程器必须使用这个引脚来采集SWDIO 上的上拉电压.当然,如果目标芯片为 3.3V 供电,而编程器也配置为 3.3V 输出,这时本身就是电平匹配的,所以,这时不接 VREF 也可以通信,才造成了一帮人的误解,认为不接 VREF 也可以烧写.事实上 SWD 的五线任一条均是有其存在的原因的!ARM 公司的技术专家是一群很聪明的人,不会白痴到设计几条没用的线上去做自已主打的DEBUG 接口协议标准的.所以自已设计板时要考虑清楚,不要为了省那一两根线让大批量的 PCB 都报废,省一两根线真的美观不哪去. 轩微科技作为专业的STM32 批量烧录设备研发与供应商.有必要对用户的一些错误的观点进行纠正.以让用户更好的使用我们的产品创造更大的价值.
选看部分__STM32,GD32,MM32,BLM32,HK32,AT32,LKS32,TM4C,TG401部分.pdf
(1.71 MB)
|