一種內部植入cpu的fpga系統在線升級的方法
2023-05-07 06:29:41 1
專利名稱:一種內部植入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日
發明者劉俊濤, 張志輝, 張永軍, 李曉斐, 沈月峰, 蔣定孚 申請人:北京郵電大學