JTAG/SWD/ISP/SWIM詳解單片機(jī)的四種燒寫方式
單片機(jī)是一種可編程控制器,搭好硬件電路后,可以利用程序?qū)崿F(xiàn)很多非常復(fù)雜的邏輯功能,與純硬件電路相比,簡(jiǎn)化了硬件外圍的設(shè)計(jì)、方便了邏輯的設(shè)計(jì)、豐富了邏輯的輸出。不同廠家的單片機(jī)需要不同編程IDE來實(shí)現(xiàn)編程。在學(xué)習(xí)單片機(jī)之前,要先清楚單片機(jī)程序是如何燒寫到單片機(jī)內(nèi)部的,在燒寫的過程中需要用到什么工具?因?yàn)椴煌ㄓ玫臒龑懝ぞ呖赡軆r(jià)格較貴,比如說Micorchip單片機(jī)使用的ICD系列編程器,單臺(tái)價(jià)格在600-1000元人民幣之間。今天和大學(xué)來認(rèn)識(shí)一下單片機(jī)最常用的四種燒寫方式和所使用到的工具。
本文引用地址:http://butianyuan.cn/article/201901/397234.htm1.使用JTAG接口實(shí)現(xiàn)
JTAG接口是一種標(biāo)準(zhǔn)的測(cè)試協(xié)議,可以實(shí)現(xiàn)編程時(shí)在線調(diào)試,利用單步追蹤可以很方便的查找代碼的Bug,大多數(shù)的單片機(jī)都支持這種接口。這種接口除了電源線和復(fù)位引腳之外,還要用到單片機(jī)的四個(gè)引腳,分別是:TDI、TMS、TCK、TDO,他們所代表的含義如下所示:
TDI--數(shù)據(jù)輸入,所有寫入寄存器的數(shù)據(jù)都是通過TDI接口串行輸入的;TMS--模式選擇,Jlink輸出給目標(biāo)CPU的時(shí)鐘信號(hào);TCK--時(shí)鐘信號(hào),所有數(shù)據(jù)的輸入輸出都是以該時(shí)鐘信號(hào)為基準(zhǔn)的;TDO--數(shù)據(jù)輸出,所有從寄存器讀出的數(shù)據(jù)都是通過TDO接口串行輸出的;以上這四個(gè)引腳都是協(xié)議里強(qiáng)制要求的,而且協(xié)議建議在設(shè)計(jì)電路時(shí)要選用上拉電阻。JTAG接口有多種形式,常用的20引腳、14引腳和10引腳。以20引腳JTAG為例,所設(shè)計(jì)的JTAG燒寫電路如下圖所示:
上圖中JTAG接口都通過電阻上拉了,有的單片機(jī)的這幾個(gè)引腳在內(nèi)部已經(jīng)上拉,所以這幾個(gè)上拉電阻可以省略,減少了成本和PCB空間的占用。
JTAG接口燒錄方式常用的工具為J-Link,實(shí)物圖如下圖所示。
相信大家都見過或者聽過這個(gè)燒寫工具,這個(gè)工具很通用,但是大家在使用的時(shí)候一定要注意版權(quán)信息,因?yàn)檫@個(gè)工具是有版權(quán)的,前兩年因?yàn)榘鏅?quán)風(fēng)波,網(wǎng)購平臺(tái)還集中整治過一次。
2.SWD接口燒錄方式
SWD是一種串行調(diào)試接口,與JTAG相比,SWD只需要兩根線,分別為:SWCLK和SWDIO。他們的含義如下:
SWDIO--串行數(shù)據(jù)線,用于數(shù)據(jù)的讀出和寫入;SWDCLK--串行時(shí)鐘線,提供所需要的時(shí)鐘信號(hào);一般來說,大多數(shù)單片機(jī)的JTAG接口和SWDIO接口是復(fù)用的,SWD也是用J-Link工具來實(shí)現(xiàn)的。所以在使用的時(shí)候,只需要在軟件界面做一下選擇,使用SWD方式還是JTAG方式,硬件上無需改動(dòng)。除了J-Link外,意法半導(dǎo)體的ST-Link也是支持SWD模式的。
SWD的接口如上圖所示,可以看出,SWD和JTAG是相互復(fù)用的,由于SWD只需要兩根線所以大大減少了對(duì)單片機(jī)GPIO口的占用,SWD方式也是可以在線調(diào)試的。
3.ISP燒寫方式,用UART實(shí)現(xiàn)
使用過國產(chǎn)51單片機(jī)的朋友都清楚這種燒寫方式,這種燒寫方式是通過單片機(jī)的UART串口來實(shí)現(xiàn)的,所需要的工具也比較簡(jiǎn)單-USB/TTL。這個(gè)USB/TTL的芯片可以通過MAX232、CH340G等芯片來實(shí)現(xiàn),通過MAX232實(shí)現(xiàn)的UART燒寫電路如下所示:
在與單片機(jī)連接的時(shí)候,一定要注意交叉連接,所謂交叉連接即,單片機(jī)的TXD接串口RXD,單片機(jī)的RXD接串口TXD,否則數(shù)據(jù)通信失敗。51單片機(jī)在使用該方式下載時(shí)需要斷一下點(diǎn)再上電才能下載。
STM32單片機(jī)可以使用UART來實(shí)現(xiàn)程序下載,但是需要選擇BOOT的模式,現(xiàn)在通過CH340G芯片可以實(shí)現(xiàn)自動(dòng)ISP的下載方式,即不需要手動(dòng)設(shè)置BOOT模式。
4.SWIM單總線下載方式
這種下載方式是針對(duì)STM8系列的單片機(jī),這種方式只需要一根線即可實(shí)現(xiàn)程序的下載,所使用的工具為ST-Link,如下圖所示:
以上為幾種常見的燒寫方式以及所使用的工具,歡迎大家留言評(píng)論,如果轉(zhuǎn)載請(qǐng)注明作者信息和頭條出處,感謝支持。
評(píng)論