在系統(tǒng)中編程,英文簡稱ISP,即In System Programming,這里的”系統(tǒng)”值的是電路系統(tǒng)。是 Lattice 半導體公司首先提出來的一種讓我們能在產(chǎn)品設計、制造過程中的每個環(huán)節(jié),甚至在產(chǎn)品賣給最終用戶以后,具有對其器件、電路板或整個電子系統(tǒng)的邏輯和功能隨時進行重組或重新編程的技術。也就是說給芯片編程的時候不必將芯片移出其運行的電路系統(tǒng)。無論在單片機上,還是在CPLD/FPGA上都得到了廣泛的應用。
JTAG,即Joint Test Action Group,是 聯(lián)合測試行為組 提出的一種邊界掃描鏈的結構。是一種國際標準測試協(xié)議(IEEE 1149.1兼容),JTAG主要用于邊界掃描測試芯片內(nèi)部信號,但通過某種方式也可以實現(xiàn)編程,采用JTAG編程的方式其實芯片也不需要離開電路系統(tǒng)。
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ù)通過TDI輸入JTAG口。
TDO:測試數(shù)據(jù)輸出。數(shù)據(jù)通過TDO從JTAG口輸出
TRST:可選引腳,測試復位,輸入引腳,低電平有效,如果JTAG電路不用,可以將其連接到GND。
ISP一般指的是通過SPI接口進行在系統(tǒng)中編程(ISP)。
JTAG則是通過JTAG接口進行在系統(tǒng)中編程。
ISP:只能進行程序的下載,程序下載速度慢。是一種通用的程序下載方式,所以AVR單片機均支持ISP程序下載。(并口ISP下載線、串口ISP下載線)
JTAG:可以進行程序的下載和在線仿真調(diào)試,程序下載速度快?,F(xiàn)在多數(shù)的高級器件都支持JTAG,如CPU、DSP、CPLD、FPGA等)
ISP和JTAG都能把程序從電腦下載到單片機中,都能對芯片的熔絲位和鎖定位進行編程。
JTAG調(diào)試與普通軟件仿真的區(qū)別和聯(lián)系
聯(lián)系:都可以在計算機調(diào)試程序終端看到程序的運行效果,都可以設置斷點,單步運行,進入循環(huán),跳出循環(huán),連續(xù)運行等操作。還能實時觀察各寄存器的值,IO口狀態(tài)等。
區(qū)別:軟件仿真,用的是計算機來模擬單片機運行,不是全真的環(huán)境,很多時候會出現(xiàn)偏差甚至錯誤。而用JTAG在線調(diào)試,程序本身在單片機內(nèi)運行,完全真實的硬件環(huán)境,更準確的反映程序運行的實際情況,有助于大型程序的調(diào)試。
LPC2103對應的ISP引腳為P0.14。
硬件部分注意的地方:
JTAG信號比較多非常難調(diào)試,而ISP只需要兩個信號,串口又是很熟悉的通信,所以ISP比較好調(diào)試。所以,在設計時,應該把P0.14引腳像開發(fā)板似的接一個跳線器,可以方便的使能ISP功能。
元器件焊接好后,先測下是否短路,然后用示波器測試一下復位信號和時鐘信號是否正常。如果復位信號和時鐘信號正常,表示LPC2103(ARM7TDMI-S)芯片焊接沒有問題,利用串口(RS-232)進行ISP下載應該就沒有問題。
ISP下載成功的話,說明LPC2103能夠正常工作的條件都滿足了,就可以進行JTAG的調(diào)試了。