欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Cpld上連接有e2prom設(shè)備的固件燒結(jié)方法及裝置的制作方法

文檔序號(hào):6596800閱讀:682來源:國(guó)知局
專利名稱:Cpld上連接有e2prom設(shè)備的固件燒結(jié)方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及固件燒結(jié)技術(shù),尤其涉及一種復(fù)雜可編程邏輯器件(CPLD, Complex Programmable Logic Device)上連接有電可擦除可編程只讀存儲(chǔ)器(E2PR0M, Electrically Erasable Programmable Read Only Memory)設(shè)備的固件燒結(jié)方法及裝置。
背景技術(shù)
隨著國(guó)內(nèi)第三代(3G)移動(dòng)通信系統(tǒng)運(yùn)營(yíng)牌照的發(fā)放,通信系統(tǒng)領(lǐng)域的市場(chǎng)前景 將變得非常廣闊。與此同時(shí),國(guó)內(nèi)外通信設(shè)備廠商的出貨量也會(huì)越來越大,通信設(shè)備的技術(shù) 含量也越來越高。在單板上使用的固件設(shè)備種類也會(huì)越來越多,使用量也會(huì)越來越大。毫 無疑問,這些固件設(shè)備的使用給通信設(shè)備廠商提供了比較完善的解決方案,同時(shí)固件設(shè)備 本身的燒結(jié)和升級(jí)維護(hù)問題將變得重要,如何方便、正確地?zé)Y(jié)升級(jí)維護(hù)這些設(shè)備就成為 了各個(gè)通信設(shè)備廠商要重點(diǎn)考慮的問題。 CPLD設(shè)備的燒結(jié)是直接通過設(shè)備的聯(lián)合測(cè)試行動(dòng)小組(JTAG, Joint TestAction Group)接口進(jìn)行的,主要的操作過程是通過該JTAG接口發(fā)送符合JTAG協(xié)議的燒結(jié)向量, 從而達(dá)到燒結(jié)CPLD設(shè)備的目的;E2PR0M設(shè)備的燒結(jié)主要是通過I2C(Inter-Integrated Circuit)總線按照12C協(xié)議將E2PR0M燒結(jié)文件內(nèi)容寫入到E2PR0M設(shè)備中。從硬件角度來 看,E2PR0M設(shè)備可以連接到CPU的通用輸入/輸出(GPIO,General Purpose Input Output) 或者I2C外設(shè)接口上,也可以直接連接到CPLD的外部管腳上。 以下結(jié)合圖1,對(duì)現(xiàn)有E2PR0M的燒結(jié)方法進(jìn)行闡述。圖1為現(xiàn)有E2PR0M設(shè)備常 用的燒結(jié)結(jié)構(gòu)示意圖,如圖l所示,目前常用的E2PR0M燒結(jié)方法是在CPU上首先運(yùn)行一個(gè) 燒結(jié)程序,通過通信外設(shè)接收E2PR0M的燒結(jié)文件,CPU通過控制I2C外設(shè)完成對(duì)E2PR0M的 燒結(jié)。圖1所示的燒結(jié)方式必須在CPU上維護(hù)一個(gè)燒結(jié)E2PR0M的程序,這種燒結(jié)方式也將 E2PR0M和CPLD的燒結(jié)分離開來,即CPLD采用JTAG燒結(jié),而E2PR0M采用CPU燒結(jié)程序進(jìn) 行,這無疑增加了對(duì)這些固件設(shè)備升級(jí)維護(hù)的成本。 在實(shí)際應(yīng)用中,E2PR0M與CPLD經(jīng)常一起使用。如果E2PR0M掛接在CPLD的外部 管腳上,要想實(shí)現(xiàn)E2PR0M及CPLD —起燒結(jié), 一種方法是可以先在CPLD上燒結(jié)一個(gè)邏輯版 本來支持外掛E2PR0M的燒結(jié),這樣才能通過CPLD實(shí)現(xiàn)外掛E2PR0M的燒結(jié)。
目前幾乎所有的大規(guī)模復(fù)雜數(shù)字電路芯片如CPU等,都兼容IEEE 1149. l標(biāo)準(zhǔn),這 些數(shù)字電路集成了業(yè)界廣泛使用的JTAG接口和邊界掃描鏈(BSC,Boundary Scan Chain), 通過芯片的JTAG接口就可以很方便地對(duì)器件進(jìn)行測(cè)試和燒結(jié),所以目前業(yè)界使用的燒結(jié) 方案是當(dāng)E2PR0M直接掛接在含有BSC設(shè)備的外部管腳上時(shí),可以通過芯片的JTAG接口控 制芯片中的BSC單元模擬I2C時(shí)序,達(dá)到燒結(jié)E2PR0M設(shè)備的目的。 這種燒結(jié)方法存在這樣的問題,即必須要維護(hù)CPLD燒結(jié)版本和E2PR0M燒結(jié)版本 兩種不同格式的燒結(jié)版本文件;在燒結(jié)CPLD的時(shí)候是通過解析燒結(jié)文件如串行向量格式 (SVF, Serial Vector Format)或者嵌入式虛擬機(jī)(VME, Virtual Machine Embedded)文 件,達(dá)到燒結(jié)CPLD設(shè)備的目的;在燒結(jié)E2PR0M時(shí),燒結(jié)執(zhí)行單元就必須將燒結(jié)的文件嵌入到模擬的I2C時(shí)序向量中,從而實(shí)現(xiàn)對(duì)E2PR0M的燒結(jié)。這樣,要實(shí)現(xiàn)CPLD和E2PR0M的同 時(shí)燒結(jié),就必須在燒結(jié)執(zhí)行單元中增加CPLD BSC管腳的I2C時(shí)序生成軟件模塊。如果單板 上一條JTAG菊花鏈上連接有多個(gè)E2PR0M,那么就必須要單獨(dú)維護(hù)這些E2PR0M設(shè)備的燒結(jié) 版本,這無疑增加了對(duì)E2PR0M燒結(jié)及維護(hù)的復(fù)雜度。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種CPLD上連接有E2PR0M設(shè)備的固件燒
結(jié)方法及裝置,能將一條JTAG鏈上CPLD、 E2PR0M設(shè)備的燒結(jié)版本文件轉(zhuǎn)換成以一條JTAG
鏈為單位的燒結(jié)版本,從而利用JTAG接口可以完成該JTAG鏈上設(shè)備版本的維護(hù)。對(duì)外界
呈現(xiàn)的只是一條JTAG鏈上抽象出來的一個(gè)虛擬JTAG設(shè)備版本,用戶可以不用關(guān)心該JTAG
鏈上設(shè)備的物理拓?fù)浣Y(jié)構(gòu)、設(shè)備的種類等等。 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 —種CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)方法,設(shè)置電可擦除可編程只讀存儲(chǔ) 器E2PR0M的燒結(jié)文件轉(zhuǎn)換為嵌入式虛擬機(jī)VME文件時(shí)所用的關(guān)鍵字標(biāo)識(shí);所述方法還包 括 在E2PR0M的燒結(jié)文件轉(zhuǎn)換為串行向量格式SVF文件的過程中,插入相應(yīng)的關(guān)鍵字 標(biāo)識(shí); 根據(jù)所述SVF文件及其關(guān)鍵字標(biāo)識(shí)將所述SVF文件轉(zhuǎn)換為VME文件; 燒結(jié)執(zhí)行單元解析上述生成的統(tǒng)一 VME文件,完成JTAG鏈上設(shè)備的燒結(jié)。 將E2PR0M的燒結(jié)文件轉(zhuǎn)換為SVF文件, 一般包括以下步驟根據(jù)聯(lián)合測(cè)試行動(dòng)小組JTAG鏈上CPLD和連接到此設(shè)備的E2PR0M設(shè)備之間的物
理拓?fù)浣Y(jié)構(gòu)(主要是指E2PR0M的SCL、 SDA管腳在CPLD的BSC中位置以及對(duì)該CPLD進(jìn)行
BSC操作的指令),生成進(jìn)行串行時(shí)鐘線SCL、串行數(shù)據(jù)線SDA操作的指令向量模板及數(shù)據(jù)向
量模板; 根據(jù)I2C時(shí)序關(guān)系、所述指令向量模板及所述數(shù)據(jù)向量模板,將E2PR0M的燒結(jié)文 件轉(zhuǎn)換為指令向量序列及數(shù)據(jù)向量序列; 將所述指令向量序列及所述數(shù)據(jù)向量序列以SVF文件格式表示。
所述SDR數(shù)據(jù)向量序列包括以下序列中的至少一種 開始時(shí)序、寫設(shè)備的12C地址時(shí)序、寫設(shè)備存儲(chǔ)器地址時(shí)序、寫數(shù)據(jù)字節(jié)時(shí)序、停 止時(shí)序。 優(yōu)選地,所述關(guān)鍵字標(biāo)識(shí)應(yīng)該包含下面的幾類 TYPE關(guān)鍵字標(biāo)識(shí),用于表明所述SVF文件用于哪種設(shè)備版本的燒結(jié),例如可以分 別用來表示FLASH、 E2PR0M設(shè)備等等; SIZE關(guān)鍵字標(biāo)識(shí),用于表明燒結(jié)設(shè)備容量的大?。?用于記錄E2PR0M的SCL管腳及SDA管腳在邊界掃描鏈BSC中位置的關(guān)鍵字標(biāo)識(shí); 前后綴關(guān)鍵字標(biāo)識(shí),用于確定E2PR0M燒結(jié)時(shí)的指令和數(shù)據(jù)前后綴數(shù)值。 優(yōu)選地,所述JTAG鏈的物理拓?fù)浣Y(jié)構(gòu)包括CPLD與E2PR0M之間、或/及CPLD與
CPLD之間的物理拓?fù)浣Y(jié)構(gòu)。 優(yōu)選地,所述方法還包括
確定兩個(gè)以上的E2PR0M以不同的I2C總線連接于同一個(gè)CPLD上時(shí),將所述兩個(gè) 以上的E2PR0M SVF文件中的相同時(shí)序的SDR數(shù)據(jù)向量序列進(jìn)行合并,而生成一個(gè)SVF文 件;SDR數(shù)據(jù)向量序列合成的原則是所述兩個(gè)以上的E2PR0M的容量相同時(shí),將每個(gè)SDR數(shù) 據(jù)向量序列中的有效比特位按各自SDR數(shù)據(jù)向量序列中的位置進(jìn)行合并;所述兩個(gè)以上的 E2PR0M容量不相同時(shí),將SIZE屬性值小的SVF文件中的SDR數(shù)據(jù)向量合并到SIZE屬性值 大的SVF向量中即可。 —種CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置,包括設(shè)置單元、第一轉(zhuǎn)換單元、 第二轉(zhuǎn)換單元、發(fā)送單元和燒結(jié)單元,其中 設(shè)置單元,用于設(shè)置電可擦除可編程只讀存儲(chǔ)器E2PR0M的燒結(jié)文件轉(zhuǎn)換為VME文 件時(shí)所用的關(guān)鍵字標(biāo)識(shí); 第一轉(zhuǎn)換單元,用于將E2PR0M的燒結(jié)文件轉(zhuǎn)換為SVF文件,在轉(zhuǎn)換的過程中插入 針對(duì)該設(shè)備的關(guān)鍵字標(biāo)識(shí)。其中,SVF文件轉(zhuǎn)換是現(xiàn)有技術(shù); 第二轉(zhuǎn)換單元,根據(jù)所述SVF文件及其關(guān)鍵字標(biāo)識(shí)將所述SVF文件轉(zhuǎn)換為VME文 件; 發(fā)送單元,用于將VME文件發(fā)送給燒結(jié)單元; 燒結(jié)單元,用于根據(jù)VME文件對(duì)JTAG鏈上的CPLD或\和E2PR0M進(jìn)行燒結(jié)。
優(yōu)選地,所述第一轉(zhuǎn)換單元包括生成子單元、第一轉(zhuǎn)換子單元和第二轉(zhuǎn)換子單元, 其中 生成子單元,用于根據(jù)聯(lián)合測(cè)試行動(dòng)小組JTAG鏈的物理拓?fù)浣Y(jié)構(gòu),生成進(jìn)行串行 時(shí)鐘線SCL、串行數(shù)據(jù)線SDA操作的指令向量模板及數(shù)據(jù)向量模板; 第一轉(zhuǎn)換子單元,用于根據(jù)I2C時(shí)序關(guān)系、所述指令向量模板及所述數(shù)據(jù)向量模 板,將E2PR0M的燒結(jié)文件轉(zhuǎn)換為指令向量序列及數(shù)據(jù)向量序列; 第二轉(zhuǎn)換子單元,用于將所述指令向量序列及所述數(shù)據(jù)向量序列以SVF文件格式 表示。 優(yōu)選地,所述SDR數(shù)據(jù)向量序列包括以下序列中的至少一種 開始時(shí)序、寫設(shè)備的12C地址時(shí)序、寫設(shè)備存儲(chǔ)器地址時(shí)序、寫數(shù)據(jù)字節(jié)時(shí)序、停 止時(shí)序。 優(yōu)選地,所述關(guān)鍵字標(biāo)識(shí)應(yīng)該包含下面的幾類 TYPE關(guān)鍵字標(biāo)識(shí),用于表明所述SVF文件用于哪種設(shè)備版本的燒結(jié);
SIZE關(guān)鍵字標(biāo)識(shí),用于表明燒結(jié)設(shè)備容量的大小; 用于記錄E2PR0M的SCL管腳及SDA管腳在邊界掃描鏈BSC中位置的關(guān)鍵字標(biāo)識(shí);
前后綴關(guān)鍵字標(biāo)識(shí),用于確定E2PR0M燒結(jié)時(shí)的指令和數(shù)據(jù)前后綴數(shù)值。
優(yōu)選地,所述JTAG鏈的物理拓?fù)浣Y(jié)構(gòu)包括CPLD與E2PR0M之間、或/及CPLD與 CPLD之間的物理拓?fù)浣Y(jié)構(gòu)。 優(yōu)選地,所述裝置還包括確定單元和合并單元,其中 確定單元,用于確定兩個(gè)以上的E2PR0M以不同的I2C總線連接于同一個(gè)CPLD上 時(shí),觸發(fā)合并單元; 合并單元,用于將所述兩個(gè)以上的E2PR0M的SVF文件中的相同的SDR數(shù)據(jù)向量 序列進(jìn)行合并,而生成一個(gè)SVF文件;SDR數(shù)據(jù)向量序列合成的原則是所述兩個(gè)以上的E2PR0M的容量相同時(shí),將每個(gè)SDR數(shù)據(jù)向量序列中的有效比特位按各自SDR數(shù)據(jù)向量序列 中的位置進(jìn)行合并;所述兩個(gè)以上的E2PR0M容量不相同時(shí),將SIZE屬性值小的SVF文件中 的SDR數(shù)據(jù)向量合并到SIZE屬性值大的SVF向量中即可。
本發(fā)明技術(shù)方案的優(yōu)點(diǎn)如下 (1)針對(duì)一條JTAG鏈只需要維護(hù)一個(gè)虛擬的JTAG燒結(jié)版本,降低了版本維護(hù)的復(fù) 雜度; (2)單板上掛接E2PR0M的CPU不需要維護(hù)一套燒結(jié)軟件,可以像裸板燒結(jié)CPLD那 樣,完成對(duì)E2PR0M的燒結(jié)工作; (3)燒結(jié)執(zhí)行單元的CPLD燒結(jié)程序不用升級(jí),就可以直接使用來支持E2PR0M版本 的升級(jí)維護(hù);特別是如果CPLD燒結(jié)程序駐留在設(shè)備系統(tǒng)中,就可以避免設(shè)備系統(tǒng)中單板燒 結(jié)軟件的升級(jí); (4)將E2PR0M燒結(jié)文件嵌入到統(tǒng)一的燒結(jié)版本中,可以增加E2PR0M燒結(jié)文件的保 密性,E2PR0M文件一般都含有設(shè)備的一些資產(chǎn)管理信息,對(duì)設(shè)備的正常工作起著重要的作 用; (5)針對(duì)于一條LSP上存在多個(gè)E2PR0M設(shè)備的情況,可以將多個(gè)E2PR0M版本的燒 結(jié)集成在一起,實(shí)現(xiàn)多個(gè)E2PR0M版本的同時(shí)燒結(jié); (6)針對(duì)于正在使用的設(shè)備,可以根據(jù)升級(jí)需要,只升級(jí)JTAG鏈上的特定設(shè)備,但 是對(duì)外界呈現(xiàn)的還是一個(gè)虛擬的JTAG燒結(jié)版本。例如,可以將只升級(jí)的E2PR0M版本做成 一個(gè)JTAG鏈上的.VME文件進(jìn)行升級(jí)。


圖1為現(xiàn)有E2PR0M燒結(jié)結(jié)構(gòu)的示意圖;
圖2為本發(fā)明第一種CPLD及E2PR0M燒結(jié)結(jié)構(gòu)的示意圖;
圖3為本發(fā)明第二種CPLD及E2PR0M燒結(jié)結(jié)構(gòu)的示意圖;
圖4為本發(fā)明第三種CPLD及E2PR0M燒結(jié)結(jié)構(gòu)的示意圖;
圖5為本發(fā)明CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置的-圖; 圖6為本發(fā)明CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置的另 圖。
具體實(shí)施例方式
本發(fā)明的基本思想是在對(duì)連接于CPLD上的E2PR0M進(jìn)行燒結(jié)及維護(hù)時(shí),首先將
E2PR0M的燒結(jié)文件轉(zhuǎn)換為帶自定義關(guān)鍵字標(biāo)識(shí)的SVF文件,然后再將一條JTAG鏈上所有設(shè)
備的SVF文件轉(zhuǎn)換生成一個(gè)統(tǒng)一的JTAG VME文件,并將轉(zhuǎn)換后的VME文件發(fā)送給燒結(jié)執(zhí)行
單元,由燒結(jié)執(zhí)行單元直接根據(jù)該VME文件實(shí)現(xiàn)對(duì)E2PR0M或/及CPLD的燒結(jié)。 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)例并參照附圖,對(duì)本
發(fā)明作進(jìn)一步詳細(xì)說明。 在對(duì)CPLD上連接的E2PR0M進(jìn)行燒結(jié)及維護(hù)時(shí),首先將E2PR0M的燒結(jié)文件".BIN" 文件轉(zhuǎn)換為".SVF文件",此方法屬于現(xiàn)有技術(shù),為便于理解本發(fā)明的相關(guān)技術(shù),下面簡(jiǎn)單描
種組成結(jié)構(gòu)示意 4中組成結(jié)構(gòu)示意述一下此方法的過程 根據(jù)聯(lián)合測(cè)試行動(dòng)小組JTAG鏈上CPLD和連接到此設(shè)備的E2PR0M設(shè)備之間的物理拓?fù)浣Y(jié)構(gòu),生成對(duì)待燒結(jié)E2PR0M設(shè)備進(jìn)行串行時(shí)鐘線(SCL)、串行數(shù)據(jù)線(SDA)操作的指令向量模板和數(shù)據(jù)向量模板。具體的,根據(jù)CPLD與E2PR0M之間的物理拓?fù)浣Y(jié)構(gòu)(主要是指E2PR0M的SCL, SDA管腳在CPLD的BSC中位置以及對(duì)該CPLD進(jìn)行BSC操作的指令)生成對(duì)E2PR0M燒結(jié)及維護(hù)的指令向量模板和數(shù)據(jù)向量模板。其中,指令向量是指操作掛接待燒結(jié)E2PR0M的設(shè)備BSC的EXTEST指令向量;數(shù)據(jù)向量是指操作掛接待燒結(jié)E2PR0M的設(shè)備BSC的數(shù)據(jù)bit向量。在燒結(jié)執(zhí)行單元對(duì)JTAG鏈統(tǒng)一的VME文件進(jìn)行解析燒結(jié)的過程中,對(duì)于JTAG鏈上其它的設(shè)備(不是掛接待燒結(jié)E2PR0M的設(shè)備)采用BYPASS指令向量;在對(duì)該JTAG鏈進(jìn)行數(shù)據(jù)向量操作時(shí),上述這些設(shè)備的內(nèi)部只有IBit的BYPASS寄存器連接到JTAG鏈中。 根據(jù)I2C時(shí)序關(guān)系和待燒結(jié)E2PR0M的燒結(jié)文件的內(nèi)容,在指令向量模板和數(shù)據(jù)向量模板的基礎(chǔ)上修改相應(yīng)的SCL、SDA的bit位值,而生成特定的指令序列和數(shù)據(jù)向量序列。例如,對(duì)于E2PR0M進(jìn)行字節(jié)寫操作,就包括Start時(shí)序、寫設(shè)備的12C地址時(shí)序、寫設(shè)備存儲(chǔ)器地址時(shí)序、寫數(shù)據(jù)字節(jié)時(shí)序、Stop時(shí)序等。 將這些基本的時(shí)序用SVF文件格式進(jìn)行表示,就可以完成E2PR0M的".BIN"燒結(jié)文件轉(zhuǎn)換成SVF文件的操作,這樣就為生成統(tǒng)一的VME文件奠定了基礎(chǔ)。
本發(fā)明中,在將E2PR0M待燒結(jié)的.Bin文件轉(zhuǎn)換生成SVF文件的過程中,需新增一些SVF關(guān)鍵字標(biāo)識(shí),具體包括 TYPE關(guān)鍵字標(biāo)識(shí)表明SVF文件實(shí)現(xiàn)的是哪種設(shè)備版本的燒結(jié)功能,例如屬性值是E2PR0M時(shí),表明該SVF文件實(shí)現(xiàn)的是E2PR0M設(shè)備燒結(jié);后面可以根據(jù)設(shè)備類型擴(kuò)展該字段屬性,例如可以表示連接到CPLD上的FLASH等設(shè)備類型,以方便今后對(duì)CPLD上的其他固件進(jìn)行燒結(jié)。 SIZE關(guān)鍵字標(biāo)識(shí)表示E2PR0M容量大小關(guān)鍵字標(biāo)識(shí),表明燒結(jié)設(shè)備容量的字節(jié)大小,屬性值表示字節(jié)大小。當(dāng)待燒結(jié)的設(shè)備為FLASH時(shí),表示FLASH容量大小。
用于記錄E2PR0M的SCL管腳及SDA管腳在邊界掃描鏈BSC中位置的關(guān)鍵字標(biāo)識(shí)如果TYPE標(biāo)識(shí)的是E2PR0M,還要記錄E2PR0M設(shè)備的SCL和SDA管腳在掛接設(shè)備BSC中的位置。 一般SCL和SDA管腳掛接在三態(tài)引腳上,需要記錄SCL和SDA管腳對(duì)應(yīng)BSC中的控制位、輸出位和輸入位的位置。本發(fā)明針對(duì)E2PR0M的連接情況,增加SCLOUTPUT、SCLINPUT、SCLCONTROL關(guān)鍵字段標(biāo)識(shí),屬性值表示它們?cè)谠撛O(shè)備BSC中的具體bit位置;同樣地,也可以增力B SDAOUTPUT、 SDAINPUT、 SDACONTROL用來表示SDA管腳的連接情況。
指令前綴(HIR)、數(shù)據(jù)前綴(HDR)、指令后綴(TIR)和數(shù)據(jù)后綴(TDR)的關(guān)鍵字標(biāo)識(shí)這些前后綴關(guān)鍵字標(biāo)識(shí)屬性值需要根據(jù)待燒結(jié)E2PR0M設(shè)備掛接在BSC中的具體物理位置而確定針對(duì)該E2PR0M設(shè)備燒結(jié)時(shí)的指令和數(shù)據(jù)前后綴數(shù)值;例如一條JTAG鏈上如果有三個(gè)CPLD設(shè)備,而E2PR0M是掛接在第二個(gè)CPLD設(shè)備上的,則HIR是第一個(gè)CPLD設(shè)備的指令寄存器長(zhǎng)度;HDR等于1 ,實(shí)際上就是第一個(gè)CPLD設(shè)備的BYPASS寄存器長(zhǎng)度;TIR是第三個(gè)CPLD設(shè)備的指令寄存器長(zhǎng)度;TDR等于1,實(shí)際上就是第三個(gè)CPLD設(shè)備的BYPASS寄存器長(zhǎng)度。 將上述記錄E2PR0M燒結(jié)時(shí)的相關(guān)屬性的關(guān)鍵字標(biāo)識(shí)和對(duì)應(yīng)的屬性值放在SVF文
8件頭部,在E2PR0M的SVF文件合成生成VME文件時(shí)使用。上述的這些SVF關(guān)鍵字標(biāo)識(shí)信息,在E2PR0M的.BIN文件轉(zhuǎn)換生成.SVF文件的過程中,需要根據(jù)單板上JTAG鏈的物理信息,事先輸入到進(jìn)行格式轉(zhuǎn)換處理的相應(yīng)計(jì)算機(jī)中。 以下結(jié)合具體示例,進(jìn)一步闡明本發(fā)明如何將多個(gè)SVF文件轉(zhuǎn)換生成一個(gè)VME文件。下面分別就三種典型的實(shí)際應(yīng)用場(chǎng)景說明文件轉(zhuǎn)換的具體方法 圖2為本發(fā)明第一種CPLD及E2PR0M燒結(jié)結(jié)構(gòu)的示意圖,如圖2所示,一條JTAG鏈上只包含1個(gè)CPLD設(shè)備,而E2PR0M設(shè)備就掛接在該CPLD設(shè)備上。在這種情況下,有三種燒結(jié)及維護(hù)方式,分別是對(duì)CPLD和E2PR0M —起進(jìn)行燒結(jié)及維護(hù)、只燒結(jié)維護(hù)CPLD和只燒結(jié)維護(hù)E2PR0M,以下分別介紹之。 對(duì)CPLD和E2PR0M —起進(jìn)行燒結(jié)及維護(hù)需要在PC機(jī)軟件的文件轉(zhuǎn)換界面中分別選擇CPLD和E2PR0M的SVF文件,在轉(zhuǎn)換的過程中,先掃描所選擇的每個(gè)SVF文件頭部,本例中只有一個(gè)CPLD的SVF文件,如果沒有TYPE字段,說明是CPLD的SVF文件,而有TYPE字段則是E2PR0M的SVF文件。對(duì)于CPLD的SVF文件,按照原始CPLD的SVF文件轉(zhuǎn)換生成VME的流程進(jìn)行轉(zhuǎn)換,該轉(zhuǎn)換方式是現(xiàn)有技術(shù),本發(fā)明不再贅述其實(shí)現(xiàn)細(xì)節(jié)。如果發(fā)現(xiàn)SVF文件的頭部存在TYPE字段,而且是E2PR0M的屬性值,表明該SVF文件是燒結(jié)E2PR0M版本的文件,保留其中的HIR、 HDR、 TIR和TDR的值,刪除TYPE、 SIZE和SCL及SDA標(biāo)識(shí)字段以及對(duì)應(yīng)的屬性值,再轉(zhuǎn)換生成VME文件,最后生成的VME文件就包含了兩個(gè)部分,第一部分是CPLD的VME文件,第二部分就是E2PR0M的燒結(jié)VME文件; 對(duì)于只燒結(jié)及維護(hù)CPLD時(shí),在PC機(jī)軟件的文件轉(zhuǎn)換界面中只選擇CPLD的SVF文件進(jìn)行轉(zhuǎn)換即可。 對(duì)于只燒結(jié)及維護(hù)E2PR0M時(shí),在PC機(jī)軟件的文件轉(zhuǎn)換界面中只選擇E2PR0M的SVF文件進(jìn)行轉(zhuǎn)換即可。 圖3為本發(fā)明第二種CPLD及E2PR0M燒結(jié)結(jié)構(gòu)的示意圖,如圖3所示,一條JTAG鏈上包含兩個(gè)CPLD設(shè)備,兩個(gè)CPLD設(shè)備上分別掛接了一個(gè)E2PR0M設(shè)備。在圖3所示的情形下,對(duì)CPLD及E2PR0M的燒結(jié)及維護(hù)的情況相對(duì)比較復(fù)雜,下面針對(duì)JTAG鏈上所有設(shè)備升級(jí)這種最復(fù)雜的情況進(jìn)行說明。在PC機(jī)軟件的文件轉(zhuǎn)換界面中按照J(rèn)TAG鏈上設(shè)備的排列順序,分別選擇CPLD的SVF文件以及兩個(gè)E2PR0M的SVF文件(E2PR0M的SVF文件選擇沒有嚴(yán)格的先后順序)。在將SVF文件轉(zhuǎn)換為VME文件的過程中,同樣先掃描所選擇的每個(gè)SVF文件的頭部信息,本例中掃描得到兩個(gè)CPLD的SVF文件,按照CPLD的SVF文件轉(zhuǎn)換生成VME文件的方式進(jìn)行轉(zhuǎn)換即可;由于CPLD的SVF文件轉(zhuǎn)換為VME文件的方式為現(xiàn)有技術(shù),本發(fā)明不再贅述其實(shí)現(xiàn)細(xì)節(jié)。同樣掃描得到兩個(gè)E2PR0M的SVF文件,比較這兩個(gè)E2PR0M的SVF文件中的HDR和TDR是否相同,如果相同,則說明這兩個(gè)E2PR0M均是掛接在同一個(gè)CPLD設(shè)備上的,而如果HDR和TDR不相同時(shí),則確定這兩個(gè)E2PR0M均是掛接在這條JTAG鏈上不同的CPLD設(shè)備上的,最后按照上面圖2所示的燒結(jié)及維護(hù)情況來分別處理這兩個(gè)E2PR0M的SVF文件,從而轉(zhuǎn)換生成相應(yīng)的VME文件。 圖4為本發(fā)明第三種CPLD及E2PR0M燒結(jié)結(jié)構(gòu)的示意圖,如圖4所示, 一條JTAG鏈上包含兩個(gè)CPLD設(shè)備,第一個(gè)CPLD設(shè)備上掛接有兩個(gè)I2C總線,每個(gè)I2C總線上分別掛接了一個(gè)E2PR0M設(shè)備。本發(fā)明中的兩個(gè)I2C總線上的E2PR0M設(shè)備,可以按照?qǐng)D3所示的燒結(jié)及維護(hù)方式中的轉(zhuǎn)換方法生成一個(gè)VME文件,但是這樣生成的VME文件中,兩個(gè)E2PR0M
9的燒結(jié)在VME文件中是分開順序執(zhí)行的。在這種情況下,為了提高E2PR0M的燒結(jié)速度,可以對(duì)掛接于同一個(gè)CPLD設(shè)備的不同I2C總線上的兩個(gè)E2PR0M燒結(jié)的SVF向量進(jìn)行合成,實(shí)現(xiàn)兩個(gè)E2PR0M設(shè)備的同時(shí)燒結(jié)。具體的處理流程如下 在PC機(jī)軟件的文件轉(zhuǎn)換界面中分別選擇兩個(gè)E2PR0M的SVF文件,首先比較兩個(gè)E2PR0M的SVF文件中的HDR和TDR,比較結(jié)果是兩E2PR0M的HDR和TDR相同,確定兩個(gè)E2PR0M是掛接在一條JTAG鏈上同一個(gè)CPLD設(shè)備上的;再比較SCL和SDA管腳的BSC屬性值,如果完全相同,說明這兩個(gè)E2PR0M設(shè)備是掛接在同一條I2C總線上的,這時(shí)是不能同時(shí)對(duì)這兩個(gè)E2PR0M設(shè)備進(jìn)行燒結(jié)處理的,E2PR0M文件的轉(zhuǎn)換和圖2及圖3所示的轉(zhuǎn)換方式一樣,在燒結(jié)時(shí)只能依次順序燒結(jié)這兩個(gè)E2PR0M設(shè)備;如果這兩個(gè)E2PR0M設(shè)備不是掛接在同一條I2C總線上的,則可以將該兩個(gè)E2PR0M的SVF文件中對(duì)E2PR0M的操作向量合成為一個(gè)向量,因而實(shí)現(xiàn)對(duì)該兩個(gè)E2PR0M的同時(shí)燒結(jié)。對(duì)于能同時(shí)對(duì)E2PR0M進(jìn)行燒結(jié)處理的情形,具體按以下方式進(jìn)行文件轉(zhuǎn)換 由于SDR命令是用來設(shè)置SCL、 SDA管腳的電平值的,實(shí)現(xiàn)燒結(jié)E2PR0M的時(shí)序,所以在將兩個(gè)E2PR0M的SVF文件進(jìn)行合成時(shí),主要依據(jù)SDR命令進(jìn)行。刪除E2PR0M的SVF文件中TYPE、 SIZE和SCL、 SDA標(biāo)識(shí)字段以及對(duì)應(yīng)的屬性值;保留其他的SVF命令;
假設(shè)E2PR0M 1和E2PR0M 2的SVF文件中的某SDR向量分別如下 SDR 100 TDI(XX......101101......XX) SDR 100 TDI (101101......XX) 其中,X表示BSC上其他bit位的數(shù)值(該X值為無效數(shù)據(jù)位),101101用來表示SCL和SDA管腳的電平值。由于這兩個(gè)E2PR0M是掛接在同一個(gè)CPLD設(shè)備上的,所以SDR向量的長(zhǎng)度是一樣的,同時(shí)它們的I2C時(shí)序也相同,SVF文件的格式和命令都是一樣的,所以只需要將上面兩個(gè)向量不同位置的SCLSDA值合成到一個(gè)向量中就可以實(shí)現(xiàn)一個(gè)向量對(duì)這兩個(gè)E2PR0M進(jìn)行操作,合成的向量如下所示
SDR 100TDI (101101... 101101... XX) E2PR0M的SVF文件中的SIZE字段表明E2PR0M容量字節(jié)大小,如果兩個(gè)E2PR0M的SVF文件頭部中的SIZE屬性值一樣,說明這兩個(gè)E2PR0M設(shè)備的容量大小一樣,則燒結(jié)過程是同時(shí)結(jié)束的,體現(xiàn)為兩個(gè)E2PR0M的SVF文件中的SDR向量的序列是完全一致的;否則,會(huì)出現(xiàn)兩個(gè)E2PR0M設(shè)備容量大小不一致的情況,即一個(gè)E2PR0M設(shè)備燒結(jié)已經(jīng)結(jié)束,而另一個(gè)E2PR0M設(shè)備還在進(jìn)行燒結(jié)操作,此時(shí)只要將SIZE屬性值小的SVF文件中的SDR向量合并到SIZE屬性值大的SVF向量中即可。 將合成后的SVF文件按前述方式轉(zhuǎn)換為VME文件,發(fā)送給相應(yīng)的燒結(jié)執(zhí)行單元(一般是一個(gè)外置或者內(nèi)置的嵌入式測(cè)試控制主設(shè)備)執(zhí)行即可。 圖5為本發(fā)明CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置的一種組成結(jié)構(gòu)示意圖,如圖5所示,本發(fā)明CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置包括設(shè)置單元50、第一轉(zhuǎn)換單元51、第二轉(zhuǎn)換單元52、發(fā)送單元53和燒結(jié)單元54,其中, 設(shè)置單元50,用于設(shè)置電可擦除可編程只讀存儲(chǔ)器E2PR0M的燒結(jié)文件轉(zhuǎn)換為嵌入式虛擬機(jī)VME文件時(shí)所用的關(guān)鍵字標(biāo)識(shí); 第一轉(zhuǎn)換單元51,用于將E2PR0M的燒結(jié)文件轉(zhuǎn)換為SVF文件(SVF文件轉(zhuǎn)換是現(xiàn)有技術(shù),不是本發(fā)明實(shí)現(xiàn)的重點(diǎn)),并在所述SVF文件中插入相應(yīng)的關(guān)鍵字標(biāo)識(shí);
第二轉(zhuǎn)換單元52,用于根據(jù)所述SVF文件及其關(guān)鍵字標(biāo)識(shí)將所述SVF文件轉(zhuǎn)換為VME文件; 發(fā)送單元53,用于將VME文件發(fā)送給燒結(jié)單元;
燒結(jié)單元54,用于根據(jù)VME文件對(duì)E2PR0M進(jìn)行燒結(jié)。 第一轉(zhuǎn)換單元51包括生成子單元、第一轉(zhuǎn)換子單元和第二轉(zhuǎn)換子單元,其中
生成子單元,用于根據(jù)聯(lián)合測(cè)試行動(dòng)小組JTAG鏈的物理拓?fù)浣Y(jié)構(gòu),生成進(jìn)行串行時(shí)鐘線SCL、串行數(shù)據(jù)線SDA操作的指令向量模板及數(shù)據(jù)向量模板; 第一轉(zhuǎn)換子單元,用于根據(jù)I2C時(shí)序關(guān)系、所述指令向量模板及所述數(shù)據(jù)向量模板,將E2PR0M的燒結(jié)文件轉(zhuǎn)換為指令向量序列及數(shù)據(jù)向量序列; 第二轉(zhuǎn)換子單元,用于將所述指令向量序列及所述數(shù)據(jù)向量序列以SVF文件格式表示。 所述SDR數(shù)據(jù)向量序列包括以下序列中的至少一種 開始時(shí)序、寫設(shè)備的12C地址時(shí)序、寫設(shè)備存儲(chǔ)器地址時(shí)序、寫數(shù)據(jù)字節(jié)時(shí)序、停止時(shí)序。 上述關(guān)鍵字標(biāo)識(shí)包含以下幾類 TYPE關(guān)鍵字標(biāo)識(shí),用于表明所述SVF文件用于哪種設(shè)備版本的燒結(jié);
SIZE關(guān)鍵字標(biāo)識(shí),用于表明燒結(jié)設(shè)備容量的大?。挥糜谟涗汦2PR0M的SCL管腳及SDA管腳在邊界掃描鏈BSC中位置的關(guān)鍵字標(biāo)識(shí); 前后綴關(guān)鍵字標(biāo)識(shí),用于確定E2PR0M燒結(jié)時(shí)的指令和數(shù)據(jù)前后綴數(shù)值。 上述JTAG鏈的物理拓?fù)浣Y(jié)構(gòu)包括CPLD與E2PR0M之間、或/及CPLD與CPLD之
間的物理拓?fù)浣Y(jié)構(gòu)。 圖6為本發(fā)明CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置的另一種組成結(jié)構(gòu)示意圖,如圖6所示,在圖5所示裝置的基礎(chǔ)上,本發(fā)明CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置還包括確定單元55和合并單元56,其中 確定單元55,用于確定兩個(gè)以上的E2PR0M以不同的I2C總線連接于同一個(gè)CPLD上時(shí),觸發(fā)合并單元; 合并單元56,用于將所述兩個(gè)以上的E2PR0M的SVF文件中的相同的SDR數(shù)據(jù)向量序列進(jìn)行合并,而生成一個(gè)SVF文件;相同的SDR數(shù)據(jù)向量序列合成的原則是所述兩個(gè)以上的E2PR0M的容量相同時(shí),將每個(gè)SDR數(shù)據(jù)向量序列中的有效比特位按各自指令向量序列中的位置進(jìn)行合并;所述兩個(gè)以上的E2PR0M容量不相同時(shí),將SIZE屬性值小的SVF文件中的SDR數(shù)據(jù)向量合并到SIZE屬性值大的SVF向量中即可。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明圖5及圖6所示的CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置中的各處理單元的實(shí)現(xiàn)功能可參照前述圖2至圖4中的相關(guān)描述而理解,各單元的功能可通過運(yùn)行于處理器上的程序而實(shí)現(xiàn),也可通過相應(yīng)的邏輯電路而實(shí)現(xiàn)。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種CPLD上連接有E2PROM設(shè)備的固件燒結(jié)方法,其特征在于,設(shè)置電可擦除可編程只讀存儲(chǔ)器E2PROM的燒結(jié)文件轉(zhuǎn)換為嵌入式虛擬機(jī)VME文件時(shí)所用的關(guān)鍵字標(biāo)識(shí);所述方法還包括將E2PROM的燒結(jié)文件轉(zhuǎn)換為串行向量格式SVF文件的過程中,插入所述關(guān)鍵字標(biāo)識(shí);根據(jù)所述SVF文件及所述關(guān)鍵字標(biāo)識(shí)將所述SVF文件轉(zhuǎn)換為聯(lián)合測(cè)試行動(dòng)小組JTAG鏈上統(tǒng)一的VME文件;將所述VME文件發(fā)送給燒結(jié)執(zhí)行單元,由燒結(jié)執(zhí)行單元根據(jù)所述VME文件對(duì)所述JTAG鏈上的設(shè)備進(jìn)行燒結(jié)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述關(guān)鍵字標(biāo)識(shí)包含 TYPE關(guān)鍵字標(biāo)識(shí),用于表明所述SVF文件用于哪種設(shè)備版本的燒結(jié); SIZE關(guān)鍵字標(biāo)識(shí),用于表明燒結(jié)設(shè)備容量的大?。挥糜谟涗汦2PR0M的SCL管腳及SDA管腳在邊界掃描鏈BSC中位置的關(guān)鍵字標(biāo)識(shí); 前后綴關(guān)鍵字標(biāo)識(shí),用于確定E2PR0M燒結(jié)時(shí)的指令和數(shù)據(jù)前后綴數(shù)值。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述JTAG鏈的物理拓?fù)浣Y(jié)構(gòu)包括CPLD 與E2PR0M之間、或/及CPLD與CPLD之間的物理拓?fù)浣Y(jié)構(gòu)。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括確定兩個(gè)以上的E2PR0M以不同的I2C總線連接于同一個(gè)CPLD上時(shí),將所述兩個(gè)以上 的E2PR0M的SVF文件中的相同的SDR數(shù)據(jù)向量序列進(jìn)行合并,而生成一個(gè)SVF文件;其 中,相同的SDR數(shù)據(jù)向量序列合成的原則是所述兩個(gè)以上的E2PR0M的容量相同時(shí),將每個(gè) SDR數(shù)據(jù)向量序列中的有效比特位按各自指令向量序列中的位置進(jìn)行合并;所述兩個(gè)以上 的E2PR0M容量不相同時(shí),將容量小的E2PR0M對(duì)應(yīng)的SVF文件中的SDR數(shù)據(jù)向量合并到容 量大的E2PR0M對(duì)應(yīng)的SVF文件中的SDR數(shù)據(jù)向量中。
5. —種CPLD上連接有E2PR0M設(shè)備的固件燒結(jié)裝置,其特征在于,包括設(shè)置單元、第一 轉(zhuǎn)換單元、第二轉(zhuǎn)換單元、發(fā)送單元和燒結(jié)單元,其中設(shè)置單元,用于設(shè)置電可擦除可編程只讀存儲(chǔ)器E2PR0M的燒結(jié)文件轉(zhuǎn)換為嵌入式虛 擬機(jī)VME文件時(shí)所用的關(guān)鍵字標(biāo)識(shí);第一轉(zhuǎn)換單元,用于將E2PR0M的燒結(jié)文件轉(zhuǎn)換為SVF文件,并在所述SVF文件中插入 相應(yīng)的關(guān)鍵字標(biāo)識(shí);第二轉(zhuǎn)換單元,用于根據(jù)所述SVF文件及所述關(guān)鍵字標(biāo)識(shí)將所述SVF文件轉(zhuǎn)換為VME 文件;發(fā)送單元,用于將VME文件發(fā)送給燒結(jié)單元;燒結(jié)單元,用于根據(jù)VME文件對(duì)JTAG鏈上的設(shè)備進(jìn)行燒結(jié)。
6. 根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述關(guān)鍵字標(biāo)識(shí)包含 TYPE關(guān)鍵字標(biāo)識(shí),用于表明所述SVF文件用于哪種設(shè)備版本的燒結(jié); SIZE關(guān)鍵字標(biāo)識(shí),用于表明燒結(jié)設(shè)備容量的大?。挥糜谟涗汦2PR0M的SCL管腳及SDA管腳在邊界掃描鏈BSC中位置的關(guān)鍵字標(biāo)識(shí); 前后綴關(guān)鍵字標(biāo)識(shí),用于確定E2PR0M燒結(jié)時(shí)的指令和數(shù)據(jù)前后綴數(shù)值。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述JTAG鏈的物理拓?fù)浣Y(jié)構(gòu)包括CPLD 與E2PR0M之間、或/及CPLD與CPLD之間的物理拓?fù)浣Y(jié)構(gòu)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括確定單元和合并單元,其中確定單元,用于確定兩個(gè)以上的E2PR0M以不同的I2C總線連接于同一個(gè)CPLD上時(shí),觸 發(fā)合并單元;合并單元,用于將所述兩個(gè)以上的E2PR0M的SVF文件中的相同的SDR數(shù)據(jù)向量序列進(jìn) 行合并,而生成一個(gè)SVF文件;其中,相同的SDR數(shù)據(jù)向量序列合成的原則是所述兩個(gè)以 上的E2PR0M的容量相同時(shí),將每個(gè)SDR數(shù)據(jù)向量序列中的有效比特位按各自向量序列中的 位置進(jìn)行合并;所述兩個(gè)以上的E2PR0M容量不相同時(shí),將容量小的E2PR0M對(duì)應(yīng)的SVF文件 中的SDR數(shù)據(jù)向量合并到容量大的E2PR0M對(duì)應(yīng)的SVF文件中的SDR數(shù)據(jù)向量中。
全文摘要
本發(fā)明公開了一種CPLD上連接有E2PROM設(shè)備的固件燒結(jié)方法,設(shè)置E2PROM的燒結(jié)文件轉(zhuǎn)換為VME文件時(shí)所用的關(guān)鍵字標(biāo)識(shí);所述方法還包括將E2PROM的燒結(jié)文件轉(zhuǎn)換為SVF文件,并在所述SVF文件中插入相應(yīng)的關(guān)鍵字標(biāo)識(shí);根據(jù)所述SVF文件及其關(guān)鍵字標(biāo)識(shí)將所述SVF文件轉(zhuǎn)換為VME文件;將VME文件依次發(fā)送給燒結(jié)單元,由燒結(jié)單元根據(jù)VME文件對(duì)JTAG鏈上的設(shè)備(包括CPLD和/或E2PROM)進(jìn)行燒結(jié)。本發(fā)明同時(shí)公開了一種CPLD上連接有E2PROM設(shè)備的固件燒結(jié)裝置。本發(fā)明在CPLD及E2PROM一起燒結(jié)及維護(hù)的前提下,節(jié)約了對(duì)E2PROM燒結(jié)及維護(hù)的成本,同時(shí)也可以將JTAG鏈上對(duì)E2PROM設(shè)備燒結(jié)維護(hù)的方法和思想推廣到其它固件設(shè)備中去。
文檔編號(hào)G06F11/267GK101788946SQ20101000126
公開日2010年7月28日 申請(qǐng)日期2010年1月19日 優(yōu)先權(quán)日2010年1月19日
發(fā)明者劉曉博, 張栗榕, 蔣誠(chéng) 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
龙里县| 探索| 大安市| 台北县| 沙雅县| 中卫市| 山丹县| 新丰县| 天镇县| 遂宁市| 达拉特旗| 北安市| 繁昌县| 比如县| 区。| 溆浦县| 阜南县| 无棣县| 福安市| 定襄县| 措勤县| 万宁市| 东光县| 色达县| 明水县| 玉林市| 延寿县| 广南县| 明水县| 滦平县| 文化| 延寿县| 五常市| 霍林郭勒市| 来安县| 田东县| 蛟河市| 永和县| 斗六市| 宁津县| 永德县|