本應(yīng)用筆記介紹了一種使用雙通道示波器可視化傳輸線上駐波的新方法。該示波器顯示兩個(gè)正弦波,這些頻率通過直接數(shù)字頻率合成(DDS)產(chǎn)生,使用Maxim MAX5715數(shù)模轉(zhuǎn)換器(DAC)與Atmel AVR處理器接口。
過去,駐波現(xiàn)象的演示可以使用稱為“Lecher Lines”的實(shí)際物理傳輸線設(shè)置來完成。1這種方法需要費(fèi)力的測(cè)量來確定駐波模式。此外,測(cè)量本身可能會(huì)干擾模式,并且肯定沒有模式的即時(shí)視覺表示。
有一種使用雙通道示波器可視化傳輸線上駐波的新方法。示波器的一個(gè)眾所周知的特點(diǎn)是,當(dāng)掃描與顯示的波形不同步,而是接近其頻率或子倍數(shù)時(shí),波形似乎在屏幕上移動(dòng)。如果掃描高于波形頻率或子倍數(shù),它將向右移動(dòng),如果掃描低于波形頻率或子倍數(shù),它將向左移動(dòng)。如果將頻率低于掃描頻率的波形應(yīng)用于雙通道示波器的一個(gè)通道,并將高于掃描頻率的頻率的波形應(yīng)用于另一個(gè)通道,則兩個(gè)波將看起來方向相反。事實(shí)上,它們可以代表傳輸線上的正向波和反射波。此外,將示波器切換到Add模式會(huì)顯示表示產(chǎn)生的駐波的單個(gè)波形。
創(chuàng)建有意義的顯示器需要精確頻率的正弦波,這可以通過直接數(shù)字合成(DDS)輕松完成。該演示使用大約 400Hz 的頻率,因?yàn)檫@提供了視覺上吸引人且易于拍攝的顯示。生成三種波形:399Hz 和 401Hz 正弦波,以及用于同步(觸發(fā))示波器的 400Hz 步進(jìn)波。每個(gè)波與示波器掃描觸發(fā)頻率之間的1Hz差在模擬傳輸線上給出了明顯的1Hz信號(hào)頻率。雖然示波器觸發(fā)頻率為400Hz,但掃描速度設(shè)置為以400Hz的子倍數(shù)運(yùn)行,以便每個(gè)波的幾個(gè)周期可見。
顯示屏
圖1顯示了兩個(gè)正弦波在雙跡線模式下如何出現(xiàn)在屏幕上。
圖1.雙跡線模式下的兩個(gè)正弦波顯示運(yùn)動(dòng)方向。
箭頭在屏幕上顯示運(yùn)動(dòng)方向。在靜止圖片中很難看到效果,因此也可以使用視頻
此處介紹的演示在老式模擬示波器上運(yùn)行效果最好。數(shù)字示波器上的顯示可能過于“跳躍”,具體取決于其更新速率。盡管如此,在演示中,數(shù)字示波器優(yōu)于模擬示波器,下面將對(duì)此進(jìn)行說明。
圖 2 顯示了示波器切換到 Add 模式時(shí)產(chǎn)生的駐波。
圖2.圖1所示的兩個(gè)正弦波在添加模式下顯示為駐波。
同樣,很難在靜止圖像中看到效果。在這里可以看到五個(gè)節(jié)點(diǎn)(始終處于零電壓的點(diǎn))。在它們之間,波從其負(fù)(極限)振蕩到其正極限。在這種情況下,正向波和反射波相等,因此傳輸線必須開路或短路。如果終止在左側(cè),則它必須是短的,因?yàn)楣?jié)點(diǎn)位于那里。駐波比是駐波最大振幅與最小振幅的比值。由于最小振幅為零,因此駐波比是無(wú)限的。
其他終止條件可以通過改變其中一個(gè)示波器通道的增益來模擬。在圖3中,返回幅度(上跡線)減少了一半。這對(duì)應(yīng)于既不開路也不短路的端接,也不對(duì)應(yīng)于線路的特性阻抗。
圖3.模擬中間端接時(shí)顯示正向(下)和反射(上)波。
由此產(chǎn)生的駐波模式如圖4所示。
圖4.波形模式顯示沒有零電壓節(jié)點(diǎn)。
沒有節(jié)點(diǎn)(零電壓點(diǎn))。相反,波形在最大值和最小值的振幅(如箭頭所示)顯示 2 比 1 的比率,模擬 2:1 的 VSWR。
直接數(shù)字合成
精確頻率的產(chǎn)生對(duì)于穩(wěn)定的顯示是必要的。這里的“穩(wěn)定”意味著節(jié)點(diǎn)的水平位置,或駐波模式的最大值或最小值,不會(huì)在顯示屏上移動(dòng)。使用三個(gè)數(shù)控振蕩器 (NCO) 實(shí)現(xiàn) DDS2被使用。NCO通過稱為相位累加器的16位計(jì)數(shù)器實(shí)現(xiàn),該計(jì)數(shù)器以固定時(shí)鐘頻率F時(shí)鐘,按稱為調(diào)諧字或頻率控制字的量,F(xiàn)連續(xù)(圖5)。F型時(shí)鐘遠(yuǎn)高于波形頻率。
圖5.相位累加器的示意圖。
相位累加器的八個(gè)最高有效位應(yīng)用于正弦查找表(LUT),并將表值發(fā)送到DAC。相位累加器中的值可以被認(rèn)為是定義圓上的一個(gè)點(diǎn);調(diào)音詞定義了繞圈行走的“步幅”。調(diào)諧字越大,繞圈的行程越快,因此輸出的頻率就越高。結(jié)果頻率由以下表達(dá)式給出:
F外= F連續(xù)×F時(shí)鐘/216
輸出頻率與F成正比連續(xù).在這種情況下,F(xiàn)時(shí)鐘為 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ù),但實(shí)際上 (F1 - F2) 正好等于 (F2 - F3)。小數(shù)點(diǎn)后九位的差值為 0.953674316Hz。
實(shí)施
本演示使用MAX5715 4通道12位數(shù)模轉(zhuǎn)換器(DAC)的三個(gè)通道實(shí)現(xiàn),該轉(zhuǎn)換器由Arduino Uno板上的Atmel AVR處理器驅(qū)動(dòng)。Arduino是一個(gè)開源硬件和軟件平臺(tái),作為基于AVR的系統(tǒng)的開發(fā)環(huán)境非常方便。Maxim DAC使用SPI(串行外設(shè)接口)輕松連接到Arduino,AVR硬件和作為Arduino軟件一部分提供的庫(kù)支持該接口。Arduino SPI 庫(kù)中的例程用于初始化 AVR SPI 硬件。也可以使用例程來執(zhí)行實(shí)際的SPI數(shù)據(jù)傳輸,但這些例程太慢并且沒有使用。??
三相累加器是 16 位計(jì)數(shù)器,在由處理器的一個(gè)定時(shí)器驅(qū)動(dòng)的中斷例程中遞增,每 32μs (1/31.25kHz) 產(chǎn)生一次中斷。其中兩個(gè)相位累加器值(產(chǎn)生F1和F3)通過LUT轉(zhuǎn)換為正弦波,并發(fā)送到DAC的兩個(gè)通道。第三相累加器(產(chǎn)生F2)的兩個(gè)最高有效位被發(fā)送到第三個(gè)DAC通道,以產(chǎn)生4步示波器觸發(fā)信號(hào)。通過改變觸發(fā)電平,可以選擇駐波模式的顯示相位來模擬開路或短路端接。
Arduino SPI 庫(kù)數(shù)據(jù)傳輸例程非常慢,以至于它們將中斷例程持續(xù)時(shí)間延長(zhǎng)到中斷周期之外。因此,改用直接寫入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ù)字示波器上的顯示
如上所述,此演示在模擬示波器上效果最好,因?yàn)閿?shù)字示波器上的顯示可能會(huì)跳躍,具體取決于更新速率。但是,數(shù)字示波器能夠很好地顯示駐波模式,如圖8所示。
圖8.數(shù)字示波器上的正向波(紅色)、反射波(黃色)和產(chǎn)生的駐波(綠色)具有模擬持久性。
結(jié)論
使用示波器的通常目標(biāo)是非移動(dòng)顯示器。本應(yīng)用筆記使用受控移動(dòng)顯示器來顯示傳輸線上的真實(shí)情況。
審核編輯:郭婷
-
顯示器
+關(guān)注
關(guān)注
22文章
5072瀏覽量
141870 -
示波器
+關(guān)注
關(guān)注
113文章
6709瀏覽量
189364 -
DDS
+關(guān)注
關(guān)注
22文章
672瀏覽量
154474
發(fā)布評(píng)論請(qǐng)先 登錄
傳輸線高頻參數(shù)之Crosstalk

PCB制板廠加工問題很大啊,高速PCB傳輸線阻抗一直往上跑
ads1248雙通道采樣/雙通道增益不一致,數(shù)據(jù)亂跳怎么解決?
傳輸線特征阻抗是設(shè)計(jì)中最重要的因素
多線示波器的原理和應(yīng)用領(lǐng)域
DAC3482的I通道輸出電路,傳輸線變壓器有什么作用?
示波器測(cè)量電壓的步驟 數(shù)字示波器的基本操作方法
示波器調(diào)試電路的方法 示波器與其他測(cè)量?jī)x器的比較
平衡傳輸線標(biāo)準(zhǔn)的重要性
為電機(jī)一體化應(yīng)用提供一種雙通道集成電機(jī)驅(qū)動(dòng)方案的電機(jī)驅(qū)動(dòng)芯片-SS6811H

評(píng)論