摘要:下載電纜被廣泛應用于電子系統設計與調試過程中。本文介紹它的基本原理和編程控制方法;針對目前單片機的ISP串行編程模式列舉實例,簡要介紹AT89S5X的串行編程的方法和部分協議,使用VC編程,應用下載電纜實現對AT89S5X系列單片機的ISP編程;文末提出統一下載電纜硬件或軟件的設想,并提供可以下載支持多種單片機ISP編程軟件的網址。 關鍵詞:下載電纜 串行編程 AT89S5X ISP 引言 隨著電子技術的日益發展,芯片的規模越來越大,封裝日趨小型化,相應的對系統板級調試困難也在加大。IEEE制定了標準測試端口與邊界掃描的標準IEEE std 1149.1,這就是JTAG接口協議。JTAG接口通過TCK、TDI、TDO、TMS四根信號線,以串行模式為系統提供了對復雜芯片的各引腳連通性測試,進步還能實現對可編程芯片的配置與處理器芯片的調試等等。下載電纜就是一種使用計算機的并行端口通過軟件的仿零點實現JTAG接口協議,訪問可編程芯片的廉價工具。本文使用的下載電纜是Altera公司為其可編程邏輯器件開發的ByteBlasterMV電纜。ISP(在系統可編程的簡稱)是最先由Lattice公司提出的一種技術,是通過同步串行方式實現對其可編程邏輯器件的重配置。ISP與JTAG的接口協議很相像,只是后者形成了標準。ISP現在已經成為一種概念,它的提出改變了傳統硬件系統開發的流程,大大方便了開發者,加快了開發速度。現在大多數的可編程器件(FPGA、CPLD、DSP、MCU……)都支持ISP特性。單片機也不例外,Atmel公司推出的AT89S系列51單片機也符合ISP特性。 要實現JTAG接口協議可以使用專用的IC,如74LVT8980、74LVT8990,它與MCU配合可以提供高速的JTAG串行訪問,成本較高。下載電纜則是實現JTAG接口協議的廉價方案。它僅命名用74HC244做線路驅動,由計算機的并行端口引出I/O作為TCK、TDI、TDO、TMS等信號線。由于并口在SPP模式下共有3個端口——數據輸出端口、控制輸出端口、狀態輸入端口,各種下載電纜究竟從那個端口引出JTAG信號線幾乎都不相同,圖1、圖2是兩種下載電纜的原理圖。 并口簡介: 計算機的并行端口工作在SPP模式下,對它的控制是通過數據輸出端口、控制輸出端口、狀態輸入端口來實現的。 并行口有25個引腳,其中包括8位數據線、5位狀態線、4位控制線。 數據端口(378H):D0~D7用于數據輸出。 狀態端口(379H):*S7(Busy)、S6(nAck)、S5(PE)、S4(Select)、S3(nError)。 控制端口(37AH):*C3(nSelin)、S2(nInit)、*C(AnutoFeed)、*C0(nStrobe)。 ()(端口地址是缺省的LPT1設置;*表示此引腳有反向器) 表1為并行端口定義。對應原理圖有: Altera的下載電纜 TCK、TDI、TMS、TDO分別對應D0、D6、D1、*S7; Atmel的電纜 TCK、TDI、TMS、TDO分別對應*C0、D0、*C3、S6。
2 下載電纜的編程方法 用計算機控制下載電纜實現JTAG協議,就是對并口3個I/O端口的讀寫操作,用0-1的變化來模擬JTAG時序。在Win98和Win2000環境下讀寫I/O,需要驅動程序。本文使用DriverLINX Port I/O Driver(可以從WWW.sstnet.com下載)來實現I/O端口訪問。安裝DLPORTIO以后,通過調用DLPORTIO.DLL動態連接庫中的 UCHAR DLPORT_API D1PortRead PortUchar(IN ULONG Port); 程序段1 Altera下載電纜電平賦值函數 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; } 通過以上程序依次改變JTAG各接口I/O的電平狀態,模擬JTAG協議的時序,就可以訪問支持JTAG標準的各種芯片。 3 ISP協議的解析與實現 對AT89S5X系列單片機ISP編程不使用JTAG協議,而使用SPI同步串行接口協議,如圖3所示。 時鐘信號固定為unsigned char sck[19]={0,0,1,0,1,0,1,0,1,0,10,1,0,1,0,1,0,1,0,0}; 輸出的數據信號由程序實現情況自動生成數組unsigned char mosi[19]; 輸入的數據根據讀入的信號生成數組unsigned char miso[19]; 再調用上文的Setbit()函數,依次發送19位的JTAG接口I/O狀態,同時讀入返回信號,即完成一次對AT89S5X芯片的SPI單字節訪問。 在單字節訪問基礎上,參考Atmel公司的AT89S5X數據手冊的串行編程指令表中的指令格式,就可以實現ISP了。 表2為AT89S51串行編程指令表。
注:①串行編程要在RST端接高電平情況下實現;②X表示此位關心;③A11~A0是要訪問字節地址;④D7~D0是讀寫的數據;⑤B1、B2是保護位;⑥LB3~LB1表示3種狀態。 針對AT89S51單片機,其標志字節為:(00H)1EH、(02H)51H、(04)06H. 程序段2將得到AT89S51單片機的標志字節。(其中SPIcomm()為SPI單字節訪問函數)。 程序段2 獲得AT89S51單片機標志字節的程序段 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進行串行編程時的硬件原理圖。 4 小結 下載電纜為我們提供了深入芯片內部的觸手。通過JTAG標準協議,我們可以用下載電纜檢查芯片焊接連通性、重新配置可編程器件、下載程序固件以及調試處理器的運行。 小到8位單片機AT89S5X、AVR的串行編程,可編程器件MAX7000的配置;大到32位嵌入式處理器的調試,上萬門FPGA芯片的配置都可以見到下載電纜的身影。例如,ARM使用下載電纜的JTAG仿真可以通過EmbeddedICE接口實現對ARM的開發調試,或者使用ARM的邊界掃描特性為嵌入式系統板下載啟動程序等等。 目前下載電纜的使用越來越多,各個廠商分別推出了自已的符合JTAG標準的芯片或者是使用ISP技術的新產品。與此同時,下載電纜的種類也非常多,大多數的區別僅在于并口信號與JTAG信號的對應關系不同。往往有時候開發一個產品,要用到很多種不同的電纜。我們希望可以使用一種標準的下載電纜來實現所有JTAG應用;或者是通過一個計算機程序可以通過配置文件來使用各種下載電纜。在我們的BLMVISP軟件中,就支持了現有的兩種電纜。 使用ISP技術可以大大加快硬件開發速度。下載電纜與計算機軟件的配合使用也可以降低開發成本,非常適合個人愛好者與初學者使用。 有興趣的讀者可以下載BLMVISP演示版的VC源程序壓縮包(demo_blmvisp.zip),以便參考;也可以訪問:http://51kaifa.nease.net或者email:blmv@eyou.com。 |
- 用下載電(5062)
- SP編程(5443)
相關推薦
實現與計算機的USB端口連接的下載線設計


51,avr,pic等各種單片機編程器功能介紹及詳解
51單片機程序下載、ISP及串口基礎知識
ISP51下載軟件 ISP_download
ISP下載失敗
ISP、IAP、ICP的區別與聯系是什么
ISP在系統可編程是指什么
AT89 ISP編程器使用手冊
AT89S51單片機
AT89S8253單片機概述
ATMEL-isp下載線接線電路圖
ATMEL51單片機下載編程求助
AVR Fighter進入編程模式失敗
AVR編程器ISP相關資料分享
P89C5X系列單片機中文數據手冊
SLH89F5162與STC12C5A60S2小對比
STC-ISP下載編程燒錄軟件的相關資料分享
STC-ISP單片機代碼燒寫教程/軟件/u***-232驅動下載/安裝
STC-ISP軟件分享
STC89C51和AT89S51的區別
STC89C52,用USB轉RS-232串口線進行燒錄時報錯
[下載]應用c8051f單片機總結出來的經驗------大家共同分享一下
[原創]AVR仿真器 AVR編程器 二合一 AVR JTAG與ISP 二合一V2.5
keil5和stc-isp使用注意事項
串口/51單片機的ISP下載的基礎知識
串行下載系統編程ISP有何功能
什么是ISP?ISP怎么用?
關于AT89S52單片機的燒錄問題 接口 ISP問題
華邦W78E516B單片機在線編程相關資料下載
基于微處理器可編程flash 89s52雙通道12位ADC工程板
如何下載stm32 ISP串口
如何用STC-ISP將程序下載到STC89C52芯片中
如何自制AVR單片機ISP下載線
如何采用控制芯片P89C61x2和接口芯片ISP1581實現USB接口電路的設計?
怎樣通過ISP/IAP技術讀寫內部FLASH來實現EEPROM呢
我想用ATT89C5115做個小東西,不知道它的ISP下載線是不是和89S52樣
新買的AT89S51燒程序,提示“進入編程模式錯誤....”。
新買的STC89C52RC燒錄不了???
求助:AT89S52的下載問題
淺析AT89C51、AT89S51和STC89C51的區別
用于89S51 89S52的Asim ISP下載線
請問ISP下載程序與哪些信號有關呢?
誰有電子在線ISP編程V2.0軟件
AVR isp下載線的制作

用下載電纜實現AT89S5X 的ISP 編程

ATMEL-isp下載線電路

采用P89C61x2和ISP1581的USB接口電路的設計


并口實現AT89S的ISP功能

一種AT89S52的USB下載線設計

如何使用串口實現AVR單片機的ISP功能詳細方法概述

JTAG和ISP二合一編程仿真器使用說明書免費下載

AT89S51單片機的功能特點詳解

STC-ISP單片機下載編程燒錄軟件四個版本應用程序免費下載

如何自制一個AVR單片機ISP下載線


AVR芯片ISP燒寫資料和USB編程下載器progisp軟件免費下載

AT89S51 ISP下載線并口的制作教程說明

AT89 ISP編程器的使用手冊免費下載

51 AVR 編程器ISP ASP USBASP下載器的驅動下載和程序下載[

STM32的ISP下載原理

8051 ISP編程器(小尤魚下載器)及ISP U2編程器上位機(WIN8支持)

評論