0

关于投票
关于示波器的十个问题十个答案[转帖]

 

示波器数字示波器一直是工程师设计、调试产品的好帮手。但随着计算机、半导体和通信技术的发展,电路系统的信号时钟速度越来越快,信号上升时间也越来越短,导致因底层模拟信号完整性问题引发的数字错误日益突出。针对这些新的测试挑战,示波器供应商不断推出了性能更好的数字示波器。但要想准确快速地对系统信号进行分析,测量时还有很多新的因素必须考虑。如仪器速度能否跟上被测信号的变化、带宽是否足够、测量方法会不会引入干扰,甚至还有所使用的探头是否合适等等。


问题1:每台示波器都有一个频率范围,比如10M、60M、100M...我手头用的示波器标称为60MHz,是不是可以理解为它最大可以测到60MHz?可我用它测4.1943MHz的方波时都测不到,这是什么原因?
  答:60MHz带宽示波器,并不意味着可以很好地测量60MHz的信号。根据示波器带宽的定义,若输入峰峰值为1V的60MHz正弦波到60MHz带宽示波器上,您在示波器上将看到0.707V的信号(30%幅值测量误差)。如果测试方波,选择示波器的参考标准应是信号上升时间,示波器带宽=0.35/ 信号上升时间×3,此时您的上升时间测量误差为5.4%左右。
  示波器的探头带宽也很重要,若使用的示波器探头包括其前端附件构成的系统带宽很低,将会使示波器带宽大大下降。如若使用20MHz带宽的探头,则能实现的最大带宽是20MHz,如果在探头前端使用连接导线,将会进一步降低探头性能,但对4MHz左右方波不应有太大影响,因为速度不是很快。
  另外还要看一下示波器使用手册,有的60MHz示波器在1:1设置下,其实际带宽将锐减到6MHz以下,对于4MHz左右的方波,其三次谐波是12MHz,五次谐波是20MHz,若带宽降到6MHz,对信号幅值衰减很大,即使能看到信号也绝对不是方波,而是幅值被衰减了的正弦波。
  当然,测不出信号的原因可能有多种,如探头接触不好(该现象很容易排除),建议用BNC电缆连接一函数发生器,检验该示波器本身有没有问题,探头有没有问题,如有问题,可和厂家直接联系。

  问题2:有些瞬时信号稍纵即失,如何捕捉并使其重现?
  答:将示波器设置成单次采集方式(触发模式设置成Normal,触发条件设置成边沿触发,并将触发电平调到适当值,然后将扫描方式设置成单次方式),注意示波器的存储深度将决定您能采集信号的时间以及能用到的最大采样速率。

  问题3:在PLL中周期抖动可以衡量一个设计的好坏,但是要精确测量却非常困难,有什么方法和技巧吗?
  答:在使用示波器时,要注意其本身的抖动相关指标是否满足您的测试需求,如示波器本身的触发抖动指标等。同时要注意使用不同的探头和探头连接附件时,若不能保证示波器的系统带宽,测量结果也会不准确。另外关于PLL设置时间的测量,可使用示波器+USB-GPIB适配器+软件选件来完成,也可用较为便宜的调制域分析仪。

  问题4:为什么我的示波器有时候抓不到经过放大后的电流信呢?
  答:如果信号的确存在,但示波器有时能抓到有时抓不到,这就可能和示波器的设置有关系。通常可将示波器触发模式设置成Normal,触发条件设置成边沿触发,并将触发电平调到适当值,然后将扫描方式设置成单次方式。如果这种方式还不行,那就可能是仪器出了问题。

  问题5:如何测量电源纹波?
  答:可以先用示波器将整个波形捕获,然后将关心的纹波部分放大来观察和测量(自动测量或光标测量均可),同时还要利用示波器的FFT功能从频域进行分析。

  问题6:新型数字示波器怎样用于单片机开发?
  答:I2C总线信号一般工作速率不超过400Kbps,最近也出现了几Mbps的芯片,有的示波器在设置触发条件时,无需顾及不同速率的影响,但对其它总线,如CAN总线,则需要先在示波器上设置CAN总线当前的实际工作速率以便示波器能正确理解协议,并正确触发。若想对Inter-IC总线信号进行进一步的分析,如协议级分析,可使用逻辑分析仪,但相对来说价格比较高。

  问题7:关于模拟和数字示波器比较的问题:1、模拟和数字示波器在观察波形的细部时,哪个更有优势(例如在过零点和峰值时,观察1%以下寄生波形)?2、数字示波器一般提供在线显示均方根值,它的精度一般是多少?
  答:1)观察1%以下寄生波形,无论是模拟示波器还是数字示波器,观察精度都不是很好。模拟示波器的垂直精度未必比数字示波器更高,如某500MHz带宽的模拟示波器垂直精度是±3%,这并不比数字示波器(通常精度为1~2%)更具优势,而且对细节,数字示波器的自动测量功能比模拟示波器的人工测量更精确。
  2)对于示波器的幅值测量精度,很多人用A/D位数来衡量。实际上,随着您所用的示波器带宽、实际采样率设置等,它会有所变化。若带宽不够,本身带来的幅值测量误差就很大,若带宽够了,采样设置很高,实际的幅值测量精度也不如采样率低时候的精度(您有时可参考示波器的用户手册,它可能会给出不同采样率下,示波器的A/D实际有效位数)。总的来讲,示波器测量幅值,包括均方根值的精度往往不如万用表,同理,测量频率它不如频率计数器。

  问题8:毛刺触发指标有什么意义(例如5ns)?假如有一个100MHz示波器,测量的方波信号大约是10M左右,而且是占空比1:1左右的方波,设想一下,一个10M的方波,它的正向或负向的脉宽都是50ns,那么在什么样的情况下能真正用到5ns这个性能呢?
  答:毛刺/脉宽触发一般有两种典型应用场合,一是同步电路行为,如利用它来同步串行信号,或对于干扰非常严重的应用无法用边沿触发正确同步信号时,脉宽触发就是一个选择;另一是用来发现信号中的异常现象,如因干扰或竞争引起的窄毛刺,由于该异常是偶发显现,必须用毛刺触发来捕获(也有一种方法是峰值检测方式,但峰值检测方法有可能受其最大采样率的限制,所以一般是只能看而不能测)。在问题所提的例子中,若被测对象的脉冲宽度是50ns,而且该信号没有任何问题,也就是说没有因干扰、竞争等问题引起的信号畸变或变窄,那么用边沿触发就可同步该信号,无需使用毛刺触发。根据不同的应用,未必会使用到5ns这个指标,一般用户将脉宽触发设置为10ns~30ns。

  问题9:在选择示波器时,一般考虑最多的是带宽,那么在什么情况下要对采样速率有所考虑呢?
  答:取决于被测对象。在带宽满足的前提下,希望最小采样间隔(采样率的倒数)能够捕捉到您需要的信号细节。业界有些关于采样速率经验公式,但基本上都是针对示波器带宽得出的,实际应用中,最好不用示波器测相同频率的信号。若在选型时,对正弦波选择示波器带宽应是被测正弦信号频率的3倍以上,采样率是带宽的4到5倍,也即实际上是信号的12到15倍;若是其它波形,要保证采样率足以捕获信号细节。若您正在使用示波器,可通过以下方法验证采样率是否够用:将波形停下来,放大波形,若发现波形有变化(如某些幅值)就说明采样率不够,否则无碍。另外也可用点显示来分析采样率是否够用。

  问题10:如何理解“考核波形采样率够不够时,将波形停下来,放大波形,若发现波形有变化(如某些幅值)就说明采样率就不够,否则无碍。也可用点显示来分析采样率是否够用。”?
  答:我有幸给用户做过实测,曾亲历这种现象。当时被测对象是一种看上去很随机且高速变化的信号,用户将触发电平设在-13V左右。波形采集下来后想放大测量细节时,却发现改变示波器时基(SEC/DIV)设置时,信号幅值突然变小,我当时将示波器改成点显示,发现好像是点数(存储深度)不够,但我比较点显示和矢量显示后,发现若矢量显示有一定可信性,那么就是当前的两个采样间隔(采样率的倒数)中信号有突变,但未能被采集到(采样间隔不够细,即采样率不够高)。我换了一台同样存储深度但采样率较高的示波器,发现问题消失了。
  存储深度也会影响示波器能用到的实际最大采样率。存储深度太浅可能是个问题,因为存储深度可能限制能实际用到的最大采样速率,但实质上是采样率不够,丢失了信号细节。存储深度不够深,可能会导致实际采样率不高,这一点跟厂家提供的指标关系不大。

系统分类: 虚拟仪器
用户分类: 其他技术分类区
标签: 示波器
来源: 转贴
发表评论 阅读全文(35) | 回复(0)

2

关于投票
初学单片机几个不易掌握的概念【转贴】

        你也是刚刚开始学习单片机吗?希望这篇文章能对你有所帮助。我个人看了这篇文章后感到很有收获,于是转于此作为资料加以收藏。感谢原创作者。

        随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,下面就结合本人的学习、教学经验,对这些最基本概念作一说明,希望对自学者有所帮助。

  一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。

  二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的──数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:

1·地址(如MOV DPTR#1000H),即地址1000H送入DPTR

2·方式字或控制字(如MOV TMOD#3),3即是控制字。

3·常数(如MOV TH0#10H10H即定时常数。

4·实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1#0FFH,要灯全暗,则执行指令:MOV P1#00H)这里0FFH00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。

理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。

  三、P0口、P2口和P3的第二功能用法 初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6P3.7分别是WRRD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃(即死机)。

  四、程序的执行过程 单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。

  五、堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。

  六、单片机的开发过程 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如EDITCCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明:

ORG 0000H

LJMP START

ORG 040H

START

MOV SP#5FH ;设堆栈

LOOP

NOP

LJMP LOOP ;循环

END ;结束

1

:03000000020040BB

:0700400075815F000200431F

2

02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 00 43

3

1为源程序,表2是汇编后得到的HEX文件,表3是由HEX文件转换成的目标文件,也就是最终写入EPROM的文件,它由编程器转换得到,也可以由HEXBIN一类的程序转换得到。学过手工汇编者应当不难找出表3与表1的一一对应关系,值得注意的是从02 00 40后开始的一长串‘FF’,直到75 81,这是由于伪指令:ORG 040H造成的结果。

  七、仿真、仿真机 仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行软件调试,当然借助仿真机,也能进行一些硬件排错。一块单片机应用电路板包括单片机部份及为达到使用目的而设计的应用电路,仿真就是利用仿真机来代替应用电路板(称目标机)的单片机部份,对应用电路部份进行测试、调试。仿真有CPU仿真和ROM仿真两种,所谓CPU仿真是指用仿真机代替目标机的CPU,由仿真机向目标机的应用电路部份提供各种信号、数据,进行调试的方法。这种仿真可以通过单步运行、连续运行等多种方法来运行程序,并能观察到单片机内部的变化,便于改正程序中的错误。所谓ROM仿真,就是用仿真机代替目标机的ROM,目标机的CPU工作时,从仿真机中读取程序,并执行。这种仿真其实就是将仿真机当成一片EPROM,只是省去了擦片、写片的麻烦,并没有多少调试手段可言。通常这是二种不同类型的仿真机,也就是说,一台仿真机不能既做CPU仿真,又做ROM仿真。可能的情况下,当然以CPU仿真好。

系统分类: 模拟技术