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