新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用單片機(jī)實(shí)現(xiàn)CPLD的在系統(tǒng)編程

利用單片機(jī)實(shí)現(xiàn)CPLD的在系統(tǒng)編程

作者: 時(shí)間:2012-02-27 來(lái)源:網(wǎng)絡(luò) 收藏

一、問(wèn)題的提出

本文引用地址:http://butianyuan.cn/article/171994.htm

嵌入式而靈活性的要求。一方面,應(yīng)用環(huán)境會(huì)對(duì)嵌入式不斷提出新的要求,需要更改最初的設(shè)計(jì);另一方面指生產(chǎn)多個(gè)品種時(shí)希望盡量能在單一的硬件平臺(tái)上。為了最大限度地滿足靈活性的需要,嵌入式一般都設(shè)計(jì)而可邏輯器件。在設(shè)計(jì)階段和現(xiàn)場(chǎng)運(yùn)行之后的各個(gè)階段,都可能會(huì)遇到設(shè)計(jì)的升級(jí)、修改和測(cè)試問(wèn)題。FLASH的使用方便了程序的更新;帶而在系統(tǒng)可(ISP)功能的可邏輯器件,使得不需重新設(shè)計(jì)印制板就可以改變?cè)脑O(shè)計(jì);網(wǎng)絡(luò)技術(shù)的發(fā)展,又使得遠(yuǎn)程維護(hù)成為可能。

筆者設(shè)計(jì)的嵌入式系統(tǒng),了遠(yuǎn)程維護(hù)。其中采用了XILINX公司的XC9500系列。

二、JTAG簡(jiǎn)介

JTAG簡(jiǎn)介

JTAG是IEEE的聯(lián)合測(cè)試行動(dòng)小組(Joint Test Action Group)所制定的測(cè)試標(biāo)準(zhǔn)(IEEE1149.1-1990),使得用戶可以測(cè)試器件的邏輯和相互之間的連接。目前,它是國(guó)際上最流行的ICE技術(shù),眾多的芯片廠家都在自己的產(chǎn)品中加入JTAG口,以便用戶調(diào)試。

XILINX的XC9500系列采用了JTAG的編程和測(cè)試指令。XC9500系列CPLD帶而測(cè)試訪問(wèn)口TAP(Test Access Port),包括4個(gè)引腳:
*TDI-測(cè)試數(shù)據(jù)輸入;
*TDO-測(cè)試數(shù)據(jù)輸出;
*TCK-測(cè)試口同步時(shí)鐘;
*TMS-測(cè)試模式選擇。

當(dāng)用基于PC機(jī)的編程軟件對(duì)CPLD進(jìn)行編程時(shí),PC機(jī)的并口經(jīng)轉(zhuǎn)換板與目標(biāo)器件的TAP接口相連,完成編程工作。

在本設(shè)計(jì)上,將MCU的I/O口與CPLD的TAP接口相連,MCU的I/O口模擬JTAG測(cè)試口的行為,對(duì)PLD的編程。

三、SVF與XSVF

SVF (Serial Vector Format)格式由TI公司和Teradyne公司于1991年聯(lián)合開(kāi)發(fā)完成。SVF文件是一個(gè)ASCII碼文件,用于描述基于IEEE.1119.1 標(biāo)準(zhǔn)的測(cè)試模式,包括激勵(lì)、預(yù)期響應(yīng)和屏蔽數(shù)據(jù)。開(kāi)發(fā)SVF的初衷就是獲得一種獨(dú)立于供應(yīng)商的IEEE1149.1標(biāo)準(zhǔn)的測(cè)試模式,它能夠在各個(gè)仿真軟件和測(cè)試儀器廠商之間進(jìn)行數(shù)據(jù)交換,可以應(yīng)用于從設(shè)計(jì)驗(yàn)證現(xiàn)場(chǎng)診斷各個(gè)階段。

SVF文件中包含了編程所需要的命令及相應(yīng)的數(shù)據(jù)。SVF文件由一系列SVF語(yǔ)句組成。語(yǔ)句以分號(hào)結(jié)束。每一個(gè)語(yǔ)句由一個(gè)命令和相關(guān)的參數(shù)組成。命令分為三類:狀態(tài)命令、偏移命令和并行命令。其中狀態(tài)命令說(shuō)明測(cè)試序列如何驅(qū)動(dòng)IEEE1149.1TAP的狀態(tài)機(jī),包括:
*SDR-掃描數(shù)據(jù)寄存器;
*SIR-掃描指令寄存器;
*ENDDR-數(shù)據(jù)寄存器掃描結(jié)束;
*ENDIR-指令寄存器掃描結(jié)束;
*RUNTEST-進(jìn)入測(cè)試/空閑狀態(tài);
*STATE-進(jìn)入特定狀態(tài);
*TRST-驅(qū)動(dòng)TRST為特定電平。

XILINX 的CPLD通過(guò)自身的TAP接口接受SVF格式的編程指令和JTAG邊界掃描指令。事實(shí)上,XILINX提供的JTAGProgrammer編程軟件能夠自動(dòng)將標(biāo)準(zhǔn)的JEDEC/BIT格式的編程文件轉(zhuǎn)換為SVF格式;但是SVF文件格式為ASCII碼,需要較大的存儲(chǔ)空間,并不適合直接用于嵌入式系統(tǒng)。為此,需要一種結(jié)構(gòu)更為緊湊的數(shù)據(jù)格式-XSVF。

XSVF用與SVF類似的方法描述IEEE1149.1總線的操作。SXVF與SVF的最大區(qū)別在于它能獲得更大的數(shù)據(jù)壓縮率,從而得到較小的文件。它是二進(jìn)制格式的。

SVF轉(zhuǎn)換為XSVF可以XILINX公司的軟件SVF2XSVF.EXE來(lái)實(shí)現(xiàn)。經(jīng)轉(zhuǎn)換之后的文件大小如表1所列。注意文件的大小只與芯片的型號(hào)相關(guān)而和邏輯的復(fù)雜程度無(wú)關(guān)。

42.jpg

43.jpg


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉