謝林峰,何敏,李文鑫
(四川九洲電器集團有限責(zé)任公司,四川綿陽,621000)
基于FPGA+DSP架構(gòu)的通用信息處理板作為信息處理的核心和標(biāo)準(zhǔn)模塊,用它進(jìn)行信息處理等應(yīng)用層面的開發(fā)能夠在縮短開發(fā)周期、降低成本、提高產(chǎn)品可靠性方面起到重要作用,因而在信息處理中得到了廣泛的應(yīng)用[1]。由于基于FPGA+DSP架構(gòu)的通用信息處理板的核心器件均采用了BGA封裝的芯片,依照現(xiàn)在的工藝水平,在焊接過程中管腳極易出現(xiàn)粘連的情況[2],加之通用信息處理板上用于存儲數(shù)據(jù)的FLASH和用于運行程序的SDRAM也極易出現(xiàn)粘連壞塊的情況,導(dǎo)致存儲數(shù)據(jù)丟失或程序無法正常運行。
目前針對基于FPGA+DSP架構(gòu)的通用信息處理板出現(xiàn)使用異常的情況,主要通過X射線對器件的所有管腳進(jìn)行觀察后重新進(jìn)行焊接[3]。但是目前X射線僅限于檢測連焊和空洞等有限的集中缺陷的檢測,不能覆蓋全部BGA焊接缺陷;同時缺乏檢測標(biāo)準(zhǔn)[4]。針對上述情況,通過搭建完整的硬件檢測系統(tǒng),能夠?qū)崿F(xiàn)有針對性的對關(guān)鍵器件焊接異常情況進(jìn)行快速的排查,在提升DSP+FPGA通用處理平臺的可靠性和后續(xù)應(yīng)用開發(fā)效率的同時,對焊接工藝也具有一定的指導(dǎo)意義。
基于FPGA+DSP架構(gòu)的通用信息處理板的原理圖如圖1所示,圖1顯示出通用信息處理板的對外通用輸入輸出接口(GPIO)由FPGA的管腳引出,與外圍接口/設(shè)備實現(xiàn)通信。同時,圖1也顯示了通用信息處理板內(nèi)部核心器件(IC)間的互連關(guān)系,F(xiàn)PGA通過Bank IO與DSP的EMIFB口互連;配置FPGA、存儲DSP程序和存儲數(shù)據(jù)等信息的FLASH通過并行總線與FPGA的管腳互連;運行DSP程序的SDRAM通過并行線與DSP的EMIFA口互連[5]。
圖1 通用信息處理板的原理圖
根據(jù)通用信息處理板的原理,采用外圍指示設(shè)備(LED燈)指示的方法來實現(xiàn)對通用信息處理板的檢測,檢測的項目和流程如下。
通用信息處理板的GPIO口與外圍LED燈逐一相連的示意圖如圖2所示。
圖2 通用信息處理板的GPIO口與外圍LED相連的示意圖
檢測過程中,F(xiàn)PGA產(chǎn)生的信號依次送出高電平到GPIO口,外圍LED燈逐一被點亮。若出現(xiàn)多個LED燈同時被點亮則說明引出GPIO口的FPGA管腳存在粘連;若出現(xiàn)LED該亮而不亮的情況,說明引出GPIO口的FPGA管腳損壞(粘連接地)或者該鏈路通信不暢通。根據(jù)分析所得的FPGA引腳的粘連情況,詳細(xì)檢測方案如下。
1.1.1 FPGA外部管腳間的粘連及檢測
FPGA外部管腳(引至外部插座處管腳,管腳的端口屬性為:OUT)之間的粘連情況如圖3所示,端口1輸入高電平,端口2輸入為高阻態(tài)“Z”,正常情況下LED1亮,而LED2不亮,若端口1與端口2出現(xiàn)粘連,則LED1和LED2都亮;若端口1或端口2與Vcc粘連,則對應(yīng)的LED燈常亮;若端口1或端口2與GND粘連,則對應(yīng)的LED燈常滅(若出現(xiàn)鏈路不通的情況,也會出現(xiàn)對應(yīng)的LED常滅的現(xiàn)象)。
圖3 FPGA外部管腳之間的粘連情況示意圖
根據(jù)以上分析,依次給FPGA外部管腳送出高電平,F(xiàn)PGA引至插座處的其他所有管腳都為高阻態(tài)“Z”,正常情況下只有一個LED燈亮,其他LED燈都不亮。若FPGA外部管腳之間存在粘連則與之相連的LED都會亮;若FPGA外部管腳存在與Vcc粘連,則對應(yīng)的LED燈會常量;若FPGA外部管腳存在與地粘連,則對應(yīng)的LED燈會常滅。
1.1.2 FPGA內(nèi)部管腳間的粘連及檢測
FPGA內(nèi)部管腳(沒有引至外部插座處的管腳,管腳的端口屬性為:INOUT)之間的粘連情況如圖4所示,端口3通過端口1與LED1燈相連,端口4通過端口2與LED2燈相連。端口3輸入高電平,端口4輸入為高阻態(tài)“Z”,正常情況下LED1亮,而LED2不亮;若端口3與端口4出現(xiàn)粘連,則LED1和LED2都亮;端口3與Vcc或GND粘連,LED1燈的亮滅不受影響;若端口4與Vcc粘連,則對應(yīng)的LED2燈常亮;若端口4與GND粘連,則對應(yīng)的LED2燈常滅。
圖4 FPGA內(nèi)部管腳之間的粘連情況示意圖
根據(jù)以上分析,依次給FPGA內(nèi)部管腳送出高電平,F(xiàn)PGA內(nèi)部的其他所有管腳都為高阻態(tài)“Z”,正常情況下只有一個LED燈亮,其他LED燈都不亮。若FPGA內(nèi)部管腳之間存在粘連則與之相連的LED都會亮;若FPGA內(nèi)部管腳存在與Vcc粘連,則對應(yīng)的LED燈會常量;若FPGA引至插座處的管腳存在與地粘連,則對應(yīng)的LED燈會常滅。
1.1.3 FPGA外內(nèi)部管腳間的粘連及檢測
FPGA外部管腳與內(nèi)部管腳的粘連情況如圖5所示, 端口4通過端口2與LED2燈相連。端口1輸入高電平,端口4輸入為高阻態(tài)“Z”,正常情況下LED1亮,而LED2不亮;若端口1與端口4出現(xiàn)粘連,則LED1和LED2都亮;若端口4與Vcc粘連,則對應(yīng)的LED2燈常亮;若端口4與GND粘連,則對應(yīng)的LED2燈常滅。根據(jù)以上分析,依次給FPGA內(nèi)部管腳送出高電平,F(xiàn)PGA內(nèi)部的其他所有管腳都為高阻態(tài)“Z”,正常情況下只有一個LED燈亮,其他LED燈都不亮。若FPGA內(nèi)部管腳之間存在粘連則與之相連的LED都會亮;若FPGA內(nèi)部管腳存在與Vcc粘連,則對應(yīng)的LED燈會常量;若FPGA引至插座處的管腳存在與地粘連,則對應(yīng)的LED燈會常滅。
圖5 FPGA外部管腳與內(nèi)部管腳的粘連情況示意圖
通用信息處理板的FPGA與DSP EMIFB口相連的示意圖如圖6所示[6]。DSP產(chǎn)生一組信號,將DSP EMIFB口的 21位的地址線全部置零,將16根數(shù)據(jù)線由高位到低位依次送出高電平至與FPGA相連的管腳,經(jīng)FPGA內(nèi)部轉(zhuǎn)換后通過鏈路1從通用信息處理板的GPIO口輸出來控制外部LED燈的點亮情況,若出現(xiàn)多個LED燈同時被點亮則說明與DSP相連的FPGA管腳存在粘連;若出現(xiàn)LED該亮而不亮的情況,說明與DSP相連的FPGA管腳損壞或者鏈路2通信不暢通。同理,將DSP EMIFB口的 16位的數(shù)據(jù)線全部置零,將21根地址線由高位到低位依次送出高電平至與FPGA相連的管腳,經(jīng)FPGA內(nèi)部轉(zhuǎn)換后通過鏈路1從通用信息處理板的GPIO口輸出,依照上述方法觀察LED的點亮情況來判斷故障。
圖6 通用信息處理板的FPGA與DSP相連的示意圖
通用信息處理板的FLASH與FPGA相連的示意圖如圖7所示。在DSP的協(xié)同配合下,通過FPGA構(gòu)建DSP與FLASH的數(shù)據(jù)鏈路,運行DSP程序?qū)LASH進(jìn)行擦出、讀寫等操作,并將檢測結(jié)果自行顯示。
圖7 通用信息處理板的FPGA與FASH相連的示意圖
通用信息處理板的SDRAM與DSP EMIFA口相連的示意圖如圖8所示。DSP作為主動設(shè)備程序?qū)DRAM的存儲空間逐一進(jìn)行擦出、讀寫等操作[7],并將檢測結(jié)果通過FPGA構(gòu)建DSP與外圍(指示)設(shè)備(LED燈)的數(shù)據(jù)鏈路自行顯示。
圖8 通用信息處理板的SDRAM與DSP相連的示意圖
根據(jù)對DSP+FPGA通用處理平臺硬件檢測系統(tǒng)的設(shè)計思路開展了軟硬件的設(shè)計工作,基于設(shè)計的硬件檢測系統(tǒng)搭建的測試平臺如圖9所示。
圖9 檢測通用信息處理板的硬件測試平臺
開發(fā)的檢測硬件搭建對DSP+FPGA通用處理板的檢測系統(tǒng),通過加載不同的檢測程序?qū)崿F(xiàn)了對DSP+FPGA通用處理板所有關(guān)鍵器件(如FPGA、DSP、FLASH、SDRAM等BGA器件)的檢測,圖10顯示了對通用信息處理板FPGA外部管腳間粘連的實驗結(jié)果,通過實驗表明該檢測方法準(zhǔn)確有效。
本文針對基于FPGA+DSP架構(gòu)的通用信息處理板的核心器件均采用了BGA封裝的芯片,依照現(xiàn)在的工藝水平,在焊接過程中管腳極易出現(xiàn)粘連的情況,介紹了一種對DSP+FPGA通用處理架構(gòu)進(jìn)行硬件檢測的方法,通過設(shè)計和構(gòu)建硬件檢測系統(tǒng),實現(xiàn)對DSP+FPGA通用處理平臺硬件狀態(tài)進(jìn)行快速檢測,提升了DSP+FPGA通用處理平臺的可靠性和后續(xù)應(yīng)用開發(fā)的效率,同時對焊接工藝也具有一定的指導(dǎo)意義。