两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種三維聲波測井儀近探頭測量模塊的遠程升級方法

文檔序號:6637015閱讀:393來源:國知局
一種三維聲波測井儀近探頭測量模塊的遠程升級方法
【專利摘要】本發(fā)明公開了一種三維聲波測井儀近探頭測量模塊的遠程升級方法,在網(wǎng)絡(luò)連接成功后,含有格式轉(zhuǎn)換軟件的上位機通過維護裝置先后向近探頭測量模塊發(fā)送遠程DSP升級文件和FPGA升級文件,近探頭測量模塊接收到后按照DSP升級文件和FPGA升級文件對內(nèi)部的DSP和FPGA進行升級。在具體的升級過程中,上位機能夠向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,判斷DSP和FPGA是否升級成功,近探頭測量模塊能將升級成功的DSP升級文件進行備份,對DSP升級失敗的,可以通過片外SPI設(shè)備啟動方式,恢復(fù)到原因的DSP運行狀態(tài)。這樣不僅大幅度縮短升級時間,還能提高測井效率。
【專利說明】一種三維聲波測井儀近探頭測量模塊的遠程升級方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于遠程升級【技術(shù)領(lǐng)域】,更為具體地講,涉及一種三維聲波測井儀近探頭測量模塊的遠程升級方法。

【背景技術(shù)】
[0002]由于三維聲波測井工程工作環(huán)境特殊,三維聲波測井儀近探頭測量模塊采用小型化、柔性電路設(shè)計,位置上盡量靠近聲波接收換能器,就近數(shù)字化模擬聲波信號,盡最大可能縮短模擬信號的傳輸路徑,最小化噪聲干擾,所以近探頭測量模塊需要跟聲波接收換能器一起浸泡在硅油里面;另外,在機械外殼的覆蓋下,電路板上的JTAG接口也需要做處理。綜上條件這就使得此模塊電路的軟件和固件程序不能按照常規(guī)方法升級,遠程升級方式成為必須。
[0003]三維聲波測井儀井下電子線路部分由近探頭測量模塊和發(fā)射驅(qū)動模塊組成,近探頭測量模塊的功能較為靈活,其他模塊功能相對固定,在實際測井中,經(jīng)常需要對近探頭測量模塊進行功能調(diào)整和程序優(yōu)化。傳統(tǒng)的升級辦法是將測井儀從幾千米的井下提上來,再把儀器拆卸開,通過仿真器將程序燒寫進DSP和FPGA的Flash內(nèi),這樣會浪費大量的時間和精力,并且在拆卸和組裝儀器過程中可能對儀器造成損害,從而導(dǎo)致儀器不能正常工作。


【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種三維聲波測井儀近探頭測量模塊的遠程升級方法,通過對近探頭測量模塊中的DSP和FPGA進行遠程升級,從而使升級時間大幅度縮短,測井效率得以提高。
[0005]為實現(xiàn)上述發(fā)明目的,本發(fā)明一種三維聲波測井儀近探頭測量模塊的遠程升級方法,其特征在于,包括以下步驟:
[0006](I)、含有格式轉(zhuǎn)換軟件的上位機將DSP工程文件分別轉(zhuǎn)換為DSP升級文件和DSP升級文件對應(yīng)的SPI引導(dǎo)文件;將FPGA工程文件轉(zhuǎn)換為FPGA升級文件;
[0007](2)、將上位機和維護裝置通過以太網(wǎng)接口遠程連接,將維護裝置和近探頭測量模塊通過MCBSP差分總線連接;上位機通過維護裝置向近探頭測量模塊發(fā)送遠程升級DSP命令和遠程升級FPGA命令,維護裝置收到命令后下發(fā)給近探頭測量模塊,近探頭測量模塊接收到維護裝置轉(zhuǎn)發(fā)的遠程升級DSP命令、遠程升級FPGA命令后,又通過維護裝置返回給上位機一個應(yīng)答信號;
[0008](3)、對近探頭測量模塊中的DSP進行升級
[0009](3.1)、上位機收到應(yīng)答信號后,通過以太網(wǎng)接口將DSP升級文件發(fā)送至維護裝置;
[0010](3.2)、維護裝置接收到DSP升級文件后,通過MCBSP差分總線將DSP升級文件發(fā)送至近探頭測量模塊;
[0011](3.3)、對近探頭測量模塊中的DSP進行升級
[0012]近探頭測量模塊上的FPGA接收DSP升級文件后生成中斷信號,再發(fā)送至DSP,DSP在接收到FPGA發(fā)送的中斷信號后,讀取中斷信號中的DSP升級文件并進行校驗,待校驗成功后,再調(diào)用底層Flash_API函數(shù)將DSP升級文件寫至片上Flash ;
[0013](3.4)、判斷DSP升級是否成功,并將升級成功的DSP升級文件對應(yīng)的SPI引導(dǎo)文件進行備份
[0014]上位機向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,并等待DSP上傳儀器的當前工作狀態(tài);
[0015](a)、如果上位機接收不到DSP上傳的儀器當前工作狀態(tài),則遠程升級失??;
[0016]上位機通過維護裝置向近探頭測量模塊發(fā)送切換DSP啟動模式的命令,F(xiàn)PGA接收到該命令后改變DSP啟動引腳電平,將DSP啟動模式切換到片外SPI設(shè)備啟動,DSP從片外SPI EEPROM上讀取原有的SPI引導(dǎo)文件,執(zhí)行遠程升級失敗之前的程序;
[0017](b)、如果上位機能接收到DSP上傳的儀器當前工作狀態(tài),則遠程升級成功;
[0018]上位機通過以太網(wǎng)接口將SPI引導(dǎo)文件下傳至近探頭測量模塊,DSP從FPGA中讀取SPI引導(dǎo)文件,并將SPI引導(dǎo)文件寫至片外SPI EEPROM的0x0000起始處,完成DSP升級文件的備份;
[0019](4)、對近探頭測量模塊中的FPGA進行升級
[0020](4.1)、上位機通過以太網(wǎng)接口將FPGA升級文件發(fā)送至維護裝置;
[0021](4.2)、維護裝置接收到FPGA升級文件后,通過MCBSP差分總線將FPGA升級文件發(fā)送至近探頭測量模塊;
[0022](4.3)、對近探頭測量模塊中的FPGA進行升級
[0023]近探頭測量模塊上的FPGA接收FPGA升級文件后生成外部中斷信號,再發(fā)送至DSP,DSP在接收到FPGA發(fā)送的外部中斷信號后,讀取外部中斷信號中的FPGA升級文件并進行校驗,待校驗成功后,DSP將其寫至片外SPI EEPROM的SPI引導(dǎo)文件后面,即EEPROM的下部分,然后DSP向FPGA的PR0G_A引腳發(fā)送低脈沖,F(xiàn)PGA開始重新配置,再通過SPI接口將外部配置數(shù)據(jù)讀取到片內(nèi)完成配置;
[0024](4.4)、判斷FPGA升級是否成功
[0025]上位機向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,并等待DSP上傳儀器的當前工作狀態(tài);
[0026]如果上位機能接收到FPGA上傳的儀器當前工作狀態(tài),則表明FPGA遠程升級成功;如果上位機沒收到FPGA上傳的儀器當前工作狀態(tài),則表明FPGA遠程升級失敗,再返回步驟(4.1)進行FPGA遠程升級直至升級成功。
[0027]本發(fā)明的發(fā)明目的是這樣實現(xiàn)的:
[0028]本發(fā)明三維聲波測井儀近探頭測量模塊的遠程升級方法,在網(wǎng)絡(luò)連接成功后,含有格式轉(zhuǎn)換軟件的上位機通過維護裝置先后向近探頭測量模塊發(fā)送遠程DSP升級文件和FPGA升級文件,近探頭測量模塊接收到后按照DSP升級文件和FPGA升級文件對內(nèi)部的DSP和FPGA進行升級。在具體的升級過程中,上位機能夠向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,判斷DSP和FPGA是否升級成功,近探頭測量模塊能將升級成功的DSP升級文件進行備份,對DSP升級失敗的,可以通過片外SPI設(shè)備啟動方式,恢復(fù)到原因的DSP運行狀態(tài)。這樣不僅大幅度縮短升級時間,還能提高測井效率。
[0029]同時,本發(fā)明三維聲波測井儀近探頭測量模塊的遠程升級方法還具有以下有益效果:
[0030](I)、維護裝置通過以太網(wǎng)接口接收上位機下發(fā)的遠程升級DSP命令、遠程升級FPGA命令和十六進制升級文件,通過預(yù)加重芯片MAX3292差分輸出下傳到近探頭測量模塊,接收近探頭測量模塊上傳的應(yīng)答信號,然后通過以太網(wǎng)接口上傳給上位機。維護裝置與近探頭測量模塊采用MCBSP接口傳輸,MAX3292能延長數(shù)據(jù)的傳輸距離以及提高傳輸?shù)目煽啃?,在IMbps傳輸速率下,穩(wěn)定傳輸距離最高可達500米;
[0031](2)、完成DSP和FPGA的遠程升級并將升級后DSP升級文件對應(yīng)的SPI引導(dǎo)文件備份至片外SPI EEPROM ;EEPR0M被分成上下兩部分,上部分存FPGA升級文件,下部分存DSP升級文件,這樣在DSP升級失敗時及時恢復(fù)到以前的工作狀態(tài)。

【專利附圖】

【附圖說明】
[0032]圖1是本發(fā)明三維聲波測井儀近探頭測量模塊的遠程升級結(jié)構(gòu)示意圖;
[0033]圖2是DSP升級文件的轉(zhuǎn)換流程圖;
[0034]圖3是DSP升級文件的格式轉(zhuǎn)換流程圖;
[0035]圖4是DSP升級文件所對應(yīng)的SPI引導(dǎo)文件的轉(zhuǎn)換流程圖;
[0036]圖5是FPGA升級文件的轉(zhuǎn)換流程圖;
[0037]圖6是Spartan_3E FPGA與AT25256之間的連接示意圖。

【具體實施方式】
[0038]下面結(jié)合附圖對本發(fā)明的【具體實施方式】進行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當已知功能和設(shè)計的詳細描述也許會淡化本發(fā)明的主要內(nèi)容時,這些描述在這里將被忽略。
[0039]實施例
[0040]為了方便描述,先對【具體實施方式】中出現(xiàn)的相關(guān)專業(yè)術(shù)語進行說明:
[0041]圖1是本發(fā)明三維聲波測井儀近探頭測量模塊的遠程升級結(jié)構(gòu)示意圖。
[0042]本實施例中,如圖1所示,三維聲波測井儀近探頭測量模塊的遠程升級結(jié)構(gòu)主要包括:含有格式轉(zhuǎn)換軟件的上位機、接收命令和數(shù)據(jù)并轉(zhuǎn)發(fā)的維護裝置以及實現(xiàn)遠程升級功能的近探頭測量模塊。
[0043]上位機能同時實現(xiàn)DSP的可執(zhí)行目標文件向16位并行接口引導(dǎo)方式的Intel Hex格式文件、SPI 8位引導(dǎo)方式的ASCII格式文件的轉(zhuǎn)換;而近探頭測量模塊能將DSP的SPI8位引導(dǎo)方式的ASCII格式文件和FPGA的遠程升級文件存儲在同一片EEPROM當中;其中,EEPROM被分成上下兩部分,上部分存FPGA程序,下部分存DSP程序,并成功實現(xiàn)對DSP當前運行程序?qū)?yīng)的SPI 8位引導(dǎo)方式的SPI引導(dǎo)文件的備份和FPGA的遠程升級。
[0044]下面對三維聲波測井儀近探頭測量模塊的遠程升級流程作詳細說明,如下:
[0045]S1、含有格式轉(zhuǎn)換軟件的上位機將DSP工程文件分別轉(zhuǎn)換為DSP升級文件和DSP升級文件對應(yīng)的SPI引導(dǎo)文件;將FPGA工程文件轉(zhuǎn)換為FPGA升級文件;
[0046]本實施例中,如圖2所示,DSP工程文件轉(zhuǎn)換為DSP升級文件的方法為:
[0047]在CCS開發(fā)環(huán)境中,將DSP工程文件編譯鏈接生成可執(zhí)行目標文件,然后將可執(zhí)行目標文件轉(zhuǎn)換為Intel HEX文件,因此,需要新建兩個文件,一個為“.bat”的批處理文件,一個為“.cmd”的鏈接文件。在“.cmd”文件中加入以下代碼:
[0048]cd debug
[0049]C:\ti\C2000\cgtools\bin\hex2000.exe test, cmd
[0050]第一行代碼的意義是進入DSP開發(fā)工程的默認輸出目錄即“debug”文件夾,第二號代碼是指定HEX工具的路徑并按照“test, cmd”文件中的命令執(zhí)行轉(zhuǎn)換。在CCS開發(fā)環(huán)境中,需要在當前工程的“Build Opt1ns”選項中加入“.cmd”文件,并設(shè)置運行方式為“Always”。
[0051]新建一個“test, bat”的文件,并加入以下代碼:
[0052]File_name.0ut
[0053]-gp18
[0054]-map test, map
[0055]-o test, hex
[0056]-d
[0057]-b
[0058]“File_name.0ut”,是當前DSP開發(fā)工程生成的可執(zhí)行目標文件名,也是HEX2000工具的輸入文件;“_gp18”是8位并行接口的引導(dǎo)方式;“-map test, map”是輸出一個名為 “test, map” 的 map 表;“_o test, hex” 是輸出 HEX 文件名,即 “test, hex” ;“_d” 表不輸出格式為Intel HEX格式;“_b”表示加入程序的入口地址。通過以上設(shè)置,雙擊cmd”文件后便得到一個名為“test, hex”的HEX文件。
[0059]利用HEX2000轉(zhuǎn)換工具能夠提取可執(zhí)行目標文件中有效加載段信息,但由于HEX文件以ASCII編碼方式保存,而且存在大量冗余信息,比如每行的起始字節(jié)以及每行結(jié)束的校驗字節(jié)。格式轉(zhuǎn)換軟件以HEX文件為輸入文件,以二進制BIN文件作為最終的輸出文件,即得到DSP升級文件,這樣去除了 HEX文件中的冗余信息并將各下載段按照新的格式組合為二進制文件。
[0060]其中,DSP升級文件的格式轉(zhuǎn)換具體流程如圖3所示。
[0061]格式轉(zhuǎn)換程序以行為單位處理HEX文件。首先,格式轉(zhuǎn)換程序程序?qū)EX文件的每個字節(jié)進行掃描,如果檢測到冒號,說明已經(jīng)開始了新的行,否則提取段數(shù)據(jù)緩存在一個數(shù)組中;其次,判斷每行的記錄類型以及地址是否連續(xù),如果地址沒有連續(xù)則開始了新的段,這時記錄新的段首信息,否則更新段數(shù)據(jù);最后,在所有行處理完畢后,按照BIN文件的格式合并段首和段數(shù)據(jù),并添加文件信息。
[0062]本實施例中,如圖4所示,DSP工程文件分別轉(zhuǎn)換為DSP升級文件對應(yīng)的SPI引導(dǎo)文件的方法為:
[0063]在CCS開發(fā)環(huán)境中,將DSP工程文件編譯鏈接生成可執(zhí)行目標文件,然后利用HEX2000轉(zhuǎn)換工具將可執(zhí)行目標文件生成SPI引導(dǎo)文件格式的BootLoader數(shù)據(jù)流文件(以“hex”為后綴)。構(gòu)SPI建引導(dǎo)文件的具體實現(xiàn)辦法如下:新建一個批處理文件test, bat和鏈接命令文件test, cmd(文件名稱任取),將test.bat、test.cmd、HEX2000.exe以及需要進行轉(zhuǎn)換的可執(zhí)行目標文件比如CpuTimer0.0ut放在同一個文件夾。在批處理文件test,cmd里添加如下代碼:
[0064]cd debug
[0065]C:\CCStud1_v3.3\C2000\cgtools\bin\hex2000.exe test, cmd
[0066]第一行代碼表示進入DSP開發(fā)工程的默認輸出目錄即“debug”文件夾,第二行代碼是指定HEX工具的路徑并按照“test, cmd”文件中的命令執(zhí)行轉(zhuǎn)換。在鏈接命令文件test, cmd中添加如下代碼:
[0067]CpuTimer0.0ut
[0068]-spi8
[0069]-map CpuTimer0.map
[0070]-o CpuTimer0.hex
[0071]-all
[0072]-b
[0073]-1opcp 0x5
[0074]-spilid 0x5F
[0075]-d 0x3A8000
[0076]“CpuTimer0.0ut”是當前工程生成的COFF文件名,也是HEX2000工具的輸入文件;“_spi8” 是 SPI 8 位引導(dǎo)方式;^-map CpuTimer0.map” 是輸出一個名為 “CpuTimer0.map”的 map 表;“-o CpuTimer0.hex”是輸出 HEX 文件名,即“CpuTimer0.hex”;“-all”是將所有輸入段作為引導(dǎo)段;“_b”表示輸出格式為ASCII格式;“-lopCp 0x5”設(shè)置寄存器LOSPCP的初始值為0x5 ;“-spibrr 0x7F”設(shè)置寄存器SPILID的初始值為0x5F ;“_d 0x3A8000”設(shè)定程序的入口地址為0x3A8000。雙擊“test, bat”文件,便會按照“test, cmd”中的要求生成“CpuTimer0.map”和“CpuTimer0.hex”兩個文件。利用格式轉(zhuǎn)換軟件讀入“CpuTimer0.hex”文件中相鄰的兩個8位二進制數(shù)據(jù)合并輸出一個4位十六進制數(shù)據(jù),直至讀到文件結(jié)尾為止,便得到“CpuTimer0.dat”文件,即SPI引導(dǎo)文件。
[0077]本實施例中,如圖5所示,F(xiàn)PGA工程文件轉(zhuǎn)換為FPGA升級文件的方法為:
[0078]在ISE 工程下 Generate Programming File 處單擊右鍵,接著點擊 ProcessProperties,在彈出的對話框里面選擇General Opt1ns,在Create Binary Configurat1nFile后面打勾并點擊OK,雙擊Generate Programming File,在ISE工程路徑下產(chǎn)生工程對應(yīng)的二進制配置文件,該二進制配置文件以.bin為后綴;再利用格式轉(zhuǎn)換軟件讀入二進制配置文件,將相鄰兩個8位數(shù)據(jù)合并成一個16位數(shù)據(jù),再以16進制格式輸出得到Hex文件,即FPGA升級文件。
[0079]S2、測試網(wǎng)絡(luò)鏈路是否通暢
[0080]將上位機和維護裝置通過以太網(wǎng)接口遠程連接,將維護裝置和近探頭測量模塊通過MCBSP差分總線連接;上位機通過維護裝置向近探頭測量模塊發(fā)送遠程升級DSP命令和遠程升級FPGA命令,維護裝置收到命令后下發(fā)給近探頭測量模塊,近探頭測量模塊接收到維護裝置轉(zhuǎn)發(fā)的遠程升級DSP命令、遠程升級FPGA命令后,又通過維護裝置返回給上位機一個應(yīng)答信號;
[0081]S3、對近探頭測量模塊中的DSP進行升級
[0082]S3.1、上位機收到應(yīng)答信號后,通過以太網(wǎng)接口將DSP升級文件發(fā)送至維護裝置;
[0083]S3.2、維護裝置接收到DSP升級文件后,通過MCBSP差分總線將DSP升級文件發(fā)送至近探頭測量模塊;
[0084]S3.3、對近探頭測量模塊中的DSP進行升級
[0085]近探頭測量模塊上的FPGA接收DSP升級文件后生成中斷信號,再發(fā)送至DSP,DSP在接收到FPGA發(fā)送的中斷信號后,讀取中斷信號中的DSP升級文件并進行校驗,待校驗成功后,再調(diào)用底層Flash_API函數(shù)將DSP升級文件寫至片上Flash ;
[0086]S3.4、判斷DSP升級是否成功,并將升級成功的DSP升級文件對應(yīng)的SPI引導(dǎo)文件進行備份
[0087]上位機向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,并等待DSP上傳儀器的當前工作狀態(tài);
[0088](a)、如果上位機接收不到DSP上傳的儀器當前工作狀態(tài),則遠程升級失??;
[0089]上位機通過維護裝置向近探頭測量模塊發(fā)送切換DSP啟動模式的命令,F(xiàn)PGA接收到該命令后改變DSP啟動引腳電平,將DSP啟動模式切換到片外SPI設(shè)備啟動,DSP從片外SPI EEPROM上讀取原有的SPI引導(dǎo)文件,執(zhí)行遠程升級失敗之前的程序;
[0090](b)、如果上位機能接收到DSP上傳的儀器當前工作狀態(tài),則遠程升級成功;
[0091]上位機通過以太網(wǎng)接口將SPI引導(dǎo)文件下傳至近探頭測量模塊,DSP從FPGA中讀取SPI引導(dǎo)文件,并將SPI引導(dǎo)文件寫至片外SPI EEPROM的0x0000起始處,完成DSP升級文件的備份;
[0092]在DSP遠程升級成功后,如圖1所示,上位機將DSP當前升級文件對應(yīng)的SPI引導(dǎo)文件下發(fā)給近探頭測量模塊,近探頭測量模塊上的DSP接收完SPI引導(dǎo)文件后,通過I/O口向FPGA的PR0G_A引腳發(fā)送高電平,F(xiàn)PGA所有的I/O 口被置成高阻態(tài),避免FPGA掛接在SPI總線上對寫SPI引導(dǎo)文件進AT25256造成干擾,再把開關(guān)使能端打開,使開關(guān)四路通道全部導(dǎo)通,DSP通過SPI 口將SPI引導(dǎo)文件寫入AT25256 ;
[0093]S4、對近探頭測量模塊中的FPGA進行升級
[0094]S4.1、上位機通過以太網(wǎng)接口將FPGA升級文件發(fā)送至維護裝置;
[0095]S4.2、維護裝置接收到FPGA升級文件后,通過MCBSP差分總線將FPGA升級文件發(fā)送至近探頭測量模塊;
[0096]S4.3、對近探頭測量模塊中的FPGA進行升級
[0097]近探頭測量模塊上的FPGA接收FPGA升級文件后生成外部中斷信號,再發(fā)送至DSPjDSP在接收到FPGA發(fā)送的外部中斷信號后,讀取外部中斷信號中的FPGA升級文件并進行校驗,待校驗成功后,DSP將其寫至片外SPI EEPROM的SPI引導(dǎo)文件后面,即EEPROM的下部分,然后DSP向FPGA的PR0G_A引腳發(fā)送低脈沖,F(xiàn)PGA開始重新配置,再通過SPI接口將外部配置數(shù)據(jù)讀取到片內(nèi)完成配置;
[0098]S4.4、判斷FPGA升級是否成功
[0099]上位機向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,并等待DSP上傳儀器的當前工作狀態(tài);
[0100]如果上位機能接收到FPGA上傳的儀器當前工作狀態(tài),則表明FPGA遠程升級成功;如果上位機沒收到FPGA上傳的儀器當前工作狀態(tài),則表明FPGA遠程升級失敗,再返回步驟(4.1)進行FPGA遠程升級直至升級成功。
[0101]本實施例中,如圖1所示,在對FPGA遠程升級時,上位機將FPGA的配置數(shù)據(jù)下發(fā)給近探頭測量模塊,近探頭測量模塊上的DSP接收完配置數(shù)據(jù)后,DSP通過I/O 口向FPGA的PROG_A$腳發(fā)送一個正脈沖,F(xiàn)PGA把所有的I/O 口置成高阻態(tài),再把開關(guān)使能端打開,使開關(guān)四路通道全部導(dǎo)通,DSP通過SPI 口將配置數(shù)據(jù)寫給AT25256,待配置數(shù)據(jù)燒寫完畢,DSP將開關(guān)使能端禁止,開關(guān)的輸出端被置為高阻態(tài),DSP再將FPGA的PROG_A引腳拉低,F(xiàn)PGA開始進行SPI配置,將配置數(shù)據(jù)讀入片內(nèi)配置存儲器,在CRC校驗成功之后,DONE引腳電平被拉低,根據(jù)載入的邏輯進行工作,如果校驗失敗,INIT_C引腳電平被拉高,這時DSP必須把PR0G_A引腳電平拉低,以重新開始配置,直至SPI配置成功為止。
[0102]圖6是Spartan-3E FPGA與AT25256之間的連接示意圖。
[0103]在本實施例中,如圖6所示,在SPI串行模式(M[2:0] = 010)下,Xilinx公司Spartan-3E系列FPGA從SPI串行EEPROM存儲器完成自我配置。在這種模式下,F(xiàn)PGA用其片內(nèi)晶振為所連接的AT25256時鐘輸入提供CCLK輸出。通過上拉電阻4.7k Ω、330 Ω分別將配置引腳PR0G_A、D0NE上拉至2.5V,通過上拉電阻4.7k Ω分別將引腳INIT_C、CS0_B上拉至3.3V。變量選擇引腳VS[2:0]的電平組合可以是〈1:1:1〉也可以是〈1:0:1〉,在系統(tǒng)上電時,F(xiàn)PGA通過SPI接口向EEPROM發(fā)送快速讀命令(0x21)或讀命令(0x31)。
[0104]盡管上面對本發(fā)明說明性的【具體實施方式】進行了描述,以便于本【技術(shù)領(lǐng)域】的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于【具體實施方式】的范圍,對本【技術(shù)領(lǐng)域】的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護之列。
【權(quán)利要求】
1.一種三維聲波測井儀近探頭測量模塊的遠程升級方法,其特征在于,包括以下步驟: (1)、含有格式轉(zhuǎn)換軟件的上位機將DSP工程文件分別轉(zhuǎn)換為DSP升級文件和DSP升級文件對應(yīng)的SPI引導(dǎo)文件;將FPGA工程文件轉(zhuǎn)換為FPGA升級文件; (2)、將上位機和維護裝置通過以太網(wǎng)接口遠程連接,將維護裝置和近探頭測量模塊通過MCBSP差分總線連接;上位機通過維護裝置向近探頭測量模塊發(fā)送遠程升級DSP命令和遠程升級FPGA命令,維護裝置收到命令后下發(fā)給近探頭測量模塊,近探頭測量模塊接收到維護裝置轉(zhuǎn)發(fā)的遠程升級DSP命令、遠程升級FPGA命令后,又通過過維護裝置返回給上位機一個應(yīng)答信號; (3)、對近探頭測量模塊中的DSP進行升級 (3.1)、上位機收到應(yīng)答信號后,通過以太網(wǎng)接口將DSP升級文件發(fā)送至維護裝置; (3.2)、維護裝置接收到DSP升級文件后,通過MCBSP差分總線將DSP升級文件發(fā)送至近探頭測量模塊; (3.3)、對近探頭測量模塊中的DSP進行升級 近探頭測量模塊上的FPGA接收DSP升級文件后生成中斷信號,再發(fā)送至DSP,DSP在接收到FPGA發(fā)送的中斷信號后,讀取中斷信號中的DSP升級文件并進行校驗,待校驗成功后,再調(diào)用底層Flash_API函數(shù)將DSP升級文件寫至片上Flash ; (3.4)、判斷DSP升級是否成功,并將升級成功的DSP升級文件對應(yīng)的SPI引導(dǎo)文件進行備份 上位機向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,并等待DSP上傳儀器的當前工作狀態(tài); (a)、如果上位機接收不到DSP上傳的儀器當前工作狀態(tài),則遠程升級失??; 上位機通過維護裝置向近探頭測量模塊發(fā)送切換DSP啟動模式的命令,F(xiàn)PGA接收到該命令后改變DSP啟動引腳電平,將DSP啟動模式切換到片外SPI設(shè)備啟動,DSP從片外SPIEEPROM上讀取SPI引導(dǎo)文件,執(zhí)行遠程升級失敗之前的程序; (b)、如果上位機能接收到DSP上傳的儀器當前工作狀態(tài),則遠程升級成功; 上位機通過以太網(wǎng)接口將SPI引導(dǎo)文件下傳至近探頭測量模塊,DSP從FPGA中讀取SPI引導(dǎo)文件,并將SPI引導(dǎo)文件寫至片外SPI EEPROM的0x0000起始處,完成DSP升級文件的備份; (4)、對近探頭測量模塊中的FPGA進行升級 (4.1)、上位機通過以太網(wǎng)接口將FPGA升級文件發(fā)送至維護裝置; (4.2)、維護裝置接收到FPGA升級文件后,通過MCBSP差分總線將FPGA升級文件發(fā)送至近探頭測量模塊; (4.3)、對近探頭測量模塊中的FPGA進行升級 近探頭測量模塊上的FPGA接收FPGA升級文件后生成外部中斷信號,再發(fā)送至DSP,DSP在接收到FPGA發(fā)送的外部中斷信號后,讀取外部中斷信號中的FPGA升級文件并進行校驗,待校驗成功后,DSP將其寫至片外SPI EEPROM的SPI引導(dǎo)文件后面,即EEPROM的下部分,然后DSP向FPGA的PR0G_A引腳發(fā)送低脈沖,F(xiàn)PGA開始重新配置,再通過SPI接口將外部配置數(shù)據(jù)讀取到片內(nèi)完成配置; (4.4)、判斷FPGA升級是否成功 上位機向近探頭測量模塊發(fā)送儀器回狀態(tài)字命令,并等待DSP上傳儀器的當前工作狀態(tài); 如果上位機能接收到FPGA上傳的儀器當前工作狀態(tài),則表明FPGA遠程升級成功;如果上位機沒收到FPGA上傳的儀器當前工作狀態(tài),則表明FPGA遠程升級失敗,再返回步驟(4.1)進行FPGA遠程升級直至升級成功。
2.根據(jù)權(quán)利要求1所述的三維聲波測井儀近探頭測量模塊的程序遠程升級方法,其特征在于:所述的上位機能同時實現(xiàn)DSP的可執(zhí)行目標文件向16位并行接口引導(dǎo)方式的Intel Hex格式文件、SPI 8位引導(dǎo)方式的ASCII格式文件的轉(zhuǎn)換。
3.據(jù)權(quán)利要求1所述的三維聲波測井儀近探頭測量模塊的遠程升級方法,其特征在于:所述的近探頭測量模塊能將DSP的SPI 8位引導(dǎo)方式的SPI引導(dǎo)文件FPGA的升級文件存儲在同一片EEPROM當中,所述的EEPROM被分成上下兩部分,上部分存FPGA升級文件,下部分存DSP升級文件。
4.據(jù)權(quán)利要求1所述的三維聲波測井儀近探頭測量模塊的遠程升級方法,其特征在于:所述的步驟(I)中,DSP工程文件轉(zhuǎn)換為DSP升級文件的方法為: 新建兩個文件,一個為bat”批處理文件,一個為cmd”鏈接文件;在cmd”鏈接文件中加入以下代碼:cd debug
C:\ti\C2000\cgtools\bin\hex2000.exe test, cmd 第一行代碼的意義是進入DSP開發(fā)工程的默認輸出目錄即“debug”文件夾,第二號代碼是指定HEX工具的路徑并按照“test, cmd”文件中的命令執(zhí)行轉(zhuǎn)換; 在CCS開發(fā)環(huán)境中,將cmd”鏈接文件加入到當前DSP開發(fā)工程的“Build Opt1ns”選項中,并設(shè)置運行方式為“Always” ; 新建一個“test, bat”的文件,并加入以下代碼:
File—name, out
-gp18
-map test, map
-o test, hex
_d
_b “File_name.0ut”,是當前DSP開發(fā)工程生成的可執(zhí)行目標文件名,也是HEX2000工具的輸入文件;“gp18”是8位并行接口的引導(dǎo)方式;“-map test, map”是輸出一個名為“test, map” 的 map 表;“_o test, hex” 是輸出 HEX 文件名,即 “test, hex” ;“_d” 表不輸出格式為Intel HEX格式;“_b”表示加入程序的入口地址; 通過以上設(shè)置后,雙擊cmd”文件后便生成到一個名為“test, hex”的HEX文件,HEX文件再通過格式轉(zhuǎn)換軟件轉(zhuǎn)換后得到bin文件,即DSP升級文件。
5.據(jù)權(quán)利要求1所述的三維聲波測井儀近探頭測量模塊的遠程升級方法,其特征在于:所述的步驟(I)中,DSP工程文件轉(zhuǎn)換為DSP升級文件對應(yīng)的SPI引導(dǎo)文件的方法為: 新建一個批處理文件test, bat和鏈接命令文件test, cmd,將test, bat、test, cmd、HEX2000.exe以及需要進行轉(zhuǎn)換的可執(zhí)行目標文件放在同一個文件夾,其中,在批處理文件test, cmd中添加如下代碼:cd debug
C:\CCStud1_v3.3\C2000\cgtools\bin\hex2000.exe test, cmd第一行代碼表示進入DSP開發(fā)工程的默認輸出目錄即“debug”文件夾,第二行代碼是指定HEX工具的路徑并按照鏈接命令文件“test, cmd”中的命令執(zhí)行轉(zhuǎn)換,其中,在鏈接命令文件test, cmd中添加如下代碼:
CpuTimer0.0ut
-spi8
-map CpuTimer0.map
-o CpuTimer0.hex
-all
_b
-1opcp 0x5
-spilid 0x5F
-d 0x3A8000 “CpuTimer0.0ut”是當前DSP開發(fā)工程生成的COFF文件名,也是HEX2000工具的輸入文件;“_spi8”是 SPI 8 位引導(dǎo)方式;“-map CpuTimer0.map”是輸出一個名為“CpuTimer0.map” 的 map 表;“_o CpuTimer0.hex” 是輸出 HEX 文件名,即 “CpuTimer0.hex” ;“_all”是將所有輸入段作為引導(dǎo)段;“-b”表不輸出格式為ASCII格式;“-lopcp 0x5”設(shè)置寄存器LOSPCP的初始值為0x5 ;“-spibrr 0x7F”設(shè)置寄存器SPILID的初始值為0x5F ;“_d0x3A8000”設(shè)定程序的入口地址為0x3A8000 ; 雙擊“test, bat”文件后便會按照鏈接命令文件“test, cmd”中的命令生成“CpuTimer0.map”和“CpuTimer0.hex”兩個文件,再利用格式轉(zhuǎn)換軟件讀入“CpuTimer0.hex”文件中相鄰的兩個8位二進制數(shù)據(jù)合并輸出一個4位十六進制數(shù)據(jù),直至讀到文件結(jié)尾為止,從而生成“CpuTimer0.dat”文件,即SPI引導(dǎo)文件。
6.據(jù)權(quán)利要求1所述的三維聲波測井儀近探頭測量模塊的遠程升級方法,其特征在于:所述的步驟(I)中,F(xiàn)PGA工程文件轉(zhuǎn)換為FPGA升級文件的方法為: 在ISE工程下Generate Programming File處單擊右鍵,接著點擊ProcessProperties,在彈出的對話框里面選擇General Opt1ns,在Create Binary Configurat1nFile后面打勾并點擊OK,雙擊Generate Programming File,在ISE工程路徑下產(chǎn)生工程對應(yīng)的二進制配置文件,該二進制配置文件以.bin為后綴;再利用格式轉(zhuǎn)換軟件讀入二進制配置文件,將相鄰兩個8位數(shù)據(jù)合并成一個16位數(shù)據(jù),再以16進制格式輸出得到Hex文件,即FPGA升級文件。
【文檔編號】G06F9/445GK104461624SQ201410723070
【公開日】2015年3月25日 申請日期:2014年12月3日 優(yōu)先權(quán)日:2014年12月3日
【發(fā)明者】張偉, 師奕兵, 李焱駿, 王育博, 羅盛, 馬東 申請人:電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南雄市| 上饶市| 高淳县| 彰武县| 镇宁| 巴里| 全椒县| 朝阳县| 杭锦后旗| 杂多县| 易门县| 高要市| 武冈市| 巫溪县| 萨迦县| 徐州市| 南雄市| 浏阳市| 通渭县| 潼关县| 长葛市| 凤城市| 丹寨县| 横峰县| 锦州市| 邹城市| 通辽市| 芷江| 垣曲县| 疏勒县| 资溪县| 理塘县| 赫章县| 柳林县| 封丘县| 中卫市| 昔阳县| 渑池县| 阜平县| 绥阳县| 和田市|