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