本應用筆記介紹了一種使用雙通道示波器可視化傳輸線上駐波的新方法。該示波器顯示兩個正弦波,這些頻率通過直接數(shù)字頻率合成(DDS)產(chǎn)生,使用Maxim MAX5715數(shù)模轉(zhuǎn)換器(DAC)與Atmel AVR處理器接口。
過去,駐波現(xiàn)象的演示可以使用稱為“Lecher Lines”的實際物理傳輸線設置來完成。1這種方法需要費力的測量來確定駐波模式。此外,測量本身可能會干擾模式,并且肯定沒有模式的即時視覺表示。
有一種使用雙通道示波器可視化傳輸線上駐波的新方法。示波器的一個眾所周知的特點是,當掃描與顯示的波形不同步,而是接近其頻率或子倍數(shù)時,波形似乎在屏幕上移動。如果掃描高于波形頻率或子倍數(shù),它將向右移動,如果掃描低于波形頻率或子倍數(shù),它將向左移動。如果將頻率低于掃描頻率的波形應用于雙通道示波器的一個通道,并將高于掃描頻率的頻率的波形應用于另一個通道,則兩個波將看起來方向相反。事實上,它們可以代表傳輸線上的正向波和反射波。此外,將示波器切換到Add模式會顯示表示產(chǎn)生的駐波的單個波形。
創(chuàng)建有意義的顯示器需要精確頻率的正弦波,這可以通過直接數(shù)字合成(DDS)輕松完成。該演示使用大約 400Hz 的頻率,因為這提供了視覺上吸引人且易于拍攝的顯示。生成三種波形:399Hz 和 401Hz 正弦波,以及用于同步(觸發(fā))示波器的 400Hz 步進波。每個波與示波器掃描觸發(fā)頻率之間的1Hz差在模擬傳輸線上給出了明顯的1Hz信號頻率。雖然示波器觸發(fā)頻率為400Hz,但掃描速度設置為以400Hz的子倍數(shù)運行,以便每個波的幾個周期可見。
顯示屏
圖1顯示了兩個正弦波在雙跡線模式下如何出現(xiàn)在屏幕上。
圖1.雙跡線模式下的兩個正弦波顯示運動方向。
箭頭在屏幕上顯示運動方向。在靜止圖片中很難看到效果,因此也可以使用視頻
此處介紹的演示在老式模擬示波器上運行效果最好。數(shù)字示波器上的顯示可能過于“跳躍”,具體取決于其更新速率。盡管如此,在演示中,數(shù)字示波器優(yōu)于模擬示波器,下面將對此進行說明。
圖 2 顯示了示波器切換到 Add 模式時產(chǎn)生的駐波。
圖2.圖1所示的兩個正弦波在添加模式下顯示為駐波。
同樣,很難在靜止圖像中看到效果。在這里可以看到五個節(jié)點(始終處于零電壓的點)。在它們之間,波從其負(極限)振蕩到其正極限。在這種情況下,正向波和反射波相等,因此傳輸線必須開路或短路。如果終止在左側(cè),則它必須是短的,因為節(jié)點位于那里。駐波比是駐波最大振幅與最小振幅的比值。由于最小振幅為零,因此駐波比是無限的。
其他終止條件可以通過改變其中一個示波器通道的增益來模擬。在圖3中,返回幅度(上跡線)減少了一半。這對應于既不開路也不短路的端接,也不對應于線路的特性阻抗。
圖3.模擬中間端接時顯示正向(下)和反射(上)波。
由此產(chǎn)生的駐波模式如圖4所示。
圖4.波形模式顯示沒有零電壓節(jié)點。
沒有節(jié)點(零電壓點)。相反,波形在最大值和最小值的振幅(如箭頭所示)顯示 2 比 1 的比率,模擬 2:1 的 VSWR。
直接數(shù)字合成
精確頻率的產(chǎn)生對于穩(wěn)定的顯示是必要的。這里的“穩(wěn)定”意味著節(jié)點的水平位置,或駐波模式的最大值或最小值,不會在顯示屏上移動。使用三個數(shù)控振蕩器 (NCO) 實現(xiàn) DDS2被使用。NCO通過稱為相位累加器的16位計數(shù)器實現(xiàn),該計數(shù)器以固定時鐘頻率F時鐘,按稱為調(diào)諧字或頻率控制字的量,F(xiàn)連續(xù)(圖5)。F型時鐘遠高于波形頻率。
圖5.相位累加器的示意圖。
相位累加器的八個最高有效位應用于正弦查找表(LUT),并將表值發(fā)送到DAC。相位累加器中的值可以被認為是定義圓上的一個點;調(diào)音詞定義了繞圈行走的“步幅”。調(diào)諧字越大,繞圈的行程越快,因此輸出的頻率就越高。結(jié)果頻率由以下表達式給出:
F外= F連續(xù)×F時鐘/216
輸出頻率與F成正比連續(xù).在這種情況下,F(xiàn)時鐘為 31.25kHz。F連續(xù)使用值 841、839 和 837,給出以下頻率:
F1 = 841 × 31250/65536 = 401.02Hz
F2 = 839 × 31250/65536 = 400.06Hz
F3 = 837 × 31250/65536 = 399.11Hz
頻率在這里表示為兩位小數(shù),但實際上 (F1 - F2) 正好等于 (F2 - F3)。小數(shù)點后九位的差值為 0.953674316Hz。
實施
本演示使用MAX5715 4通道12位數(shù)模轉(zhuǎn)換器(DAC)的三個通道實現(xiàn),該轉(zhuǎn)換器由Arduino Uno板上的Atmel AVR處理器驅(qū)動。Arduino是一個開源硬件和軟件平臺,作為基于AVR的系統(tǒng)的開發(fā)環(huán)境非常方便。Maxim DAC使用SPI(串行外設接口)輕松連接到Arduino,AVR硬件和作為Arduino軟件一部分提供的庫支持該接口。Arduino SPI 庫中的例程用于初始化 AVR SPI 硬件。也可以使用例程來執(zhí)行實際的SPI數(shù)據(jù)傳輸,但這些例程太慢并且沒有使用。??
三相累加器是 16 位計數(shù)器,在由處理器的一個定時器驅(qū)動的中斷例程中遞增,每 32μs (1/31.25kHz) 產(chǎn)生一次中斷。其中兩個相位累加器值(產(chǎn)生F1和F3)通過LUT轉(zhuǎn)換為正弦波,并發(fā)送到DAC的兩個通道。第三相累加器(產(chǎn)生F2)的兩個最高有效位被發(fā)送到第三個DAC通道,以產(chǎn)生4步示波器觸發(fā)信號。通過改變觸發(fā)電平,可以選擇駐波模式的顯示相位來模擬開路或短路端接。
Arduino SPI 庫數(shù)據(jù)傳輸例程非常慢,以至于它們將中斷例程持續(xù)時間延長到中斷周期之外。因此,改用直接寫入AVR SPI硬件的代碼。
中斷例程代碼:
//****************************************************************** // Timer2 Interrupt Service at 31372.550 Hz = 32uSec // this is the timebase REFCLOCK for the DDS generator // FOUT = (M (REFCLK)) / (2 exp 32) ISR(TIMER2_OVF_vect) { // set the SS line low PORTB &= (0xFF ^ 4); // send in the address and value via SPI: SPDR = CODEA; // update phase accumulators while waiting phaccu_a += tword_a; phaccu_b += tword_b; phaccu_c += tword_c; while (!(SPSR & _BV(SPIF))) ; // do the table lookup based on accum 'a' high-order byte SPDR = pgm_read_byte_near(sine256 + highByte(phaccu_a)); while (!(SPSR & _BV(SPIF))) ; SPDR = 0; while (!(SPSR & _BV(SPIF))) ; // set the SS line high PORTB |= 4; // set the sS line low for the second SPI transfer PORTB &= (0xFF ^ 4); // do the second SPI transfer //SPDR = CODEB_LOADALL; SPDR = CODEB; while (!(SPSR & _BV(SPIF))) ; // do table lookup based on accum 'b' SPDR = pgm_read_byte_near(sine256 + highByte(phaccu_b)); while (!(SPSR & _BV(SPIF))) ; SPDR = 0; while (!(SPSR & _BV(SPIF))) ; // take the SS pin high to de-select the chip: PORTB |= 4; // set the sS line low for the third SPI transfer PORTB &= (0xFF ^ 4); SPDR = CODEC_LOADALL; while (!(SPSR & _BV(SPIF))) ; // Four stairsteps on output C SPDR = highByte(phaccu_c) & 0xC0; while (!(SPSR & _BV(SPIF))) ; SPDR = 0; while (!(SPSR & _BV(SPIF))) ; // take the SS pin high to de-select the chip: PORTB |= 4; }
Arduino和MAX5715之間的連接如圖6所示。
圖6.Arduino板和MAX5715 DAC之間的接口原理圖。
MAX5715焊接到轉(zhuǎn)接板上,然后焊接到Arduino Uno原型“屏蔽”上(圖7)。(“Shields”是為Arduino系統(tǒng)提供各種附加功能的板。
圖7.Arduino原型屏蔽板上的MAX5715 DAC。
數(shù)字示波器上的顯示
如上所述,此演示在模擬示波器上效果最好,因為數(shù)字示波器上的顯示可能會跳躍,具體取決于更新速率。但是,數(shù)字示波器能夠很好地顯示駐波模式,如圖8所示。
圖8.數(shù)字示波器上的正向波(紅色)、反射波(黃色)和產(chǎn)生的駐波(綠色)具有模擬持久性。
結(jié)論
使用示波器的通常目標是非移動顯示器。本應用筆記使用受控移動顯示器來顯示傳輸線上的真實情況。
審核編輯:郭婷
-
顯示器
+關注
關注
21文章
5023瀏覽量
140579 -
示波器
+關注
關注
113文章
6316瀏覽量
186139 -
DDS
+關注
關注
21文章
637瀏覽量
153053
發(fā)布評論請先 登錄
相關推薦
傳輸線特征阻抗是設計中最重要的因素
DAC3482的I通道輸出電路,傳輸線變壓器有什么作用?
示波器測量電壓的步驟 數(shù)字示波器的基本操作方法
平衡傳輸線標準的重要性
為電機一體化應用提供一種雙通道集成電機驅(qū)動方案的電機驅(qū)動芯片-SS6811H

示波器探頭在測試的時候會引入什么負載效應
數(shù)字示波器的測量方法有哪三種
為什么選擇hdmi光纖傳輸線
差分走線的原理和作用 差分走線是射頻走線的一種嗎
掌握了這個分析方法,實現(xiàn)傳輸線阻抗5%的加工公差不是夢!
掌握了這個分析方法,實現(xiàn)傳輸線阻抗5%的加工公差不是夢!

評論