摘要:下載電纜被廣泛應(yīng)用于電子系統(tǒng)設(shè)計(jì)與調(diào)試過(guò)程中。本文介紹它的基本原理和編程控制方法;針對(duì)目前單片機(jī)的ISP串行編程模式列舉實(shí)例,簡(jiǎn)要介紹AT89S5X的串行編程的方法和部分協(xié)議,使用VC編程,應(yīng)用下載電纜實(shí)現(xiàn)對(duì)AT89S5X系列單片機(jī)的ISP編程;文末提出統(tǒng)一下載電纜硬件或軟件的設(shè)想,并提供可以下載支持多種單片機(jī)ISP編程軟件的網(wǎng)址。 關(guān)鍵詞:下載電纜 串行編程 AT89S5X ISP 引言 隨著電子技術(shù)的日益發(fā)展,芯片的規(guī)模越來(lái)越大,封裝日趨小型化,相應(yīng)的對(duì)系統(tǒng)板級(jí)調(diào)試?yán)щy也在加大。IEEE制定了標(biāo)準(zhǔn)測(cè)試端口與邊界掃描的標(biāo)準(zhǔn)IEEE std 1149.1,這就是JTAG接口協(xié)議。JTAG接口通過(guò)TCK、TDI、TDO、TMS四根信號(hào)線,以串行模式為系統(tǒng)提供了對(duì)復(fù)雜芯片的各引腳連通性測(cè)試,進(jìn)步還能實(shí)現(xiàn)對(duì)可編程芯片的配置與處理器芯片的調(diào)試等等。下載電纜就是一種使用計(jì)算機(jī)的并行端口通過(guò)軟件的仿零點(diǎn)實(shí)現(xiàn)JTAG接口協(xié)議,訪問(wèn)可編程芯片的廉價(jià)工具。本文使用的下載電纜是Altera公司為其可編程邏輯器件開(kāi)發(fā)的ByteBlasterMV電纜。ISP(在系統(tǒng)可編程的簡(jiǎn)稱)是最先由Lattice公司提出的一種技術(shù),是通過(guò)同步串行方式實(shí)現(xiàn)對(duì)其可編程邏輯器件的重配置。ISP與JTAG的接口協(xié)議很相像,只是后者形成了標(biāo)準(zhǔn)。ISP現(xiàn)在已經(jīng)成為一種概念,它的提出改變了傳統(tǒng)硬件系統(tǒng)開(kāi)發(fā)的流程,大大方便了開(kāi)發(fā)者,加快了開(kāi)發(fā)速度?,F(xiàn)在大多數(shù)的可編程器件(FPGA、CPLD、DSP、MCU……)都支持ISP特性。單片機(jī)也不例外,Atmel公司推出的AT89S系列51單片機(jī)也符合ISP特性。 要實(shí)現(xiàn)JTAG接口協(xié)議可以使用專用的IC,如74LVT8980、74LVT8990,它與MCU配合可以提供高速的JTAG串行訪問(wèn),成本較高。下載電纜則是實(shí)現(xiàn)JTAG接口協(xié)議的廉價(jià)方案。它僅命名用74HC244做線路驅(qū)動(dòng),由計(jì)算機(jī)的并行端口引出I/O作為T(mén)CK、TDI、TDO、TMS等信號(hào)線。由于并口在SPP模式下共有3個(gè)端口——數(shù)據(jù)輸出端口、控制輸出端口、狀態(tài)輸入端口,各種下載電纜究竟從那個(gè)端口引出JTAG信號(hào)線幾乎都不相同,圖1、圖2是兩種下載電纜的原理圖。 并口簡(jiǎn)介: 計(jì)算機(jī)的并行端口工作在SPP模式下,對(duì)它的控制是通過(guò)數(shù)據(jù)輸出端口、控制輸出端口、狀態(tài)輸入端口來(lái)實(shí)現(xiàn)的。 并行口有25個(gè)引腳,其中包括8位數(shù)據(jù)線、5位狀態(tài)線、4位控制線。 數(shù)據(jù)端口(378H):D0~D7用于數(shù)據(jù)輸出。 狀態(tài)端口(379H):*S7(Busy)、S6(nAck)、S5(PE)、S4(Select)、S3(nError)。 控制端口(37AH):*C3(nSelin)、S2(nInit)、*C(AnutoFeed)、*C0(nStrobe)。 ()(端口地址是缺省的LPT1設(shè)置;*表示此引腳有反向器) 表1為并行端口定義。對(duì)應(yīng)原理圖有: Altera的下載電纜 TCK、TDI、TMS、TDO分別對(duì)應(yīng)D0、D6、D1、*S7; Atmel的電纜 TCK、TDI、TMS、TDO分別對(duì)應(yīng)*C0、D0、*C3、S6。
2 下載電纜的編程方法 用計(jì)算機(jī)控制下載電纜實(shí)現(xiàn)JTAG協(xié)議,就是對(duì)并口3個(gè)I/O端口的讀寫(xiě)操作,用0-1的變化來(lái)模擬JTAG時(shí)序。在Win98和Win2000環(huán)境下讀寫(xiě)I/O,需要驅(qū)動(dòng)程序。本文使用DriverLINX Port I/O Driver(可以從WWW.sstnet.com下載)來(lái)實(shí)現(xiàn)I/O端口訪問(wèn)。安裝DLPORTIO以后,通過(guò)調(diào)用DLPORTIO.DLL動(dòng)態(tài)連接庫(kù)中的 UCHAR DLPORT_API D1PortRead PortUchar(IN ULONG Port); 程序段1 Altera下載電纜電平賦值函數(shù) Void CAvrISPDlg::Setbit(){ Unsigned char value=0; If(!m_tck)value|=0x01; If(!m_tms)value|=0x02; If(!m_tdi)value|=0x40; DlPortWritePortUchar(0x378,value); Value=DlPortReadPortUchar(0x379); If(value & 0x80)m_tdo=0; Else m_tdo=0; } 通過(guò)以上程序依次改變JTAG各接口I/O的電平狀態(tài),模擬JTAG協(xié)議的時(shí)序,就可以訪問(wèn)支持JTAG標(biāo)準(zhǔn)的各種芯片。 3 ISP協(xié)議的解析與實(shí)現(xiàn) 對(duì)AT89S5X系列單片機(jī)ISP編程不使用JTAG協(xié)議,而使用SPI同步串行接口協(xié)議,如圖3所示。 時(shí)鐘信號(hào)固定為unsigned char sck[19]={0,0,1,0,1,0,1,0,1,0,10,1,0,1,0,1,0,1,0,0}; 輸出的數(shù)據(jù)信號(hào)由程序?qū)崿F(xiàn)情況自動(dòng)生成數(shù)組unsigned char mosi[19]; 輸入的數(shù)據(jù)根據(jù)讀入的信號(hào)生成數(shù)組unsigned char miso[19]; 再調(diào)用上文的Setbit()函數(shù),依次發(fā)送19位的JTAG接口I/O狀態(tài),同時(shí)讀入返回信號(hào),即完成一次對(duì)AT89S5X芯片的SPI單字節(jié)訪問(wèn)。 在單字節(jié)訪問(wèn)基礎(chǔ)上,參考Atmel公司的AT89S5X數(shù)據(jù)手冊(cè)的串行編程指令表中的指令格式,就可以實(shí)現(xiàn)ISP了。 表2為AT89S51串行編程指令表。
注:①串行編程要在RST端接高電平情況下實(shí)現(xiàn);②X表示此位關(guān)心;③A11~A0是要訪問(wèn)字節(jié)地址;④D7~D0是讀寫(xiě)的數(shù)據(jù);⑤B1、B2是保護(hù)位;⑥LB3~LB1表示3種狀態(tài)。 針對(duì)AT89S51單片機(jī),其標(biāo)志字節(jié)為:(00H)1EH、(02H)51H、(04)06H. 程序段2將得到AT89S51單片機(jī)的標(biāo)志字節(jié)。(其中SPIcomm()為SPI單字節(jié)訪問(wèn)函數(shù))。 程序段2 獲得AT89S51單片機(jī)標(biāo)志字節(jié)的程序段 CString str; for(addr=1;addr<3;addr++){ m_comm=0x28; SPIcomm(); m_comm=addr; SPIcomm(); m_comm=0; SPIcomm(); m_comm=0; SPIcomm(); Str.Format(“0x%02X”,m_dat); m_out+=str; } 圖4是AT89S51進(jìn)行串行編程時(shí)的硬件原理圖。 4 小結(jié) 下載電纜為我們提供了深入芯片內(nèi)部的觸手。通過(guò)JTAG標(biāo)準(zhǔn)協(xié)議,我們可以用下載電纜檢查芯片焊接連通性、重新配置可編程器件、下載程序固件以及調(diào)試處理器的運(yùn)行。 小到8位單片機(jī)AT89S5X、AVR的串行編程,可編程器件MAX7000的配置;大到32位嵌入式處理器的調(diào)試,上萬(wàn)門(mén)FPGA芯片的配置都可以見(jiàn)到下載電纜的身影。例如,ARM使用下載電纜的JTAG仿真可以通過(guò)EmbeddedICE接口實(shí)現(xiàn)對(duì)ARM的開(kāi)發(fā)調(diào)試,或者使用ARM的邊界掃描特性為嵌入式系統(tǒng)板下載啟動(dòng)程序等等。 目前下載電纜的使用越來(lái)越多,各個(gè)廠商分別推出了自已的符合JTAG標(biāo)準(zhǔn)的芯片或者是使用ISP技術(shù)的新產(chǎn)品。與此同時(shí),下載電纜的種類也非常多,大多數(shù)的區(qū)別僅在于并口信號(hào)與JTAG信號(hào)的對(duì)應(yīng)關(guān)系不同。往往有時(shí)候開(kāi)發(fā)一個(gè)產(chǎn)品,要用到很多種不同的電纜。我們希望可以使用一種標(biāo)準(zhǔn)的下載電纜來(lái)實(shí)現(xiàn)所有JTAG應(yīng)用;或者是通過(guò)一個(gè)計(jì)算機(jī)程序可以通過(guò)配置文件來(lái)使用各種下載電纜。在我們的BLMVISP軟件中,就支持了現(xiàn)有的兩種電纜。 使用ISP技術(shù)可以大大加快硬件開(kāi)發(fā)速度。下載電纜與計(jì)算機(jī)軟件的配合使用也可以降低開(kāi)發(fā)成本,非常適合個(gè)人愛(ài)好者與初學(xué)者使用。 有興趣的讀者可以下載BLMVISP演示版的VC源程序壓縮包(demo_blmvisp.zip),以便參考;也可以訪問(wèn):http://51kaifa.nease.net或者email:blmv@eyou.com。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- 用下載電(5062)
- SP編程(5443)
相關(guān)推薦
實(shí)現(xiàn)與計(jì)算機(jī)的USB端口連接的下載線設(shè)計(jì)
3705
51,avr,pic等各種單片機(jī)編程器功能介紹及詳解
51單片機(jī)程序下載、ISP及串口基礎(chǔ)知識(shí)
ISP51下載軟件 ISP_download
ISP下載失敗
ISP、IAP、ICP的區(qū)別與聯(lián)系是什么
ISP在系統(tǒng)可編程是指什么
用試驗(yàn)板下載89S51的hex,下載線不要改動(dòng)嗎?
AT89 ISP編程器使用手冊(cè)
AT89S51單片機(jī)
AT89S8253單片機(jī)概述
ATMEL-isp下載線接線電路圖
ATMEL51單片機(jī)下載編程求助
AVR Fighter進(jìn)入編程模式失敗
AVR編程器ISP相關(guān)資料分享
P89C5X系列單片機(jī)中文數(shù)據(jù)手冊(cè)
SLH89F5162與STC12C5A60S2小對(duì)比
STC-ISP下載編程燒錄軟件的相關(guān)資料分享
STC-ISP單片機(jī)代碼燒寫(xiě)教程/軟件/u***-232驅(qū)動(dòng)下載/安裝
STC-ISP軟件分享
STC89C51和AT89S51的區(qū)別
STC89C52,用USB轉(zhuǎn)RS-232串口線進(jìn)行燒錄時(shí)報(bào)錯(cuò)
[下載]應(yīng)用c8051f單片機(jī)總結(jié)出來(lái)的經(jīng)驗(yàn)------大家共同分享一下
[原創(chuàng)]AVR仿真器 AVR編程器 二合一 AVR JTAG與ISP 二合一V2.5
keil5和stc-isp使用注意事項(xiàng)
串口/51單片機(jī)的ISP下載的基礎(chǔ)知識(shí)
串行下載系統(tǒng)編程ISP有何功能
什么是ISP?ISP怎么用?
關(guān)于AT89S52單片機(jī)的燒錄問(wèn)題 接口 ISP問(wèn)題
華邦W78E516B單片機(jī)在線編程相關(guān)資料下載
單片機(jī)是什么?如何學(xué)好單片機(jī)?
在遠(yuǎn)程通信中如何去實(shí)現(xiàn)89LPC932的ISP功能?
基于微處理器可編程flash 89s52雙通道12位ADC工程板
如何下載stm32 ISP串口
如何利用AT89S52實(shí)現(xiàn)在線編程控制系統(tǒng)的設(shè)計(jì)
如何用STC-ISP將程序下載到STC89C52芯片中
如何自制AVR單片機(jī)ISP下載線
如何采用控制芯片P89C61x2和接口芯片ISP1581實(shí)現(xiàn)USB接口電路的設(shè)計(jì)?
怎樣通過(guò)ISP/IAP技術(shù)讀寫(xiě)內(nèi)部FLASH來(lái)實(shí)現(xiàn)EEPROM呢
我想用ATT89C5115做個(gè)小東西,不知道它的ISP下載線是不是和89S52樣
新買(mǎi)的AT89S51燒程序,提示“進(jìn)入編程模式錯(cuò)誤....”。
新買(mǎi)的STC89C52RC燒錄不了???
求助NXP P89V52X2單片機(jī)的程序下載方法
求助:AT89S52的下載問(wèn)題
淺析AT89C51、AT89S51和STC89C51的區(qū)別
用于89S51 89S52的Asim ISP下載線
請(qǐng)問(wèn)ISP下載程序與哪些信號(hào)有關(guān)呢?
誰(shuí)有基于AT89S52單片機(jī)最小系統(tǒng)的ISP下載端口的電路圖
誰(shuí)有電子在線ISP編程V2.0軟件
AVR isp下載線的制作
204用下載電纜實(shí)現(xiàn)AT89S5X 的ISP 編程
21ATMEL-isp下載線電路
182采用P89C61x2和ISP1581的USB接口電路的設(shè)計(jì)
871
并口實(shí)現(xiàn)AT89S的ISP功能
74一種AT89S52的USB下載線設(shè)計(jì)
8如何使用串口實(shí)現(xiàn)AVR單片機(jī)的ISP功能詳細(xì)方法概述
10JTAG和ISP二合一編程仿真器使用說(shuō)明書(shū)免費(fèi)下載
6AT89S51單片機(jī)的功能特點(diǎn)詳解
23736STC-ISP單片機(jī)下載編程燒錄軟件的安裝和使用教程免費(fèi)下載
30STC-ISP單片機(jī)下載編程燒錄軟件四個(gè)版本應(yīng)用程序免費(fèi)下載
0STC-ISP V6.86單片機(jī)下載編程燒錄軟件免費(fèi)下載
58如何自制一個(gè)AVR單片機(jī)ISP下載線
3561
AVR芯片ISP燒寫(xiě)資料和USB編程下載器progisp軟件免費(fèi)下載
33AT89S51 ISP下載線并口的制作教程說(shuō)明
2AT89 ISP編程器的使用手冊(cè)免費(fèi)下載
751 AVR 編程器ISP ASP USBASP下載器的驅(qū)動(dòng)下載和程序下載[
41STM32的ISP下載原理
208051 ISP編程器(小尤魚(yú)下載器)及ISP U2編程器上位機(jī)(WIN8支持)
9使用USART ISP對(duì)LPC800進(jìn)行編程
0
電子發(fā)燒友App






評(píng)論