示波器使用总结
一、关于示波器探头
普通电压探头:最大输入电压300V(根据品牌型号不同会有区别),注意普通电压探头只能用于测量相对于地的电压信号;
电流探头:不同电流探头会有不同量程,根据信号大小选择适合的电流探头,使用前需调零;
差分探头:根据不同品牌型号量程会有不同,可以测量任何电压信号,但是对于信号幅度较小的对地电压信号,最好使用普通电压探头,差分探头对于小信号可能会引起大的误差,使用前需调零。
二、分析自己将要触发的波形
在将信号接入示波器之前,请分析即将测量的信号大致是什么样的,如信号幅度、峰峰值、最大值、最小值、频率、时间、电压信号还是电流信号等,这些将决定我们使用什么样的什么样的示波器探头,在接下来如何设置示波器触发条件,及测量项目。
三、设置示波器,触发波形
首先根据之前分析的信号特征预设一个触发电平,触发信号与触发电平比较,当触发信号穿越触发电平后,电压比较器立即产生一个快沿触发脉冲,去驱动下一级硬件,这样即可进行边沿触发。 触发信号的来源可以是信号自身,也可以是一个同步的触发信号(或外触发信号)。可以把任何一个示波器通道或外触发输入通道切换到触发器。
以Tektronix示波器4054为例,见图:
示波器触发电平设置为level旋钮,左右旋转旋钮,调节示波器触发电平大小,在示波器显示屏右侧上会显示触发电平位置,在显示屏下方显示示波器当前触发电平的大小;
触发条件设置为menu按钮,在menu中可以设置选择normal触发或auto触发,在面板中可以设置为single触发。
normal触发是指在满足所设置的触发条件时才会触发;
auto触发是指不触发或任何触发条件下都触发;
Single触发是指在满足触发条件的情况下仅触发一次。
以下是示波器常用触发:
1、触发释抑(Hold Off)
示波器的触发释抑Hold Off对于稳定显示Burst类型的波形是非常重要的。如果没有Hold Off,示波器第一次触发在Burst波形的第一个脉冲,第二次有可能触发在Burst波形的第三个脉冲,这样屏幕看到的就不是稳定的Burst波形串,而左右晃动的波形。示波器采用Hold Off解决这个问题,当示波器第一次触发后,必须在经过Hold Off时间后,才能够进行第二次触发,这样,如果设置Hold Off时间大于Burst波形串的时间,则第二次也会触发到第二个Burst波形的第一个脉冲,这样整个Burst波形串即可稳定的显示在示波器的屏幕上。
2、边沿(Edge)触发
边沿触发是示波器最常用的触发类型,也是示波器默认的触发类型。边沿触发分为上升边沿触发(默认类型),下降边沿触发,或者双边沿触发。双边沿触发功能可以让我们简单看看数据信号的眼图(并不准确,尤其边沿抖动部分)。
3、毛刺(Glitch)触发
毛刺触发是示波器常用的一种触发功能。毛刺分为正向毛刺或负向毛刺,毛刺触发需要设置2个条件,毛刺宽度和毛刺高度,小于设定的宽度和大于设定的高度,即认为是毛刺。
4、边沿再边沿(Edge Then Edge)触发
边沿再边沿触发功能是较少使用的触发功能,先检测一个边沿,等一定的时间或一定数量的事件,再触发另一个边沿。基于事件的是指经过多少个边沿(边沿数量可以设置)再触发;基于时间的是指经过多长时间(时间长度可以设置)再触发。
5、脉冲宽度(Pulse Width)触发
脉冲宽度触发类似于毛刺触发,也需要设置脉冲宽度,和脉冲电平,也分为正脉冲和负脉冲,只是多了一项:可以进行宽于设定值触发或窄于设定值触发。
6、矮电平(Runt)触发
矮电平触发如下图所示,是很好理解的,在正常的脉冲串中触发矮脉冲或欠幅脉冲。需要设置高低门限,以确定什么是矮脉冲(介于2个门限中间的脉冲即为矮脉冲)。有两种类型可选:正矮脉冲,负矮脉冲。
四、调整扫描时间及采样率
扫描时间即示波器水平方向每一格的时间,若每一格50ms,示波器整个屏幕为10格,则触发出信号的时间为50ms*10=500ms,每调整一次扫描时间都需要关注采样率,确保在设定的扫描时间内采样率最大,这样才能保证信号在触发时显示在屏幕中的波形为量化误差最小的波形。
五、测量信号
在工具条measure菜单项可以选择很多测试项,如:幅度测量amplitude中的峰峰值、最大值、最小值、平均值等,在时间里可以设置测量周期、频率,占空比等,根据所要抓的波形特征及需要选择合适的测试项,选中后,测试所得值即会在示波器下方显示。
六、关于光标
示波器光标有水平光标和垂直光标两种,光标可以设置为跟随某一特定通道,或垂直方向两光标之间时间差保持不变。在使用过程中通过右键——》cursor——》gating(光标之内)/off(整个屏幕)来设置测量值是光标范围之内或是整个屏幕。
七、关于offset
Offset用于设定电压或电流在示波器中的偏置,在测量信号纹波时会有很大用处,将offset设为电压或电流实际值,则在示波器中将会看到,未接信号时0电平信号不在零位,而是在负的设定的offset值的位置,此时接入信号会发现,信号显示在零位,此时将垂直分度调小,即可以很好观察测量信号纹波。
另:在测量信号纹波时,使用接地弹簧可以使接地环路尽可能的小,更少的引入外部干扰,使得到的纹波值更接近于真实值。
八、设置参考波形(Update:2013-11-07——LeCroy)
在常规测试中有时会用到某一个频率下波形符合要求,而其它频率点不符合的状态,在此种状态下,我们可以将此波形保存下来作为参考波形,然后重新调用该Ref,这样在同一个示波器屏幕中就可以看到清晰的对比。
保存参考波形:Save Setup——>Save/Recall——>Save Waveform——>选择需要作为参考波形所在通道源——>设置保存路径;
调用参考波形:Save Setup——>Save/Recall——>Recall Waveform ——>选择参考波形所在路径。
九、示波器使用注意事项
1、波形若不能够完整的在示波器屏幕中显示,会导致测量不准确,所以在测试过程中应注意,被测波形不要超出屏幕;在测量大信号细节波形时,可以使用12bits示波器,然后放大。
十、持续更新中。。。
第二篇:用示波器对单片机I2C时序进行图形波形分析的试验小结
用示波器对单片机I2C时序进行图形波形分析的试验小结
分类: 嵌入开发20##-02-15 23:58 5454人阅读 评论(2) 收藏 举报
c图形通讯编程工作
I2C的概念原理网上都有就不说了,这里只把我把两个开发板通过I2C通讯的调试经验记录分享一下。
I2C要求要有一个主设备,负责发起请求和控制时钟;其它为从设备,通过设备ID地址来识别并响应主设备请求。主从设备要轮流控制SDA。一开始我没搞明白这一点,直接加了写I2C数据代码,然后用示波器在SDA和SCL脚测量,却只能找到些凌乱的波形,没有预期的效果。后来把从设备接上,两边写好代码,互相有了响应,这才在示波器上看到波形。
这里我找了一个主设备往从设备写数据的例子,代码如下:
char buf[128];
int len;
strcpy(buf,"..huz_hello_i2c/n");
len=strlen(buf);
//deviceid: 0x3c
write_i2c(0x3c, buf , len);
接收端的代码比较简单,就不贴了。
将示波器的X和Y分别接到SDA和SCL,得到波形并分析如图:
从图中可知时序如下:
- 由主机发起,在SCL为高电平时,SDA由高到低切变,形成开始信号;
- 接着是7位地址和一位读写标志,这里7位地址为0111100,即0x3c,正是我们代码中设置的地址ID;最后一位为0表示写操作;
- 接着在下一个时钟,主机以高电平状态释放SDA,这时从机响应,将SDA拉低了;
- 接着是两个8位数据00101110与响应,即0x2E,正是“.”号的ASCII码,符合预期输出;
- 还有其它数据和最后的停止位,图中被截掉了。
从图中可知,纵向一格是200mV,则SDA和SCL的电平大概就是350mV;由于信号笔上设置了信号x10,因此实际电平应该大概是3.5V(理论上应该是3.3V)。横向一格是25us,10个时钟周期大概用了4格,即4x25us=100us,平均每个时钟周期是10us,可算出传输频率为1/10us=100,000/s,即100k bps。
另外,对于读从设备内容,基本流程是主设备先往从设备写一个命令,然后再输出读取命令,然后才由从设备发送数据。过程类似,不再具体分析了。
下图示例中,主机先向从机写了一个地址命令,然后重新开始并进入读取周期。
分析波形可检测出I2C通信工作是否正常,是否符合预期,对我们编程调试诊断有辅助作用。