專利名稱:一種通過個人計算機進行固件下載的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊及網(wǎng)絡(luò)領(lǐng)域,特別是涉及一種可以通過普通計算機(PC)對業(yè)務(wù)板的硬件存儲器和邏輯器件進行動態(tài)下載和更新的設(shè)計方法和實現(xiàn)裝置。
背景技術(shù):
隨著通訊產(chǎn)業(yè)的發(fā)展,通訊產(chǎn)品功能和性能的完善。人們在實踐中總是要不斷地改進和更新自己的設(shè)計,這就要涉及到BOOT文件(單板啟動的引導文件)的升級更新和CPLD(復雜的可編程邏輯器件,其內(nèi)部邏輯可以多次燒寫)的邏輯升級等維護和升級工作。在以前的電子產(chǎn)品中BOOT的升級和維護只好通過更換存放BOOT文件的FLASH(閃存,一種大容量的,非易失性的,可多次燒寫的硬件存儲器)器件或是用編程器重新燒結(jié)FLASH來完成,邏輯器件也必須通過專用的下載軟件和下載線來燒結(jié),這樣會大大影響工作效率和產(chǎn)品的可維護性。
為了提高產(chǎn)品的可維護性,人們提出了一些針對FLASH和CPLD的在線下載技術(shù),其實現(xiàn)方式主要是通過單板上的微控制器或者CPU實現(xiàn)FLASH和CPLD的下載時序來對其進行實時更新。具體如下當系統(tǒng)完成正常上電后,CPU通過網(wǎng)口或其他方式得到需要更新的文件,然后通過CPU的GPIO(通用輸入輸出管腳)實現(xiàn)FLASH和CPLD的下載控制信號,將文件下載到FLASH和CPLD中。其前提是系統(tǒng)必須能夠完成正常上電,也就是說,當單板生產(chǎn)完成后,進行FLASH的第一次燒結(jié)必須依靠傳統(tǒng)的離線燒結(jié)方式。針對第一次FLASH燒結(jié),目前的主要解決方式是在焊接芯片之前先完成對FLASH器件的燒結(jié),然后再進行焊接。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種通過個人計算機進行固件下載的方法及裝置,解決現(xiàn)有技術(shù)不能對CPLD和FLASH進行統(tǒng)一升級,CPLD和FLASH燒結(jié)的復雜程度較高的技術(shù)問題。
為達到上述目的,本發(fā)明提供了一種通過個人計算機進行固件下載的方法,其特點在于,通過并口轉(zhuǎn)接頭將個人計算機與單板上的下載接口進行連接,所述計算機通過所述下載接口讀寫一接口控制器的內(nèi)部寄存器,實現(xiàn)對JTAG時序以及閃存的接口讀寫時序的模擬,以完成對工作的可編程邏輯器件的邏輯的下載以及所述閃存的內(nèi)容更新。
上述的方法,其特點在于,還包括讀出所述可編程邏輯器件的邏輯以及所述閃存的內(nèi)容并進行校驗。
上述的方法,其特點在于,進行所述閃存的內(nèi)容更新進一步包括如下步驟步驟a,建立所述計算機到所述接口控制器的正確連接;步驟b,判斷所述接口控制器是否能夠正常工作,是則執(zhí)行步驟d,否則執(zhí)行步驟c;步驟c,流程異常結(jié)束;步驟d,把業(yè)務(wù)板置為可編程狀態(tài),同時識別所述閃存器件的規(guī)格;步驟e,進行所述閃存的內(nèi)容文件的下載;步驟f,下載完成后再讀出所述內(nèi)容文件與源文件進行校驗,判斷校驗是否成功,是則執(zhí)行步驟g,否則執(zhí)行步驟c;步驟g,校驗成功后要把下載線拔除,結(jié)束。
上述的方法,其特點在于,在所述步驟b中,通過讀寫所述接口控制器內(nèi)部特定的寄存器來判斷所述接口控制器是否能夠正常工作。
上述的方法,其特點在于,進行所述可編程邏輯器件的邏輯的下載,進一步包括如下步驟步驟A,建立所述計算機到所述接口控制器的正確連接;步驟B,判斷所述接口控制器是否能夠正常工作,是則執(zhí)行步驟D,否則執(zhí)行步驟C;步驟C,流程異常結(jié)束;步驟D,把業(yè)務(wù)板置為可編程狀態(tài);步驟E,對工作的所述可編程邏輯器件的邏輯進行下載;
步驟F,下載完成后再讀出所述邏輯與源文件進行校驗,判斷校驗是否成功,是則執(zhí)行步驟G,否則執(zhí)行步驟C;步驟G,校驗成功后要把下載線拔除,結(jié)束。
上述的方法,其特點在于,在所述步驟B中,通過讀寫所述接口控制器內(nèi)部特定的寄存器來判斷所述接口控制器是否能夠正常工作。
為了更好的實現(xiàn)本發(fā)明的目的,本發(fā)明還提供了一種通過個人計算機進行固件下載的裝置,其特點在于,包括個人計算機、接口控制器、閃存和可編程邏輯器件;通過并口轉(zhuǎn)接頭將所述計算機與單板上的下載接口進行連接,所述計算機通過所述下載接口讀寫所述接口控制器的內(nèi)部寄存器,實現(xiàn)對JTAG時序以及閃存的接口讀寫時序的模擬,以完成對工作的所述可編程邏輯器件的邏輯的下載以及所述閃存的內(nèi)容更新。
上述的裝置,其特點在于,所述接口控制器中還包括總線數(shù)據(jù)交互接口、閃存時序?qū)崿F(xiàn)模塊;所述總線數(shù)據(jù)交互接口連接所述計算機、所述閃存時序?qū)崿F(xiàn)模塊和所述內(nèi)部寄存器;所述閃存時序?qū)崿F(xiàn)模塊連接所述閃存,所述內(nèi)部寄存器連接所述可編程邏輯器件。
上述的裝置,其特點在于,所述接口控制器與所述可編程邏輯器件之間通過JTAG接口連接。
本發(fā)明的技術(shù)效果在于本發(fā)明提出了一種新的解決方法,使得FLASH內(nèi)容和CPLD邏輯的升級可以通過PC機來完成,實現(xiàn)了PC機通過單板上的接口控制器對FLASH或CPLD進行升級的方法。同時,本發(fā)明將不同廠家CPLD的不同燒結(jié)環(huán)境合并為一個統(tǒng)一的編程環(huán)境,并將CPLD和FLASH原本兩種不同的燒結(jié)方式合二為一,提供了統(tǒng)一的編程環(huán)境。與現(xiàn)有技術(shù)相比較,本發(fā)明對CPLD和FLASH的燒結(jié)方法進行了統(tǒng)一封裝,可以在PC機上通過接口控制器對CPLD和FLASH進行統(tǒng)一升級,降低了CPLD和FLASH燒結(jié)的復雜程度,在生產(chǎn)線上和現(xiàn)場都就可以輕松地完成對CPLD邏輯和FLASH內(nèi)容的升級或燒寫,使得維護手段多樣化,極大地提高了生產(chǎn)效率,增強了產(chǎn)品的可維護性。
圖1是動態(tài)下載裝置示意 圖2足PPB總線(Parallel Program Bus并行編程總線)接口時序圖;圖3是接口控制器內(nèi)部模塊示意圖;圖4是通過PC機對業(yè)務(wù)板的FLASH進行更新的流程。
具體實施方式下面結(jié)合附圖對本發(fā)明方法進行具體的說明。
圖1是本實施方法所基于的動態(tài)下載裝置。接口控制器110是本發(fā)明的主要部分,其功能是完成PC機120與工作CPLD 130以及FLASH 140之間的下載接口轉(zhuǎn)換并實現(xiàn)對CPLD邏輯的下載以及FLASH內(nèi)容的更新。接口控制器在物理上可以是CPLD,也可以是ASIC。圖中的PC是指的普通的個人計算機,工作CPLD是業(yè)務(wù)板上的邏輯器件,它主要用于實現(xiàn)單板相關(guān)功能,該CPLD邏輯是本發(fā)明下載的對象。圖中的FLASH與工作CPLD同為本發(fā)明下載的對象。接口控制器是下載操作的管理者,它把PC機與單板的FLASH器件、工作CPLD有機地連為一體,組成動態(tài)下載裝置。
通過以上裝置,可以實現(xiàn)外接PC機對業(yè)務(wù)板上的FLASH內(nèi)容和工作CPLD的邏輯進行下載與升級,在這個操作過程中不需要業(yè)務(wù)板CPU參與。
從PC機到接口控制器的總線采用了自定義的PPB總線,PC機通過該總線實現(xiàn)與接口控制器之間的數(shù)據(jù)交換。該總線包括FRMAE信號(幀傳輸起始)、CLK信號(時鐘)、AD信號(4BIT數(shù)據(jù)、地址信號),典型的讀寫時序如圖2所示,圖中FRAME信號高電平有效;CLK在下降沿采樣數(shù)據(jù),上升沿發(fā)送數(shù)據(jù)。第一個周期傳送的是4bit命令字,命令字定義了本周期的訪問對象(FLASH空間或者接口控制器內(nèi)部寄存器)及操作方式(讀或?qū)?。然后依次傳送6個周期的地址,接口控制器獲得本次操作的操作地址,并根據(jù)訪問對象及操作方式對數(shù)據(jù)進行相應(yīng)的發(fā)送或者存儲的操作。通過該總線實現(xiàn)一次讀寫操作共需要11個時鐘周期。
圖3顯示的是接口控制器內(nèi)部模塊組成。接口控制器110由PPA總線數(shù)據(jù)交互接口111,F(xiàn)LASH時序?qū)崿F(xiàn)模塊112,寄存器模塊113組成。PPA總線數(shù)據(jù)交互接口111通過下載轉(zhuǎn)換接頭實現(xiàn)與PC機之間的數(shù)據(jù)交互,并將PC更新FLASH或者CPLD的操作發(fā)送給FLASH時序?qū)崿F(xiàn)模塊和寄存器模塊。FLASH時序?qū)崿F(xiàn)模塊根據(jù)不同的FLASH信號實現(xiàn)其對應(yīng)的接口時序(如ISA總線時序等),完成對FLASH的內(nèi)容進行升級。接口控制器與工作CPLD的接口是標準的由4根線組成的JTAG接口(JTAGJoint Test Action Group,聯(lián)合測試行動小組,是一種國際標準測試協(xié)議)。對工作CPLD的邏輯進行下載是通過PPA總線數(shù)據(jù)交互接口讀寫寄存器模塊內(nèi)部的寄存器,實現(xiàn)JTAG工作時序完成的,無需總線轉(zhuǎn)換。
本發(fā)明動態(tài)下載方法主要包括以下內(nèi)容若是下載FLASH文件,則需要通過如下步驟PC機通過PPB總線將要下載的FLASH文件數(shù)據(jù)和寫入地址傳送給接口控制器,接口控制器實現(xiàn)FLASH接口編程時序(如ISA總線時序),將FLASH文件數(shù)據(jù)寫入FLASH器件的對應(yīng)地址空間中,完成對FLASH器件內(nèi)容的更新。
若是更新工作CPLD的邏輯,則需要通過如下步驟PC機通過PPB總線讀寫接口控制器的內(nèi)部寄存器,控制接口控制器工作CPLD的JTAG下載口相連接的一些IO管腳,實現(xiàn)CPLD下載的JTAG時序,將CPLD下載文件下載到工作CPLD中。邏輯更新后,需要重新啟動業(yè)務(wù)單板。
下面具體說明本發(fā)明的工作流程。首先要說明的是本發(fā)明只是針對業(yè)務(wù)板上的FLASH器件和工作CPLD器件,接口控制器不是動態(tài)下載的對象,它是動態(tài)下載的組織者。
當需要對單板FLASH的內(nèi)容或是工作CPLD的邏輯進行更新時,首先通過下載線建立PC機的并口與接口控制器之間的連接,然后PC機檢測連接是否正常建立,如果正常連接,接口控制器會控制業(yè)務(wù)板處于可編程狀態(tài)。這就保證了此時只有PC機對FLASH或是工作CPLD進行操作。
圖4顯示的是通過PC機對業(yè)務(wù)板FLASH的內(nèi)容進行更新的流程。包括步驟401,指建立PC到接口控制器的正確連接;步驟402,判斷接口控制器是否能夠正常工作,是則執(zhí)行步驟404,否則執(zhí)行步驟403;步驟403,流程異常結(jié)束;步驟404,把業(yè)務(wù)板置為可編程狀態(tài),同時判斷FLASH器件的規(guī)格步驟405,然后進行文件的下載;步驟406,下載完成后再讀出來與源文件進行校驗,判斷校驗是否成功,是則執(zhí)行步驟407,否則執(zhí)行步驟403;
步驟407,校驗成功后要把下載線拔除;步驟408,結(jié)束。
下面具體說明該流程標記A是指建立PC到接口控制器的正確連接,準備對業(yè)務(wù)板進行操作。然后通過讀寫接口控制器內(nèi)部特定的寄存器來判斷接口控制器是否能夠正常工作,如果接口控制器異常流程就走到標記E,標記E是指接口控制器不能正常工作,流程異常結(jié)束。如果正常那么就可以進行下一步。把業(yè)務(wù)板置為可編程狀態(tài),同時判斷FLASH器件的規(guī)格,然后進行文件的下載。下載完成后再讀出來與源文件進行校驗(此步可選),校驗成功后要把下載線拔除,這個流程標志B結(jié)束。
通過PC機對業(yè)務(wù)板的CPLD的邏輯進行更新的流程與對FLASH的內(nèi)容進行更新的流程類似。參照圖4,具體說明該流程標記A是指建立PC到接口控制器的正確連接,準備對業(yè)務(wù)板進行操作。然后通過讀寫接口控制器內(nèi)部特定的寄存器來判斷接口控制器是否能夠正常工作,如果接口控制器異常流程就走到標記E,標記E是指接口控制器不能正常工作,流程異常結(jié)束。如果正常那么就可以進行下一步。把業(yè)務(wù)板置為可編程狀態(tài),然后對工作CPLD進行下載。下載完成后再讀出來進行校驗(此步可選),校驗成功后要把下載線拔除,這個流程標志B結(jié)束。
由上可知,與現(xiàn)有技術(shù)相比較,本發(fā)明對CPLD和FLASH的燒結(jié)方法進行了統(tǒng)一封裝,可以在PC機上通過接口控制器對CPLD和FLASH進行統(tǒng)一升級,降低了CPLD和FLASH燒結(jié)的復雜程度,在生產(chǎn)線上和現(xiàn)場都就可以輕松地完成對CPLD邏輯和FLASH內(nèi)容的升級或燒寫,使得維護手段多樣化,極大地提高了生產(chǎn)效率,增強了產(chǎn)品的可維護性。
以上所述僅為本發(fā)明的較佳實施例,并非用來限定本發(fā)明的實施范圍;凡是依本發(fā)明所作的等效變化與修改,都被本發(fā)明的專利范圍所涵蓋。
權(quán)利要求
1.一種通過個人計算機進行固件下載的方法,其特征在于,通過并口轉(zhuǎn)接頭將個人計算機與單板上的下載接口進行連接,所述計算機通過所述下載接口讀寫一接口控制器的內(nèi)部寄存器,實現(xiàn)對JTAG時序以及閃存的接口讀寫時序的模擬,以完成對工作的可編程邏輯器件的邏輯的下載以及所述閃存的內(nèi)容更新。
2.根據(jù)權(quán)利要求
1所述的方法,其特征在于,還包括讀出所述可編程邏輯器件的邏輯以及所述閃存的內(nèi)容并進行校驗。
3.根據(jù)權(quán)利要求
1所述的方法,其特征在于,進行所述閃存的內(nèi)容更新進一步包括如下步驟步驟a,建立所述計算機到所述接口控制器的正確連接;步驟b,判斷所述接口控制器是否能夠正常工作,是則執(zhí)行步驟d,否則執(zhí)行步驟c;步驟c,流程異常結(jié)束;步驟d,把業(yè)務(wù)板置為可編程狀態(tài),同時識別所述閃存器件的規(guī)格;步驟e,進行所述閃存的內(nèi)容文件的下載;步驟f,下載完成后再讀出所述內(nèi)容文件與源文件進行校驗,判斷校驗是否成功,是則執(zhí)行步驟g,否則執(zhí)行步驟c;步驟g,校驗成功后要把下載線拔除,結(jié)束。
4.根據(jù)權(quán)利要求
3所述的方法,其特征在于,在所述步驟b中,通過讀寫所述接口控制器內(nèi)部特定的寄存器來判斷所述接口控制器是否能夠正常工作。
5.根據(jù)權(quán)利要求
1所述的方法,其特征在于,進行所述可編程邏輯器件的邏輯的下載,進一步包括如下步驟步驟A,建立所述計算機到所述接口控制器的正確連接;步驟B,判斷所述接口控制器是否能夠正常工作,是則執(zhí)行步驟D,否則執(zhí)行步驟C;步驟C,流程異常結(jié)束;步驟D,把業(yè)務(wù)板置為可編程狀態(tài);步驟E,對工作的所述可編程邏輯器件的邏輯進行下載;步驟F,下載完成后再讀出所述邏輯與源文件進行校驗,判斷校驗是否成功,是則執(zhí)行步驟G,否則執(zhí)行步驟C;步驟G,校驗成功后要把下載線拔除,結(jié)束。
6.根據(jù)權(quán)利要求
5所述的方法,其特征在于,在所述步驟B中,通過讀寫所述接口控制器內(nèi)部特定的寄存器來判斷所述接口控制器是否能夠正常工作。
7.一種通過個人計算機進行固件下載的裝置,其特征在于,包括個人計算機、接口控制器、閃存和可編程邏輯器件;通過并口轉(zhuǎn)接頭將所述計算機與單板上的下載接口進行連接,所述計算機通過所述下載接口讀寫所述接口控制器的內(nèi)部寄存器,實現(xiàn)對JTAG時序以及閃存的接口讀寫時序的模擬,以完成對工作的所述可編程邏輯器件的邏輯的下載以及所述閃存的內(nèi)容更新。
8.根據(jù)權(quán)利要求
7所述的裝置,其特征在于,所述接口控制器中還包括總線數(shù)據(jù)交互接口、閃存時序?qū)崿F(xiàn)模塊;所述總線數(shù)據(jù)交互接口連接所述計算機、所述閃存時序?qū)崿F(xiàn)模塊和所述內(nèi)部寄存器;所述閃存時序?qū)崿F(xiàn)模塊連接所述閃存,所述內(nèi)部寄存器連接所述可編程邏輯器件。
9.根據(jù)權(quán)利要求
7所述的裝置,其特征在于,所述接口控制器與所述可編程邏輯器件之間通過JTAG接口連接。
專利摘要
本發(fā)明公開了一種通過個人計算機進行固件下載的方法及裝置,方法包括通過并口轉(zhuǎn)接頭將個人計算機與單板上的下載接口進行連接,所述計算機通過所述下載接口讀寫一接口控制器的內(nèi)部寄存器,實現(xiàn)對JTAG時序以及閃存的接口讀寫時序的模擬,以完成對工作的可編程邏輯器件的邏輯的下載以及所述閃存的內(nèi)容更新。本發(fā)明使得閃存內(nèi)容和可編程邏輯器件的升級可以通過PC機來完成,降低了復雜程度,在生產(chǎn)線上和現(xiàn)場都可以輕松地完成升級或燒寫,使得維護手段多樣化,極大地提高了生產(chǎn)效率,增強了產(chǎn)品的可維護性。
文檔編號G06F13/00GK1996244SQ200610011101
公開日2007年7月11日 申請日期2006年1月4日
發(fā)明者吳華, 李孝軍, 楊旭, 黃燕榮 申請人:中興通訊股份有限公司導出引文BiBTeX, EndNote, RefMan