用下載電纜實(shí)現AT89S5X的ISP編程

發(fā)布時(shí)間:2010-4-15 15:15    發(fā)布者:qgq
關(guān)鍵詞: ISP , 電纜 , AT89S5X , 編程
引言

隨著(zhù)電子技術(shù)的日益發(fā)展,芯片的規模越來(lái)越大,封裝日趨小型化,相應的對系統板級調試困難也在加大。IEEE制定了標準測試端口與邊界掃描的標準IEEE std 1149.1,這就是JTAG接口協(xié)議。JTAG接口通過(guò)TCK、TDI、TDO、TMS四根信號線(xiàn),以串行模式為系統提供了對復雜芯片的各引腳連通性測試,進(jìn)步還能實(shí)現對可編程芯片的配置與處理器芯片的調試等等。下載電纜就是一種使用計算機的并行端口通過(guò)軟件的仿零點(diǎn)實(shí)現JTAG接口協(xié)議,訪(fǎng)問(wèn)可編程芯片的廉價(jià)工具。本文使用的下載電纜是Altera公司為其可編程邏輯器件開(kāi)發(fā)的ByteBlasterMV電纜。ISP(在系統可編程的簡(jiǎn)稱(chēng))是最先由 Lattice公司提出的一種技術(shù),是通過(guò)同步串行方式實(shí)現對其可編程邏輯器件的重配置。ISP與JTAG的接口協(xié)議很相像,只是后者形成了標準。ISP 現在已經(jīng)成為一種概念,它的提出改變了傳統硬件系統開(kāi)發(fā)的流程,大大方便了開(kāi)發(fā)者,加快了開(kāi)發(fā)速度,F在大多數的可編程器件(FPGA、CPLD、 DSP、MCU……)都支持ISP特性。單片機也不例外,Atmel公司推出的AT89S系列51單片機也符合ISP特性。

1 下載電纜的硬件

要實(shí)現JTAG接口協(xié)議可以使用專(zhuān)用的IC,如74LVT8980、74LVT8990,它與MCU配合可以提供高速的JTAG串行訪(fǎng)問(wèn),成本較高。下載電纜則是實(shí)現JTAG接口協(xié)議的廉價(jià)方案。它僅命名用74HC244做線(xiàn)路驅動(dòng),由計算機的并行端口引出I/O作為T(mén)CK、TDI、TDO、TMS等信號線(xiàn)。由于并口在SPP模式下共有3個(gè)端口——數據輸出端口、控制輸出端口、狀態(tài)輸入端口,各種下載電纜究竟從那個(gè)端口引出JTAG信號線(xiàn)幾乎都不相同,圖1、圖2是兩種下載電纜的原理圖。





并口簡(jiǎn)介:
計算機的并行端口工作在SPP模式下,對它的控制是通過(guò)數據輸出端口、控制輸出端口、狀態(tài)輸入端口來(lái)實(shí)現的。
并行口有25個(gè)引腳,其中包括8位數據線(xiàn)、5位狀態(tài)線(xiàn)、4位控制線(xiàn)。
數據端口(378H):D0~D7用于數據輸出。
狀態(tài)端口(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。

表 1 并行端口定義表
引腳號名   稱(chēng)數據位
1nStrobe*C0
2D0D0
3D1D1
4D2D2
5D3D3
6D4D4
7D5D5
8D6D6
9D7D7
10nAckS6
11Busy*S7
12PES5
13SelectS4
14Auto Feed*C1
15nErrorS3
16nInitC2
17nSelin*C3
18~25GNDGND

2 下載電纜的編程方法

用計算機控制下載電纜實(shí)現JTAG協(xié)議,就是對并口3個(gè)I/O端口的讀寫(xiě)操作,用0-1的變化來(lái)模擬JTAG時(shí)序。在Win98和 Win2000環(huán)境下讀寫(xiě)I/O,需要驅動(dòng)程序。本文使用DriverLINX Port I/O Driver(可以從WWW.sstnet.com下載)來(lái)實(shí)現I/O端口訪(fǎng)問(wèn)。安裝DLPORTIO以后,通過(guò)調用DLPORTIO.DLL動(dòng)態(tài)連接庫中的UCHAR DLPORT_API D1PortRead PortUchar(IN ULONG Port);
VOID DLPORT_API D1PortWrite PortUchar(IN ULONG Port,IN UCHAR Value);兩個(gè)函數就可以訪(fǎng)問(wèn)位于378H、379H、37AH(這是缺省的LPT1設置)的3個(gè)并口I/O端口。程序段1實(shí)現了對Altera下載電纜的一次電平賦值:

程序段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;
}

通過(guò)以上程序依次改變JTAG各接口I/O的電平狀態(tài),模擬 JTAG協(xié)議的時(shí)序,就可以訪(fǎng)問(wèn)支持JTAG標準的各種芯片。

3 ISP協(xié)議的解析與實(shí)現

對AT89S5X系列單片機ISP編程不使用 JTAG協(xié)議,而使用SPI同步串行接口協(xié)議,如圖3所示。



針針這種8位SPI接口協(xié)議,我們使用數組來(lái)模擬時(shí)序:
時(shí)鐘信號固定為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í)現情況自動(dòng)生成數組unsigned char mosi[19];
輸入的數據根據讀入的信號生成數組unsigned char miso[19];
再調用上文的Setbit()函數,依次發(fā)送19位的JTAG接口I/O狀態(tài),同時(shí)讀入返回信號,即完成一次對AT89S5X芯片的SPI單字節訪(fǎng)問(wèn)。

在單字節訪(fǎng)問(wèn)基礎上,參考Atmel公司的AT89S5X數據手冊的串行編程指令表中的指令格式,就可以實(shí)現ISP了。

表2為AT89S51串行編程指令表。

表2 AT89S51串行編程指令集
指  令指  令  模  式說(shuō)  明
第1字節第2字節第3字節第4字節
編程使能1010110001010011XXXXXXXXXXXXXXXX使能串行編程
芯片擦除10101100100XXXXXXXXXXXXXXXXXXXXX擦除程序存儲順
讀程序字節00100000XXXXA11~A8A7~A0D7~D0字節模式讀程序
寫(xiě)程序字節01000000XXXXA11~A8A7~A0D7~D0字節模式寫(xiě)程序
寫(xiě)保護位10101100111000B1B2XXXXXXXXXXXXXXXX寫(xiě)保護位
讀保護位00100100XXXXXXXXXXXXXXXXXXLB3~LB1XX讀當前保護位
讀標志字節00101000XXXA5~A1A0XXXXXX標志數據讀取標志數據
讀程序頁(yè)00110000XXXXA11~A8數據0數據1…255頁(yè)模式讀程序
寫(xiě)程序寫(xiě)01010000XXXXA11~A8數據0數據1…255頁(yè)模式寫(xiě)程序

注:①串行編程要在RST端接高電平情況下實(shí)現;②X表示此位關(guān)心;③A11~A0是要訪(fǎng)問(wèn)字節地址;④D7~D0是讀寫(xiě)的數據;⑤B1、B2是保護位;⑥LB3~LB1表示3種狀態(tài)。

針對AT89S51單片機,其標志字節為:(00H)1EH、(02H)51H、(04)06H.
程序段2將得到AT89S51單片機的標志字節。(其中SPIcomm()為SPI單字節訪(fǎng)問(wèn)函數)。

程序段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進(jìn)行串行編程時(shí)的硬件原理圖。



4 小結

下載電纜為我們提供了深入芯片內部的觸手。通過(guò)JTAG標準協(xié)議,我們可以用下載電纜檢查芯片焊接連通性、重新配置可編程器件、下載程序固件以及調試處理器的運行。

小到8位單片機AT89S5X、AVR的串行編程,可編程器件MAX7000的配置;大到32位嵌入式處理器的調試,上萬(wàn)門(mén)FPGA芯片的配置都可以見(jiàn)到下載電纜的身影。例如,ARM使用下載電纜的JTAG仿真可以通過(guò)EmbeddedICE接口實(shí)現對ARM的開(kāi)發(fā)調試,或者使用ARM的邊界掃描特性為嵌入式系統板下載啟動(dòng)程序等等。

目前下載電纜的使用越來(lái)越多,各個(gè)廠(chǎng)商分別推出了自已的符合JTAG標準的芯片或者是使用ISP技術(shù)的新產(chǎn)品。與此同時(shí),下載電纜的種類(lèi)也非常多,大多數的區別僅在于并口信號與JTAG信號的對應關(guān)系不同。往往有時(shí)候開(kāi)發(fā)一個(gè)產(chǎn)品,要用到很多種不同的電纜。我們希望可以使用一種標準的下載電纜來(lái)實(shí)現所有JTAG應用;或者是通過(guò)一個(gè)計算機程序可以通過(guò)配置文件來(lái)使用各種下載電纜。在我們的BLMVISP軟件中,就支持了現有的兩種電纜。

使用ISP技術(shù)可以大大加快硬件開(kāi)發(fā)速度。下載電纜與計算機軟件的配合使用也可以降低開(kāi)發(fā)成本,非常適合個(gè)人愛(ài)好者與初學(xué)者使用。

有興趣的讀者可以下載BLMVISP演示版的VC源程序壓縮包(demo_blmvisp.zip),以便參考;也可以訪(fǎng)問(wèn):http://51kaifa.nease.net或者 email:blmv@eyou.com。

引證文獻

   1. 李述良 AT89S5X 單片機的在線(xiàn)ISP編程 [期刊論文] -黃岡師范學(xué)院學(xué)報2008(z1)
   2. 孟祥琪.楊小亮 基于 ISP和SoftICE的在系統編程與實(shí)時(shí)仿真一體化方法 [期刊論文] -鄭州輕工業(yè)學(xué)院學(xué)報(自然科學(xué)版)2008(01)
   3. 鄒羚 新型下載電纜實(shí)現單片機ISP編程 [期刊論文] -機電產(chǎn)品開(kāi)發(fā)與創(chuàng )新2007(03)
   4. 高寶生.程云霞 S5X 系列單片機ISP簡(jiǎn)法 [期刊論文] -試驗技術(shù)與試驗機2005(01)
   5. 孫桂玲 微波/超聲波復合增強化學(xué)反應及系統研究 [學(xué)位論文] 博士2004

作 者:南開(kāi)大學(xué) 趙昕 李維祥 孫桂玲  
來(lái) 源:?jiǎn)纹瑱C與嵌入式系統應用2004(2)
本文地址:http://selenalain.com/thread-10498-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页