一种在双通道示波器上演示传输线行为的方法

描述

本应用笔记介绍了一种使用双通道示波器可视化传输线上驻波的新方法。该示波器显示两个正弦波,这些频率通过直接数字频率合成(DDS)产生,使用Maxim MAX5715数模转换器(DAC)与Atmel AVR处理器接口。

过去,驻波现象的演示可以使用称为“Lecher Lines”的实际物理传输线设置来完成。1这种方法需要费力的测量来确定驻波模式。此外,测量本身可能会干扰模式,并且肯定没有模式的即时视觉表示。

有一种使用双通道示波器可视化传输线上驻波的新方法。示波器的一个众所周知的特点是,当扫描与显示的波形不同步,而是接近其频率或子倍数时,波形似乎在屏幕上移动。如果扫描高于波形频率或子倍数,它将向右移动,如果扫描低于波形频率或子倍数,它将向左移动。如果将频率低于扫描频率的波形应用于双通道示波器的一个通道,并将高于扫描频率的频率的波形应用于另一个通道,则两个波将看起来方向相反。事实上,它们可以代表传输线上的正向波和反射波。此外,将示波器切换到Add模式会显示表示产生的驻波的单个波形。

创建有意义的显示器需要精确频率的正弦波,这可以通过直接数字合成(DDS)轻松完成。该演示使用大约 400Hz 的频率,因为这提供了视觉上吸引人且易于拍摄的显示。生成三种波形:399Hz 和 401Hz 正弦波,以及用于同步(触发)示波器的 400Hz 步进波。每个波与示波器扫描触发频率之间的1Hz差在模拟传输线上给出了明显的1Hz信号频率。虽然示波器触发频率为400Hz,但扫描速度设置为以400Hz的子倍数运行,以便每个波的几个周期可见。

显示屏

图1显示了两个正弦波在双迹线模式下如何出现在屏幕上。

显示器

图1.双迹线模式下的两个正弦波显示运动方向。

箭头在屏幕上显示运动方向。在静止图片中很难看到效果,因此也可以使用视频

此处介绍的演示在老式模拟示波器上运行效果最好。数字示波器上的显示可能过于“跳跃”,具体取决于其更新速率。尽管如此,在演示中,数字示波器优于模拟示波器,下面将对此进行说明。

图 2 显示了示波器切换到 Add 模式时产生的驻波。

显示器

图2.图1所示的两个正弦波在添加模式下显示为驻波。

同样,很难在静止图像中看到效果。在这里可以看到五个节点(始终处于零电压的点)。在它们之间,波从其负(极限)振荡到其正极限。在这种情况下,正向波和反射波相等,因此传输线必须开路或短路。如果终止在左侧,则它必须是短的,因为节点位于那里。驻波比是驻波最大振幅与最小振幅的比值。由于最小振幅为零,因此驻波比是无限的。

其他终止条件可以通过改变其中一个示波器通道的增益来模拟。在图3中,返回幅度(上迹线)减少了一半。这对应于既不开路也不短路的端接,也不对应于线路的特性阻抗。

显示器

图3.模拟中间端接时显示正向(下)和反射(上)波。

由此产生的驻波模式如图4所示。

显示器

图4.波形模式显示没有零电压节点。

没有节点(零电压点)。相反,波形在最大值和最小值的振幅(如箭头所示)显示 2 比 1 的比率,模拟 2:1 的 VSWR。

直接数字合成

精确频率的产生对于稳定的显示是必要的。这里的“稳定”意味着节点的水平位置,或驻波模式的最大值或最小值,不会在显示屏上移动。使用三个数控振荡器 (NCO) 实现 DDS2被使用。NCO通过称为相位累加器的16位计数器实现,该计数器以固定时钟频率F时钟,按称为调谐字或频率控制字的量,F连续(图5)。F型时钟远高于波形频率。

显示器

图5.相位累加器的示意图。

相位累加器的八个最高有效位应用于正弦查找表(LUT),并将表值发送到DAC。相位累加器中的值可以被认为是定义圆上的一个点;调音词定义了绕圈行走的“步幅”。调谐字越大,绕圈的行程越快,因此输出的频率就越高。结果频率由以下表达式给出:

F外= F连续×F时钟/216

输出频率与F成正比连续.在这种情况下,F时钟为 31.25kHz。F连续使用值 841、839 和 837,给出以下频率:

F1 = 841 × 31250/65536 = 401.02Hz

F2 = 839 × 31250/65536 = 400.06Hz

F3 = 837 × 31250/65536 = 399.11Hz

频率在这里表示为两位小数,但实际上 (F1 - F2) 正好等于 (F2 - F3)。小数点后九位的差值为 0.953674316Hz。

实施

本演示使用MAX5715 4通道12位数模转换器(DAC)的三个通道实现,该转换器由Arduino Uno板上的Atmel AVR处理器驱动。Arduino是一个开源硬件和软件平台,作为基于AVR的系统的开发环境非常方便。Maxim DAC使用SPI(串行外设接口)轻松连接到Arduino,AVR硬件和作为Arduino软件一部分提供的库支持该接口。Arduino SPI 库中的例程用于初始化 AVR SPI 硬件。也可以使用例程来执行实际的SPI数据传输,但这些例程太慢并且没有使用。®®

三相累加器是 16 位计数器,在由处理器的一个定时器驱动的中断例程中递增,每 32μs (1/31.25kHz) 产生一次中断。其中两个相位累加器值(产生F1和F3)通过LUT转换为正弦波,并发送到DAC的两个通道。第三相累加器(产生F2)的两个最高有效位被发送到第三个DAC通道,以产生4步示波器触发信号。通过改变触发电平,可以选择驻波模式的显示相位来模拟开路或短路端接。

Arduino SPI 库数据传输例程非常慢,以至于它们将中断例程持续时间延长到中断周期之外。因此,改用直接写入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焊接到转接板上,然后焊接到Arduino Uno原型“屏蔽”上(图7)。(“Shields”是为Arduino系统提供各种附加功能的板。

显示器

图7.Arduino原型屏蔽板上的MAX5715 DAC。

数字示波器上的显示

如上所述,此演示在模拟示波器上效果最好,因为数字示波器上的显示可能会跳跃,具体取决于更新速率。但是,数字示波器能够很好地显示驻波模式,如图8所示。

显示器

图8.数字示波器上的正向波(红色)、反射波(黄色)和产生的驻波(绿色)具有模拟持久性。

结论

使用示波器的通常目标是非移动显示器。本应用笔记使用受控移动显示器来显示传输线上的真实情况。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分