tag 标签: 脉冲发生器

相关博文
  • 2018-8-30 16:15
    2336 次阅读|
    0 个评论
    带图完整文章:http://www.hongketest.com/portal.php?mod=view&aid=57 本文以Active Technologies公司(简称AT)的PG 1000系列脉冲发生器为例,讲述了在进行SCPI控制仪器前,如何使用NI MAX进行系统配置。 1. 概要 可以连接仪器至用户的网络中,实现打印、文件共享、互联网访问等其他功能。请联系贵公司的网络管理员,并使用标准 Windows 在用户的网络中配置仪器。 仪器是通过 VXI-11 (LAN) 协议 进行控制的,用户可以利用 SCPI 命令远程控制仪器,请参考《 Pulse Rider PG-1000 programmer manual 》 了解详细的 SCPI 命令语法、语句。 2. 工具 / 准备 2.1 PG-1000 系列 SDK 1. 用户在 www.activetechnologies.it 网站注册账户后,登录网站并“ Register ”仪器。 2. 点击“ Support ”—“ Client Area ”,访问“ Users Products ”界面。 3. 点击 AT-PG1072 或 AT-PG1074 链接,访问下载界面。点击 SDK-AT-PULSE-GENERATOR 安装包并下载。 SDK 内包括: AT Instrument Communicator 安装程序 (用途,参考下节“配置系统”的第 9 步) C++ 例程 C# 例程 LabVIEW 例程 2.2 NI VISA 在 Client-PC (即 Remote PC )中 下载 并安装 NI VISA 。 VI SA 为硬件 与开发环境(比如, Visual Studio .NET 、 LabVIEW 、 LabWindows/CVI 、 Measurement Studio for Microsoft Visual Studio 、 MatLab 等)提供编程接口。 NI VISA 是 National Instruments 公司提供的 VISA I/O 标准。 NI VISA 包括软件库、交互式工具(例如, NI I/O Trace 与 VISA 交互式控制)、配置程序等。 2.3 NI NAX ( Measurement & Automation Explorer ) 在 Client-PC (即 Remote PC )中 下载 并安装 NI MAX 软件。 2.4 PG-1000 系列软件 打开 PG-1000 系列仪器中自带的控制软件,找到“ Remote/Local ”界面中的 VXI-11 ( LAN 协议) Server 。默认情况下, VXI-11 Server 是开启的,意味着 PG1000 系列仪器可以接收来自 Client-PC 的 SCPI 命令。 当 PG-1000 系列仪器接收 SCPI 命令时, PG-1000 系列软件界面会根据 SCPI 命令做出相应的变化(例如,参数设置等)。 注意: 不能在本地 PC (即 PG-1000 系列仪器本身中的 PC 系统)中通过 SCPI 命令控制 PG-1000 系列仪器。 若 VXI-11 Server 被关闭, SCPI 命令通信将会失败。 3. 配置系统(使用 NI MAX ) 使用 NI MAX 进行如下配置: 1. 使用 LAN 线缆连接仪器与 Client-PC 。 2. 在 Client-PC 中安装 NI VISA 与 NI MAX 。 3. 打开 Client-PC 中的 NI MAX 。点击“ Add Network Device ”——“ VISA TCP/IP Resource… ”。 4. 选择“ Auto-detect of LAN Instrument ”,并点击“ Next ”。 5. 面板将会显示在 LAN 网络中搜索到的仪器,选择 PG-1000 系列仪器,并点击“ Next ”。 6. 输入“ Alias ”(此步非必须,可省略),并点击“ Next ”。 7. 点击“ Finish ”。 8. PG-1000 仪器资源将会在“ Network Devices ”列表中显示。 9. 现在,可以使用 NI Visa Test Panel 或 AT Instrument Communicator (软件的获取下载,参考“ PG-1000 系列 SDK ”小节的第 3 步;软件的使用,参考下节“使用 AT Instrument Communicator 调试系统”)发送 SCPI 命令至 PG-1000 。 4. 调试系统(使用 AT Instrument Communicator ) VXI-11 ( LAN 协议) Server 可以为在同一 LAN 网络下的 PG-1000 仪器与 Client-PC 提供软件接口。 AT Instrument Communicator 软件 需安装在 Client-PC 中,且 Client-PC 中需安装 NI VISA 。 通过以下步骤,操控 Client-PC 中 AT Instrument Communicator 软件实现对 PG-1000 仪器的控制: 1. 在 Client-PC 中安装 AT Instrument Communicator 软件。 2. 在“ Device ”列表中选择 PG-1000 系列仪器。 3. 点击“ Connect ”按钮。 4. 若连接成功, “ Command ” 复选框内的“ Write ”、“ Read ”等按钮将会可选(非灰色) 5. 在“ Command ”文本框内输入 *IDN? 并点击“ Write ”按钮。 6. 点击“ Query ”按钮。 7. 在“ Event Logger ”列表中, PG-1000 系列仪器会显示返回值,例如: ACTIVE TECHNOLOGIES, AT-PULSE-RIDER PG1072 00000001,SCPI 99.0, SV 1.0.0 where 00000001 is the serialnumber, SCPI 99.0 is the SCPI command version and SV 1.0.0 is the software version. 8. TXT 命令脚本 ( script )文件包括一系列 SCPI 命令(每行一条命令),用户可以发送 TXT 命令脚本文件。点击“ File ”—“ Open ”打开加载 TXT 命令脚本文件对话框。 9. 参考《 Pulse Rider PG-1000 programmer manual 》了解详细的 SCPI 命令语法、语句。 5. 例程 / 范例 PG-1000 系列 SDK 中包含由很多种语言编写的例程,例如 LabVIEW 、 Microsoft Visual C++ 与 Microsoft C# .NE 语言。 例程可以在安装了 NI VISA 并兼容 Microsoft Windows® 的 PC 上运行。 NI VISA 是 National Instruments 公司提供的 VISA I/O 标准。 NI VISA 包括软件库、交互式工具(例如, NI I/O Trace 与 VISA 交互式控制)、配置程序等。 在软件中使用 NI VISA 编写的仪器驱动,可以处理软件应用程序与硬件仪器之间的通信。 可 下载 并安装 NI VISA 。 例程假设 系统已经识别 PG-1000 系列仪器 的 资源名称( resource name ),即 IP 地址或主机名称,可参考前文“配置系统”小节了解资源名称( resource name )。 5.1 LabVI EW LabVIEW 例程要求最低使用 LabView 2013 64 bit 版本,可在 …\LabView 2013 Examples\AT-PULSE-RIDER-PG1000 Series 文件夹内找到 LabVIEW 工程。 LabVIEW 工程中包含一些 VI 用于控制仪器的基础特性,还包含有三个例程。 双击 GenerateSinglePulse.vi ,本例程可以连续模式生成单脉冲。在运行 VI 之前,需要选择“ VISA resource name ”。 用户可以更改脉宽、延时、高电平、低电平和其他输出参数。 运行 VI 开始生成输出脉冲,点击“ Stop ”按钮控件停止 PG-1000 系列脉冲发生器。 5.2 Microsoft C# 可以在 …\VS2015 Examples\PulseRiderCSharp 文件夹内找到 C++ 例程,需要安装 Microsoft Visual Studio 2015 打开例程。 用户需要编译并运行例程;在 Form 中需要输入“ Instrument Address ”并点击“ Connect ”按钮建立连接。 若成功连接,仪器会在“ Server Answer ”文本框内显示 *IDN ?命令的返回值。 点击“ Generate Pulse ”按钮发送 SCPI 命令至 PG-1000 系列仪器,仪器将会以连续模式生成输出单脉冲。 private void btnGeneratePulse_Click( object sender, EventArgs e) { // Reset to default tbAnswer.Text = vs.SendTo(sInstrumentAddress, "*RST" ); // Set the channel parameters tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOURce1:VOLT:HIGH 1.5" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOURce1:VOLT:LOW -1.5" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOURce2:VOLT:HIGH 2" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOURce2:VOLT:LOW -2" ); // Set the pulse parameters tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOURce1:PULSe1:WIDth 50 ns" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOURce1:PULSe1:DELay 0" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOURce2:PULSe1:WIDth 50 ns" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "SOUrce2:PULSe1:DELay 50 ns" ); // Set the pulse mode tbAnswer.Text = vs.SendTo(sInstrumentAddress, "OUTPut1:PULSe:MODe SINgle" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "OUTPut2:PULSe:MODe SINgle" ); // Turn On the channels tbAnswer.Text = vs.SendTo(sInstrumentAddress, "OUTPut1 ON" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "OUTPut2 ON" ); // Set the trigger mode and arm the instrument tbAnswer.Text = vs.SendTo(sInstrumentAddress, "TRIGger:MODE CONTinuous" ); tbAnswer.Text = vs.SendTo(sInstrumentAddress, "PULSEGENControl:START" ); // Send the trigger tbAnswer.Text = vs.SendTo(sInstrumentAddress, "*TRG" ); } 点击“ Load Script… ”按钮可加载 SCPI 命令 TXT 脚本文件;在工程目录文件夹内有三个脚本文件: GenerateSinglePulse.txt 、 GenerateMultiplePulse.txt 、 GeneratePulseTriggerIN.txt 。 5.3 Microsoft C++ 可以在 …\ VS2015 Examples\PulseRiderMSVC\TCPIP 文件夹内找到 C++ 例程,例程是使用 Microsoft® Visual C++ 语言编写的。 /*********************************************************************/ /* This example demonstrates opening a simple TCPIP connection and */ /* implements a single pulse generation in Continuous Mode. */ /* */ /* The general flow of the code is */ /* Open Resource Manager */ /* Open a session to the TCP/IP site at NI */ /* Perform write/read, and check properties */ /* Close all VISA Sessions */ /*********************************************************************/ #include "visa.h" #include #include #include static char outputBuffer ; static ViSession defaultRM, instr; static ViStatus status; static ViUInt32 count; static char acBuffer = "" ; static unsigned int u32Timeout = 20000; //timeout value in milliseconds static const char acInstrument = 0; if 0) { printf( "The server response is:\n %s\n\n" ,outputBuffer); } return status; } int main() { int iIndex = 0; FILE* pFile = NULL; ViFindList objFindList; /* First we will need to open the default resource manager. */ status = viOpenDefaultRM (&defaultRM); if (status < VI_SUCCESS) { printf( "Could not open a session to the VISA Resource Manager!\n" ); exit (EXIT_FAILURE); } status = viFindRsrc (defaultRM, "?*INSTR" , &objFindList, &count, outputBuffer); if (status < VI_SUCCESS) { viStatusDesc(instr, status, outputBuffer); printf( "viFindRsrc failed with error code %x - %s\n" , status, outputBuffer); exit (EXIT_FAILURE); } printf( "viFindRsrc - %s\n" , outputBuffer); /* Now we will open a session via TCP/IP */ status = viOpen (defaultRM, (ViRsrc) acInstrument, VI_NULL, u32Timeout, &instr); if (status < VI_SUCCESS) { printf ( "An error occurred opening the session to %s\n" , acInstrument); viClose(defaultRM); exit (EXIT_FAILURE); } // Set the timeout attribute viSetAttribute (instr, VI_ATTR_TMO_VALUE, u32Timeout); //Identify and reset the instrument VisaWrite( "*IDN?" ); VisaWrite( "*RST" ); //Set the Channel Parameters VisaWrite( "SOURce1:PERiod 600 ns" ); VisaWrite( "SOURce2:PERiod 600 ns" ); VisaWrite( "SOURce1:VOLT:HIGH 1" ); VisaWrite( "SOURce1:VOLT:LOW -1" ); VisaWrite( "SOURce2:VOLT:HIGH 0.5" ); VisaWrite( "SOURce2:VOLT:LOW -0.5" ); // Set the Pulse Parameters VisaWrite( "SOURce1:PULSe1:WIDth 100 ns" ); VisaWrite( "SOURce2:PULSe1:WIDth 20 ns" ); // Turn On the Outputs VisaWrite( "OUTPut1 ON" ); VisaWrite( "OUTPut2 ON" ); // Set the Pulse Mode VisaWrite( "SOURce1:PULSe:MODE SINGLE" ); // Set the Trigger Mode VisaWrite( "TRIGger:MODE CONTinuous" ); // Arm the instrument VisaWrite( "PULSEGENControl:START" ); // Start the generation VisaWrite( "*TRG" ); status = viClose (instr); status = viClose (defaultRM); printf ( "\nHit enter to continue." ); fflush(stdin); getchar(); return 0; }
  • 热度 2
    2015-12-15 11:30
    386 次阅读|
    1 个评论
    全新PicoSource® PG900系列脉冲信号发生器是一款高速,低成本的仪器,可用于单端和差分脉冲测量应用。快速过渡脉冲可利用光谱信号立即激发传输线路,设备和网络。此种脉冲对我们要做的很多高速宽频测量至关重要,比如时域反射计(TDR),半导体测试,千兆互联和端口测试以及雷达系统测试。 通常使用该发生器将产生光谱含量连接到50 ohm的线缆,连接器,RF半导体或其他被测设备中。然后可通过带宽或采样示波器监测和显示反射或透射脉冲。被称为“时域发射或透射”的分析(TDR/TDT)可替代矢量和标量网络分析。它们已广泛用于高速数据路径的开发、评估和测试中,如以太网,USB,HDMI和SATA,和RF,雷达和微波装置,线缆,网络和设备。   与传统笨重昂贵的台式仪器不同,PicoSource PG900信号发生器是紧凑的USB设备,连接到windows操作系统的PC上。这使得紧凑型便携仪器具备卓越微波性能有点,并配置有高分辨率图形显示屏,可通过键盘、鼠标或触摸屏轻松进行设置。这种低成本便携仪器能够让RF和微波测试走出实验室,执行现场测量。凭借这些优点,此款全新脉冲发生器在所有宽带设别设计人员、安全工程师以及维修技术人员的工具箱中占有一席之地。   “PicoSource PG900脉冲发生器对于现代差分测量挑战不同寻常但是至关重要,其具备可调节差分输出,可调节度达到1ps分辨率,”业务发展经理Mark Ashcroft解释说。“如此一来可忽略测试连接和固定装置中定时不均衡问题;或将时序偏差慎重引入系统压力测试中。”同时,还可在单端模式中运行所有输出。   PicoSource PG900系列提供两种不同的触发阶跃信号发生技术,以满足不同应用需求。PG911配有集成阶跃恢复二极管输出,可提供60 ps的过渡时间,其中每个输出具有2.5V到6V的较大输出调节范围。这些脉冲能够支持高动态范围和远距离测量,可操作多数传输系统和设备中所有信号振幅。PG912使用外部隧道二极管脉冲源提供更加快速的过渡时间(40 ps),其中界面固定振幅正好为200mV。第三个型号PG914在一节省空间的经济型设备中集成了这两种技术。 图:脉冲源 图:脉冲源内部结构   所有模块均配有低抖动外触发器输入和输出以及多种宽度、周期和时延可调的外部触发时钟。与触发输入和输出相关的脉冲边缘抖动小于3 ps RMS。   价格最低的为60 ps PG911,4905英镑(US$8095 or €6495),其中包含软件和2年保修。Pico Technology还提供种类齐全的TDR和TDT附件,以便差分脉冲发生器与PicoScope 9000系列12GHz和20GHz采样示波器配合使用。索要详细资料:sales@hkaco.com
  • 热度 1
    2015-3-24 13:30
    553 次阅读|
    0 个评论
      FPGA开发中常用到单脉冲发生器。一些文章介绍过产生单脉冲的电路,产生的单脉冲脉宽和相位都不能与时钟同步,只能用在要求不严格的场合。笔者目前从事的课题中需要一个与时钟周期等宽,相位与时钟周期相同的键控单脉冲发生器。键控单脉冲发生器需要按键产生单脉冲,但大多数带有FPGA芯片的开发板提供的是高频时钟脉冲,按键时会存在抖动问题。为此笔者专门设计了按键消抖电路消除抖动,为产生单脉冲提供稳定的按键信号。    1 按键消抖电路原理   为了使按键消抖电路模块简洁,移植性好,在此用计数器的方式实现按键消抖的功能。   计数器模值n根据抖动信号的脉冲宽度和采样脉冲信号CLK的周期大小决定。计数模值n=延时/脉冲信号采样周期。一般按键抖动时间为5~10 ms,甚至更长。笔者用的开发板提供的系统时钟为24 MHz,按公式计算,当计数器模值取20位,计数到219即h8 0000时,大约延时22 ms。计数期间认为是按键的抖动信号,不做采样;计数器停止计数,认为采样信号为稳定按键信号。这样就可以把按键时间小于22 ms的抖动信号滤掉。   引入一个采样脉冲信号CLK,并输入按键信号KEY。KEY输入低电平,计数器开始做加法计数,当计数到h8 0000即计数器中最高位Q19为1,计数器停止计数,输出Q19,作为按键的稳定输出,计数期间Q19输出为0;KEY输入高电平,计数器清零,Q19输出为0。所以该电路需按键22 ms才会得到有效信号。    2 键控单脉冲发生器电路原理   键控单脉冲发生器利用上述电路解决按键消抖问题,得到稳定的信号。用两个D触发器和一个与门产生单脉冲,如图1所示。   D触发器U2A收到稳定信号D1=1后被触发。触发器U2A中的Q1端得到与CLK同步的正向脉冲。输出Q1到D触发器U3A,得到比Q1延迟一个时钟周期的的正向脉冲,将Q2端输出取反得到一个负向脉冲。Q1与Qn2的输出作为一个与门的输入,会输出一个脉宽是原时钟周期2倍的单脉冲。   为了使得出的单脉冲脉宽与时钟周期相等,相位与时钟周期相同,对图1中电路设计做了改进,如图2所示。   图2中时钟送入D触发器前加了非门,使Q1端产生与nCLK(CLK的反向脉冲信号)同步的正向脉冲,与门输出单脉冲与CLK差半个时钟周期,作为D触发器U4A的输入D4,在CLK上升沿U4A被触发,使单脉冲脉宽与时钟周期相同,实现了等脉宽。并延迟了半个时钟周期使输出脉冲与时钟周期对应,实现了相位调整。整个单脉冲发生器的时序图如图3所示(图3中的t1,t2是任意键按下与键抬起时刻)。    3 基于FPGA下的按键消抖计数器和单脉冲发生器的Verilog HDL语言描述   图1中的按键消抖计数器电路,其进行描述的Verilog HDL语言代码如下:   代码中的复位n_rst和按键n_Kd都是低电平有效。键控单脉冲发生器的Verilog HDL语言代码如下:   代码中还用到了D触发器DFF,实现这个模块的代码比较简单,此处从略。    4 结 语   该文中的设计,实现了键控单脉冲发生器,产生脉宽等于时钟脉冲,输出脉冲与时钟周期对应的单脉冲,并解决了按键消抖问题,可以应用到各种需要产生单脉冲的FPGA电路设计中。按键消抖电路可独立地应用于其他FPGA电路设计中。本文中设计的20 b计数器是根据笔者课题需要而定。其他设计中可以根据按键抖动时间可利用公式计算出计数器模值设计计数器。
  • 2012-7-5 16:26
    876 次阅读|
    0 个评论
    速准科技这款函数信号发生器支持多种应用,创建无限数量的信号,帮助您应对设计调试挑战具备了高性能的特点,可分为3个型号,分别为203D/206D/212D,根据客户的不同需求,满足复杂的不同信号,具备了稳定性.可靠性高、售价低 性能特点 国内所独有的输出保护技术,能有效防止过载、输出短路、错接等误操作或外电流倒灌造成损坏。它们结构紧凑、重量轻、功能完备,可以满足各种层次的应用,包括研究和开发、生产测试和现场维护。这个系列的许多型号在许多应用中被大量地被使用,从无线电通信系统到EMC到航空电子系统。内置脉冲调制用于EMC测试,更可加快速调制选件以用于雷达。另外,使用选件可以对系统进行多种配置,有函数信号发生器需要的朋友,欢迎到本公司网站下载相关文档。   QA203D QA206D QA212D 通道数 双通道 样本率 500MSPS 调制输入电压 ±1.65V满程 输出阻抗 ( 额定 ) 50Ω 频率分辨率 1μHz 垂直分辨率 16 bit 频率精度 (1 年 ) 1 ppm,18°C;2 ppm,0°C-55°C 相对噪声 10MHz(100KHz偏移,-135 dBc/Hz) 100MHz(100KHz偏移,-125 dBc/Hz) 总谐波失真 DC-20KHz0.2%+0.1mVrms 输出幅度 1mVpp-10Vpp 输出精度 ±1%设置setting±1m Vpp 输出平坦度 10MHz±1%(0.1dB) 10MHz+50MHz±2%(0.2dB) 50MHz+120MHz±5%(0.4dB) 波形储存深度 56k样本/通道 非调制 波形 周期波 正弦波,方波,三角波,脉冲波,斜波,直流,伪随机二进制序列,高斯白噪声 任意波 高斯脉冲,心电图,指数下降,指数上升,半正失曲线,D洛伦兹曲线,洛伦兹曲线,Sinc函数,负斜波,用户自定义波形 调制波形 AM调幅,MASK幅移键控,FM调频,MFSK 频移键控,PM 调相,MPSK相移键控 正弦波 1μHz-30MHz 1μHz-60MHz 1μHz-120MHz 方波 / 脉冲波 1μHz-6MHz 1μHz-12MHz 1μHz-25MHz 三角波 / 斜波 1μHz-250KHz 1μHz-500KHz 1μHz-1MHz 伪随机二进制序列 1mbps-6mbps 1mbps-12mbps 1mbps-25mbps 高斯白噪声 1μHz-7MHz 1μHz-15MHz 1μHz-30MHz 任意波 8点至56K点,按1个采样率递增 扫描 线性/对数/列表 猝发 计数或选通 有需要的朋友,欢迎登录本公司的网站www.quantasylum.com.cn QQ:66702122 MOB:13714678135    
相关资源
  • 所需E币: 3
    时间: 2020-1-2 02:26
    大小: 31KB
    上传者: 2iot
    精密秒脉冲发生器电路精密秒脉冲发生器电路第一种:使用价格低廉的32768HZ晶体,配上HC4060电路,自身工作电压2-6V,静态电流仅仅20uA左右。没有任何分频和其他多余器件,如果集成电路采用贴片封装,体积将非常小。本身具有天然的秒闪烁脉冲信号。也可以配套CD4060电路,但是电压范围为3-18V,静态电流随电压提高而上升,在+5V供电时,静态电流约0.25-5uA,主要考虑的是在3.0V电池供电时的停振问题。而HC4060电路工作电压可以低一些。(本电路还可以输出其他标准频率的参考信号,印刷板上预留了5种频率输出信号的焊盘)。主要参数:供电:DC5V.月误差:≤15S。提示:输出应该外加高输入阻抗的缓冲级。[pic]第二种:是曾经大名鼎鼎的高频高精度晶体振荡电路,也叫“高频石英钟电路”,由于原来是驱动步进电机的,所以其输出间隔是2*0.5HZ/S,我们仅仅使用单边电路,可以得到30个脉冲/S。其供电电压仅仅1.5V,神奇的低!工作电流不到1uA,输出电压也很低,因此,使用分立的PNP三极管把电平提高到任意值。需要注意:1.5V电源的正端子,应该就是+5V电源的正端子。市场上已经较难购买到5512F电路了。上面的电路无需太多调整,本身就有非常准确的精度。如果与单片机配套,单片机需要干的事情仅仅就是计数而已。对5512F电路,单片机还需要生成一个秒脉冲输出信号。(0.5S的高低交替电平输出)。主要参数:供电:DC5V.月误差:≤6S。提示:输出应该外加高输入阻抗的缓冲级。[pic]……
  • 所需E币: 5
    时间: 2020-1-6 13:34
    大小: 29.5KB
    上传者: wsu_w_hotmail.com
    高压脉冲发生器电路……
广告