熟妇人妻中文字幕在线视频_无码人妻精品视频_久久躁夜夜躁狠狠躁_偷碰人妻无码视频

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>用下載電纜實(shí)現(xiàn)AT89S5X的ISP編程

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

時(shí)間:2023-02-21 00:10:38 電子通信論文 我要投稿
  • 相關(guān)推薦

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

  摘要:下載電纜被廣泛應(yīng)用于電子系統(tǒng)設(shè)計(jì)與調(diào)試過程中。本文介紹它的基本原理和編程控制方法;針對目前單片機(jī)的ISP串行編程模式列舉實(shí)例,簡要介紹AT89S5X的串行編程的方法和部分協(xié)議,使用VC編程,應(yīng)用下載電纜實(shí)現(xiàn)對AT89S5X系列單片機(jī)的ISP編程;文末提出統(tǒng)一下載電纜硬件或軟件的設(shè)想,并提供可以下載支持多種單片機(jī)ISP編程軟件的網(wǎng)址。
  關(guān)鍵詞:下載電纜串行編程AT89S5XISP
  
  引言
  
  隨著電子技術(shù)的日益發(fā)展,芯片的規(guī)模越來越大,封裝日趨小型化,相應(yīng)的對系統(tǒng)板級調(diào)試?yán)щy也在加大。IEEE制定了標(biāo)準(zhǔn)測試端口與邊界掃描的標(biāo)準(zhǔn)IEEEstd1149.1,這就是JTAG接口協(xié)議。JTAG接口通過TCK、TDI、TDO、TMS四根信號線,以串行模式為系統(tǒng)提供了對復(fù)雜芯片的各引腳連通性測試,進(jìn)步還能實(shí)現(xiàn)對可編程芯片的配置與處理器芯片的調(diào)試等等。下載電纜就是一種使用計(jì)算機(jī)的并行端口通過軟件的仿零點(diǎn)實(shí)現(xiàn)JTAG接口協(xié)議,訪問可編程芯片的廉價(jià)工具。本文使用的下載電纜是Altera公司為其可編程邏輯器件開發(fā)的ByteBlasterMV電纜。ISP(在系統(tǒng)可編程的簡稱)是最先由Lattice公司提出的一種技術(shù),是通過同步串行方式實(shí)現(xiàn)對其可編程邏輯器件的重配置。ISP與JTAG的接口協(xié)議很相像,只是后者形成了標(biāo)準(zhǔn)。ISP現(xiàn)在已經(jīng)成為一種概念,它的提出改變了傳統(tǒng)硬件系統(tǒng)開發(fā)的流程,大大方便了開發(fā)者,加快了開發(fā)速度。現(xiàn)在大多數(shù)的可編程器件(FPGA、CPLD、DSP、MCU……)都支持ISP特性。單片機(jī)也不例外,Atmel公司推出的AT89S系列51單片機(jī)也符合ISP特性。
  
  1下載電纜的硬件
  
  要實(shí)現(xiàn)JTAG接口協(xié)議可以使用專用的IC,如74LVT8980、74LVT8990,它與MCU配合可以提供高速的JTAG串行訪問,成本較高。下載電纜則是實(shí)現(xiàn)JTAG接口協(xié)議的廉價(jià)方案。它僅命名用74HC244做線路驅(qū)動(dòng),由計(jì)算機(jī)的并行端口引出I/O作為TCK、TDI、TDO、TMS等信號線。由于并口在SPP模式下共有3個(gè)端口——數(shù)據(jù)輸出端口、控制輸出端口、狀態(tài)輸入端口,各種下載電纜究竟從那個(gè)端口引出JTAG信號線幾乎都不相同,圖1、圖2是兩種下載電纜的原理圖。
  
  并口簡介:
  
  計(jì)算機(jī)的并行端口工作在SPP模式下,對它的控制是通過數(shù)據(jù)輸出端口、控制輸出端口、狀態(tà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)。
  
 。ǎǘ丝诘刂肥侨笔〉腖PT1設(shè)置;*表示此引腳有反向器)
  
  表1為并行端口定義。對應(yīng)原理圖有:
  
  Altera的下載電纜
  
  TCK、TDI、TMS、TDO分別對應(yīng)D0、D6、D1、*S7;
  
  Atmel的電纜
  
  TCK、TDI、TMS、TDO分別對應(yīng)*C0、D0、*C3、S6。
  
  表1并行端口定義表
  
  引腳號名稱數(shù)據(jù)位1nStrobe*C02D0D03D1D14D2D25D3D36D4D47D5D58D6D69D7D710nAckS611Busy*S712PES513SelectS414AutoFeed*C115nErrorS316nInitC217nSelin*C318~25GNDGND
  2下載電纜的編程方法
  
  用計(jì)算機(jī)控制下載電纜實(shí)現(xiàn)JTAG協(xié)議,就是對并口3個(gè)I/O端口的讀寫操作,用0-1的變化來模擬JTAG時(shí)序。在Win98和Win2000環(huán)境下讀寫I/O,需要驅(qū)動(dòng)程序。本文使用DriverLINXPortI/ODriver(可以從WWW.sstnet.com下載)來實(shí)現(xiàn)I/O端口訪問。安裝DLPORTIO以后,通過調(diào)用DLPORTIO.DLL動(dòng)態(tài)連接庫中的
  
  UCHARDLPORT_APID1PortReadPortUchar(INULONGPort);
  
  VOIDDLPORT_APID1PortWritePortUchar(INULONGPort,INUCHARValue);兩個(gè)函數(shù)就可以訪問位于378H、379H、37AH(這是缺省的LPT1設(shè)置)的3個(gè)并口I/O端口。程序段1實(shí)現(xiàn)了對Altera下載電纜的一次電平賦值:
  
  程序段1
  
  Altera下載電纜電平賦值函數(shù)
  
  VoidCAvrISPDlg::Setbit(){
  
  Unsignedcharvalue=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;
  
  Elsem_tdo=0;
  
  }
  
  通過以上程序依次改變JTAG各接口I/O的電平狀態(tài),模擬JTAG協(xié)議的時(shí)序,就可以訪問支持JTAG標(biāo)準(zhǔn)的各種芯片。
  
  3ISP協(xié)議的解析與實(shí)現(xiàn)
  
  對AT89S5X系列單片機(jī)ISP編程不使用JTAG協(xié)議,而使用SPI同步串行接口協(xié)議,如圖3所示。
  
  針針這種8位SPI接口協(xié)議,我們使用數(shù)組來模擬時(shí)序:
  
  時(shí)鐘信號固定為unsignedcharsck[19]={0,0,1,0,1,0,1,0,1,0,10,1,0,1,0,1,0,1,0,0};
  
  輸出的數(shù)據(jù)信號由程序?qū)崿F(xiàn)情況自動(dòng)生成數(shù)組unsignedcharmosi[19];
  
  輸入的數(shù)據(jù)根據(jù)讀入的信號生成數(shù)組unsignedcharmiso[19];
  
  再調(diào)用上文的Setbit()函數(shù),依次發(fā)送19位的JTAG接口I/O狀態(tài),同時(shí)讀入返回信號,即完成一次對AT89S5X芯片的SPI單字節(jié)訪問。
  
  在單字節(jié)訪問基礎(chǔ)上,參考Atmel公司的AT89S5X數(shù)據(jù)手冊的串行編程指令表中的指令格式,就可以實(shí)現(xiàn)ISP了。
  
  表2為AT89S51串行編程指令表。
  
  表2AT89S51串行編程指令集
  
  指令指令模式說明第1字節(jié)第2字節(jié)第3字節(jié)第4字節(jié)編程使能1010110001010011XXXXXXXXXXXXXXXX使能串行編程芯片擦除10101100100XXXXXXXXXXXXXXXXXXXXX擦除程序存儲(chǔ)順讀程序字節(jié)00100000XXXXA11~A8A7~A0D7~D0字節(jié)模式讀程序?qū)懗绦蜃止?jié)01000000XXXXA11~A8A7~A0D7~D0字節(jié)模式寫程序?qū)懕Wo(hù)位10101100111000B1B2XXXXXXXXXXXXXXXX寫保護(hù)位讀保護(hù)位00100100XXXXXXXXXXXXXXXXXXLB3~LB1XX讀當(dāng)前保護(hù)位讀標(biāo)志字節(jié)00101000XXXA5~A1A0XXXXXX標(biāo)志數(shù)據(jù)讀取標(biāo)志數(shù)據(jù)讀程序頁00110000XXXXA11~A8數(shù)據(jù)0數(shù)據(jù)1…255頁模式讀程序?qū)懗绦驅(qū)?1010000XXXXA11~A8數(shù)據(jù)0數(shù)據(jù)1…255頁模式寫程序
  注:①串行編程要在RST端接高電平情況下實(shí)現(xiàn);②X表示此位關(guān)心;③A11~A0是要訪問字節(jié)地址;④D7~D0是讀寫的數(shù)據(jù);⑤B1、B2是保護(hù)位;⑥LB3~LB1表示3種狀態(tài)。
  
  針對AT89S51單片機(jī),其標(biāo)志字節(jié)為:(00H)1EH、(02H)51H、(04)06H.
  
  程序段2將得到AT89S51單片機(jī)的標(biāo)志字節(jié)。(其中SPIcomm()為SPI單字節(jié)訪問函數(shù))。
  
  程序段2
  
  獲得AT89S51單片機(jī)標(biāo)志字節(jié)的程序段
  
  CStringstr;
  
  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)部的觸手。通過JTAG標(biāo)準(zhǔn)協(xié)議,我們可以用下載電纜檢查芯片焊接連通性、重新配置可編程器件、下載程序固件以及調(diào)試處理器的運(yùn)行。
  
  小到8位單片機(jī)AT89S5X、AVR的串行編程,可編程器件MAX7000的配置;大到32位嵌入式處理器的調(diào)試,上萬門FPGA芯片的配置都可以見到下載電纜的身影。例如,ARM使用下載電纜的JTAG仿真可以通過EmbeddedICE接口實(shí)現(xiàn)對ARM的開發(fā)調(diào)試,或者使用ARM的邊界掃描特性為嵌入式系統(tǒng)板下載啟動(dòng)程序等等。
  
  目前下載電纜的使用越來越多,各個(gè)廠商分別推出了自已的符合JTAG標(biāo)準(zhǔn)的芯片或者是使用ISP技術(shù)的新產(chǎn)品。與此同時(shí),下載電纜的種類也非常多,大多數(shù)的區(qū)別僅在于并口信號與JTAG信號的對應(yīng)關(guān)系不同。往往有時(shí)候開發(fā)一個(gè)產(chǎn)品,要用到很多種不同的電纜。我們希望可以使用一種標(biāo)準(zhǔn)的下載電纜來實(shí)現(xiàn)所有JTAG應(yīng)用;或者是通過一個(gè)計(jì)算機(jī)程序可以通過配置文件來使用各種下載電纜。在我們的BLMVISP軟件中,就支持了現(xiàn)有的兩種電纜。
  
  使用ISP技術(shù)可以大大加快硬件開發(fā)速度。下載電纜與計(jì)算機(jī)軟件的配合使用也可以降低開發(fā)成本,非常適合個(gè)人愛好者與初學(xué)者使用。
  
  
  
  
  

【用下載電纜實(shí)現(xiàn)AT89S5X的ISP編程】相關(guān)文章:

isp1016實(shí)現(xiàn)機(jī)載導(dǎo)航系統(tǒng)的鍵盤控制08-06

W78E516及其在系統(tǒng)編程的實(shí)現(xiàn)08-06

TMS320C6000 DSP自動(dòng)引導(dǎo)的方法和編程實(shí)現(xiàn)08-06

TMS320C32 DSP的中斷編程方法及BOOT功能實(shí)現(xiàn)08-06

ISP技術(shù)在高速數(shù)據(jù)采集模塊中的應(yīng)08-06

用VB實(shí)現(xiàn)對庫文件的分割備份08-06

用PowerPC860實(shí)現(xiàn)FPGA配置08-06

用行動(dòng)實(shí)現(xiàn)夢想高三作文01-17

在Protel99SE下實(shí)現(xiàn)可編程邏輯器件設(shè)計(jì)08-06