新聞中心

ISP和JTAG

作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏
JTAG是Joint Test Action Group(聯(lián)合測試行動小組)的縮寫,是一種國際標準測試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測試。JTAG用來對芯片進行測試的基本原理是在器件內(nèi)部定義一個TAP(Test Access Port;測試訪問口)通過專用的JTAG測試工具對內(nèi)部節(jié)點進行測試。標準的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。

TMS:測試模式選擇。此引腳用來實現(xiàn)TAP 控制器各個狀態(tài)之間的切換。
TCK: 測試時鐘。JTAG操作是與TCK 同步的。
TDI:測試數(shù)據(jù)輸入--需要移位到指令寄存器或數(shù)據(jù)寄存器(掃描鏈)的串行輸入數(shù)據(jù)。
TDO:測試數(shù)據(jù)輸出-- 自指令寄存器或數(shù)據(jù)寄存器串行移出的數(shù)據(jù)。
現(xiàn)在,JTAG接口還常用于實現(xiàn)ISP(In-System Programmable;在線編程),對EEPROM、FLASH等器件進行編程和在線調(diào)試。JTAG編程方式是在線編程,傳統(tǒng)開發(fā)流程中先對芯片進行預編程再裝到板上的模式因此而改變,簡化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快工程進度。
AVR 的JTAG功能(只有部分型號才有)使得AVR的調(diào)試工作非常簡單,可以通過JTAG 接口對Flash、EEPROM、熔絲位和鎖定位進行編程。使用AVR studio軟件和JTAG硬件( AVR JTAG編程器,AVR JTAG仿真器)可以進行程序下載(亦即編程)和程序在線調(diào)試。通過JTAG功能,工程師可以方便的觀察各個寄存器的變化和程序的運行情況,十分適合單片機的學習與系統(tǒng)開發(fā)。
什么是ISP?
ISP是一種通用的程序下載方式,所有AVR單片機都有ISP下載接口??梢酝ㄟ^ISP下載線或者STK500把程序下載到單片機中。ISP下載線成本低廉,制作簡單,一個并口ISP下載線只需幾十元即可得到。但是通過ISP的方式下載程序速度慢并且不能實現(xiàn)在線的仿真調(diào)試,所以這種編程方式并不適合于單片機的學習與系統(tǒng)開發(fā)。
什么是Debugwire?
為了降低成本和調(diào)試引腳的開銷,ATMEL公司在AVR器件上使用的新的調(diào)試接口——Debugwire。通過Debugwire的方式,用戶可以實現(xiàn)程序的在線調(diào)試,調(diào)試方面Debugwire與JTAG相比其主要區(qū)別在于僅使用一根信號線(RESET),即可完成調(diào)試信息的交互,達到控制程序流向,執(zhí)行指令以及編程熔絲位的功能,但是在使用中尚需接電源信號:VTref(VCC)、GND。要注意的是,Debugwire不同于JTAG,它只是一種調(diào)試接口,而不是編程接口,也就是說不能通過Debugwire下載程序。
JTAG,ISP,Debugwire的區(qū)別。
JTAG:可以進行程序的下載和在線仿真調(diào)試,程序下載速度快。只有部分器件支持。在JTAG使能的前提下程序的下載和仿真無需進行其他設定即可。
ISP:只能進行程序的下載,程序下載速度慢。所有AVR單片機均支持ISP程序下載。
Debugwire:只能進行程序的在線仿真調(diào)試不能進行程序的下載。只有比較少的器件支持Debugwire方式仿真。目標MCU的ISP功能和debug WIRE功能是互斥的,使能了目標MCU的 debug WIRE 功能后ISP功能就無法使用,使能了ISP功能后debug WIRE功能就無法使用。

細說ISP和IAP的區(qū)別
ISP:in system programming,
IAP: in applicatin programming 但兩者的操作方式,結(jié)果和應用場合有區(qū)別
ISP: 用寫入器將code燒入,不過,芯片可以在目標板上,不用取出來,在設計目標板的時候就將接口設計在上面,所以叫"在系統(tǒng)編程",即不用脫離系統(tǒng);
IAP: 在應用編程,有芯片本身(或通過外圍的芯片)可以通過一系列操作將code寫入,比如一款支持Iap的單片機,內(nèi)分3個程序區(qū),1作引導程序區(qū),2作運行程序區(qū),3作下載區(qū),芯片通過串口接收到下載命令,進入引導區(qū)運行引導程序,在引導程序下將new code內(nèi)容下載到下載區(qū),下載完畢并校驗通過后再將下載區(qū)內(nèi)容復制到2區(qū),運行復位程序,則Iap完成;
應用場合: 1,ISP 程序升級需要到現(xiàn)場解決,不過好一點的是不必拆機器了; 2,IAP 如果有網(wǎng)管系統(tǒng)的話,用網(wǎng)管下載一切搞定,人不用跑來跑去, 這可能是他們的優(yōu)點或應用吧。 典型IAP:IC卡電話機內(nèi)含V.xx MODEM芯片,MCU自帶引導區(qū),可遠程下載更新程序。
在線編程目前有兩種實現(xiàn)方法:在系統(tǒng)編程(ISP)和在應用編程(IAP)。ISP一般是通過單片機專用的串行編程接口對單片機內(nèi)部的Flash存儲器進行編程,而IAP技術是從結(jié)構(gòu)上將Flash存儲器映射為兩個存儲體,當運行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將控制從一個存儲體轉(zhuǎn)向另一個。ISP的實現(xiàn)一般需要很少的外部電路輔助實現(xiàn),而IAP的實現(xiàn)更加靈活,通??衫脝纹瑱C的串行口接到計算機的RS232口,通過專門設計的固件程序來編程內(nèi)部存儲器。

ISP,In System Programing
主要是指代芯片的燒寫方式,以往寫片子需要把片子拿下來,離開電路,用 編程器燒,換句話說,芯片不能不脫離應用系統(tǒng)進行寫入。
ISP 主要針對這個問題,使用JTAG或者串行口(MCU 內(nèi)部有Boot Loader,通過指定的方式激活之,它可以和PC或其它上位機通過串口聯(lián)系,不用使單片機離開應用系統(tǒng)而更新內(nèi)部的程序/設置)進行程序的燒寫操作。
因此,具有ISP 功能的MCU 可以不使用編程器進行編程。當然,實現(xiàn)ISP 可能需要一些硬件電路支持,具體的在數(shù)據(jù)手冊中有說明。
IAP,In Application Programing
單片機內(nèi)部具有一些可擦寫的非易失存儲器,如Flash。在單片機獨立運行時,不具備IAP 功能的單片機并不能對Flash的數(shù)據(jù)進行修改,比如,對自身的某一個模塊的代碼,數(shù)據(jù)進行修改。具備了IAP 功能的MCU ,能夠通過使用各自公司開發(fā)的技術,對于自身進行修改。
簡言之:ISP=>修改MCU 內(nèi)部數(shù)據(jù)需要有外部介入;
IAP=>修改MCU 內(nèi)部數(shù)據(jù)可以不用外部介入。
二者可以說是數(shù)據(jù)更新的一種實現(xiàn)機制。
一般具備ISP 功能后,就不要編程器了,而是使用下載線進行編程工作。但是不是說他們就一定不支持編程器了,具體型號具體分析。是否需要仿真器進行仿真和是否具備ISP和IAP沒有必然的聯(lián)系。只不過具備了IAP功能,可以在MCU內(nèi)寫入監(jiān)控程序,模擬一個仿真器,當然,這個監(jiān)控程序是要消耗資源的,和使用硬件的仿真器還有一定的差異。


1、JTAG是一個通信標準,用于計算機和單片機進行實時快速通訊。
AVR 的JTAG功能(只有部分型號才有)使得AVR的調(diào)試工作非常簡單,可以通過JTAG 接口對Flash、EEPROM、熔絲位和鎖定位進行編程。
使用AVR studio軟件和JTAG硬件( AVR JTAG編程器,AVR JTAG仿真器)可以進行程序下載(編程)和程序在線調(diào)試。
JTAG接口有四個引腳。以JTAG的術語來說,這些引腳組成了測試訪問端口TAP。這些引腳是:
TMS:測試模式選擇。此引腳用來實現(xiàn)TAP 控制器各個狀態(tài)之間的切換。
TCK:測試時鐘。JTAG 操作是與TCK 同步的。
TDI: 測試數(shù)據(jù)輸入--需要移位到指令寄存器或數(shù)據(jù)寄存器(掃描鏈)的串行輸入數(shù)據(jù)。
TDO:測試數(shù)據(jù)輸出-- 自指令寄存器或數(shù)據(jù)寄存器串行移出的數(shù)據(jù)。

本文引用地址:http://butianyuan.cn/article/201611/322862.htm


2、ISP是一種通用的程序下載方式,AVR單片機都有ISP下載接口??梢酝ㄟ^ISP下載線或者STK500把程序下載到單片機中。

ISP下載線成本低廉,制作簡單,一個并口ISP下載線只需幾十元即可得到。開發(fā)工具成本低也是AVR單片機的優(yōu)勢之一。

JTAG與ISP的區(qū)別和聯(lián)系

區(qū)別:JTAG可以調(diào)試程序,而ISP只能下載程序。

聯(lián)系:同作為AVR程序下載工具,都能把程序從電腦下載到單片機中。都能對芯片的熔絲位和鎖定位進行編程。

JTAG調(diào)試與普通軟件仿真的區(qū)別和聯(lián)系

聯(lián)系:都可以在計算機調(diào)試程序終端看到程序的運行效果,都可以設置斷點,單步運行,進入循環(huán),跳出循環(huán),連續(xù)運行等操作。還能實時觀察各寄存器的值,IO口狀態(tài)等。



關鍵詞: ISPJTA

評論


技術專區(qū)

關閉