專利名稱:一種單片flash啟動多用戶程序模塊的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及計算機(jī)啟動技術(shù),具體為ー種單片F(xiàn)LASH啟動多用戶程序模塊。該模塊主要用于大量數(shù)據(jù)運(yùn)算處理的數(shù)字系統(tǒng),如圖像識別、信號分析等領(lǐng)域。
背景技術(shù):
隨著信息技術(shù)高速發(fā)展,智能化自動控制系統(tǒng)已經(jīng)成為趨勢。預(yù)設(shè)程序的存儲和程序載入成了各個智能化自動控制系統(tǒng)無法避免的問題。RAM性質(zhì)的存儲器無法滿足掉電不丟失數(shù)據(jù)的要求,只有ROM類的器件才能支持掉電后數(shù)據(jù)不丟失,其中FLASH廣泛被用于嵌入式系統(tǒng)的程序存儲。在單個CPU數(shù)字系統(tǒng)中,ー個CPU芯片需要ー個FLASH為其存儲程序。如果系統(tǒng)內(nèi)需要使用現(xiàn)場可編譯門陣列(即FPGA),則需要一個專用的EEPROM作為FPGA的配置芯片。在一些圖像識別和信號處理等大量數(shù)據(jù)處理的數(shù)字系統(tǒng)中,單CPU數(shù)字系統(tǒng)無法應(yīng)對大數(shù)據(jù)量的處理工作。如果ー套系統(tǒng)內(nèi)只采用單CPU板卡,大工作量的數(shù)據(jù)處理就需要多個CPU,造成板卡過多,數(shù)據(jù)在各個單板間傳輸過多等弊端。因此多CPU數(shù)字系統(tǒng)逐步成為ー種不可避免的必然趨勢。多CPU和多FPGA系統(tǒng)所需的FLASH芯片的數(shù)量過多。每個FLASH和EEPROM都需要ー個BIN文件或HEX文件,都要進(jìn)行一次程序燒寫。程序文件過多容易給使用者造成程序燒寫上的混亂,不便于用戶在程序上的管理。芯片數(shù)量過多也會增加產(chǎn)品成本。在高集成度的高速嵌入式系統(tǒng)中,單片F(xiàn)LASH啟動多用戶程序變得尤為重要。
發(fā)明內(nèi)容針對現(xiàn)有技術(shù)的不足,本實(shí)用新型擬解決的技術(shù)問題是,提供一種單片F(xiàn)LASH啟動多用戶程序模塊。使用該模塊,用戶只需要給FLASH芯片寫入ー個程序文件,上電啟動吋,多個CPU就會依次從FLASH芯片內(nèi)的不同存儲區(qū)域加載相應(yīng)用戶程序。本實(shí)用新型具有FLASH芯片使用數(shù)量少,成本節(jié)省,板內(nèi)PCB空間大,結(jié)構(gòu)簡單,可調(diào)性強(qiáng),程序燒寫方便等特點(diǎn)。本實(shí)用新型解決所述技術(shù)問題的技術(shù)解決方案是設(shè)計ー種單片F(xiàn)LASH啟動多用戶程序模塊,其特征在于該模塊包括一個可編程器件和一個與之相連的FLASH芯片,F(xiàn)LASH芯片內(nèi)分有多個用戶程序存儲區(qū)域和ー個公共程序存儲區(qū)域,每個用戶程序存儲區(qū)域內(nèi)存儲ー個相應(yīng)的用戶程序,公共程序存儲區(qū)域內(nèi)存儲ー個相應(yīng)的EEPROM程序;所述可編程器件可并行接入有多個CPU和FPGA,實(shí)現(xiàn)所述FLASH芯片內(nèi)的公共程序存儲區(qū)域?qū)?yīng)FPGA,每ー個用戶程序存儲區(qū)域分別對應(yīng)ー個CPU ;可編程器件內(nèi)設(shè)計有總線切換模塊,可將FLASH芯片內(nèi)多個用戶程序存儲區(qū)域內(nèi)的用戶程序依次分別傳輸給其對應(yīng)的多個CPU,并把EEPROM程序傳輸給其對應(yīng)的FPGA。與現(xiàn)有技術(shù)相比,本實(shí)用新型模塊利用可編程器件的可編程性,形成一個總線切換模塊,依次切換并將FLASH里不同存儲區(qū)域的程序傳輸給FPGA及依次傳輸給每個CPU,確保單片F(xiàn)LASH芯片可以加載多個CPU及FPGA。本實(shí)用新型模塊減少了 FLASH芯片的數(shù)量,節(jié)省了成本,節(jié)約了板內(nèi)的PCB空間,且具有結(jié)構(gòu)簡單,可調(diào)性強(qiáng),程序燒寫方便等特點(diǎn),特別是只需要ー個FLASH程序文件就可以給多個CPU燒寫程序,方便了用戶的使用,該優(yōu)點(diǎn)在高速復(fù)雜的系統(tǒng)中尤為突出。
圖I是本實(shí)用新型單片F(xiàn)LASH啟動多用戶程序模塊的結(jié)構(gòu)框圖。圖2是本實(shí)用新型單片F(xiàn)LASH啟動多用戶程序模塊上電后各個CPU和FPGA的啟動加載程序的流程圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例及其附圖對本實(shí)用新型進(jìn)ー步詳細(xì)說明。本實(shí)用新型設(shè)計的單片F(xiàn)LASH啟動多用戶程序模塊(簡稱模塊,參見圖1、2),其特 征在于該模塊包括一個可編程器件I和一個與之相連的FLASH芯片2,所述FLASH芯片2內(nèi)分有多個用戶程序存儲區(qū)域21、22……2n和ー個公共程序存儲區(qū)域20,每個用戶存儲區(qū)域內(nèi)存儲ー個相應(yīng)的用戶程序,公共程序存儲區(qū)域內(nèi)存儲ー個相應(yīng)的EEPROM程序;所述可編
程器件可并行接入有多個CPU31、CPU32......CPU3n和ー個FPGA30 ;實(shí)現(xiàn)所述FLASH芯片2內(nèi)
的公共程序存儲區(qū)域20對應(yīng)FPGA30,每ー個用戶程序存儲區(qū)域分別對應(yīng)ー個CPU,即用戶程序存儲區(qū)域21對應(yīng)CPU31,用戶程序存儲區(qū)域22對應(yīng)CPU32,以此類推,最后ー個用戶程序存儲區(qū)域2n對應(yīng)最后ー個CPU3n ;可編程器件I內(nèi)設(shè)計有總線切換模塊,可將FLASH芯片內(nèi)多個用戶程序存儲區(qū)域內(nèi)的用戶程序依次分別傳輸給其對應(yīng)的多個CPU,并把EEPROM程序傳輸給其對應(yīng)的FPGA。本實(shí)用新型模塊所述的CPU31、CPU32……和CPU3n可以是PowerPC、ARM單片機(jī)或DSP等中央處理器芯片。該類芯片用于運(yùn)算數(shù)據(jù)和控制整板功能,但自身沒有掉電存儲功能,需要用FLASH芯片2的掉電存儲功能的存儲器來存儲數(shù)據(jù)。系統(tǒng)開機(jī)上電復(fù)位以后,可以從該FLASH芯片2中讀取掉電存儲的數(shù)據(jù)。本實(shí)用新型模塊所述的FPGA30是現(xiàn)場可編程門陣列器件。FPGA30不帶有RAM型的存儲器,且FPGA30啟動需要加載程序。一般的FPGA30都需要ー個EEPROM作為它的配置芯片,本實(shí)用新型也同樣。當(dāng)模塊上電系統(tǒng)復(fù)位后,F(xiàn)PGA30可從EEPROM中讀取相應(yīng)程序。本實(shí)用新型模塊所述的可編程器件I即CPLD,用于控制和切換FPGA30、CPU31、CPU32……和CPU3n,保證這n個裝置按次序依次加載FLASH芯片2中的相應(yīng)程序。可編程器件I還用于切換FLASH芯片2內(nèi)的不同用戶程序存儲區(qū)域,用以將不同用戶程序存儲區(qū)域內(nèi)存儲的程序載入相應(yīng)的CPU內(nèi)。本實(shí)用新型模塊所述的FLASH芯片2,可選用相對大容量的NAND FLASH芯片。FLASH芯片2內(nèi)部可分成若干存儲區(qū)域,用于存儲FPGA30、CPU31、CPU32……和CPU3n的程序。在可編程器件I的作用下,可切換FLASH芯片2內(nèi)的不同用戶程序存儲區(qū)域。本實(shí)用新型模塊是一種基于可編程器件I對多個CPU和ー個FPGA從FLASH芯片2加載程序過程的自動控制。其設(shè)計思路是用一片相對大容量的FLASH芯片代替為各個CPU加載程序的小容量FLASH和為FPGA加載程序的EEPROM芯片,將多個CPU及ー個FPGA并行接入可編程器件的ー邊,可編程器件的另ー邊連接FLASH芯片,可編程器件將FLASH芯片內(nèi)不同存儲區(qū)域的程序?qū)?yīng)傳輸給FPGA及依次分別傳輸給每ー個CPU。其工作原理和過程如下系統(tǒng)上電復(fù)位后,F(xiàn)PGA30首先提出申請加載,可編程器件I允許,并將FLASH芯片2的存儲區(qū)域20切到FPGA30上,將存儲區(qū)域20內(nèi)存儲的FPGA30程序加載到FPGA30上。程序加載完畢后,F(xiàn)PGA30撤離可編程器件1,并釋放FPGA30的程序加載完畢標(biāo)志位,可編程器件I等待下ー個設(shè)備申請加載。如果3秒鐘(即3s)未釋放FPGA30的標(biāo)志位,則有可能是FPGA30損壞,無法加載程序。長時間無法加載程序,無法釋放標(biāo)志位會,造成程序死機(jī),后面的器件也無法加載程序。所以必須等待一定時間(即3s)后,如未釋放標(biāo)志位,則FPGA30將自動撤離可編程器件I。在FPGA30釋放標(biāo)志位之后,CPU31馬上申請加載,可編程器件I允許,并將FLASH芯片2的存儲區(qū)域21切換到CPU31上,將存儲區(qū)域21存儲的CPU31的程序加載CPU31上。程序加載完畢后,CPU31撤離可編程器件1,并釋放CPU31加載完畢標(biāo)志位,可編程器件I等待下ー個設(shè)備申請加載。同樣,如果3秒鐘CPU31的標(biāo)志位未釋放,CPU31將自動脫離可編程器件I。在CPU31釋放標(biāo)志位之后,CPU32馬上申請加載,可編程器件I允許,并將FLASH芯片2的存儲區(qū)域22切換到CPU32上,將存儲區(qū)域22存儲的CPU32的程序加載CPU32上。程序加載完畢后,CPU32撤離可編程器件1,并釋放CPU32加載完畢標(biāo)志 位,可編程器件I等待下ー個設(shè)備申請加載。如果3秒鐘CPU32標(biāo)志位未釋放,CPU32將自動脫離可編程器件I。以此類推,這樣就構(gòu)成了單片F(xiàn)LASH在可編程器件的控制下啟動多CPU和FPGA的過程。待所有的CPU和FPGA都加載完各自相應(yīng)的程序后,各個CPU仍然可以讀取并擦除整片F(xiàn)LASH。本實(shí)用新型利用可編程器件1,編寫ー個雙向切換的總線橋接模塊,ー邊將各個CPU和FPGA等需要加載程序的器件進(jìn)行切換,ー邊將FLASH芯片2分成的多個存儲區(qū)域進(jìn)行依次切換,并橋接起來,統(tǒng)ー控制,按照預(yù)編流程(參見圖2)—邊切換各個CPU和FPGA,一邊切換FLASH芯片2的各個存儲區(qū)域,直至完成所有程序加載。本實(shí)用新型未述及之處適用于現(xiàn)有技木。以上實(shí)施例僅是對本實(shí)用新型總線切換具體應(yīng)用例子,并不限制本申請權(quán)利要求。凡是在本申請權(quán)利要求技術(shù)方案上進(jìn)行的修改和非本質(zhì)改進(jìn)的,均在本申請權(quán)利要求保護(hù)范圍之內(nèi)。
權(quán)利要求1.一種單片F(xiàn)LASH啟動多用戶程序模塊,其特征在于該模塊包括一個可編程器件和一個與之相連的FLASH芯片,F(xiàn)LASH芯片內(nèi)分有多個用戶程序存儲區(qū)域和一個公共程序存儲區(qū)域,每個用戶程序存儲區(qū)域內(nèi)存儲一個相應(yīng)的用戶程序,公共程序存儲區(qū)域內(nèi)存儲一個相應(yīng)的EEPROM程序;所述可編程器件可并行接入有多個CPU和一個FPGA,實(shí)現(xiàn)所述FLASH芯片內(nèi)的公共程序存儲區(qū)域?qū)?yīng)FPGA,每一個用戶程序存儲區(qū)分別對應(yīng)一個CPU ;可編程器件內(nèi)設(shè)計有總線切換模塊,可將FLASH芯片內(nèi)多個用戶程序存儲區(qū)域內(nèi)的用戶程序依次分別傳輸給其對應(yīng)的多個CPU,并把EEPROM程序傳輸給其對應(yīng)的FPGA。
2.根據(jù)權(quán)利要求I所述單片F(xiàn)LASH啟動多用戶程序模塊,其特征在于所述的CPU是PowerPC、ARM單片機(jī)或DSP中央處理器芯片。
3.根據(jù)權(quán)利要求I所述單片F(xiàn)LASH啟動多用戶程序模塊,其特征在于所述的FLASH芯片選用相對大容量的NAND FLASH芯片。
4.根據(jù)權(quán)利要求I所述單片F(xiàn)LASH啟動多用戶程序模塊,其特征在于所述的FPGA是現(xiàn)場可編程門陣列器件。
專利摘要本實(shí)用新型公開一種單片F(xiàn)LASH啟動多用戶程序模塊,其特征在于該模塊包括一個可編程器件和一個與之相連的FLASH芯片,F(xiàn)LASH芯片內(nèi)分有多個用戶程序存儲區(qū)域和一個公共程序存儲區(qū)域,每個用戶程序存儲區(qū)域內(nèi)存儲一個相應(yīng)的用戶程序,公共程序存儲區(qū)域內(nèi)存儲一個相應(yīng)的EEPROM程序;所述可編程器件可并行接入有多個CPU和一個FPGA,實(shí)現(xiàn)所述FLASH芯片內(nèi)的公共程序存儲區(qū)域?qū)?yīng)FPGA,每一個用戶程序存儲區(qū)分別對應(yīng)一個CPU;可編程器件內(nèi)設(shè)計有總線切換模塊,可將FLASH芯片內(nèi)多個用戶程序存儲區(qū)域內(nèi)的用戶程序依次分別傳輸給其對應(yīng)的多個CPU,并把EEPROM程序傳輸給其對應(yīng)的FPGA。
文檔編號G06F9/445GK202548824SQ20122019454
公開日2012年11月21日 申請日期2012年5月3日 優(yōu)先權(quán)日2012年5月3日
發(fā)明者劉炳坤, 姚琳, 寧立革, 張凱, 蔡勇 申請人:天津市英貝特航天科技有限公司