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