项目网址:ScopeFun:Open Source All-in-One Instrumentation
五合一开源台式工具
ScopeFun是一款价格实惠、开源的多功能仪器平台。它提供了以下工具:
- 示波器
- 任意波形发生器
- 频谱分析仪
- 逻辑分析仪
- 数字模式发生器
快速采样、大容量内存缓冲、低噪声
赛灵思(Xilinx)Artix-7 FPGA和赛普拉斯(Cypress)EZ-USB FX3控制器使得板卡能够与PC连接的同时保持快速的数据传输速率。使用512兆字节的DDR3 SDRAM进行采样缓冲。主要硬件规格如下:
- 两个模拟示波器通道(10位)
- 单通道实时采样率为5亿次每秒(MSPS) / 双通道为2.5亿次每秒
- 等效时间采样(ETS)速率为20亿次每秒(GSPS)
- 每通道有1.28亿次采样的内存缓冲
- 两个模拟发生器(2亿次每秒,12位)
- 12个数字通道(用于逻辑分析仪和数字模式发生器)
- USB 3.0接口
配套软件可在Windows、Linux和Mac上运行。它还提供了服务器模式,支持通过IP网络进行远程连接。这使得几乎可以在任何地方传输采样数据。还可以使用提供的Python API直接从Python脚本与硬件接口。
该设计完全开源(软件、固件和硬件),这有助于创建高度定制的测试和测量场景,而这些场景是传统设备无法实现的。
特性与规格
示波器
- 通道:两个
- 模拟带宽(-3 dB):100 MHz
- 实时采样率:双通道250 MSPS / 单通道500 MSPS
- 等效时间采样(ETS):2.0 GSPS
- 分辨率:10位
- 最小灵敏度:0.098 mV
- 电压范围(使用1×探头):每格10 mV到2 V
- 内存深度:每通道1.28亿次采样
任意波形发生器
- 通道:两个
- 更新率:200 MSPS
- 输出放大器带宽:30 MHz
- 输出阻抗50欧姆
- 分辨率:12位
- 最大输出电压:±2 V
- 自定义波形长度:每通道32,768次采样
频谱分析仪
- 通道:两个
- 频率范围:直流到125 MHz
逻辑分析仪
- 通道:12个
- 最大切换速率:125 MHz
- 最大采样率:250 MSPS
- 内存深度:每通道1.28亿次采样
数字模式发生器
- 通道:12个
- 最大切换速率:125 MHz
- 最大更新率:250 MSPS
- 自定义波形长度:每通道32,768次采样
主要组件
- FPGA:赛灵思Artix-7 XC7A35T
- 内存:512 MB DDR3 SDRAM
- 连接性:赛普拉斯FX3 USB 3.0
软件
- 多平台:Windows、Linux和Mac
- 服务器模式:通过IP网络远程连接到ScopeFun
- Python API:直接从Python读取采样和控制ScopeFun
- 高级信号渲染:3D帧历史和虚拟持久性
逻辑分析仪和数字模式发生器共享相同的12个通道。
示波器
两个模拟通道可用作示波器输入。两个模拟输入均受到保护,可承受高达±50 V的过电压。输入耦合选择可用(直流、交流、地),并通过软件控制。输入信号可以调整增益和偏移,以便测量从100 mV到20 V(满量程)的电压,这给出了最小输入分辨率为0.098 mV。每个模拟通道以250 MSPS的速率采样,使用10位模数转换器(ADC)。两个ADC可以配置为交错采样模式,从而提供单通道采样速度为500 MSPS。
ScopeFun还支持等效时间采样(ETS),为重复信号提供了2.0 GSPS的采样速度。
任意波形发生器
有两个模拟输出可用作AWG,能够生成高达±2 V的信号。两个AWG输出均受到保护,可承受短路和高达±25 V的过电压。AWG输出具有50欧姆阻抗,使其能够与各种设备配合使用。可以通过软件选择波形形状、频率、电平和偏移。所选设置会立即反映在FPGA控制寄存器中。数字样本在FPGA内部生成,并以每通道200 MSPS的速度传输到板载双数模转换器(DAC)。正弦波输出是借助CORDIC算法生成的,以便获得任意频率的输出。其他简单信号是从计数器派生的。用户还可以提供自定义波形样本,并将其上传到FPGA的内部存储器(BRAM)。模拟输出的缩放(电平和偏移)是通过FPGA DSP模块实现的。
逻辑分析仪 / 数字模式发生器
一个12位数字接口以250 MHz的频率采样,并逻辑上划分为两个6位通道组。每个通道组可以独立选择作为输入(到逻辑分析仪)或作为输出(从数字模式发生器)。数字接口电压可以调节至低至1.25 V或高达3.3 V,尽管输入设计上可以接受高达5 V。所选的接口电压也可在专用输出引脚上获得,并可用作低功率电压供应。可以将自定义数字样本上传到FPGA供数字模式发生器使用,且内部有时钟分频器可用于控制输出频率。还可以随时用逻辑“低”或逻辑“高”覆盖个别输出。
Python API
Python API可以直接从Python访问ScopeFun的功能。这提供了一种简单的方法来创建高度定制的测试场景,而无需修改软件源代码。例如,可以使用Python脚本来自动化测量或对捕获的数据进行后处理。为了演示此功能,我们编写了一个简短的Python脚本,该脚本从其中一个模拟输入捕获样本,并绘制捕获信号的直方图。
对比表
Open Source |
|
|
|
|
|
Firmware/Software | YES | No | YES | YES | YES |
Hardware | YES | No | No | No | No |
Primary Components |
|
|
|
|
|
FPGA | Xilinx Artix-7 XC7A35T | - | Xilinx Zynq 7010 | Spartan-6 XC6SLX4 | - |
USB | USB 3.0 | USB 3.0 | USB 2.0 | USB 2.0 | USB 2.0 |
RAM | 512 MB DDR3 | - | 512 MB DDR3 | 8 MB SDR | - |
Oscilloscope |
|
|
|
|
|
Channels | 2 | 2 | 2 | 2 | 2 |
Analog Bandwidth | 100 MHz | 50 MHz | 40 MHz | 30 MHz | 2 MHz |
Max. Real-time Sampling Speed | 500 MSPS | 1 GSPS | 125 MSPS | 100 MSPS | 6.25 MSPS |
Equivalent Time Sampling | YES (2.0 GSPS) | YES (2.5 Gsps) | No | No | No |
Memory Depth | 128 MS | 64MS | 16 KS | 4 MS | 32 KS |
Resolution | 10-bit | 8-bit | 14-bit | 8-bit | 12-bit |
Min. Voltage Sensitivity | 0.098 mV | 0.156 mV | 0.122 mV | 0.625 mV | - |
Input coupling | AC, DC, GND | AC, DC | DC | AC, DC | DC |
Arbitrary Waveform Generator |
|
|
|
|
|
Channels | 2 | 1 | 2 | 1 | 1 |
Update Rate | 200 MSPS | 20 MSPS | 125 MSPS | 50 MSPS | 10 MSPS |
Custom Signal Data Points | 32 K | 32 K | 16 K | 2 K | 25 K |
Output Range | ±2 V | ±2 V | ±1 V | 0 to +3.3 V | ±1.5 V |
Resolution | 12-bit | 12-bit | 14-bit | 8-bit | 10-bit |
Logic Analyzer |
|
|
|
|
|
Channels | 12* | 16 | 8* | 8 | 10* |
Sampling Speed | 250 MSPS | 500 MSPS | 12 MSPS | 100 MSPS | 10 MSPS |
Memory Depth | 128 MS | 64 MS | 1 MS | 4 MS | 32 KS |
Digital GPIO |
|
|
|
|
|
Channels | 12* | - | 16* | 4 | 10* |
Digital Pattern Generator | YES | No | No | YES | No |
Digital Pattern Generator Buffer Size | 32 KS | - | - | 2 KS | - |
Update Rate | 250 MSPS | - | - | 100 MSPS | - |
Price | $850 | $800 | $360 | $260 | $99 |
* 数字通道共享相同的I/O引脚。
外壳
支持我们的铝制ScopeFun级别的支持者将收到一个完全组装好且可立即使用的带有铝制外壳的ScopeFun。该外壳保护ScopeFun,并提供电磁干扰(EMI)屏蔽,以帮助确保低噪声测量。
支持文件: