JTAG/SWD/ISP/SWIM详解单片机的四种烧写方式

2019-01-28 14:51:06 来源:21ic
标签:

 

单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程IDE来实现编程。在学习单片机之前,要先清楚单片机程序是如何烧写到单片机内部的,在烧写的过程中需要用到什么工具?因为不通用的烧写工具可能价格较贵,比如说Micorchip单片机使用的ICD系列编程器,单台价格在600-1000元人民币之间。今天和大学来认识一下单片机最常用的四种烧写方式和所使用到的工具。

 

1.使用JTAG接口实现

JTAG接口是一种标准的测试协议,可以实现编程时在线调试,利用单步追踪可以很方便的查找代码的Bug,大多数的单片机都支持这种接口。这种接口除了电源线和复位引脚之外,还要用到单片机的四个引脚,分别是:TDI、TMS、TCK、TDO,他们所代表的含义如下所示:

 

TDI--数据输入,所有写入寄存器的数据都是通过TDI接口串行输入的;TMS--模式选择,Jlink输出给目标CPU的时钟信号;TCK--时钟信号,所有数据的输入输出都是以该时钟信号为基准的;TDO--数据输出,所有从寄存器读出的数据都是通过TDO接口串行输出的;以上这四个引脚都是协议里强制要求的,而且协议建议在设计电路时要选用上拉电阻。JTAG接口有多种形式,常用的20引脚、14引脚和10引脚。以20引脚JTAG为例,所设计的JTAG烧写电路如下图所示:

 

 

上图中JTAG接口都通过电阻上拉了,有的单片机的这几个引脚在内部已经上拉,所以这几个上拉电阻可以省略,减少了成本和PCB空间的占用。

 

JTAG接口烧录方式常用的工具为J-Link,实物图如下图所示。

 

 

相信大家都见过或者听过这个烧写工具,这个工具很通用,但是大家在使用的时候一定要注意版权信息,因为这个工具是有版权的,前两年因为版权风波,网购平台还集中整治过一次。

 

2.SWD接口烧录方式

SWD是一种串行调试接口,与JTAG相比,SWD只需要两根线,分别为:SWCLK和SWDIO。他们的含义如下:

 

SWDIO--串行数据线,用于数据的读出和写入;SWDCLK--串行时钟线,提供所需要的时钟信号;一般来说,大多数单片机的JTAG接口和SWDIO接口是复用的,SWD也是用J-Link工具来实现的。所以在使用的时候,只需要在软件界面做一下选择,使用SWD方式还是JTAG方式,硬件上无需改动。除了J-Link外,意法半导体的ST-Link也是支持SWD模式的。

 

 

SWD的接口如上图所示,可以看出,SWD和JTAG是相互复用的,由于SWD只需要两根线所以大大减少了对单片机GPIO口的占用,SWD方式也是可以在线调试的。

 

3.ISP烧写方式,用UART实现

使用过国产51单片机的朋友都清楚这种烧写方式,这种烧写方式是通过单片机的UART串口来实现的,所需要的工具也比较简单-USB/TTL。这个USB/TTL的芯片可以通过MAX232、CH340G等芯片来实现,通过MAX232实现的UART烧写电路如下所示:

 

 

在与单片机连接的时候,一定要注意交叉连接,所谓交叉连接即,单片机的TXD接串口RXD,单片机的RXD接串口TXD,否则数据通信失败。51单片机在使用该方式下载时需要断一下点再上电才能下载。

 

STM32单片机可以使用UART来实现程序下载,但是需要选择BOOT的模式,现在通过CH340G芯片可以实现自动ISP的下载方式,即不需要手动设置BOOT模式。

 

4.SWIM单总线下载方式

这种下载方式是针对STM8系列的单片机,这种方式只需要一根线即可实现程序的下载,所使用的工具为ST-Link,如下图所示:

 

 

以上为几种常见的烧写方式以及所使用的工具,欢迎大家留言评论,如果转载请注明作者信息和头条出处,感谢支持。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
用MCU的PWM产生负电压的教程
用MCU的PWM产生负电压的教程

我们应该知道,有一种开关电源是通过PWM波来实现的,但你知道通过PWM波也能输出负电压吗?

单片机最小系统常见问题解析

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.

可预置可逆4位计数器设计
可预置可逆4位计数器设计

利用AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,用来指示当前计数的数据;用P1.4-P1.7作为预置数据的输入端,接四个拨动开关K1-K4,用P3.6/WR和P3.7/RD端口接两个轻触开关,用来作加计数和减计数开关。

干货 | 一文搞懂单片机应用程序架构

对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,本人觉得架构是非常必要的。

嵌入式必备工具推荐,让工作事半功倍

嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有μcos,vxworks,linux,android等。

更多资讯
AMD 超越摩尔定律之路

现代数据中心和 HPC 环境的快速变化要求技术行业提供更强大的算力,而该行业在提供算力容量方面遇到重大障碍。或许很少有人比AMD总裁兼首席执行官苏姿丰更了解这一事实。

华为AI芯片是从什么时候发展起来的?一文读懂华为AI芯片发展史

众所周知,数据、算力和算法,驱动着人工智能的第三次浪潮。面对AI算力需求的爆发式增长,这几年华为在做些什么?看似高深的人工智能(AI)技术,其实已经“润物细无声”地深入大众生活,仅你手中一部华为Mate20手机,就可以实现人脸识别、物体识别、物体检测、图像分割、智能翻译等AI功能

华为AI处理器虽然用了Arm架构,但徐直军表示完全不慌?

与非网8月23日讯,自华为遭受到美国的禁令已经过去了九十多天,但似乎华为并未受到太大的影响,反而是美国帮助华为打了个响亮的广告,就在今天,华为又发布了AI处理器,还表示根本不慌。

将Power指令集开源,IBM 是如何咸鱼翻身的?

这是一个漫长的过程,如果在十年前就这样做,情况可能会更好。但是,随着收购Red Hat后大量注入开源精神,IBM终于迈出了下一步,将其Power系列处理器的指令集体系结构开源。

快速掌握MIPI开发攻略,对接百度人工智能计算卡EdgeBoard

MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写,是MIPI联盟发起的为移动应⽤处理器制定的开放标准。