專利名稱:基于arm核芯片的數模轉換器自動測試系統及其方法
技術領域:
本發明涉及集成電路領域,特別涉及集成電路芯片測試技術領域,具體是指一種 基于ARM核芯片的數模轉換器自動測試系統及其方法。
背景技術:
芯片測試是芯片研發過程中極其重要一個步驟,測試方案的優劣極大地影響著芯 片的研發周期及研發成本。好的測試方案可以提高芯片的成品率,縮短研發周期,降低研發 成本。在現在科學技術領域,譬如通信等有著廣泛用途的DA轉換器,如何對其性能進行快 速測試,是一個很值得研究的課題。ARM處理器是一種高性能,低功耗的RISC芯片。采用ARM IP核技術的芯片遍及 汽車、消費電子、成像、工業控制、通訊等各類產品市場。與ARM IP核技術緊密相關是AMBA 總線。在基于IP復用的SoC設計中,片上總線設計是最關鍵的問題。由ARM公司推出的 AMBA片上總線受到了廣大IP開發商和SoC系統集成者的青睞,已成為一種流行的工業標 準片上結構。AMBA規范主要包括了 AHB(Advanced High performance Bus)系統總線和 APB(Advanced Peripheral Bus)夕卜圍總線。FPGA (Field Programmable Gate Array)即現場可編程門陣列,它是在 PAL、GAL、 EPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的 一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數 有限的缺點。FPGA的使用非常靈活,同一片FPGA通過不同的編程數據可以產生不同的電路 功能。FPGA在通信、數據處理、網絡、儀器、工業控制、軍事和航空航天等眾多領域得到了廣 泛應用。目前FPGA的品種很多,有XILINX公司的Virtex系列、TI公司的TPC系列、ALTERA 公司的Stratix系列等。DA轉換器(數模轉換器)是一種將二進制數字量形式的離散信號轉換成以標準 量(或參考量)為基準的模擬量的轉換器,簡稱DAC或D/A轉換器。最常見的數模轉換器 是將并行二進制的數字量轉換為直流電壓。目前被廣泛應用于通信等各個領域。請參閱圖 1所示,其中是一種8位DA轉換器的框圖,左側是二進制數字輸入端,右側是模擬輸出端。在現有針對DA轉換器的測試方法中,普遍的做法是手工修改DA轉換器的數字輸 入端,即手動地將DA轉換器輸入端與高電平(1. 5V 5V)或低電平(0V 0. 5V)連接。對 應數字輸入端的每一組數字序列組合,輸出端都會有一個模擬輸出電壓值,用萬用表觀察 并記錄這個值。通常需要記錄下每組數字輸入序列的模擬輸出電壓值,才能比較精確地計 算出DA轉換器的各項性能指標。可以看出,手工測試方法非常耗費時間。如果DA轉換器的輸入端位數每增加一 位,輸入編碼組合就增加一倍,譬如一個10位的DA轉換器就有2"1 = 1024種輸入序列組合, 我們必須手工跳線1024次。這種方法既浪費時間,又容易出錯,拖延了芯片測試的周期。
發明內容
本發明的目的是克服了上述現有技術中的缺點,提供一種能夠明顯縮短測試時 間、實現快速測試、結構簡單實用、使用方便快捷、工作性能穩定可靠、適用范圍較為廣泛的 基于ARM核芯片的數模轉換器自動測試系統及其方法。為了實現上述的目的,本發明的基于ARM核芯片的數模轉換器自動測試系統及其 方法如下該基于ARM核芯片的數模轉換器自動測試系統,包括與被測數模轉換器的模擬信 號輸出端相連接的電壓測量裝置,其主要特點是,所述的系統還包括測試主機、ARM仿真器、 ARM核芯片和FPGA模塊,所速的測試主機依次通過所述的ARM仿真器、ARM核芯片和FPGA 模塊與所述的被測數模轉換器的數字信號輸入端相連接。 該基于ARM核芯片的數模轉換器自動測試系統中的FGPA模塊中包括AMBA總線與 內部總線轉換單元、可讀寫RAM邏輯單元、測試啟動與停止控制邏輯單元,所述的AMBA總線 與內部總線轉換單元通過AMBA總線與所述的ARM核芯片相連接,所述的AMBA總線與內部 總線轉換單元分別通過內部總線(mp總線)與所述的可讀寫RAM邏輯單元、測試啟動與停 止控制邏輯單元均相連接,所述的測試啟動與停止控制邏輯單元與所述的被測數模轉換器 的數字信號輸入端相連接。該基于ARM核芯片的數模轉換器自動測試系統中的內部總線(mp總線)包括以下
信號(1)地址總線信號——mpa;(2)輸入數據總線信號——mpd ;(3)輸出數據總線信號——mpq ;(4)主機操作請求信號——mpreq,且高電平有效;(5)讀寫選擇信號——mpwrite,與所述的主機操作請求信號mpreq配合使用,高 電平表示請求進行寫操作,低電平表示請求進行讀操作;(6)從機忙狀態信號——mpbusy,高電平表示從機忙,低電平表示從機空閑,且只 有在從機空閑態時主機才允許發起操作。該基于ARM核芯片的數模轉換器自動測試系統中的測試主機為PC機。該基于ARM核芯片的數模轉換器自動測試系統中的電壓測量裝置為萬用表。該利用上述的系統進行基于ARM核芯片的數模轉換器自動測試方法,其主要特點 是,所述的方法包括以下步驟(1)系統根據用戶操作,將編制好的FPGA邏輯代碼通過燒錄工具燒入所述的FPGA 模塊中;(2)系統根據用戶操作,在測試主機中存入相應的測試代碼;(3)系統通過所述的ARM仿真器驅動所述的ARM核芯片運行所述的測試代碼,并通 過所述的FPGA模塊向被測數模轉換器輸入測試數字信號序列;(4)所述的系統根據用戶操作,記錄電壓測量裝置所測得的各組測試數字信號序 列所對應的模擬電壓輸出值;⑶系統根據所記錄的模擬電壓輸出值進行后續的數模轉換器的性能指標的計算處理。該進行基于ARM核芯片的數模轉換器自動測試方法中的FPGA邏輯代碼可以為VHDL語言或者Verilog語言的邏輯代碼。該進行基于ARM核芯片的數模轉換器自動測試方法中的測試代碼可以為C語言或 者匯編語言的測試代碼。采用了該發明的基于ARM核芯片的數模轉換器自動測試系統及其方法,由于其利 用在計算機中編制測試代碼的方式來完成大部分測試流程,從而只需在PC端輸入測試程 序,讓ARM芯片自動控制FPGA模塊向數模轉換器的數字信號輸入端輸入數字信號序列,并 記錄下萬用表顯示的DA轉換器的模擬輸出電壓值即可,從而優化了普通測試方法中手工 修改DA轉換器數字輸入端信號的步驟,改為自動化方式,不容易出錯,而且提高了測試效 率,節約了測試時間,同時,由于FPGA模塊的可編程性強,從而可以針對不同種類不同位數 的數模轉換器靈活改變輸入至數模轉換器的數字信號內容及長度,靈活性很強,不僅如此, 本發明的系統能夠適用于各種各樣不同的ARM芯片及FPGA模塊,具有廣泛的適應性,可移 植性好,從而結構簡單實用,使用方便快捷,工作性能穩定可靠,適用范圍較為廣泛。
圖1為現有技術中的8位數模轉換器原理示意圖。圖2為本發明的基于ARM核芯片的數模轉換器自動測試系統示意圖。圖3為本發明的基于ARM核芯片的數模轉換器自動測試系統中FPGA模塊的內部 邏輯功能示意圖。圖4為本發明的基于ARM核芯片的數模轉換器自動測試系統中的內部總線原理框 圖。圖5為本發明的基于ARM核芯片的數模轉換器自動測試系統中的內部總線時序 圖。圖6為本發明的基于ARM核芯片的數模轉換器自動測試方法的流程示意圖。
具體實施例方式為了能夠更清楚地理解本發明的技術內容,特舉以下實施例詳細說明。請參閱圖2所示,該基于ARM核芯片的數模轉換器自動測試系統,包括與被測數模 轉換器的模擬信號輸出端相連接的電壓測量裝置,其中,所述的系統還包括測試主機、ARM 仿真器、ARM核芯片和FPGA模塊,所速的測試主機依次通過所述的ARM仿真器、ARM核芯片 和FPGA模塊與所述的被測數模轉換器的數字信號輸入端相連接,其中,所述的測試主機為 PC機,所述的電壓測量裝置為萬用表。同時,請參閱圖3所示,所述的FGPA模塊中包括AMBA總線與內部總線轉換單元、 可讀寫RAM邏輯單元、測試啟動與停止控制邏輯單元,所述的AMBA總線與內部總線轉換單 元通過AMBA總線與所述的ARM核芯片相連接,所述的AMBA總線與內部總線轉換單元分別 通過內部總線(mp總線)與所述的可讀寫RAM邏輯單元、測試啟動與停止控制邏輯單元均 相連接,所述的測試啟動與停止控制邏輯單元與所述的被測數模轉換器的數字信號輸入端 相連接。再請參閱圖4和圖5所示,該基于ARM核芯片的數模轉換器自動測試系統中的內 部總線(mp總線)包括以下信號
(1)地址總線信號——mpa ;(2)輸入數據總線信號——mpd ;(3)輸出數據總線信號——mpq ;(4)主機操作請求信號——mpreq,且高電平有效;(5)讀寫選擇信號——mpwrite,與所述的主機操作請求信號mpreq配合使用,高 電平表示請求進行寫操作,低電平表示請求進行讀操作;(6)從機忙狀態信號——mpbusy,高電平表示從機忙,低電平表示從機空閑,且只 有在從機空閑態時主機才允許發起操作。在實際應用當中,本發明的系統中包括一臺PC機、一塊基于ARM IP核技術的芯 片,一個ARM仿真器,一套通用的FPGA模塊平臺和一個萬用表。業界現有與ARM處理器相關的調試資源豐富。在PC側,常用調試軟件有譬如ADS、 ARM仿真器有JEDI等。通過PC側的調試軟件和ARM仿真器,本發明中可以將PC端編寫的 C或ARM匯編代碼轉換成可識別的ARM指令,并輸入到ARM芯片內,這樣ARM芯片就會按照 測試者的意愿執行相應的操作。由于ARM并不能直接向DA轉換器輸入端輸入數字信號,所以本發明中有一套通用 可編程FPGA平臺(例如Xilinx的virtex 4系列),來實現ARM對DA轉換器之間的控制關系。FPGA內部共實現了三部分邏輯功能AMBA總線與mp總線的轉換、帶有mp控制總 線接口的可讀寫RAM邏輯、FPGA向DA轉換器輸入端發送數據的啟動和停止控制邏輯。為了使FPGA內的邏輯功能可控,本發明中有一種控制總線,而ARM的AMBA總線相 對與FPGA這種簡單的外圍設備來說太過于復雜,在本方案中提供了一種結構更為簡單,功 能更為優化的總線架構,本發明中稱為mp總線。mp總線的基本結構,mp總線只有6組信 號,除了基本的地址總線mpa,數據總線mpd和mpq,其他三組mpreq、mpwrite、mpbusy為控 制信號線,結構簡單,控制信號種類少。這樣FPGA就是受控于ARM的一個從機(slave)。
同時,本發明中具有空間來存儲發送給DA轉換器的數字序列組合,在FPGA的內部 實現一塊帶mp總線接口的RAM邏輯,將數字信號序列組合存入這塊RAM空間。在FPGA內實現往DA輸入端發送數據的啟動邏輯和停止邏輯,使發送和停止動作 可控。在PC側編寫C或ARM匯編代碼是非常方便的。完成所有硬件平臺的準備工作后 (包括FPGA內部邏輯功能),大部分測試流程都可以通過測試代碼來自動實現。通過這種 方法,本發明在PC機端輸入測試程序,讓ARM芯片自動控制FPGA向DA轉換器的數字輸入 端灌入數字信號序列,并記錄下萬用表顯示的DA轉換器的模擬輸出電壓值即可。關于mp總線的結構請參閱圖4所示。總線共有6組信號(1)地址總線信號mpa。(2)輸入數據總線信號mpd。(3)輸出數據總線信號mpq。(4)主機(host)操作請求信號mpreq,高有效。(5)讀寫選擇信號mpWrite,與操作請求信號(mpreq)配合使用。該位為高表示 請求進行寫操作,該位為低表示請求進行讀操作。
(6)從機(slave)忙狀態信號mpbusy,高表示slave忙,低表示slave空閑。只 有在slave空閑態,host才可以發起操作。實現了 AHB或APB總線到mp總線的轉換后,對帶有mp總線接口的RAM進行操作 就很方便了。當ARM對FPGA內部RAM地址進行操作時,mp總線就會進行相應的譯碼,對相 應的slave發起操作。舉例說明寫操作時,如果mpbusy為低,mpreq和mpwrite會變為高,地址總線mpa 會輸出相應地址,而數據輸出總線mpd將正確的數據,這樣相應的RAM空間將會被修改;讀 操作時,如果mpbusy為低,mpreq會變高、mpwrite會變低(表示讀操作),地址總線mpa會 輸出相應地址,這樣相應的RAM地址的數據就會從數據輸出總線mpq輸出。詳細的信號時 序圖如圖5所示。在本發明中,約定從0x1000 0000 OxlFFF FFFF(十六進制)是RAM地址,0x2000 0000是指令地址。對0x1000 0000 OxlFFF FFFF地址段進行操作時,FPGA內的RAM會被 進行相應的讀寫;而對0x2000 0000地址進行操作時,FPGA會往DA轉換器的數字輸入端發
送數字信號。本方案中,設定往0x2000 0000寫1時,啟動發送操作,寫0時,停止發送。
啟動和停止發送功能vhdl代碼如下if mpa = x "20000000" and mpreq = ' 1' and mpd = thentx_go = ‘ 1,;end if ;if mpa = x "20000000" and mpreq = ‘1’ and mpd = ‘0’ thentx_go = ‘0,;end if ;其中,tx_go是啟動和停止發送的控制信號,為1時啟動FPGA向DA轉換器發送數 據,為0時停止發送。將各測試部分相連接完畢后,在PC機端編輯和修改測試代碼(C或ARM匯編)。編 譯通過后,通過ARM仿真器將測試指令灌入ARM芯片內。再請參閱圖6所示,該利用上述的系統進行基于ARM核芯片的數模轉換器自動測 試方法,其主要特點是,所述的方法包括以下步驟(1)系統根據用戶操作,將編制好的FPGA邏輯代碼通過燒錄工具燒入所述的FPGA 模塊中,所述的FPGA邏輯代碼可以為VHDL語言或者Verilog語言的邏輯代碼;(2)系統根據用戶操作,在測試主機中存入相應的測試代碼,所述的測試代碼可以 為C語言或者匯編語言的測試代碼。(3)系統通過所述的ARM仿真器驅動所述的ARM核芯片運行所述的測試代碼,并通 過所述的FPGA模塊向被測數模轉換器輸入測試數字信號序列;(4)所述的系統根據用戶操作,記錄電壓測量裝置所測得的各組測試數字信號序 列所對應的模擬電壓輸出值;(5)系統根據所記錄的模擬電壓輸出值進行后續的數模轉換器的性能指標的計算處理。在實際使用當中,相應的測試實現步驟如下第一步——將各部分器件按照圖2所示相連接。
第二步一編寫需要實現的FPGA邏輯代碼(VHDL或Verilog語言),通過工具燒 入FPGA平臺。第三步——在PC端編寫C或匯編測試代碼。第四步一通過調試軟件讓ARM芯片自動執行代碼,FPGA向DA轉換器輸入數字 信號序列。第五步——通過萬用表觀測并記錄各組數字信號序列相應的模擬電壓輸出值。第六步——根據記錄的模擬電壓輸出值,精確計算DA轉換器的性能指標。將各部分器件相連,向FPGA平臺燒入邏輯代碼后,就可通過測試代碼自動進行測 試步驟了。以一個十位的DA轉換器為例,具體如下數字輸入端可以是0000000000 ( 二進制)到1111111111之間的任意一組序列。在本上述的第四步中,由于C代碼的可編程性強,可以很方便地實現FPGA向DA轉 換器的數字輸入端輸入從0000000000 (二進制)遞增至1111111111 (二進制)的數字序列, 這樣就使測試自動化程度大大提高。同時,如測試流程第五步所表述,依次記錄下每組數字 測試序列對應的DA模擬電壓輸出。遍歷完所有的數字輸入序列組合后,根據所有記錄的模 擬輸出電壓值,詳細計算DA的各項性能指標。上述測試流程中,FPGA邏輯的實現是非常巧妙和靈活的。特別是AMBA總線與mp 總線之間的邏輯功能轉換,以及帶有mp接口的RAM邏輯的編寫。有關AMBA總線的相關技術 內容已經屬于本領域的普通技術知識,相應的公開出版物資料非常多,具體可查閱ARM的 相關芯片手冊和相關網站,在此無須做詳細敘述。相比較普通的邏輯模塊測試方法,本發明提供了一種全新的基于通用ARM核芯片 和通用FPGA平臺的測試方法,由于其中具有一種結構簡單、功能容易實現的mp總線架構, ARM芯片與FPGA平臺就成了可控的host與slave,同時FPGA平臺的邏輯功能可編程,這樣 測試者就可以很便捷地搭建一套針對任意模塊芯片的測試平臺。而不僅僅應用于DA轉換 器的測試。所以本發明的通用性及靈活性極強,這也是本發明最大的優勢。采用了上述的基于ARM核芯片的數模轉換器自動測試系統及其方法,由于其利用 在計算機中編制測試代碼的方式來完成大部分測試流程,從而只需在PC端輸入測試程序, 讓ARM芯片自動控制FPGA模塊向數模轉換器的數字信號輸入端輸入數字信號序列,并記錄 下萬用表顯示的DA轉換器的模擬輸出電壓值即可,從而優化了普通測試方法中手工修改 DA轉換器數字輸入端信號的步驟,改為自動化方式,不容易出錯,而且提高了測試效率,節 約了測試時間,同時,由于FPGA模塊的可編程性強,從而可以針對不同種類不同位數的數 模轉換器靈活改變輸入至數模轉換器的數字信號內容及長度,靈活性很強,不僅如此,本發 明的系統能夠適用于各種各樣不同的ARM芯片及FPGA模塊,具有廣泛的適應性,可移植性 好,從而結構簡單實用,使用方便快捷,工作性能穩定可靠,適用范圍較為廣泛。在此說明書中,本發明已參照其特定的實施例作了描述。但是,很顯然仍可以作出 各種修改和變換而不背離本發明的精神和范圍。因此,說明書和附圖應被認為是說明性的 而非限制性的。
權利要求
一種基于ARM核芯片的數模轉換器自動測試系統,包括與被測數模轉換器的模擬信號輸出端相連接的電壓測量裝置,其特征在于,所述的系統還包括測試主機、ARM仿真器、ARM核芯片和FPGA模塊,所速的測試主機依次通過所述的ARM仿真器、ARM核芯片和FPGA模塊與所述的被測數模轉換器的數字信號輸入端相連接。
2.根據權利要求1所述的基于ARM核芯片的數模轉換器自動測試系統,其特征在于, 所述的FGPA模塊中包括AMBA總線與內部總線轉換單元、可讀寫RAM邏輯單元、測試啟動與 停止控制邏輯單元,所述的AMBA總線與內部總線轉換單元通過AMBA總線與所述的ARM核 芯片相連接,所述的AMBA總線與內部總線轉換單元分別通過內部總線與所述的可讀寫RAM 邏輯單元、測試啟動與停止控制邏輯單元均相連接,所述的測試啟動與停止控制邏輯單元 與所述的被測數模轉換器的數字信號輸入端相連接。
3.根據權利要求2所述的基于ARM核芯片的數模轉換器自動測試系統,其特征在于,所 述的內部總線包括以下信號(1)地址總線信號——mpa;(2)輸入數據總線信號——mpd;(3)輸出數據總線信號——mpq;(4)主機操作請求信號——mpreq,且高電平有效;(5)讀寫選擇信號——mpwrite,與所述的主機操作請求信號mpreq配合使用,高電平 表示請求進行寫操作,低電平表示請求進行讀操作;(6)從機忙狀態信號——mpbusy,高電平表示從機忙,低電平表示從機空閑,且只有在 從機空閑態時主機才允許發起操作。
4.根據權利要求1所述的基于ARM核芯片的數模轉換器自動測試系統,其特征在于,所 述的測試主機為PC機。
5.根據權利要求1至4中任一項所述的基于ARM核芯片的數模轉換器自動測試系統, 其特征在于,所述的電壓測量裝置為萬用表。
6.一種利用權利要求1所述的系統進行基于ARM核芯片的數模轉換器自動測試方法, 其特征在于,所述的方法包括以下步驟(1)系統根據用戶操作,將編制好的FPGA邏輯代碼通過燒錄工具燒入所述的FPGA模塊中;(2)系統根據用戶操作,在測試主機中存入相應的測試代碼;(3)系統通過所述的ARM仿真器驅動所述的ARM核芯片運行所述的測試代碼,并通過所 述的FPGA模塊向被測數模轉換器輸入測試數字信號序列;(4)所述的系統根據用戶操作,記錄電壓測量裝置所測得的各組測試數字信號序列所 對應的模擬電壓輸出值;(5)系統根據所記錄的模擬電壓輸出值進行后續的數模轉換器的性能指標的計算處理。
7.根據權利要求6所述的進行基于ARM核芯片的數模轉換器自動測試方法,其特征在 于,所述的FPGA邏輯代碼為VHDL語言或者Verilog語言的邏輯代碼。
8.根據權利要求6所述的進行基于ARM核芯片的數模轉換器自動測試方法,其特征在 于,所述的測試代碼為C語言或者匯編語言的測試代碼。
全文摘要
本發明涉及一種基于ARM核芯片的數模轉換器自動測試系統及方法,系統包括電壓測量裝置、測試主機、ARM仿真器、ARM核芯片和FPGA模塊,測試主機依次通過ARM仿真器、ARM核芯片、FPGA模塊和被測數模轉換器與電壓測量裝置連接。方法包括將FPGA邏輯代碼燒入FPGA模塊、在測試主機中存入測試代碼、ARM核芯片運行測試代碼并向被測數模轉換器輸入測試數字信號序列、記錄電壓測量裝置測得的各組模擬電壓輸出值、進行后續數模轉換器性能指標計算。采用該種基于ARM核芯片的數模轉換器自動測試系統及方法,不容易出錯,提高了測試效率,節約了測試時間,靈活性很強,具有廣泛的適應性,可移植性好,結構簡單實用,使用方便快捷,工作性能穩定可靠,適用范圍較為廣泛。
文檔編號G01R31/28GK101858953SQ20091004893
公開日2010年10月13日 申請日期2009年4月7日 優先權日2009年4月7日
發明者王冬佳 申請人:上海摩波彼克半導體有限公司