一種可編程邏輯器件遠程更新系統(tǒng)及其方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電子電路技術(shù)領(lǐng)域,尤其是涉及一種應(yīng)用于可編程邏輯器件的遠程更 新系統(tǒng)及其方法。
【背景技術(shù)】
[0002] 可編程邏輯器FPGA是一種邏輯電路器件,其特點是具有靜態(tài)可重復(fù)編程或在線 動態(tài)重構(gòu)特性。這種電路的硬件功能可以像軟件一樣通過編程來修改,從而使得電路設(shè)計 和產(chǎn)品升級變得十分方便,極大的提高了電子系統(tǒng)的靈活性和通用能力。目前,已有眾多芯 片供應(yīng)商,如XILINX或者ALTERA都可以提供各種型號的FPGA或者CPLD。
[0003] 可編程邏輯器件在嵌入式系統(tǒng)中應(yīng)用越來越廣泛。在設(shè)計階段和現(xiàn)場運行之后的 各個階段,都可能遇到設(shè)計的升級、修改、測試等問題。帶有在系統(tǒng)可編程(ISP)功能的邏 輯器件,使得不需要進行重新現(xiàn)場燒寫,即可完成功能的重新配置。同時,網(wǎng)絡(luò)技術(shù)的發(fā)展 也使得遠程維護成為可能。目前,現(xiàn)有的FPGA中都集成了JTAG測試接口,F(xiàn)PGA的JTAG測 試接口主要包括測試數(shù)據(jù)輸入CTDI)管腳,測試數(shù)據(jù)輸出(IDO)管腳,測試時鐘輸入(TCK) 管腳和測試模式選擇(TMS)管腳。
[0004] 在現(xiàn)有技術(shù)中,與本
【發(fā)明內(nèi)容】
相關(guān)的技術(shù)方案主要有:
[0005] 文獻一:由中興通訊股份有限公司于2007年10月24日申請,并于2008年03月 12日公開,公開號為CNl01140315A的中國發(fā)明專利申請《一種JTAG下載方式下FPGA邏輯 代碼的下載方法及下載系統(tǒng)》。該發(fā)明申請?zhí)峁┝艘环NJTAG下載方式下FPGA邏輯代碼的 下載方法及下載系統(tǒng),用于對兩片以上的相同F(xiàn)PGA下載相同的邏輯代碼。其中,所述下載 方法包括:將JTAG下載信號中的測試模式選擇TMS信號、測試時鐘輸入TCK信號和測試數(shù) 據(jù)輸入TDI信號同時輸入至各個FPGA對應(yīng)的管腳,將邏輯代碼井有下載到各個FPGA。按 照本發(fā)明的下載方法和下載系統(tǒng),能夠減少FPGA邏輯代碼下載所需時間,提高FPGA調(diào)試效 率。
[0006] 文獻二:由北京天融信網(wǎng)絡(luò)安全技術(shù)有限公司于2006年12月30日申請,并于 2008年07月02日公開,公開號為CN101211266A的中國發(fā)明專利申請《一種實現(xiàn)FPGA自 動下載和在線升級的方法》。該發(fā)明申請公開了一種實現(xiàn)FPGA自動下載和在線升級的方 法,其中,實現(xiàn)FPGA自動下載的方法包括如下步驟:將FPGA的下載總線接口與CPU的通用 可編程輸入/輸出接口連接:設(shè)置FPGA的下載模式CPU通過Flash總線從非易失性存儲器 件中將下載程序讀出CPU將讀出的下載程序通過通用可編程輸入/輸出接口信號總線寫入 FPGA中,直至下載完成。本發(fā)明無需配置專用存儲芯片就能夠?qū)崿F(xiàn)FPGA程序的自動下載, 利用通用的網(wǎng)絡(luò)接口就能夠?qū)崿F(xiàn)FPGA程序的在線升級。
[0007] 文獻三:由天津曙光計算機產(chǎn)業(yè)有限公司于2010年12月17日申請,并于2011年 05月11日公開,公開號為CN102053850A的中國發(fā)明專利申請《一種在線升級FPGA邏輯的 方法》。該發(fā)明申請?zhí)峁┝艘环N在線升級FPGA邏輯的方法,包括遠程終端,控制端,F(xiàn)PGA可 編程邏輯門電路和PR0M,將FPGA的下載總線接口與CPU通過PCIE總線接口實現(xiàn)連接:通過 PCIE總線向非易失性存儲器件中寫入要升級的邏輯文件和邏輯信息,包括版本號、升級時 間信息:寫入完畢FPGA中的升級邏輯要對寫入非易失性存儲器件的內(nèi)容進行校驗,以保證 寫入的正確性:寫入結(jié)束后,執(zhí)行自動加載指令,完成加載過程,不需要對板卡斷電重啟,只 需要熱復(fù)位即可完成邏輯升級過程,掉電后只需要上電重啟也可以完成邏輯加載的過程。 本發(fā)明在一些環(huán)境比較復(fù)雜、不適合工作人員到現(xiàn)場去燒寫邏輯的情況下,采用本方法可 以很方便的解決升級問題,并且不需要斷電重啟,自動加載后只需要對系統(tǒng)熱復(fù)位即可完 成,可遠程操作,節(jié)省人力物力,操作簡單方便。如附圖1所示。
[0008] 文獻四:由華為技術(shù)有限公司于2001年06月28日申請,并于2003年12月31日 公開,公開號為CN1464421A的中國發(fā)明專利《一種對現(xiàn)場可編程門陣列的在線加載方法》。 該專利公開了一種對現(xiàn)場可編程門陣列的在線加載方法,是在該板CPU芯片沒有通用V0接 口的單板上,對該單板上的可擦編程邏輯器件EPLD編程設(shè)置多個寄存器和計數(shù)器,使CPU 能夠通過其總線和該可擦編程邏輯器件EPLD按位訪問現(xiàn)場可編程門陣列FPGA,實現(xiàn)單板 上的現(xiàn)場可編程門陣列FPGA在線加載。本發(fā)明不僅解決了沒有通用V0接口的CPU的FPGA 現(xiàn)場加載問題,實現(xiàn)了單板上FPGA的在線升級功能,填補了現(xiàn)有技術(shù)中的空缺:而且,該 FPGA的加載過程控制靈活,處理步驟比較簡單、工作可靠、便于實現(xiàn),資源占有極小。
[0009] 但是,綜上,現(xiàn)有技術(shù)的可編程邏輯器件配置系統(tǒng)及其方法都存在以下缺點:
[0010] 現(xiàn)有的可編程邏輯器件FPGA的軟件更新主要采用JTAG仿真器進行軟件程序的更 新。在設(shè)計、調(diào)試、運行階段,特別在環(huán)境復(fù)雜,主控制板密封情況下進行程序的更新是比較 難,F(xiàn)PGA程序進行更新必須要連接仿真器。已有的技術(shù)雖然有通過PCI總線進行遠程的更 新,但是對于通用化調(diào)試極不方便。
【發(fā)明內(nèi)容】
[0011] 有鑒于此,本發(fā)明的目的在于提供一種可編程邏輯器件遠程更新系統(tǒng)及其方法, 能夠有效地解決在復(fù)雜應(yīng)用條件下,尤其是保密性要求高的環(huán)境下,工作人員不適合到現(xiàn) 場燒寫邏輯,采用傳統(tǒng)專用仿真器燒寫加載方式不能滿足要求的技術(shù)問題。
[0012] 為了實現(xiàn)上述發(fā)明目的,本發(fā)明具體提供了一種可編程邏輯器件遠程更新系統(tǒng)的 技術(shù)實現(xiàn)方案,一種可編程邏輯器件遠程更新系統(tǒng),包括:計算機,以及彼此相連的處理器、 可編程邏輯器件和配置單元。所述計算機向所述處理器發(fā)送配置文件數(shù)據(jù),所述處理器根 據(jù)所述配置文件數(shù)據(jù),通過GPIO端口模擬所述可編程邏輯器件配置所述配置單元JTAG端 口的時序和行為,實現(xiàn)所述處理器對所述配置單元進行配置的ISP操作。
[0013] 優(yōu)選的,所述可編程邏輯器件采用FPGA或CPLD,所述配置單元采用PR0M。
[0014] 優(yōu)選的,所述處理器采用DSP,通過所述DSP的四個GPIO端口分別模擬所述JTAG端口中的TMS端口、TDI端口、TDO端口和TCK端口。
[0015] 優(yōu)選的,所述可編程邏輯器件和配置單元的TMS端口、TCK端口接線并聯(lián)后依次連 接至所述處理器用于模擬所述TMS端口、TCK端口的GPIO端口,所述處理器用于模擬TDI端 口的GPIO端口連接所述可編程邏輯器件的TDI端口、所述可編程邏輯器件的TDO端口連接 所述配置單元的TDI端口,所述配置單元的TDO端口連接至所述處理器用于模擬TDO端口 的GPIO端口。
[0016] 優(yōu)選的,所述計算機將包括更新命令在內(nèi)的配置數(shù)據(jù)傳送至所述處理器,所述處 理器對配置數(shù)據(jù)進行相應(yīng)的時序轉(zhuǎn)化和數(shù)據(jù)處理后,將經(jīng)過處理的所述配置數(shù)據(jù)通過模擬JTAG狀態(tài)機時序的方式下載至所述配置單元中,以完成所述配置單元中配置數(shù)據(jù)的更新。 [0017] 優(yōu)選的,所述計算機通過串行總線或網(wǎng)絡(luò)總線向所述處理器發(fā)送配置數(shù)據(jù),所述 配置數(shù)據(jù)為IntelHex格式的XSVF文件。
[0018] 優(yōu)選的,所述計算機逐條解析所述FPGA或CPLD的燒寫XSVF文件,并將解析后的 數(shù)據(jù)逐條傳送至所述處理器。所述處理器根據(jù)所述計算機傳送的數(shù)據(jù),并按照JTAG狀態(tài)機 的時序和數(shù)據(jù)格式生成所述FPGA或CPLD的編程指令、數(shù)據(jù)和控制信號。
[0019] 本發(fā)明還另外具體提供了一種可編程邏輯器件遠程更新方法的技術(shù)實現(xiàn)方案,所 述方法包括以下步驟:
[0020] SlOO:計算機向處理器發(fā)送配置數(shù)據(jù);
[0021] SlOl:所述處理器根據(jù)所述配置數(shù)據(jù),通過GPIO端口模擬可編程邏輯器件操作配 置單元JTAG端口的時序和行為;
[0022] S102 :所述處理器通過GPIO端口以模擬JTAG端口的時序和行為的方式向所述配 置單元輸出配置數(shù)據(jù),實現(xiàn)對所述配置單元進行配置的ISP操作。
[0023] 本發(fā)明還具體提供了可編程邏輯器件遠程更新方法的另一種技術(shù)實現(xiàn)方案,包括 以下步驟:
[0024] SlOO:所述計算機逐條解析所述模擬可編程邏輯器件的燒寫XSVF文件,并將解析 后的數(shù)據(jù)通過串行總線或網(wǎng)絡(luò)總線逐條傳送至所述處理器;
[0025] SlOl:所述處理器獲得所述XSVF文件后,先將所述XSVF文件暫存至RAM空間,再 讀取所述XSVF文件,逐條解析,通過GPIO端口模擬JTAG狀態(tài)機的TAP口操作,并產(chǎn)生包括 編程指令、數(shù)據(jù)和控制信號在內(nèi)的配置數(shù)據(jù);
[0026] S102 :所述處理器通過GPIO端口以模擬JTAG端口的時序和行為的方式輸出所述 配置數(shù)據(jù),并通過所述可編程邏輯器件實現(xiàn)對所述配置單元進行配置的ISP操作,完成對 所述可編程邏輯器件配置數(shù)據(jù)的更新。
[0027] 優(yōu)選的,所述處理器采用DSP,所述可編程邏輯器件采用FPGA或CPLD,所述配置單 元采用PR0M。
[0028] 通過實施上述本發(fā)明提供的可編程邏輯器件遠程更新系統(tǒng)及其方法,具有如下技 術(shù)效果:
[0029] (1)本發(fā)明解決了現(xiàn)有技術(shù)在一些環(huán)境比較復(fù)雜、保密性要求比較高的情況下,不 適合工作人員到現(xiàn)場去燒寫程序,采用傳統(tǒng)的專用仿真器燒寫加載方式不能滿足要求的技 術(shù)問題;
[