<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 利用雙通道示波器展示傳輸線(xiàn)行為的方法

利用雙通道示波器展示傳輸線(xiàn)行為的方法

——
作者:BobHaas 時(shí)間:2014-06-26 來(lái)源:電子產(chǎn)品世界 收藏
編者按:摘要:本文采用創(chuàng )新方法,通過(guò)雙通道示波器測量出傳輸線(xiàn)上的駐波,從而利用受控的移動(dòng)圖像展現信號在傳輸線(xiàn)中的真實(shí)情況。

  2 直接數字合成

本文引用地址:http://dyxdggzs.com/article/248900.htm

  為獲得穩定的顯示,就必須產(chǎn)生準確的頻率。這里的“穩定”表示節點(diǎn)的水平位置或者圖案的最大或最小位置在屏幕上不移動(dòng)。一種實(shí)現辦法,采用具有數控振蕩器(NCO)2的DDS。NCO采用一個(gè)16位計數器,稱(chēng)之為相位累加器,來(lái)實(shí)現。FCLOCK(圖5)為一個(gè)固定的時(shí)鐘頻率遞增量,Fcw為調制量或頻率控制量。FCLOCK遠遠高于波形頻率。

  將相位累加器的高8位的值和正弦查找表(LUT)對應,然后將查找值發(fā)送至DAC。相位累加器中的值可認為對應的是一個(gè)圓上的某一個(gè)點(diǎn);調制量定義為繞圓周的“步長(cháng)”。調制量越大,繞圓周旋轉的越快,因此輸出的頻率也越高。產(chǎn)生的頻率由下式給出:

  FOUT = FCW × FCLOCK/216

  輸出頻率與FCW成正比。本例中,FCLOCK為31.25kHz。FCW值采用841、839和837,計算得到三個(gè)頻率為:

  F1=841×31250/65536= 401.02Hz
  F2=839×31250/65536= 400.06Hz
  F3=837×31250/65536= 399.11Hz

  這里的頻率表示采用保留兩位小數,但實(shí)際上(F1 – F2和(F2 – F3)是完全相等的。頻率差精確到9位小數時(shí)為0.953674316Hz。

  3 實(shí)現

  本演示使用® MAX5715 4通道12位數/模轉換器(DAC)的三個(gè)通道來(lái)實(shí)現,由® Uno板上的Atmel® 處理器驅動(dòng)。是一個(gè)開(kāi)放的軟硬件平臺,對于基于系統開(kāi)發(fā)環(huán)境,非常方便。 DAC通過(guò)SPI(串行外設接口)很容易和相連,硬件支持SPI接口,Arduino軟件庫自帶SPI驅動(dòng)。運行Arduino 庫中的SPI程序初始化AVR SPI硬件。也提供現存的SPI數據傳輸的程序,但速度太慢,未使用。

  三個(gè)相位累加器采用16的位計數器,計數器遞增是通過(guò)一個(gè)中斷程序來(lái)實(shí)現,中斷程序由處理器中的一個(gè)定時(shí)器來(lái)觸發(fā)。每32µs (1/31.25kHz)中斷一次。利用LUT將兩個(gè)相位累加器值(生成F1和F3)轉換為正弦值并然后送給DAC的兩個(gè)通道。將第三個(gè)相位累加器(生成F2)的兩個(gè)最高有效位發(fā)送至第三個(gè)DAC通道,產(chǎn)生一個(gè)4節拍的觸發(fā)信號。通過(guò)改變觸發(fā)電平,可選擇想要的相位去進(jìn)行開(kāi)路或短路端接仿真。

  Arduino SPI庫中的數據傳輸程序太慢,導致中斷程序的運行時(shí)間超過(guò)了中斷周期。因此,改用直接寫(xiě)至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)))
  ;



關(guān)鍵詞: 示波器 駐波 Maxim Arduino AVR 201407

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>