專利名稱:一種內部植入cpu的fpga系統在線升級的方法
一種內部植入CPU的FPGA系統在線升級的方法 所屬領域
本發明涉及含有FPGA (現場可編程門陣列)芯片的復雜電路系統, 尤其涉及了一種用于內部植入CPU的FPGA軟硬件系統在線升級的方 法。
背景技術:
FPGA (Field Programmable Gate Array,現場可編禾呈門陣列)是 一種可以實現硬件編程的芯片,隨著電子行業的發展,復雜FPGA芯 片中可以植入精簡的CPU系統,如Xilinx公司推出的兩種32位的嵌 入式處理器內核, 一種是IBM PowerPC處理器硬核,另一種是采用 IBM內部總線技術的MicroBlaze處理器軟核。硬核可以提供更快的 數據處理能力,而軟核則具有更好的靈活性,在目標器件中可以進行 任意的配置。
由于FPGA是一種掉電即失的芯片,因此一般上電后,必須通過存 儲在非易失性存儲芯片(如FLASH)中的系統引導程序來對其進行硬 件的初始化和系統的引導。因為系統引導程序和系統的鏡像都存儲在 非易失性存儲芯片中,所以可以通過升級存儲器內部的文件實現FPGA 系統的升級。
TFTP (Trivial File Transfer Protocol,簡單文件傳輸協議)是TCP/IP協議族中的一個用來在客戶機與服務器之間進行筒單文件傳 輸的協議,提供簡單的文件傳輸服務。TFTP與FTP相比,它沒有認 證,沒有密碼,有容易實現的特點。它通過DHCP分配IP地址,僅僅 通過末端設備指向TFTP服務器的IP地址,使得軟硬件升級和網絡啟 動變得簡單。
對于復雜電子類產品,由于開發難度加大,用戶安全要求的曰益 提高以及需求的不斷變化,迫使生產廠家在開發完成后,需要不斷通 過產品升級來對系統功能進行改進和完善,且硬件系統的安全漏洞幾 乎無法通過軟件系統升級來解決。對于存在較大安全漏洞的產品還需 要進行產品召回,造成了極大的經濟損失。FPGA可以實現硬件編程 的同時,通過植入經過裁剪的操作系統也實現了軟件編程。通常的在 線升級都只提供了在操作系統下的軟件升級,而對于如何實現軟硬件 的同時在線升級,卻是一個正在探索的問題。,
發明內容
本發明提出了 一種可以實現內部植入CPU及操作系統的FPGA的在 線升級方法,使其可以通過TFTP協議來實現FPGA的軟硬件同時在線 升級。
現階段內部植入CPU的FPGA系統開發主要分為硬件設計和軟件設 計,硬件設計時,把用戶功能模塊及其驅動的接口通過系統總線與 CPU相連,相應的硬件配置信息則都保存在硬件描述性文件中。而軟 件系統的設計獨立與硬件來實現,通過開發工具提供的外設驅動以及大量的庫函數來實現系統的功能。最后建立交叉編譯環境,并把開發
工具生成的文件導入到操作系統鏡像中,生成包含軟硬件功能的FPGA 系統。
本發明的主要特點是,系統的大部分功能都在FPGA芯片內部實 現,通過FPGA的嵌入式開發套件,即可實現軟^/f牛協同編程,最后 把生成的位文件通過TFTP服務器下載到需要升級的目標板。其中的 目標板上的FPGA中植入有經過裁剪的CPU以及在其上面運行的操作 系統,其升級過程如下在FPGA上電自檢后,通過加載引導程序, 啟動網絡驅動模塊,從DHCP服務器接收網絡參數,從DNS服務器中 得到TFTP服務器的地址,當檢測到用戶升級開關打開時,從服務器 下載升級文件到SDRAM中,經過校驗后,寫入FLASH芯片,升級成功 后即可引導新的系統啟動。
本發明利的優點是,實現了一種內部植入CPU的FPGA系統的軟硬 件在線升級的方法,提高了系統的可擴展性和系統升級的靈活性,可 以避免因為系統軟硬件設計的BUG而造成的安全隱患,以及因此而召 回產品帶來的經濟損失。
以下結合附圖與具體實施方法對本發明進行進一 步的說明。
圖1:內部植入CPU的FPGA系統及其必要外設和外部沖莫塊的結構 示意圖2:系統在線升級的流程示意圖;圖中需要說明的符號
101: FPGA芯片;
102: FPGA內部植入的CPU軟核或者硬核;
103: FPGA內部例化的片上存儲器塊;
104: FPGA內部例化的用于存儲操作數的存儲器塊;
105: FPGA內部例化的用于存儲指令的存儲器塊
106: FPG A內部例化的串行U ART接口 ,用于系統設計時的開發和
調試
107: FPGA內部例化的以太網控制器10/100M MAC功能才莫塊;
108: FPGA內部例化的其他片上系統的外設;
109: FPGA內部例化的用于和CPU通信的用戶接口邏輯模塊
110:用于用戶功能實現的用戶定義外設模塊;
111:用于系統運行的SDRAM芯片;
112:用于存儲51導程序和系統鏡像的FLASH芯片;
113:含有10/100M PHY芯片的以太網接口電路才莫塊;
114: TFTP遠程服務器;
具體實施方案
如圖1所示,內部植入CPU的FPGA系統及其必要功能模塊包括 FPGA內部的微處理器CPU,數據和指令存儲器,片上數據存儲器,用 戶邏輯接口及其外設,串行接口, 10/100M MAC,片上系鄉$外設,以 及FPGA外連的SDRAM, FLASH, 10/10幅PHY才莫塊。其中,CPU可以是植入的硬核或者軟核,它負責系統的運行和維
護。操作系統主要負責管理外設和內存管理,用戶邏輯接口及其外設
是根據用戶的需要開發的功能模塊,FLASH中存儲有引導程序以及系 統的鏡像文件,串口模塊用于調試和開發系統,10/100M MAC模塊通 過外接的10/100M PHY模塊連接到以太網上。
TFTP遠程服務器上存儲著升級文件,它響應FPGA中客戶端的請 求,通過TFTP協議,把升級文件傳輸到FPGA板上。其中的升級文件 中既包含了軟件的更新也可以包含硬件設備的更新。
升級過程如圖2所示,系統上電啟動以后先執行自檢,然后從 FLASH芯片中加載系統引導程序,系統引導程序用于初始化石更件系統, 為系統提供配置信息以及引導并運行操作系統,系統? 1導程序中包含 了 10M/100M網絡的功能,從而使得在FPGA原系統啟動前對其進行在 線升級成為可能。這里的配置網絡模塊是指啟動簡單的網絡功能模 塊,從DHCP服務器接收網絡參數,從DNS服務器中得到TFTP服務器 的地址。當系統引導程序檢測到用戶升級開關打開,且網絡配置正確 以后,進入步驟207,向TFTP服務器發送請求,通過TFTP協議下載 升級文件,否則回到步驟211,從FLASH中引導原操作系統啟動。下 載完成后進入步驟208,進行下載文件的校驗,如果校驗成功則進入 步驟209,把下載的位文件寫入到FLASH芯片中否則回到步驟211, 引導原才喿作系統啟動。當寫入成功后,進入步驟210,引導升級后的 操作系統啟動,整個升級過程結束。
權利要求
1、一種內部植入CPU的FPGA系統在線升級的方法,該方法主要包括以下步驟(1)系統上電,在FPGA自檢以后,運行系統引導程序,完成硬件系統的初始化并加載相關硬件的驅動程序;(2)配置網絡模塊參數,包括發出DHCP請求,獲得IP地址以及DNS服務器地址,通過DNS服務器解析出TFTP服務器地址;(3)當判斷升級開關打開后,通過TFTP協議下載升級文件到SDRAM中;(4)下載文件校驗成功后寫入FLASH,完成升級操作。
2、 如權利要求1所述的內部植入CPU的FPGA系統包括以下必要 的功能模塊FPGA內部的微處理器CPU,數據和指令存儲器,片上數 據存儲器,用戶邏輯接口及其外設,串行接口, 10/100M MAC,片上 系統外設,以及FPGA外連的SDRAM, FLASH, 10/100M PHY才莫塊。
3、 如^又利要求1所述的升級文件,其既可以包括軟件系統的升級 更新內容也可以包括硬件系統的升級更新內容。
4、 如權利要求1所述的內部植入CPU的FPGA芯片,其內部才直入 的CPU可以是軟核,也可以是硬核,它負責系統引導程序和操作系統 的運行。
5、 如權利要求1和4所述的系統引導程序,其作用在于初始化 硬件系統,為系統提供配置信息以及引導操作系統,它包含了 10M/100M網絡的功能,通過判斷升級開關的開關,執行引導原系統運行或是下載新的系統升級文件的操作。
6、 如權利要求2中的FPGA內部的10/100M MAC模塊其特征是, 它通過外接的10/100M PHY沖莫塊實現與以太網的連接。
7、 如權利要求2中所述的FLASH芯片,其特征是,它不僅保存著 系統引導程序和操作系統的鏡像,還用來保存下載的升級文件。
全文摘要
本發明為一種內部植入CPU的FPGA系統在線升級的方法。其主要特點是,FPGA中植入有經過裁剪的CPU以及在其上面運行的操作系統,其升級過程如下在FPGA上電自檢和初始化后,通過加載引導程序,啟動網絡驅動模塊,從DHCP服務器接收網絡參數,從DNS服務器中得到TFTP服務器的地址,當檢測到用戶升級開關打開時,從服務器下載升級文件到SDRAM中,經過校驗后,寫入FLASH芯片,升級成功后即可引導新的系統啟動。本發明利用FPGA的軟硬件可編程的特點,實現了系統軟硬件同時在線升級,提高了系統的可擴展性和升級的靈活性。
文檔編號H04L12/24GK101431441SQ20081023959
公開日2009年5月13日 申請日期2008年12月12日 優先權日2008年12月12日
發明者劉俊濤, 張志輝, 張永軍, 李曉斐, 沈月峰, 蔣定孚 申請人:北京郵電大學