国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)字信號處理平臺中fpga程序升級在線下載方法

      文檔序號:6379558閱讀:201來源:國知局
      專利名稱:一種數(shù)字信號處理平臺中fpga程序升級在線下載方法
      —種數(shù)字信號處理平臺中FPGA程序升級在線下載方法技術(shù)領(lǐng)域
      本發(fā)明屬于FPGA技術(shù)領(lǐng)域。具體涉及一種數(shù)字信號處理平臺中FPGA程序升級在 線下載方法。
      背景技術(shù)
      隨著技術(shù)的進步,F(xiàn)PGA得到飛速發(fā)展,無論是在衛(wèi)星通信與地面通信領(lǐng)域,還是在 自動化控制領(lǐng)域,F(xiàn)PGA都得到了廣泛的應(yīng)用。因為FPGA的可編程特性,對于產(chǎn)品的升級換 代提供了方便之門,特別是在軟件無線電領(lǐng)域數(shù)字信號處理場合中,能否便于現(xiàn)場升級,是 否能夠靈活性使用更是作為一項關(guān)鍵因素。當(dāng)前軟件無線電領(lǐng)域數(shù)字信號處理平臺中使 用的FPGA主要為Xilinx和Altera等公司的中高端FPGA,這些FPGA具有邏輯單元多,內(nèi) 置DSP模塊多,速度快等特點適合做軟件無線電的高速信號處理。數(shù)字信號處理平臺中,一 般具有一個X86架構(gòu)的處理平臺,作為上層命令與數(shù)據(jù)的存儲與處理平臺,主要實現(xiàn)上位 機功能,對子板塊的高速數(shù)字信號處理平臺進行控制,這個時候FPGA的配置一般利用PROM 存儲二進制文件然后上電自動加載,而下載二進制文件到配置PROM中利用專用下載線,速 度非常慢,據(jù)實際情況下載Virtex-5系列與Virtex-6系列FPGA的二進制文件一般需要 30分鐘左右,如果產(chǎn)品定型后,很不容易更新,一般要拆開產(chǎn)品再利用下載線進行下載,升 級很不方便,而且不利于遠程控制,人為的增加了產(chǎn)品的設(shè)計與制造成本。為了克服上述問 題,避免產(chǎn)品升級過程中的不便,本發(fā)明設(shè)計了一種便捷的數(shù)字信號處理平臺中FPGA程序 升級在線下載方法。
      中國專利文獻庫公布了一種名稱為《FPGA在線配置方法》(專利申請?zhí)?201010260441. 7)的發(fā)明專利申請技術(shù),該發(fā)明專利申請技術(shù)公開了一種FPGA在線配置方 法,步驟包括先用CPU分別連接存儲有FPGA配置數(shù)據(jù)的存儲器和FPGA,所述CPU的GPIO 口連接FPGA的加載數(shù)據(jù)的PIN腳;再由CPU從存儲器器中調(diào)取配置數(shù)據(jù);最后,在被動串 行PS模式下,通過控制GPIO 口的時序關(guān)系來完成配置數(shù)據(jù)加載。使用本方法,可以在設(shè)計 中既降低成本,實現(xiàn)代替價格昂貴的不可擦寫和可擦寫配置芯片,并使其達到了保密性和 可升級的要求,隨時通過簡單的文件拷貝操作即可完成產(chǎn)品軟件的升級更新。其不足之處 在于該發(fā)明專利申請技術(shù)電路設(shè)計復(fù)雜,還要CPU軟件開發(fā),成本增加,設(shè)計復(fù)雜度也應(yīng)為 要開發(fā)CPU而變得更為復(fù)雜,配置速度慢,不能進行配置數(shù)據(jù)的存儲,成本較高,特別在一 些大系統(tǒng)中不能及時的更新程序,對產(chǎn)品的維護特別是產(chǎn)品使用過程中出現(xiàn)的bug修改具 有很大的困難,對產(chǎn)品的后續(xù)升級帶來了很多麻煩。發(fā)明內(nèi)容
      為了解決數(shù)字信號處理平臺中系統(tǒng)結(jié)構(gòu)復(fù)雜,避免專門為FPGA配置設(shè)置一個嵌 入式CPU導(dǎo)致增加了設(shè)計難度、加大設(shè)計工作量、而且也提升了設(shè)計成本、增加失敗的風(fēng) 險,便于后續(xù)FPGA程序的bug的升級與維護,本發(fā)明提供了一種數(shù)字信號處理平臺中FPGA 程序升級在線下載方法。
      本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法,其特點是在FPGA上 實現(xiàn),由硬件和控制軟件組成,硬件中的X86架構(gòu)模塊通過通信總線與FPGA相連接,同時 FPGA通過專用電路接口連接PROM,F(xiàn)PGA的其他接口組成功能接口,整個系統(tǒng)電壓由電源供 給;控制軟件中的上位機軟件存儲在X86架構(gòu)模塊中,實現(xiàn)對FPGA的控制及通過FPGA中 的燒錄文件程序與PROM的通信,并實現(xiàn)對PROM進行FPGA更新程序的在線下載;控制軟件 中的FPGA的燒錄文件程序需要加載在功能程序中預(yù)先下載,在需要在線下載FPGA的更新 程序時啟動,配合上位機完成FPGA更新程序的在線下載,其操作流程為a)利用FPGA專用下載線下載FPGA燒錄文件到FPGA的PROM中;b)需要更新FPGA的程序的時候,打開并啟動上位機軟件,把需要下載的更新程序放 入上位機軟件中;c)上位機中的控制與算法軟件計算出要該FPGA更新程序的大小,上位機中的上層控 制軟件把數(shù)據(jù)大小的值通過底層驅(qū)動軟件發(fā)給FPGA,F(xiàn)PGA通過這個值來判斷解鎖與擦寫 的PROM存儲空間;d)上層控制軟件再控制底層驅(qū)動軟件進而啟動控制信號有效,通過底層驅(qū)動軟件讀 解鎖狀態(tài);e)擦除所需的PROM空間,直到所需存儲空間都擦除;f)發(fā)送配置數(shù)據(jù);g)讀出正確的寫數(shù)據(jù)狀態(tài),清除狀態(tài)寄存器,判斷是否達到數(shù)據(jù)大小的值,是則進入 h),否則轉(zhuǎn)回到f);h)進入數(shù)據(jù)校驗,上位機中的控制與算法軟件進行CRC校驗,然后上層控制軟件判斷 是否校驗完畢,若校驗未完成則繼續(xù)校驗,若完成但是校驗失敗則需要進入e),否則進入下一步;i)上位機軟件判斷是否需要立即把PROM中在線下載的FPGA更新程序配置到FPGA 中,若是則利用上層控制軟件通過底層驅(qū)動軟件發(fā)送相應(yīng)的FPGA加載指令,立即加載FPGA 的程序,否則無效啟動控制信號直接結(jié)束在線下載。
      所述的PR0M,可以選擇Xilinx或Altera廠商的NOR FLASH,也在第三方廠商為 FPGA提供的NOR FLASH中選擇,其片選輸出、鎖存輸出、讀信號輸出、寫信號輸出由控制信 號程序模塊產(chǎn)生,地址輸出輸出由整體控制程序模塊產(chǎn)生,數(shù)據(jù)接口與PROM進行數(shù)據(jù)交 互,啟動控制信號啟動配置信號,地址控制程序模塊把由整體控制程序模塊產(chǎn)生,這些輸出 按照PROM的接口時序要求送出。
      所述的通信總線包含串口總線、PCI總線(含CPCI總線)、PCIe總系(含CPCIe總 線)、ISA總線、10/100/1000以太網(wǎng)總線在內(nèi)的所有能使得X86架構(gòu)模塊與FPGA進行數(shù)據(jù) 通信的總線。
      所述的啟動控制信號主要由上位機軟件控制,啟動有效后就可以作為數(shù)據(jù)接口, 傳遞需要下載的程序數(shù)據(jù)給FPGA,同時傳遞從PROM中讀出的狀態(tài)數(shù)據(jù)給上位機軟件,這些 狀態(tài)數(shù)據(jù)保護解鎖完畢、擦除完畢、寫數(shù)據(jù)成功、等待寫數(shù)據(jù)狀態(tài),上位機根據(jù)這些狀態(tài)碼 進行下一步的操作。
      所述的數(shù)字信號處理平臺中FPGA程序升級在線下載方法,主要針對一些大型數(shù) 字處理平臺中,該數(shù)字信號處理平臺的特點是包含一個X86架構(gòu)的模塊和專門用來進行數(shù)字信號處理的一個或者多個FPGA。
      所述的FPGA的種類為Xilinx以及Altera公司的中高端FPGA。
      在FPGA中先利用各個廠商提供的開發(fā)套件或?qū)S瞄_發(fā)套件開發(fā)出第一次下載所 用的FPGA燒錄文件,該FPGA燒錄文件主要起配置作用的,在以后的設(shè)計代碼中加入FPGA 燒錄文件的源代碼利用FPGA開發(fā)軟件生成二進制可下載文件則就可以在產(chǎn)品升級中進行 和該FPGA燒錄文件一樣的重配置功能而不會影響FPGA的正常功能。
      所述的FPGA燒錄文件的程序主要是VHDL代碼或者verilog HDL代碼,這些代碼 添加到所用實際程序里作為一個模塊即可為下次的程序更新做出接口,每次下載的程序中 都添加該模塊則可以一直實現(xiàn)在線下載。
      本發(fā)明首先配置到FPGA的FPGA燒錄文件是作為以后FPGA升級換代時作為配置 橋使用的,同時用X86架構(gòu)模塊下的上位機軟件,只需要能夠進行接口通信即可,可以使得 不用像其他在線配置還需要嵌入式CPU作為直接配置橋,避免附加其他軟件。
      本發(fā)明可以配置以一個X86架構(gòu)模塊為核心,其他以鏈?zhǔn)交蛘咝切瓦B接的FPGA, 各個FPGA之間的數(shù)據(jù)總線可以利用復(fù)用的方式,節(jié)省了設(shè)計的成本和FPGA的資源。
      本發(fā)明的方案設(shè)計簡單,利用FPGA本身的控制時序?qū)崿F(xiàn)程序的配置,利用FPGA本 身的程序訪問接口來實現(xiàn)在線加載。
      本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的上位機的軟件由人 機交互界面、上層控制軟件、控制與算法軟件、底層驅(qū)動軟件組成,人機交互界面主要用來 進行FPGA程序升級在線下載指令的啟動與配置狀態(tài)的顯示,上層控制軟件與控制與算法 軟件主要實現(xiàn)與底層驅(qū)動軟件的通信,并控制底層驅(qū)動軟件向FPGA接口發(fā)送相應(yīng)指令以 及數(shù)據(jù),同時還接收相關(guān)的下載狀態(tài)。
      本發(fā)明的上位機軟件中,進行下載FPGA更新程序時,人機交互界面需要利用上位 機中的控制與算法軟件計算出所要下載的程序的大小,通過利用上層控制軟件把這個數(shù)據(jù) 大小的值通過底層驅(qū)動軟件發(fā)給FPGA,F(xiàn)PGA通過這個值來判斷需要解鎖與擦寫的PROM存 儲空間的大小,然后上層控制軟件再控制底層驅(qū)動軟件給FPGA發(fā)送更新程序下載的啟動 命令,即使得啟動控制信號有效,然后通過底層驅(qū)動軟件讀解鎖狀態(tài),直到第一次發(fā)送對應(yīng) 數(shù)據(jù)大小的PROM的空間都被解鎖后,繼續(xù)讀取擦除狀態(tài),直到所需存儲空間都擦除,然后 發(fā)送FPGA的數(shù)據(jù),發(fā)送配置數(shù)據(jù),發(fā)送一次配置數(shù)據(jù)后就需要讀一次寫狀態(tài),讀到寫狀態(tài) 后要利用上層控制軟件判斷是否發(fā)送數(shù)據(jù)完畢,若不是則繼續(xù)發(fā)送、讀寫狀態(tài)、判斷是否發(fā) 送完畢,若是則進入數(shù)據(jù)校驗,數(shù)據(jù)校驗主要利用上位機中的控制與算法軟件進行CRC校 驗,然后利用上層控制軟件判斷是否校驗完畢,若沒有完畢則根據(jù)實際情況進行操作,即校 驗未完成則繼續(xù)校驗,若完成但是失敗則需要重新進行一次下載,若校驗完畢則需要根據(jù) 上位機中的操作選項判斷是否需要立即把PROM中剛下載更新的程序配置到FPGA中,若是 則利用上層控制軟件通過底層驅(qū)動軟件發(fā)送相應(yīng)的FPGA加載指令即可,然后進行相應(yīng)的 功能操作,若不需要理解加載FPGA的程序,則直接結(jié)束,等待以后斷電重啟后這次更新的 FPGA的程序文件會自動從PROM中加載。
      本發(fā)明充分結(jié)合了軟件無線電領(lǐng)域數(shù)字信號處理平臺產(chǎn)品在實際中對FPGA的使 用,滿足對設(shè)計的保密性和設(shè)計的升級便利性要求,實現(xiàn)代替價格昂貴的反熔絲FPGA,為數(shù) 字信號處理平臺等貴重產(chǎn)品的升級提供了一種可靠的途徑,避免了因為拆裝原因使得產(chǎn)品質(zhì)量不能保證的情況,可以隨時隨地方便快捷的升級FPGA程序,提升產(chǎn)品性能,并且節(jié)省 了通常在線配置所用的嵌入式CPU,節(jié)省了設(shè)計成本,降低了設(shè)計復(fù)雜度,有效減輕了設(shè)計的工作量。
      本發(fā)明的有益效果如下在滿足數(shù)字信號處理平臺中FPGA可在線配置功能的基礎(chǔ)上,能夠完成加密等功能, 為產(chǎn)品的后續(xù)程序升級換代提供了新的下載方法,避免了利用FPGA專用下載線所帶來的 時間問題和不方便,大大提升了更新FPGA程序所需要的時間,使得設(shè)計盡量簡潔,符合 Xilinx廠商的設(shè)計準(zhǔn)則,同時降低了成本,降低了設(shè)計復(fù)雜度,減輕了設(shè)計的工作量。


      圖1為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的第一次下載 的FPGA燒錄文件分解2為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的第一次下載的 FPGA燒錄文件流程3為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的硬件連接圖;圖4為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的上位機軟件框圖; 圖5為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的上位機軟件設(shè)計 流程圖;圖中,1. X86架構(gòu)模塊與FPGA的通信接口或者FPGA與其他FPGA (該FPGA與X86架 構(gòu)模塊相連)的通信接口 2.片選輸出 3.鎖存輸出 4.讀信號輸出 5.寫 信號輸出 6.地址輸出 7.與PROM數(shù)據(jù)接口 8.啟動控制信號 9.控制 信號程序模塊 10.地址控制程序模塊 11. PROM數(shù)據(jù)控制模塊 12.整體控制 程序模塊 13.輸出數(shù)據(jù)程序模塊 14.輸入數(shù)據(jù)程序模塊 15. X86架構(gòu)模塊 16.通信總線 17. FPGA 18. PROM 19.功能接口 20.電源 21.上位 機 22.人機交互界面 23.上層控制軟件 24.控制與算法軟件 25.底層 驅(qū)動軟件。
      具體實施方式
      下面結(jié)合附圖和實施例對本發(fā)明作進一步描述。
      圖1為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的第一次下載 的FPGA燒錄文件分解2為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的第一次下載的 FPGA燒錄文件流程圖,圖3為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的硬件連接圖,圖4 為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的上位機軟件框圖,圖5為本 發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的上位機軟件設(shè)計流程圖。
      如圖3所示,X86架構(gòu)模塊15主要包含上位機中,通信總線16包括串口總線、PCI 總線、PCIe總線、ISA總線、10/100/1000以太網(wǎng)總線等所有能使得X86架構(gòu)模塊與FPGA17 進行數(shù)據(jù)通信的總線,PR0M18主要完成FPGA配置文件的存儲功能,功能接口 19主要是有FPGA17完成其算法處理與控制功能的接口,電源20主要是給整個系統(tǒng)提供滿足需求的電 源。
      在FPGA17中先利用各個廠商提供的開發(fā)套件或?qū)S瞄_發(fā)套件開發(fā)出第一次下載 所用的FPGA燒錄文件,該FPGA燒錄文件主要起配置作用的,在以后的設(shè)計代碼中加入FPGA 燒錄文件的源代碼利用FPGA開發(fā)軟件生成二進制可下載文件則就可以在產(chǎn)品升級中進行 和該FPGA燒錄文件一樣的重配置功能而不會影響FPGA17的正常功能,這里對FPGA燒錄文 件進行分析其實就是對其源代碼進行分析。
      如圖1所示,本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法第一次下 載的FPGA燒錄文件包含X86架構(gòu)模塊15與FPGA17的通信接口 16或者FPGA與其他FPGA (該FPGA與X86架構(gòu)模塊相連)的接口1、片選輸出2、鎖存輸出3、讀信號輸出4、寫信號輸 出5、地址輸出6、與PROM數(shù)據(jù)接口 7、啟動控制信號8、控制信號程序模塊9、地址控制程序 模塊10、PROM數(shù)據(jù)控制模塊11、整體控制程序模塊12、輸出數(shù)據(jù)程序模塊13、輸入數(shù)據(jù)程 序模塊14,X86架構(gòu)模塊15與FPGA17的通信接口 16或者FPGA與其他FPGA (該FPGA17 與X86架構(gòu)模塊15相連)的接口 I主要是發(fā)送上位機給的配置數(shù)據(jù)給PR0M18數(shù)據(jù)控制模 塊11,片選輸出2主要輸出由控制信號程序模塊9產(chǎn)生的PR0M18片選控制信號,鎖存輸出 3主要輸出由控制信號程序模塊9產(chǎn)生的PR0M18鎖存控制信號,讀信號輸出4主要輸出由 控制信號程序模塊9產(chǎn)生的PR0M18讀控制信號,寫信號輸出5主要輸出由控制信號程序模 塊9產(chǎn)生的PR0M18寫控制信號,地址輸出6主要輸出由整體控制程序模塊12產(chǎn)生的與相 應(yīng)擦模塊及與寫數(shù)據(jù)對應(yīng)的地址,與PR0M18數(shù)據(jù)接口 7主要把對PR0M18的數(shù)據(jù)進行讀寫, 啟動控制信號8主要是由FPGA17其他接口或者由X86架構(gòu)模塊15中的上位機發(fā)送的啟動 配置信號,地址控制程序模塊10主要把由整體控制程序模塊12產(chǎn)生的地址給PR0M18的程 序結(jié)合數(shù)據(jù)按照PR0M18的時序要求送出。
      上述的PR0M18 —般選擇Xilinx公司或者Altera及其他第三方的平臺FLASH,接 口時序完全一樣,只是名稱不一樣,時序控制按照數(shù)字信號處理平臺設(shè)計所選的PR0M18給 的時序接口要求設(shè)計即可。
      如圖2所示,開始狀態(tài)一直是空閑狀態(tài),只有當(dāng)啟動控制信號8有效的時候,才會 啟動配置,由于用專用FPGA17下載線一般采用同步模式,所以不用該步,而PR0M18上電啟 動即為同步狀態(tài),所以必須為其配置為異步讀寫方式,否則無法進行操作,然后進行解鎖, 因為PR0M18內(nèi)部分塊的,可以根據(jù)需要更新程序需要的大小進行內(nèi)部存儲塊的解鎖,此時 需要地址控制程序模塊10對地址接口輸入存儲塊地址,解鎖完畢后,進行擦除處理,即只 擦剛才解鎖的存儲塊,沒有解鎖的塊無法擦除,擦除也是需要地址的,所有的塊擦除完畢后 即可對其進行FPGA17的更新程序數(shù)據(jù)下載了,此時通過PR0M18數(shù)據(jù)控制模塊11把數(shù)據(jù)都 寫入PR0M18中即可,寫入完畢后通過CRC進行數(shù)據(jù)校驗,檢驗完畢并正確即可結(jié)束更新程 序的下載,否則,需要重新下載。該過程屬于一片F(xiàn)PGA17如果是多片則逐個下載,或者一片 PROM18配置多片F(xiàn)PGA17也可以采用把所有FPGA17的程序安裝一定順序下載,并在程序中 加入相應(yīng)的分段處理即可。
      判斷擦除成功以及是否寫成功都是靠讀該存儲塊的狀態(tài)寄存器的值來判斷的,如 果讀出的狀態(tài)寄存器不對,則需要從新讀取,而且每次在重新讀取狀態(tài)寄存器的時候都要 清除狀態(tài)寄存器,否則所讀的值還是與上次的狀態(tài)寄存器一樣。
      產(chǎn)生所述的FPGA燒錄文件的程序主要是VHDL代碼或者verilog HDL代碼,這些代碼在附在所用實際程序里作為一個模塊即可為下次的程序更新做出接口。
      產(chǎn)生FPGA燒錄文件的程序主要是針對FPGA17的,所以本發(fā)明實現(xiàn)的時候是利用 VHDL寫的,也可以利用verilog HDL等相應(yīng)實現(xiàn)方式實現(xiàn)該程序,部分程序的偽代碼如下—fpga_L ---------------------------------------PR0M18的鎖存控制信號,輸出,低有效—FPGA_FCS---------------------------------------PR0M18的片選控制信號,輸出,低有效—FPGA_FWE---------------------------------------PR0M18的寫控制信號,輸出,低有效—FPGA_F0E---------------------------------------PR0M18的讀控制信號,輸出,低有效 —flash_D ---------------------------------------PR0M18的數(shù)據(jù)總線,雙向,16位寬—flash_A---------------------------------------PR0M18 的地址總線,輸出,位寬不定—down_st ---------------------------------------設(shè)置的下載啟動信號,輸入,聞有效—t ime_cnt ---------------------------------------設(shè)置的時間計數(shù),進行時間的控制,單位ns—data_reg ---------------------------------------讀數(shù)據(jù)寄存器,16位,存放讀取的數(shù)據(jù)—寫PROM數(shù)據(jù)%開始if down_st 為 ‘0’ 時do null ----null是不做任何事情else then do flash_D <=數(shù)據(jù);一需要寫入的數(shù)據(jù),〈=為賦值符號 flash_A〈=地址;一針對數(shù)據(jù)要寫的地址 fpga_L 為 ’ I’ ;FPGA_FCS 為 ’ I’ ;FPGA_FWE 為 ’ I’ ;FPGA_F0E 為 ’ I’ ; if time_cnt 為 15ns 時do fpga—L 為 ’ O’ ;FPGA—FCS 為 ’ O’ ; elsif(time—cnt 為 30ns)時do FPGA—FWE 為 ’ O’ ; elsif(time—cnt 為 60 ns)時do fpga—L 為 ’ I’ ;elsif(time_cnt 為 110 ns)時do FPGA—FWE 為 ’ I’ ;elsif(time—cnt 為 120 ns)時do FPGA—FCS 為 ’ I’ ;elsif(time_cnt 為 150 ns)時do fpga_L 為 ’ I’ ;FPGA_FCS 為 ’ I’ ;FPGA_FWE 為 ’ I’ ;FPGA_F0E 為 ’ I’ ;end if; end if;結(jié)束寫數(shù)據(jù)程序可以用來配置PR0M18異步讀寫方式、寫命令寄存器、寫配置數(shù)據(jù)等功能, 所以需要寫操作的地方都可以用該程序。
      -讀PROM數(shù)據(jù)(在讀數(shù)據(jù)之前要利用寫數(shù)據(jù)程序把讀數(shù)據(jù)的命令寫入)%開始if down—st 為 ‘0’ 時do null ----null是不做任何事情else then do flash—D <=高阻態(tài);flash—A〈=地址;一要讀的數(shù)據(jù)的地址 fpga—L 為 ’ I’ ;FPGA—FCS 為 ’ I’ ;FPGA—FWE 為 ’ I’ ;FPGA—FOE 為 ’ I’ ; if time_cnt 為 15ns 時do fpga—L 為 ’ 0’ ;FPGA—FCS 為 ’ 0’ ; elsif(time—cnt 為 30 ns)時do FPGA—FWE 為 ’ O’ ;elsif(time—cnt 為 60 ns)時do fpga_L 為 ’ I’ ;FPGA_F0E 為 ’ O’ ;elsif(time_cnt 為 70 ns)時do FPGA—FOE 為 ’ I’ ;FPGA—FCS 為 ’ I’ ; elsif(time—cnt 為 80 ns)時do data—reg <= flash—D; elsif(time_cnt 為 150ns)時do fpga_L 為 ’ I’ ;FPGA_FCS 為 ’ I’ ;FPGA_FWE 為 ’ I’ ;FPGA_F0E 為 ’ I’ ;end if; end if;結(jié)束讀數(shù)據(jù)程序可以用來讀取PR0M18的數(shù)據(jù),讀取寫狀態(tài)、擦除狀態(tài)等,凡是要進行數(shù)據(jù) 讀取的都可以用該程序。
      所述的啟動控制信號8主要由上位機及外部人為控制,上位機接口種類比較多, 在設(shè)計的時候需要進行串并轉(zhuǎn)換等,在FPGA17中,與上位機接口主要是數(shù)據(jù)接口與控制接 口,控制接口主要是啟動控制信號8,啟動有效后就可以作為數(shù)據(jù)接口,傳遞FPGA17程序數(shù) 據(jù)給FPGA17以及把FPGA17從PR0M18中讀出的狀態(tài)轉(zhuǎn)換成上位機能夠操作的簡單狀態(tài)通 過這些即可傳遞給上位機,這些簡單狀態(tài)如解鎖完畢、擦除完畢、寫數(shù)據(jù)成功、等待寫數(shù)據(jù) 等狀態(tài),這些傳輸給上位機(21)的狀態(tài)都用O和I編碼表示,這些編碼表示的狀態(tài)傳遞給 上位機,上位機根據(jù)這些狀態(tài)碼進行下一步的操作。
      如圖4所示,為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的上位 機21的軟件框圖,在本發(fā)明中,人機交互界面22、上層控制軟件23、控制與算法軟件24、底 層驅(qū)動軟件25組成了 X86架構(gòu)模塊15上位機21,人機交互界面22主要用來進行FPGA17 程序升級在線下載指令的啟動與配置狀態(tài)的顯示,上層控制軟件23與控制與算法軟件24 主要實現(xiàn)與底層驅(qū)動軟件25的通信,并控制底層驅(qū)動軟件25向FPGA接口發(fā)送相應(yīng)指令以 及數(shù)據(jù),同時還接收相關(guān)的下載狀態(tài)。
      如圖5所示,為本發(fā)明的數(shù)字信號處理平臺中FPGA程序升級在線下載方法的上位 機軟件設(shè)計流程圖。需要進行下載FPGA17更新程序時,人為操作人機交互界面22,然后人機交互界面22利用上位機21中的控制與算法軟件24計算出所要下載的程序的大小,通過 利用上層控制軟件23把這個數(shù)據(jù)大小的值通過底層驅(qū)動軟件25發(fā)給FPGA17,F(xiàn)PGA17通 過這個值來判斷需要解鎖與擦寫的PR0M18存儲空間的大小,然后上層控制軟件23再控制 底層驅(qū)動軟件25給FPGA17發(fā)送更新程序下載的啟動命令,即使得啟動控制信號8有效,然 后通過底層驅(qū)動軟件23讀解鎖狀態(tài),直到第一次發(fā)送對應(yīng)數(shù)據(jù)大小的PR0M18的空間都被 解鎖后,繼續(xù)讀取擦除狀態(tài),直到所需存儲空間都擦除,然后發(fā)送FPGA17的數(shù)據(jù),發(fā)送配置 數(shù)據(jù),發(fā)送一次配置數(shù)據(jù)后就需要讀一次寫狀態(tài),讀到寫狀態(tài)后要利用上層控制軟件23判 斷是否發(fā)送數(shù)據(jù)完畢,若不是則繼續(xù)發(fā)送、讀寫狀態(tài)、判斷是否發(fā)送完畢,若是則進入數(shù)據(jù) 校驗,數(shù)據(jù)校驗主要利用上位機21中的控制與算法軟件24進行CRC校驗,然后利用上層控 制軟件23判斷是否校驗完畢,若沒有完畢則根據(jù)實際情況進行操作,即校驗未完成則繼續(xù) 校驗,若完成但是失敗則需要重新進行一次下載(這種情況沒有遇到過,進行這種控制為了 預(yù)防這種情況的出現(xiàn)),若校驗完畢則需要根據(jù)上位機21中的操作選項判斷是否需要立即 把PR0M18中剛下載更新的程序配置到FPGA17中,若是則利用上層控制軟件23通過底層驅(qū) 動軟件23發(fā)送相應(yīng)的FPGA加載指令即可,然后進行相應(yīng)的功能操作,若不需要理解加載 FPGA18的程序,則直接結(jié)束,等待以后斷電重啟后這次更新的FPGA17的程序文件會自動從 PR0M18中加載。
      上位機21的人機交互界面具有板卡的選擇,配置中由于整個數(shù)字信號處理平臺 與這些板卡的通信有不同接口,所以具有接口選擇,同時由于一張板卡具有一個FPGA以 上,所以針對實際中數(shù)字信號處理平臺的需求,設(shè)計了兩個FPGA,根據(jù)程序的需求,設(shè)計了 立即配置等選項,為數(shù)字信號處理平臺中的所有FPGA配置提供了方便。
      權(quán)利要求
      1.一種數(shù)字信號處理平臺中FPGA程序升級在線下載方法,其特征是在FPGA上實現(xiàn),由硬件和控制軟件組成,硬件中的X86架構(gòu)模塊(15)通過通信總線(16)與FPGA (17)相連接,同時FPGA (17) 通過專用電路接口連接PROM (18), FPGA (17)的其他接口組成功能接口( 19),整個系統(tǒng)電壓由電源(20)供給;控制軟件中的上位機(21)軟件存儲在X86架構(gòu)模塊(15)中,實現(xiàn)對FPGA(17)的控制及通過FPGA(17)中的燒錄文件程序與PROM(18)的通信,并實現(xiàn)對PROM(18)進行FPGA更新程序的在線下載;控制軟件中的FPGA的燒錄文件程序需要加載在功能程序中預(yù)先下載,在需要在線下載FPGA的更新程序時啟動,配合上位機(21)完成FPGA更新程序的在線下載,具體操作步驟如下j).利用FPGA專用下載線下載FPGA燒錄文件到FPGA (17)的PROM (18)中; k).需要更新FPGA(17)的程序的時候,打開并啟動上位機(21)軟件,把需要下載的更新程序放入上位機(21)軟件中;I).上位機(21)中的控制與算法軟件(24)計算出要該FPGA更新程序的大小,上位機 (21)中的上層控制軟件(23)把數(shù)據(jù)大小的值通過底層驅(qū)動軟件(25)發(fā)給FPGA (17), FPGA (17)通過這個值來判斷解鎖與擦寫的PROM (18)存儲空間;m).上層控制軟件(23 )再控制底層驅(qū)動軟件(25 )進而啟動控制信號(8 )有效,通過底層驅(qū)動軟件(23)讀解鎖狀態(tài);η).擦除所需的PROM (18)空間,直到所需存儲空間都擦除; ο).發(fā)送配置數(shù)據(jù);P)讀出正確的寫數(shù)據(jù)狀態(tài),清除狀態(tài)寄存器,判斷是否達到數(shù)據(jù)大小的值,是則進入 h),否則轉(zhuǎn)回到f);q)進入數(shù)據(jù)校驗,上位機(21)中的控制與算法軟件(24)進行CRC校驗,然后上層控制軟件(23)判斷是否校驗完畢,若校驗未完成則繼續(xù)校驗,若完成但是校驗失敗則需要進入 e),否則進入下一步;r).上位機(21)軟件判斷是否需要立即把PROM (18)中在線下載的FPGA更新程序配置到FPGA (17)中,若是則利用上層控制軟件(23)通過底層驅(qū)動軟件(23)發(fā)送相應(yīng)的FPGA (17)加載指令,立即加載FPGA (18)的程序,否則無效啟動控制信號(8)直接結(jié)束在線下載。
      2.根據(jù)權(quán)利要求1所述的數(shù)字信號處理平臺中FPGA程序升級在線下載方法,其特征主要在于所述的PROM (18),其片選輸出(2)、鎖存輸出(3)、讀信號輸出(4)、寫信號輸出 (5)由控制信號程序模塊(9)產(chǎn)生,地址輸出(6)輸出由整體控制程序模塊(12)產(chǎn)生,數(shù)據(jù)接口(7)與PROM (18)進行數(shù)據(jù)交互,啟動控制信號(8)啟動配置信號,地址控制程序模塊 (10)把由整體控制程序模塊(12)產(chǎn)生,這些輸出按照PROM (18)的接口時序要求送出。
      3.根據(jù)權(quán)利要求1所述的數(shù)字信號處理平臺中FPGA程序升級在線下載方法,其特征主要在于所述的通信總線(16)包含串口總線、PCI總線(含CPCI總線)、PCIe總系(含 CPCIe總線)、ISA總線、10/100/1000以太網(wǎng)總線在內(nèi)的所有能使得X86架構(gòu)模塊(15)與 FPGA (17)進行數(shù)據(jù)通信的總線。
      4.根據(jù)權(quán)利要求3所述的數(shù)字信號處理平臺中FPGA程序升級在線下載方法,其特征主要在于所述的啟動控制信號(8)主要由上位機(21)軟件控制,啟動有效后就可以作為數(shù)據(jù)接口,傳遞需要下載的程序數(shù)據(jù)給FPGA (17),同時傳遞從PROM (18)中讀出的狀態(tài)數(shù)據(jù)給上位機(21)軟件,這些狀態(tài)數(shù)據(jù)保護解鎖完畢、擦除完畢、寫數(shù)據(jù)成功、等待寫數(shù)據(jù)狀態(tài),上位機(21)根據(jù)這些狀態(tài)碼進行下一步的操作。
      全文摘要
      本發(fā)明提供了一種數(shù)字信號處理平臺中FPGA程序升級在線下載方法,包含硬件和軟件兩部分,硬件由X86架構(gòu)模塊、通信總線、FPGA、PROM、功能接口、電源組成,X86架構(gòu)模塊通過通信總線與FPGA相連接,同時FPGA通過每個FPGA本身都具有的專用電路接口連接PROM,F(xiàn)PGA的其他功能接口組成功能接口,整個系統(tǒng)由電源供給;軟件主要由X86架構(gòu)模塊中的上位機以及FPGA中的程序,實現(xiàn)人機交互控制、FPGA程序的升級在線下載與校驗等。本發(fā)明充分結(jié)合了軟件無線電、衛(wèi)星通信等領(lǐng)域中數(shù)字信號處理平臺特點進行FPGA的程序升級更新,使得更新升級FPGA程序便捷容易,避免了拆裝產(chǎn)品、利用專用下載線下載等過程所需的大量時間,節(jié)省了設(shè)計成本,降低了設(shè)計復(fù)雜度,減輕了設(shè)計的工作量。
      文檔編號G06F9/445GK102999350SQ20121040782
      公開日2013年3月27日 申請日期2012年10月24日 優(yōu)先權(quán)日2012年10月24日
      發(fā)明者嚴(yán)發(fā)寶, 張京, 蘇艷蕊, 陳剛, 李廷凱, 陳航, 付斌, 周勇 申請人:綿陽市維博電子有限責(zé)任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1