基于FPGA的虛擬測試系統(tǒng)實現(xiàn)
1 引言
本文引用地址:http://www.ex-cimer.com/article/194410.htm傳統(tǒng)測試測量儀存在價格昂貴、體積龐大、數(shù)據(jù)傳輸速率低、存儲顯示困難等問題,本文選用FPGA實現(xiàn)數(shù)據(jù)處理、邏輯控制,充分利用PC機,結(jié)合Labwindows圖形化上層應用軟件界面生成的虛擬測試系統(tǒng)具有較強的競爭力。本系統(tǒng)在FPGA單板單片主控器件控制下,實現(xiàn)兩路獨立、幅值可控的信號發(fā)生器,一路虛擬存儲示波器,具有外部觸發(fā)信號和采樣時鐘的16路高速邏輯分析儀。
2硬件設計
2.1硬件系統(tǒng)框圖
硬件系統(tǒng)設計是以并行處理能力強、可重配置的低端FPGA單片EP1C6為主控器件。圖1所示為硬件系統(tǒng)框圖,是由參考電壓及選擇模塊、USB2.0接口模塊、電源設計模塊、高速存儲模塊、示波器調(diào)理輸入A/D轉(zhuǎn)換模塊、邏輯分析儀匹配輸入比較模塊和信號源輸出濾波模塊組成。
USB2.0接口模塊用于配合應用軟件接受上位機命令及返回采集數(shù)據(jù)。采用Cypress公司的CY7C68013 USB2.0設備器件,該器件內(nèi)部增強型8051控制數(shù)據(jù)傳輸。通過下載固件代碼配置8051,使設備器件對主控FPGA動作模擬為片外從屬FI-FO,減少FPGA設計難度。電壓參考選擇模塊可為信號源D/A、比較器和示波器A/D提供參考電壓??紤]到多種測量功能間的切換及同時工作的可能,采用兩路參考電壓輸出和參考電壓通路選擇模塊實現(xiàn)雙路信號源獨立工作、單路信號源協(xié)同示波器工作、單路信號源協(xié)同邏輯分析儀工作等模式。
2.2雙路信號源設計
利用FPGA內(nèi)部M4K存儲模塊、邏輯資源和高頻時鐘,以DDS/控制模塊+高速D/A實現(xiàn)雙路信號源,避免采用專用DDS器件,從而節(jié)省成本,提高功能的多樣性。雙路信號源電路設計的前端模塊包括DDS方式實現(xiàn)的可變幅度、相位的正弦波以及硬件語言表述的占空比可調(diào)的方波、三角波、調(diào)制波形等數(shù)據(jù)輸出;后端包括有高速D/A轉(zhuǎn)換器DAC2900 (如圖2所示)和信號調(diào)理電路組成的模數(shù)轉(zhuǎn)換模塊(如圖3所示),其中調(diào)理模塊主要由強驅(qū)動模塊和35 MHz截止頻率的3階π型低通網(wǎng)絡組成。
2.3高速邏輯分析儀及存儲示波器設計
高速邏輯分析儀的采樣率為150 MHz,對于16路采樣來說,數(shù)據(jù)量達到150 M×16 bit。采用兩片10 ns級的256 K×16 bit RAM擴展數(shù)據(jù)位,實現(xiàn)降速存儲。位數(shù)擴展1倍,存儲速率降低1倍,對于75 MHz的存儲速度,選用Cypress公司的CY7C-1041-8ns。RAM數(shù)據(jù)地址線和邏輯分析儀比較器接口與FPGA相連,RAM接口和存儲示波器相復用。
虛擬存儲示波器的設計采用前端調(diào)理和高速A/D采樣器件TLC5540實現(xiàn)。圖4為示波器前端調(diào)理電路,包括箝位電路、放大衰減網(wǎng)絡和功率放大3部分。箝位電路主要是將輸入電壓箝位于后端A/D的輸入范圍,防止電路損壞。通過示波器觀察箝位波形,打開衰減網(wǎng)絡,反之,信號過小,打開放大網(wǎng)絡以實現(xiàn)高幅值帶寬。功率放大電路的目的在于提高信號的驅(qū)動能力和測量精度。
3板卡邏輯設計
3.1控制邏輯實現(xiàn)
SOPC(System on Programmable Chip)技術(shù)是Altera公司于2000年最早提出的,提供了使用大規(guī)模可編程器件FPGA實現(xiàn)SOC功能。SOPC的引進對僅為小批量應用或處于開發(fā)階段SOC帶來有效解決方法。配合Altera公司提供的NIOS II軟核處理器生成高效的SOPC系統(tǒng)從而實現(xiàn)板卡控制設計,簡化了數(shù)據(jù)通訊和模塊間的協(xié)調(diào)。圖5詳細介紹了SOPC系統(tǒng)組成。
由圖中可以看出,Avalon總線是整個系統(tǒng)的橋梁。Avalon接口規(guī)范是為可編程片上系統(tǒng)SOPC環(huán)境下外設的開發(fā)而設計的,為外設的設計者提供表述主外設和從外設中基于地址讀/寫接口的基礎(chǔ),是SOPC硬件系統(tǒng)的重要部分。
Nios II處理器軟核支持中斷異常和用戶自定義指令集等,完全支持C語言,并且可編寫用戶邏輯接口實現(xiàn)一個簡化的、無冗余的專用Nios II處理器系統(tǒng)。上位機指令可以完全以字符串的方式通過USB接口模塊發(fā)送給軟處理器,Nios軟核通過編程實現(xiàn)命令解析,并同時響應輸出,配置各外設,按命令完成指定作業(yè),返回數(shù)據(jù)。FPGA內(nèi)部軟核通過GPIO和片外器件相連組成整個系統(tǒng)。 Nios II軟核處理器的優(yōu)點在于命令解析和Avalon外設總線位寬匹配,SOPC系統(tǒng)能高效完成邏輯分析儀和示波器的控制傳輸。然而,其數(shù)據(jù)傳輸在高速情況下略顯不足成為系統(tǒng)瓶頸,主要在于C語言指令集。而作為高速采集和存儲的邏輯分析儀、示波器和RAM之間接口的讀寫速率高于100M,實現(xiàn)高速采集通道,并對總線提供簡單的開始采集、采集結(jié)束、數(shù)據(jù)滿等信號作為外設掛接在Nios軟核上,是提高測量系統(tǒng)參數(shù)的關(guān)鍵。本系統(tǒng)在Nios軟核的基礎(chǔ)上,高速接口模塊采用Verilog HDL語言和FPGA內(nèi)部資源來實現(xiàn),即就是片外高速讀取控制模塊。
3.2改進型低資源消耗率DDS的FPGA實現(xiàn)
本系統(tǒng)基于FPGA實現(xiàn)雙路完全獨立的DDS信號源,硬件設計構(gòu)成了DDS技術(shù)實現(xiàn)的第三部分,前面兩部分相位累加器和查找表ROM設計細節(jié)介紹如圖6所示。
單路DDS的FPGA設計實現(xiàn)主要包括相位累加器地址產(chǎn)生及控制模塊、波形存儲及類型選擇模塊。相位累加器地址產(chǎn)生及控制模塊對接收到的控制指令實施執(zhí)行,并產(chǎn)生相應的控制信號、尋址后端LUT ROM,實現(xiàn)DDS信號源。其翻譯及執(zhí)行的信號包括信號類型TYPE_IN、輸出信號相位DAC2900_Pha、輸出信號頻率DAC2900_Freq和輸出信號幅度DAC2900_A等。相位累加模塊根據(jù)輸入信號參數(shù),計算并產(chǎn)生地址,用以LUT ROM查找幅度值,輸出相位。而波形存儲模塊分為周期信號產(chǎn)生的正弦信號、鋸齒波信號以及方波信號和非周期的高斯噪聲信號。其中:sin_rom存儲的數(shù)據(jù)為量化的一個周期的正弦波數(shù)據(jù)。trig_rom塊并不是一個ROM模塊,而是一個三角波計算生成模塊。為了節(jié)省FPGA片內(nèi)RAM模塊,結(jié)合三角波的線性特性,利用地址產(chǎn)生三角波幅度值,實現(xiàn)如圖7所示,其中K_in[9:0]為產(chǎn)生的三角波波形設定斜率,clock、address和q[9:0]實現(xiàn)與sin_rom接口兼容。square_rom和trig_rom一樣,采用Verilog HDL模擬的查找表ROM,可有效減少對FPGA資源的占用,本設計的trig_rom僅占用一個10位加法器。noise_rom為改進型加法同余偽隨機序列。數(shù)字隨機噪聲的設計也就是偽隨機序列設計,其具有良好的隨機性,它的相關(guān)函數(shù)接近白噪聲的相關(guān)函數(shù)。偽隨機序列算法包括:平方取中算法、同余算法、小數(shù)開方法、Tausworthe序列。而同余算法包括加法同余數(shù)列、線性同余數(shù)列和乘進位算法。結(jié)合各種算法及其在FPGA上的實現(xiàn)復雜度和資源重用率,設計了易于FPGA實現(xiàn)的改進型加法同余偽隨機序列。
結(jié)束語
綜合考慮成本、性能和應用等因素,充分利用FPGA的邏輯資源,實現(xiàn)了中低檔測量系統(tǒng)。雙路信號源獨立工作可產(chǎn)生最大2 MHz的無失真三角波、正弦波、方波及調(diào)制波形等;示波器可虛擬存儲采樣速率為40 MS/s;邏輯分析儀最高采樣頻率150 MHz,存儲深度256 K×32 bit。適用于教學試驗。并協(xié)同上位機軟件和USB2.0接口實現(xiàn)便攜、即插即用。系統(tǒng)預留以太網(wǎng)接口,可實現(xiàn)測量設備網(wǎng)絡共享。同時還需進一步提高系統(tǒng)復雜度,充分利用FPGA特點,由上位機動態(tài)配置板卡功能。
評論