白炳良,王靈芝
(閩南師范大學(xué),福建 漳州 363000)
基于PIC及FPGA的簡(jiǎn)易信號(hào)分析儀設(shè)計(jì)
白炳良,王靈芝
(閩南師范大學(xué),福建 漳州 363000)
高速數(shù)據(jù)采集與信號(hào)分析是信號(hào)分析儀的關(guān)鍵。設(shè)計(jì)以PIC16F877A單片機(jī)為核心,DA芯片MCP4922及可變?cè)鲆娣糯笃鰽D603構(gòu)成程控放大電路;CCP模塊實(shí)現(xiàn)頻率測(cè)量;AD轉(zhuǎn)換器AD9288及FPGA實(shí)現(xiàn)高速實(shí)時(shí)數(shù)據(jù)采集,并由LCD液晶顯示被測(cè)數(shù)據(jù)及波形。由單片機(jī)讀取FPGA中FIFO的緩存數(shù)據(jù),實(shí)現(xiàn)對(duì)正弦波、三角波、方波等幅值、電壓真有效值的測(cè)量及信號(hào)波形判斷,實(shí)驗(yàn)效果實(shí)用良好。
高速數(shù)據(jù)采集;單片機(jī);現(xiàn)場(chǎng)可編程門(mén)陣列;FIFO技術(shù);高速模數(shù)轉(zhuǎn)換器;程控放大電路
隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,信號(hào)的分析變得越來(lái)越重要,信號(hào)分析儀是一種可以用來(lái)觀察、測(cè)量、記錄各種瞬時(shí)電壓,并能以波形方式顯示其與時(shí)間關(guān)系的電子測(cè)量?jī)x器。它能說(shuō)明信號(hào)的許多特性參數(shù):頻率、幅度、真有效值等,并能對(duì)輸入信號(hào)波形自動(dòng)識(shí)別。
高速實(shí)時(shí)的數(shù)據(jù)采集經(jīng)模數(shù)轉(zhuǎn)換后,必須要求具有與之匹配的高速緩存器件,傳統(tǒng)的數(shù)據(jù)采集方案已不能滿足高速實(shí)時(shí)數(shù)據(jù)采集應(yīng)用,因此需要設(shè)計(jì)高性能的數(shù)據(jù)采集與處理系統(tǒng)[1]。由于單片機(jī)指令周期及數(shù)據(jù)處理速度的問(wèn)題,無(wú)法滿足高速實(shí)時(shí)數(shù)據(jù)采集,F(xiàn)PGA具有高的時(shí)鐘頻率、運(yùn)行速度快、功耗低、組成靈活等特點(diǎn)[2-3]。因此設(shè)計(jì)了利用單片機(jī)、高速AD、FPGA等構(gòu)成信號(hào)分析儀:實(shí)現(xiàn)周期信號(hào)頻率范圍為20 Hz~250 KHz、輸入電壓范圍為0.05 Vpp~10 Vpp的情況下,系統(tǒng)能完成對(duì)正弦波、三角波、方波三種輸入信號(hào)相關(guān)參數(shù)的測(cè)量并顯示波形。
圖1 系統(tǒng)框圖
系統(tǒng)框圖如圖1所示。采用PIC16F877A單片機(jī)作為系統(tǒng)控制核心。可變衰減器由繼電器、電阻網(wǎng)絡(luò)及跟隨器實(shí)現(xiàn)11或101信號(hào)變比;由12位DA轉(zhuǎn)換器MCP4922、AD603組成的程控放大器;放大及整形電路將待測(cè)信號(hào)轉(zhuǎn)換為矩形波,由單片機(jī)的CCP模塊實(shí)現(xiàn)頻率測(cè)量;程控放大器的輸出信號(hào)與一直流分量由加法器實(shí)現(xiàn)疊加,使待分析的信號(hào)均處于y軸正半軸;由高速并行AD芯片AD9288、可編程邏輯器件FPGA中的FIFO模塊實(shí)現(xiàn)對(duì)輸入信號(hào)至少一個(gè)周期數(shù)據(jù)的存儲(chǔ),單片機(jī)根據(jù)需要實(shí)時(shí)讀取FIFO中的數(shù)據(jù),這樣解決了慢速CPU與快速數(shù)據(jù)的讀寫(xiě)問(wèn)題;單片機(jī)對(duì)讀取的數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)在LCD液晶屏上顯示輸入信號(hào)波形、峰峰值、頻率、真有效值等。
2.1 程控放大器
AD603是一個(gè)壓控型的可變?cè)鲆娣糯笃?,VINP為信號(hào)輸入端,它的增益的調(diào)整與其1腳和2腳的電壓差VG有關(guān),當(dāng)-0.5 V<VG<0.5 V時(shí),增益(dB)與其電壓差VG(V)之間滿足線性關(guān)系: Gain(dB)=40 VG+G0,當(dāng)5腳和7腳斷開(kāi)時(shí),G0=30,所以,Gain(dB)=40 VG+30,即增益的范圍為10~50dB[4]。圖中MCP4922是個(gè)雙通道12位的數(shù)模轉(zhuǎn)換器,5 V電壓由5K電位器調(diào)節(jié)A通道參考電壓VREFA,MCP4922采用SPI總線方式與PIC通信,由VOUTA端可輸出數(shù)控模擬電壓U1。從而實(shí)現(xiàn)程控放大并由VOUT端輸出U2,見(jiàn)圖2。
圖2 程控放大器
由IC1A與IC1B組成的加法器是使待分析的信號(hào)均處于y軸正半軸,其輸出信號(hào)U3送AD轉(zhuǎn)換。
2.2 并行AD轉(zhuǎn)換器AD9288及FPGA模塊
由于待分析輸入信號(hào)頻率為20Hz~250KHz,對(duì)波形離散化采樣及存儲(chǔ)時(shí),采樣速度必須足夠快才能采集到完整正確的信息,所以系統(tǒng)采用高速并行AD芯片AD9288對(duì)輸入信號(hào)進(jìn)行實(shí)時(shí)采樣。
如圖3所示,AD9288是一款100Msps采樣速率的雙通道8位高速模數(shù)轉(zhuǎn)換器,內(nèi)部由兩個(gè)跟蹤/保持放大器,兩個(gè)A/D變換器,一個(gè)邏輯控制器,兩個(gè)時(shí)鐘模塊,一個(gè)內(nèi)部參考電壓模塊和兩個(gè)數(shù)據(jù)輸出模塊組成。當(dāng)S1、S2為低電平時(shí),A、B通道處于STANDY,則A/D變換器不進(jìn)行采樣量化編碼,當(dāng)S1為高電平,S2為低電平時(shí),AD9288在編碼時(shí)鐘的控制下進(jìn)行工作。A通道的數(shù)據(jù)輸出送cycloneⅡ系列芯片EP2C8Q208C8N中FIFO的數(shù)據(jù)線實(shí)現(xiàn)信息存儲(chǔ)[5]。
FIFO為先進(jìn)先出的存儲(chǔ)器,速度高,存儲(chǔ)方便。FIFO中的數(shù)據(jù)是隊(duì)列結(jié)構(gòu),會(huì)出現(xiàn)溢出現(xiàn)象。當(dāng)向一個(gè)滿的FIFO中寫(xiě)入數(shù)據(jù)時(shí),就會(huì)把最新進(jìn)入的數(shù)據(jù)排擠出去,存入存儲(chǔ)器中。在CPU設(shè)計(jì)、高速數(shù)據(jù)采樣存儲(chǔ)、顯示緩存、高速通信緩存等方面有重要的應(yīng)用[3]。系統(tǒng)根據(jù)不同頻率的信號(hào),選擇不同的采樣率將數(shù)據(jù)存儲(chǔ)于FIFO;存滿后等待PIC的讀寫(xiě)信號(hào)和時(shí)鐘信號(hào),按照FIFO的先進(jìn)先出的順序讀取FIFO存儲(chǔ)的數(shù)據(jù)。
FIFO數(shù)據(jù)線經(jīng)220Ω電阻后接到單片機(jī)RB0~RB7,經(jīng)過(guò)讀寫(xiě)信號(hào)R/W和時(shí)鐘信號(hào)CLK與單片機(jī)進(jìn)行相互通信。D0A~D7A AD9288的8位并行輸出口,將其采樣到的數(shù)據(jù)送入FIFO存儲(chǔ)器中。同時(shí),F(xiàn)IFO模塊的輸出時(shí)鐘ADCLK控制AD采樣率,使其保證采樣到的數(shù)據(jù)至少有一個(gè)周期的信號(hào)波形。
圖3 并行AD與FPGA及單片機(jī)接口
圖4為系統(tǒng)主流程圖。程序分為兩個(gè)分支,一個(gè)是自動(dòng)搜索合適的倍率,一個(gè)是信號(hào)參數(shù)計(jì)算和顯示(參數(shù)顯示與波形顯示由功能鍵控制),兩個(gè)分支自動(dòng)切換。
圖4 系統(tǒng)主流程圖
自動(dòng)搜索合適的倍率是通過(guò)判斷采集的數(shù)據(jù)中最大值是否在所要求的范圍內(nèi),如果太大,可通過(guò)降低MCP4922的輸出電壓,降低AD603的增益,反之,則增大其增益,然后再重新測(cè)量頻率和采樣信號(hào)數(shù)據(jù),直到滿足條件。
3.1 單片機(jī)與FIFO協(xié)議
單片機(jī)與FIFO數(shù)據(jù)存儲(chǔ)器,通過(guò)一個(gè)讀寫(xiě)位和八個(gè)并行數(shù)據(jù)位分時(shí)復(fù)用實(shí)現(xiàn)通信。當(dāng)單片機(jī)需要向FIFO寫(xiě)數(shù)據(jù)時(shí),是根據(jù)CCP模塊測(cè)得的頻率,分別由這八個(gè)數(shù)據(jù)位送分頻系數(shù)、使能分頻器、使能FIFO三組控制信號(hào)。當(dāng)從FIFO讀取數(shù)據(jù)時(shí),單片機(jī)也是從這八個(gè)數(shù)據(jù)位讀取。
3.2 真有效值測(cè)量方法
交流信號(hào)的有效值就是方均值,對(duì)于周期為T(mén)的信號(hào)u(t),其有效值為
將信號(hào)進(jìn)行離散化(T=n×ΔT),可以得到:
由上式可計(jì)算出真有效值[6-7]。
3.3 波形判斷
由波峰因數(shù)判斷輸入信號(hào)的波形。波峰因數(shù)=峰峰值/有效值,三角波的波峰因數(shù)為,正弦波的波峰因數(shù)為,方波的波峰因數(shù)為1。因此,根據(jù)AD采樣的數(shù)據(jù)計(jì)算出信號(hào)峰峰值和有效值,從而判斷出輸入信號(hào)的波形[8-9]。
表1-3為不同條件下各輸入信號(hào)的測(cè)試情況,效果理想。
表1 峰峰值和有效值測(cè)量記錄表
表2 波形識(shí)別測(cè)試表
表3 信號(hào)波形測(cè)試表
系統(tǒng)可正確地測(cè)量輸入信號(hào)的各項(xiàng)參數(shù)和顯示波形,實(shí)驗(yàn)驗(yàn)證了該方案的可行性,實(shí)現(xiàn)高速AD數(shù)據(jù)采集、FIFO及PIC單片機(jī)三者的有機(jī)結(jié)合,該系統(tǒng)具有硬件設(shè)計(jì)簡(jiǎn)潔,處理速度快等優(yōu)點(diǎn),可為高速數(shù)據(jù)采樣存儲(chǔ)等提供借鑒,具有較強(qiáng)工程實(shí)踐意義。
[1] 韓國(guó)榮,吳長(zhǎng)瑞,張新勝.FPGA在高速實(shí)時(shí)信號(hào)采集系統(tǒng)中的應(yīng)用[J].測(cè)控技術(shù),2012,31(5): 60-67.
[2] 邵磊,倪明.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2011,37(19):221-223.
[3] 張秋云,王黎,高曉蓉,等.基于FPGA的高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(7): 70-76.
[4] 鐘艷娥,黃順,趙少武.放大器增益的智能控制[J].中山大學(xué)研究生學(xué)刊:自然科學(xué)、醫(yī)學(xué)版,2012,33(1):106-112.
[5] 繆軍同,魯新平.模數(shù)轉(zhuǎn)換器AD9288及其應(yīng)用[J].山西電子技術(shù),2006,(5):43-49.
[6] 邱玉春.一種采用單片機(jī)實(shí)現(xiàn)的基于離散積分的真有效值測(cè)量方法[J].工業(yè)控制計(jì)算機(jī),2012,25(8):134-135.
[7] 馮喬春.真有效值的測(cè)量及應(yīng)用[J].云南電力技術(shù),2008,36(3):14-15.
[8] 楊幼桐.基于單片機(jī)與傳感器的金屬載脹系數(shù)測(cè)定[J].大學(xué)物理實(shí)驗(yàn),2013(4):40-43.
[9] 白炳良,周錦榮.基于單片機(jī)的開(kāi)關(guān)電源并聯(lián)供電系統(tǒng)的設(shè)計(jì)[J].大學(xué)物理實(shí)驗(yàn),2013(6):58-60.
Designed of the Simple Signal Analyzer Based on PIC and FPGA
BAI Bing-liang,WANG Ling-zhi
(Minnan Normal University,F(xiàn)ujian Zhangzhou 363000)
High-speed data acquisition and signal analysis is the key for signal analyzers.With PIC16F877A microprocessor as the core,DAC MCP4922 and variable gain amplifier AD603 as remote control amplifier,CCP module for frequency measuring,ADC AD9288 and FPGA chip to realize high-speed real-time data acquisition,and LCD displayer to display the measured data and waveforms.The practical result is fine for the signal analyzer.
high speed data acquisition;MCU;FPGA;FIFO;high-speed ADC;remote control amplifier
TN919
A
10.14139/j.cnki.cn22-1228.2015.01.005
1007-2934(2015)01-0014-05
2014-09-15
福建省教育廳科技項(xiàng)目(JK2013028)