基于FPGA的示波器圖文顯示系統(tǒng)的設(shè)計方案
0 引言
FPGA(Field Programmable Gate Array),即現(xiàn)場可編程門陣列是大規(guī)??删幊踢壿嬈骷?,可以取代現(xiàn)行所有的全部微機接口芯片,實現(xiàn)微機系統(tǒng)中的存儲、地址譯碼等多種功能。利用 FPGA可以把多個微機系統(tǒng)的功能電路集成在一塊芯片上。應(yīng)用FPGA設(shè)計功能電路時,可以讓人們的思路從傳統(tǒng)的以單片機或DSP芯片為核心的系統(tǒng)集成型轉(zhuǎn)向單一專用芯片型設(shè)計。傳統(tǒng)的示波器雖然功能齊全,但是體積大、重量重、成本高、等一系列問題使應(yīng)用受到了限制。有鑒于此,便攜式數(shù)字存儲采集器就應(yīng)運而生,它采用了LCD顯示、高速A/D采集與轉(zhuǎn)換、ASIC芯片等新技術(shù),具有很強的實用性和巨大的市場潛力,也代表了當(dāng)代電子測量儀器的一種發(fā)展趨勢,即向功能多、體積小、重量輕、使用方便的掌上型儀器發(fā)展。
1 系統(tǒng)總體設(shè)計讀寫
根據(jù)設(shè)計要求:在示波器上顯示2個以上字符或圖案,如顯示0-9十個數(shù)字及英文字符、圖象等,結(jié)合示波器顯示原理,設(shè)計電路如圖1所示。將要顯示的數(shù)字或符號進行取模,得到其二進制形式表示。將轉(zhuǎn)換好的數(shù)據(jù)送入FPGA內(nèi)部RAM存儲。
在設(shè)計上我們使用了XILINX的SPARTAN-3芯片,作為控制器,完成總的數(shù)控部分、鍵盤和和顯示接口部分的控制。采用八位(或者更高位)D/A轉(zhuǎn)換,對FPGA芯片輸出二進制數(shù)字量進行數(shù)一模轉(zhuǎn)換,在經(jīng)過高速運算放大器后得到其電壓量。分X,Y兩路輸出給示波器,根據(jù)示波器原理,在屏幕上打點顯示數(shù)字(或者圖形)。而Z通道作為另一路獨立通道,對顯示的數(shù)字亮度進行可控顯示。
2 系統(tǒng)硬件設(shè)計
2.1 總體控制模塊
基于本設(shè)計,系統(tǒng)控制模塊的部分是具有掩膜可編程門陣列的邏輯器件——FPGA。
Spartan系列FPGA是Xilinx公司可編程邏輯產(chǎn)品中的高性價比產(chǎn)品的代表,而Spartan-Ⅲ系列FPGA是為那些需要大容量、低價格電子應(yīng)用的用戶而設(shè)計的。本系統(tǒng)使用的是XILINX公司的XC3S200型號芯片,其技術(shù)參數(shù)如下:
●4 320個邏輯單元;
●系統(tǒng)門密度200 k個;
●CLB陣列24*20,共480個;
●最大用戶I/O173,最大差分I/O76;
●分布式RAM容量30 Kbit,Block RAM容量216Kbit;
●嵌入式18x18乘法器支持高性能DSP應(yīng)用;
●PCI和帶有LVDS的高速差分信號。
2.2 存儲單元模塊
由于FPGA基于CMOS SRAM工藝,不具備掉電保護功能,當(dāng)無電源供電時,配置的數(shù)據(jù)丟失,芯片的功能也隨之丟失。因此,本設(shè)計采用FLASH存儲器在線重配置的方法。
2.3 外圍電路模塊
2.3.1 D/A轉(zhuǎn)換
在D/A選擇上,我們用的是美國半導(dǎo)體公司的 DAC0832,它具有8位并行、中速(建立時間1 us)、電流型、價格低廉等特點。它有單緩沖工作方式、雙緩沖工作方式兩種工作方式。單緩沖工作方式時,一個寄存器工作于直通狀態(tài),一個工作于受控鎖存器狀態(tài)。在不要求多相D/A同時輸出時,可以采用單緩沖方式,此時只需一次寫操作,就開始轉(zhuǎn)換,可以提高D/A的數(shù)據(jù)吞吐量。雙緩沖工作方式時,兩個寄存器均工作于受控鎖存器狀態(tài)。當(dāng)要求多個模擬量同時輸出時,可采用雙重緩沖方式。
它的技術(shù)參數(shù)為:建立時間1 us;8位并行;低功率損耗20 mW;支持電壓:5 V~15 V。
2.3.2 運算放大
在D/A轉(zhuǎn)換之后,我們得到的是電流信號,而需要輸入示波器的為電壓信號,因此運用運算放大器來進行轉(zhuǎn)換,同時將運放設(shè)計為可調(diào)形式,通過調(diào)節(jié)它便可以調(diào)節(jié)輸出電壓的大小,達(dá)到控制顯示幅值的目的。本設(shè)計采用LM741系列運放,其技術(shù)指標(biāo)加下:
3 系統(tǒng)軟件設(shè)計
基于VHDL語言的功能與靈活性,非依賴性和可移植性種種優(yōu)勢,本設(shè)計在FPGA編程上采用了VHDL語言實現(xiàn)??傮w設(shè)計思路:采用50 MHz外部時鐘控制對FPGA內(nèi)部進行分頻控制,在分頻模塊的作用下得到設(shè)計所需要的時鐘信號。通過按鍵選通在ROM內(nèi)部選擇要顯示的模塊部分,進行X、 Y方向掃描,得到初步的數(shù)據(jù),同時外加Z方向掃描來控制所顯圖形的亮度。通過將所有的“1”存儲在一個ROM中作為緩存,達(dá)到消除零點的目的。將ROM中的數(shù)據(jù)轉(zhuǎn)移到RAM中,通過乒乓交換操作來進行模式轉(zhuǎn)換,最后通過外圍電路輸入示波器,實現(xiàn)顯示。總體流程圖:
4 結(jié)語
本文是基于FPGA的數(shù)字示波器圖文顯示系統(tǒng)的硬件/軟件的設(shè)計思路和設(shè)計方案。此系統(tǒng)設(shè)計完成后,測試表明系統(tǒng)可以將相應(yīng)的圖形文字顯示出來,顯示的圖形和文字與預(yù)期的基本一致。該設(shè)計滿足了系統(tǒng)的需要,更重要的是具有很強的靈活性和可控性,同時使顯示更加高速度快捷,具有非常廣闊的應(yīng)用前景。
參考文獻:
[1].XC3S200datasheethttp://www.dzsc.com/datasheet/XC3S200_1133840.html.
[2].PCIdatasheethttp://www.dzsc.com/datasheet/PCI_1201469.html.
[3].LVDSdatasheethttp://www.dzsc.com/datasheet/LVDS_457917.html.
[4].DAC0832datasheethttp://www.dzsc.com/datasheet/DAC0832_253651.html.
[5].LM741datasheethttp://www.dzsc.com/datasheet/LM741_451827.html.
[6].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
來源:lele0次