本帖最后由 liqingfeng123 于 2022-8-28 10:19 编辑
珠海极海半导体有限公司是一家致力于开发工业级/车规级微处理器、高性能模拟芯片及系统级芯片的集成电路设计型企业,总部为纳思达股份有限公司(“纳思达”,002180.SZ)。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。 针对烧录接口SWD的设计,网上有很多SWD的设计方案
1.三线制,只留出GND,SWDIO,SWCLK
2.四线制,留出GND,SWDIO,SWCLK,VREF
3.五线制,留出GND,SWDIO,SWCLK,VREF,RESET
根据目前的调试效果以及客户案例的反馈,我强烈建议客户
#使用极海芯片尽可能留出5线的SWD口;
#SWD中,SWDIO 上拉10K,SCLK 下拉10K;
首先, 不管市面上三/四/五线制还是其他方式,所有的线制均需要GND,SWDIO,SWCLK。
其次NRST 与 VDD 必不必要连,以及SWD上下拉问题:
#NRST,如果芯片的内部 SWD 模块被禁用了(用户程序内有禁用 SWD 接口的代码被执行)则没有 NRST 是不可能再次烧写芯片的
而为什么有些应用确实不用NRST,因为板载硬件上就设计了起电复位。
#VREF(有些人可能认为是VDD)其作用主要是用来实现编程器的 SWDIO 引脚上的通信电平与目标芯片的IO 电平匹配的,SWDIO引脚是一个开漏的引脚,其高电平的实 现来自于编程器内部连接于SWDIO 与 VREF线间的上拉电阻(这个电阻是编程器的事.不要再设计在电路板上).如果VREF 上的电压与芯片的 IO 电压不一致,则可能造成电平不匹配而通信失败.即 VREF 就是采集目标板芯片电压的!那些说不用接这个也可烧写的是其狭隘的认为所有的芯片均是 3.3V 供电,事实上,有些应用是在 2V 供电或其它电压下供电的.所以编程器必须使用这个引脚来采集SWDIO 上的上拉电压.当然,如果目标芯片为 3.3V 供电,而编程器也配置为 3.3V 输出,这时本身就是电平匹配的,所以,这时不接 VREF 也可以通信,才造成了一帮人的误解,认为不接 VREF 也可以烧写。
#对于SWD上下拉问题:
外部将SWDIO上拉,SWCLK下拉,上下拉电阻在1~10K之间,主要是稳定烧录调试的功能,防止线太长或者干扰,取决于客户应用。
或者uart上下拉,看实际应用,一般内部有弱上拉,如果真的要上拉 10K内建议,也是提高稳定性的措施。
|