專利名稱:一種fpga加載方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及DSP應(yīng)用,具體涉及一種FPGA加載方法及其裝置。
技術(shù)背景目前,現(xiàn)場(chǎng)可編程門陣列Field Programmable Gate Array (簡(jiǎn)稱FPGA)以 其內(nèi)部豐富的觸發(fā)器和外部眾多的I/O引腳成為現(xiàn)代數(shù)字應(yīng)用系統(tǒng)的"膠 水",它對(duì)于數(shù)字信號(hào)處理器Digital Singnal Processor (簡(jiǎn)稱DSP)芯片應(yīng)用 系統(tǒng)的作用也是如此,F(xiàn)PGA的可編程特性提升了 DSP的接口能力。FPGA 芯片內(nèi)部運(yùn)行的邏輯是以配置文件的形式保存在某種存儲(chǔ)介質(zhì)上,需要在加 電時(shí)進(jìn)行加載, 一般做法是將外部PROM中的數(shù)據(jù)通過(guò)串行方式主動(dòng)讀入 片內(nèi)配置RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢 復(fù)成白片,內(nèi)部邏輯關(guān)系消失。當(dāng)需要修改FPGA功能時(shí),只需換一片PROM 即可。在產(chǎn)品的研發(fā)過(guò)程會(huì)有多次的FPGA邏輯修改,特別在投產(chǎn)后因FPGA 的邏輯升級(jí),原已批量燒好的PROM芯片不得不廢棄,這種專用PROM — 次編程的特性和高昂的價(jià)格會(huì)帶來(lái)巨大的浪費(fèi),增加無(wú)謂的成本開銷。其實(shí)FPGA的加載還可以通過(guò)被動(dòng)串行方式來(lái)實(shí)現(xiàn)4巴配置文件存儲(chǔ)于 非易失存儲(chǔ)介質(zhì)FLASH上,可以實(shí)現(xiàn)多次擦寫,從而節(jié)省了大量的成本。 在一皮動(dòng)串行加載方式中, 一般采用通用I/O 口 General-Purpose Input/Output (簡(jiǎn)稱GPIO)腳來(lái)進(jìn)行,如圖1所示, 一共需要5個(gè)I/0腳,其中GPI01~2 用作加載過(guò)程的同步時(shí)鐘和數(shù)據(jù)輸出,GPI03用作配置文件數(shù)據(jù)加載的控制 腳,GPI04 5用作加載過(guò)程中的狀態(tài)查詢。在有同步串口的DSP上, GPI01 2腳可用同步串口來(lái)替代。但是這種方法會(huì)占用GPIO和同步串口資 源,GPIO在DSP應(yīng)用系統(tǒng)中屬于稀缺資源而且大多是復(fù)用管腳,可供使用 的并不多。而同步串口 MsBsp典型應(yīng)用是用來(lái)連接音頻AD和DA器件的, 結(jié)構(gòu)如圖2所示
發(fā)明內(nèi)容
本發(fā)明需要解決的技術(shù)問(wèn)題是提供一種FPGA加載方法及其裝置,能夠 使用被動(dòng)串行方式進(jìn)行加載,同時(shí)節(jié)省DSP的管腳資源。本發(fā)明的上述第一個(gè)技術(shù)問(wèn)題這樣解決,提供一種FPGA加載方法,數(shù) 字信號(hào)處理器通過(guò)自身同步串口 McBsp及其對(duì)應(yīng)引腳切換才莫塊選擇連接 FPGA或應(yīng)用器件,包括以下步驟U)在FPGA加載階段,切換所述引腳切換模塊連接FPGA,配置并利 用所述同步串口對(duì)FPGA進(jìn)行被動(dòng)串行方式加載;1.2)加載完成后,切換所述引腳切換模塊連接應(yīng)用器件,配置并利用所 述同步串口完成具體應(yīng)用。這樣充分利用FPGA的加載和McBsp的使用在時(shí)間上的先后順序關(guān)系, 對(duì)McBsp做一些改動(dòng)和配置,通過(guò)外部一些簡(jiǎn)單的電路,使其先在FPGA 加載階段配置為同步串口和GPIO的組合體;在FPGA加載完成之后,再把 McBsp恢復(fù)配置為正常串口使用。按照本發(fā)明提供的加載方法,所述應(yīng)用器件包括但不限制于是音頻數(shù)/ 模和模/數(shù)轉(zhuǎn)換器件、或T1成幀器和Tl解幀器、或El成幀器和El解幀器、 或高速串行總線HighWay交換器等等。按照本發(fā)明提供的加載方法,所述步驟1.2)中連接是所述同步串口中的 自定義CLKX、 DX、 FSX、 CLKR、 DR、 FSR腳分別對(duì)應(yīng)與數(shù)/才莫轉(zhuǎn)換器件 的DA—CLK、 DA一DIN、 DA一WCLK以及模/數(shù)轉(zhuǎn)換器件的AD一CLK、 AD—DOUT、 AD—WCLK扭p相連。按照本發(fā)明提供的加載方法,所述步驟l.l)中連接是所述同步串口中的 自定義CLKX、 DX、 CLKR、 DR、 FSR腳分別對(duì)應(yīng)與FPGA的LG—CLK、 LG—DIN、 PROGRAM、 DONE、 INIT腳相連。按照本發(fā)明提供的加載方法,所述被動(dòng)串行方式加載是數(shù)字信號(hào)處理器 讀取與其連接的非易失存儲(chǔ)介質(zhì)中的配置數(shù)據(jù)再利用所述同步串口對(duì) FGPA進(jìn)行加載。按照本發(fā)明提供的加載方法,所述引腳切換模塊是一組三態(tài)門;所述三
態(tài)門是同向或反向信號(hào)開關(guān),即切換前后信號(hào)方向不變或切換前后信號(hào)方 向改變的切換開關(guān)。按照本發(fā)明提供的加載方法,所述引腳切換模塊的切換通過(guò)與其連接的 FPGA的GPIO腳進(jìn)行控制,即FPGA的GPIO腳輸出兩種控制信號(hào)或一種 控制信號(hào)加無(wú)輸出。本發(fā)明的上述另一個(gè)技術(shù)問(wèn)題這樣解決,提供一種FPGA加載裝置,包 括數(shù)字信號(hào)處理器及與其連接的FPGA、應(yīng)用器件和保存配置數(shù)據(jù)的非易失 存儲(chǔ)介質(zhì),數(shù)字信號(hào)處理器通過(guò)自身同步串口及其對(duì)應(yīng)引腳切換模塊選擇連 接FPGA或音頻應(yīng)用器件。。按照本發(fā)明提供的加載裝置,所述應(yīng)用器件包括但不限制于是音頻數(shù)/ 模和模/數(shù)轉(zhuǎn)換器件、或ti成幀器和Tl解幀器、或El成幀器和El解幀器、 或高速串行總線HighWay交換器等等。按照本發(fā)明提供的加載裝置,所述引腳切換模塊是一組三態(tài)門,所述三 態(tài)門是同向或反向切換開關(guān),即切換前后信號(hào)方向不變或切換前后信號(hào)方 向改變的切換開關(guān)。本發(fā)明提供的FPGA加載方法及其裝置,與現(xiàn)有技術(shù)相比,有以下優(yōu)勢(shì)1. 充分利用McBsp的資源,不影響McBsp的正常使用;2. 減少對(duì)DSP的GPIO資源的浪費(fèi),本發(fā)明只需要1個(gè)GPIO腳用于三 態(tài)門的控制,而且這個(gè)10腳可以由FPGA提供;3. McBsp內(nèi)置有移位寄存器,減少了軟件的移位操作,提高了加載速度;4. 顯著減少專用PROM的成本開支。
下面結(jié)合附圖和具體實(shí)施例進(jìn)一 步對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。 圖1是FPGA被動(dòng)串行加載示意圖;圖2是DSP同步串口 McBsp和音頻A/D、D/A的典型連接關(guān)系示意圖; 圖3是根據(jù)本發(fā)明提供的FPGA加載裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖; 圖4是圖3所示裝置中引腳切換模塊中的同向切換開關(guān); 圖5是圖3所示裝置中引腳切換模塊中的反向切換開關(guān); 圖6是與圖3對(duì)應(yīng)的本發(fā)明FPGA加載方法流程示意圖。
具體實(shí)施方式
首先,說(shuō)明本發(fā)明基礎(chǔ)(-)如圖l所示,F(xiàn)PGA被動(dòng)串行加載方式該系統(tǒng)由負(fù)責(zé)加載的數(shù)字信 號(hào)處理器11和加載對(duì)象FPGA 12組成。LG—CLK和LG_DIN分別用作加載 的同步時(shí)鐘和數(shù)據(jù)輸入,F(xiàn)PGA配置文件以串行數(shù)據(jù)形式隨同步時(shí)鐘從數(shù)字 信號(hào)處理器11的管腳送出,1個(gè)clock發(fā)出lbit,以lbyte為單位;PROGRAM 用作配置數(shù)據(jù)加載的控制腳, 一個(gè)有一定寬度的低脈沖清空FPGA內(nèi)部的配 置RAM后才能進(jìn)行加載FPGA 12的4乘作;INIT和DONE用作加載過(guò)程中 的狀態(tài)查詢,在清空配置RAM后查詢INIT,用來(lái)判斷FPGA清空動(dòng)作是否 有效,加載完lbyte后查詢INIT,用以判斷加載數(shù)據(jù)是否有錯(cuò)。DONE變高 表示配置文件加載完成。仁)如圖2所示,數(shù)字信號(hào)處理器音頻應(yīng)用該系統(tǒng)中,數(shù)字信號(hào)處理器 11利用同步串口 McBsp中的發(fā)送端24與音頻D/A器件22相連,用以進(jìn)行 數(shù)字音頻到模擬音頻的轉(zhuǎn)換,所有的信號(hào)對(duì)于數(shù)字信號(hào)處理器11來(lái)說(shuō)都是 輸出的;數(shù)字信號(hào)處理器11利用同步串口 McBsp中的接收端25與音頻A/D 器件23相連,用以進(jìn)行模擬音頻到數(shù)字音頻的轉(zhuǎn)換,所有的信號(hào)對(duì)于數(shù)字 信號(hào)處理器11來(lái)說(shuō)都是輸入的。第二步,結(jié)合本發(fā)明具體實(shí)施例說(shuō)明本發(fā)明(-)對(duì)應(yīng)裝置該裝置,結(jié)構(gòu)如圖3所示,由數(shù)字信號(hào)處理器ll、引腳切換模塊32、 引腳連線33、切換控制單元34組成。數(shù)字信號(hào)處理器11負(fù)責(zé)對(duì)McBsp管 腳的配置以及數(shù)據(jù)的收發(fā),在FPGA加載階段,McBsp是同步串口和GPIO 的組合體,發(fā)送端工作于同步串口方式,用作數(shù)據(jù)的發(fā)送,而接收端作GPIO 用來(lái)控制和狀態(tài)查詢。加載完成后McBsp恢復(fù)成正常串口工作模式,進(jìn)行 音頻數(shù)據(jù)的收發(fā),其引腳CLKS接入外部時(shí)鐘。引腳切換模塊32用以加載 和非加載階段連接管腳的切換,在上電缺省和加載階段McBsp的相關(guān)管腳 與FPGA加載的相關(guān)管腳連接,具體而言McBsp的CLKX、 DX、 CLKR、 DR、 FSR與FPGA的LG—CLK、 LG—DIN、 PROGRAM、 DONE、 INIT相連, 加載完成后McBsp與AD、DA的相關(guān)管腳連接,具體而言McBsp的CLKX、 DX、 FSX分別與DA—CLK、 DA—DIN、 DA—WCLK相連,CLKR、 DR、 FSR 分別與AD—CLK、 AD—DOUT、 AD—WCLK相連。對(duì)于切換前后信號(hào)方向不 變的切換開關(guān),如圖4所示,使用三態(tài)門組合321,對(duì)于信號(hào)方向改變的切 換開關(guān),如圖5所示,使用三態(tài)門組合322。切換控制單元34用于管腳切 換的控制,上電缺省和加載階段為高電平,此時(shí)切換控制用GPIO無(wú)輸入信 號(hào),加載完成后切換控制用GPIO置0確保低電平以完成引腳切換模塊32 的整體切換;該切換控制用GPIO可以是被加載FPGA上的一個(gè)GPIO腳。 (二)工作原理該裝置的工作流程,如圖6所示,包括以下步驟4002 )初始化DSP的I/O管腳,確保McBsp和FPGA的相關(guān)管相連;4004 )配置McBsp收方向端口為GPIO,設(shè)定各管腳的方向;4006 )置低PROGRAM,對(duì)FPGA配置RAM進(jìn)行清零,低狀態(tài)維持一 段時(shí)間;4008)置高PROGRAM;4010)等待50 75us,等配置RAM清零完成;4012)查詢INIT管腳是否為高,為高說(shuō)明配置RAM清零操作成功, 否則失敗需要跳至步驟4006),重新進(jìn)行配置RAM的清零操作;4014)配置RAM清零操作完成,開始FPGA的加載;4016)從加載文件中讀入lbyte,寫入發(fā)送寄存器;4018 ) DSP的I/O腳逐bit輸出配置文件數(shù)據(jù),本例中的I/O為McBsp 發(fā)送端的DX腳;4020)發(fā)送完lbyte后,查詢INIT管腳是否為高,為高說(shuō)明配置文件數(shù) 據(jù)寫入成功轉(zhuǎn)至步驟4022 )執(zhí)行,否則寫入過(guò)程有錯(cuò)誤需要跳至步驟4006 ),
重新進(jìn)行配置RAM清零操作;4022),查詢DONE管腳是否為高,為高說(shuō)明配置文件數(shù)據(jù)寫入結(jié)束 轉(zhuǎn)至步驟4024)執(zhí)行,否則寫入過(guò)程沒有結(jié)束需要跳至步驟4016),繼續(xù) 加載配置文件;4024) FPGA配置文件加載完畢,F(xiàn)PGA啟動(dòng),可以輸出向切換控制單 元304輸出低電平;4026 )切換McBsp與音頻AD/DA器件相連接;4028 )配置McBsp恢復(fù)正常串口工作模式。
權(quán)利要求
1、一種FPGA加載方法,其特征在于,數(shù)字信號(hào)處理器(11)通過(guò)自身同步串口及其對(duì)應(yīng)引腳切換模塊(32)選擇連接FPGA(12)或應(yīng)用器件,包括以下步驟1.1)在FPGA加載階段,切換所述引腳切換模塊(32)連接FPGA,配置并利用所述同步串口對(duì)FPGA(12)進(jìn)行被動(dòng)串行方式加載;1.2)加載完成后,切換所述引腳切換模塊(32)連接應(yīng)用器件,配置并利用所述同步串口完成具體應(yīng)用。
2、 根據(jù)權(quán)利要求1所述加載方法,其特征在于,所述應(yīng)用器件是音 頻數(shù)/才莫(22)和一莫/數(shù)(23)轉(zhuǎn)換器件,或者成幀器和解幀器。
3、 根據(jù)權(quán)利要求2所述加載方法,其特征在于,所述步驟1.2)中連 接是所述同步串口中的自定義CLKX、 DX、 FSX、 CLKR、 DR、 FSR腳分 別對(duì)應(yīng)與數(shù)/模轉(zhuǎn)換器件(22)的DA—CLK、 DA—DIN、 DA—WCLK以及模/數(shù)轉(zhuǎn) 換器件(23)的AD—CLK、 AD—DOUT、 AD WCLK腳相連。
4、 根據(jù)權(quán)利要求3所述加載方法,其特征在于,所述步驟l.l)中連 接是所述同步串口中的自定義CLKX、 DX、 CLKR、 DR、 FSR腳分別對(duì)應(yīng) 與FPGA的LG—CLK、 LG—DIN、 PROGRAM、 DONE、 INIT腳相連。
5、 根據(jù)權(quán)利要求1所述加載方法,其特征在于,所述被動(dòng)串行方式 加載是數(shù)字信號(hào)處理器(ll)讀取與其連接的非易失存儲(chǔ)介質(zhì)中的配置數(shù)據(jù) 再利用所述同步串口對(duì)FPGA(12)進(jìn)行加載。
6、 根據(jù)權(quán)利要求1所述加載方法,其特征在于,所述引腳切換模塊 (32)是一組三態(tài)門;所述三態(tài)門是同向(321)或反向(322)切換開關(guān)。
7、 根據(jù)權(quán)利要求6所述加載方法,其特征在于,所述引腳切換模塊 的切換通過(guò)與其連接的FPGA的GPIO腳進(jìn)行控制。
8、 一種FPGA加載裝置,包括數(shù)字信號(hào)處理器(ll)及與其連接的 FPGA(12)、應(yīng)用器件和保存配置數(shù)據(jù)的非易失存儲(chǔ)介質(zhì),其特征在于,數(shù) 字信號(hào)處理器(ll)通過(guò)自身同步串口及其對(duì)應(yīng)引腳切換模塊(32)選擇連接 FPGA(12)或應(yīng)用器件。
9、 根據(jù)權(quán)利要求1所述加載裝置,其特征在于,所述應(yīng)用器件是音 頻數(shù)/模(22)和模/數(shù)(23)轉(zhuǎn)換器件,或者成幀器和解幀器。
10、 根據(jù)權(quán)利要求1所述加載裝置,其特征在于,所述引腳切換模塊 (32)是一組三態(tài)門,所述三態(tài)門是同向(321 )或反向(322)切換開關(guān)。
全文摘要
本發(fā)明涉及一種FPGA加載方法及其裝置,其中裝置包括數(shù)字信號(hào)處理器(11)及與其連接的FPGA(12)、應(yīng)用器件和保存配置數(shù)據(jù)的非易失存儲(chǔ)介質(zhì),其中數(shù)字信號(hào)處理器(11)通過(guò)自身同步串口及其對(duì)應(yīng)引腳切換模塊(32)選擇連接FPGA或應(yīng)用器件;其中方法包括在FPGA加載階段,切換引腳切換模塊(32)連接FPGA,配置并利用所述同步串口對(duì)FPGA(12)進(jìn)行被動(dòng)串行方式加載;加載完成后,切換引腳切換模塊(32)連接應(yīng)用器件,配置并利用所述同步串口完成具體應(yīng)用。這種方法及其裝置充分利用同步串口資源,不影響其正常使用,同時(shí)減少對(duì)DSP的GPIO資源浪費(fèi),提高加載速度并顯著降低使用專用PROM的成本開支。
文檔編號(hào)G06F13/40GK101127027SQ20071015410
公開日2008年2月20日 申請(qǐng)日期2007年9月12日 優(yōu)先權(quán)日2007年9月12日
發(fā)明者鵬 丁, 丁元欣, 于京濤, 蘇傳朋, 軍 苗, 笑 譚 申請(qǐng)人:中興通訊股份有限公司