原创 我将要做的用于虚拟示波器的数据采集卡,大家给点意见,过几天做板。

2008-5-18 23:39 3690 5 5 分类: 测试测量
我想做一个能采样2M以下的虚拟示波器,采样点10个/周期,有些地方要大家帮一下。下面是我的设计构想和原理图。
这是全局原理图:
点击看大图
  具体思路是模拟输入信号由输入级输入,经阻抗匹配和放大后进入ICL5510进行模数转换,出来的数据存放到FIFO高速缓存芯片IDT7203,单片机将数据读出再经由D12 USB发到电脑显示,上位机打算有NI公司的LabWindowsCVI来开发(也可以用VB,VC等)。
下面我分别介绍我的各部分电路:
1.输入级
点击看大图
  运放采用NE5532,第一个运放是接成跟随器,目的是提高输入阻抗,由于NE5532的输入偏置电流比较大所以输入阻抗不是太大,300K欧,下面是NE5532 datashit的截图
点击看大图
点击看大图
   如果大家觉得输入阻抗不够大可以采用JFET的高输入阻抗运放,如TL082,它的封装与NE5532兼容。
第二级输入是加法放大电路,通过选取不同的反馈电阻进行小信号的放大。由于ICL5510的输入电压范围是2V,所以大家根据需要,自行计算。不过要说明的是由于运放采用+/-15V供电,最大输出可达+/-12V左右,所以放大倍数不能太大,输入的电压也要在自己设计的范围内。也可以加一个稳压管进行限压保护。
  下面讨论一下一个很重要的问题,输入带宽。NE5532接成跟随器的带宽有10M,但在放大模式下会降低很多。如9倍放大,跟理论放大倍数一致的带宽只能达到1M。输入信号的频率再大,放大倍数就会相应变低,100倍放大带宽只有100KHZ。下面是NE5532 datashit的截图:
测试电路如下:
armok01147573.JPG
频率响应如下:
armok01147574.JPG
  所以本设计的采集频率范围定为1M,如果你想设计更高速的输入通道那你就要采用更高速的运放,不过这些运放价格不菲,而且封装是一个元件一个运放(5532有两个)。
  这里要说明的是为什么采用加法器,因为输入的信号有正负,如果输入一负信号,那经放大输出也是负信号,不满足5510的采样输入电压范围。举个例:假如你输入一个+/-0.1v的信号,经加法器加上一个1v的电压,那得出的是+0.9~+1.1的电压信号,满足输入要求。

2.AD转换ICL5510
   ICL5510是CMOS,8位,20MSPS高速模数转换器,它采用半闪结构,5V电源供电,功率100mW。具有内部采样保持电路,这一点是非常好的,因为采样保持电路对AD的采样精度有着莫大的关系,因为只有高速的采样保持电路才能减少采样的孔径时间(这个概念很重要),这对高速信号的采样精度起很大作用。既然它内部自带,那最好不过了。5510还有高阻抗的输出并行接口和内部基准电阻。5510我认为有两个应用要点:
 (1)输入采样脉冲
  采样输入脉冲最大为20MSPS,占空比要求为50%,这里采用分频电路来提供不同的采样频率。分频电路原理图如下:
点击看大图
  分频电路采用计数芯片74HC590。选用计数器还真的花了我很大功夫,原先准备采用CD4060。后来发现其频率最多达到10MHZ左右,而且要提高供电电压,后来就用74HC4060速度达到20MHZ以上,5V供电。画好图后,偶然发现它是不连续分频的。只好重来,打算换74HC161,不过只有4分频,更多的要级联,很麻烦。最后才在一本书中看到有这款器件。74HC590是8位分频器,最低将20MHZ分为78.125KHZ。它还带三态门输出。运行频率也达到要求。输入时钟采用20M有源晶振。
  这里要提出的问题是问什么要采取分频电路?直接用20M的频率输入到5510不就得了吗?其实这与实时采样有关。试想一下20MSPS的AD产生的数据可不是闹着玩的。每秒将有20Mbyte的数据产生,USB1.1的最大速率是12MBit(注意这可是byte与Bit,20与12的较量),况且USB除去校验码,桢头,桢尾的,远远达不到12MBit的速率。所以这么多的数据根本不可能实时输送。在高速转换下,只能采用存满缓存器,传送一次,存满缓存器,传送一次…..这样的非实时方法,类似于我们的数字示波器。(这里要穿插一点东西,在OURAVR的仪器类贴里,一位仁兄批评这个非实时的采样方法。其实数字示波器高速的时候采样的速率远远大于20MSPS,达到的是GSPS等级,这样高的速率,显示屏这样的慢速设备根本没法一次显示出来,就算能显示出来,如此快速变化的波形,估计最好的乒乓球选手也看不出来(乒乓球据说是达到人类反应极限的体育运动),那就显得没意义了。数字示波器有技术参数就是存储深度,将高速下的数据暂存,再慢速回放。这是我的个人经验和看法,具体的我还没有系统看过专业书籍,不对的地方望高手指正。)言归正传,再20MSPS的工作状态下,如果采样一个低频信号就只能看到部分波形,因为存储深度的限制,这一点是非常不好的。通过高频采用高频率时钟驱动,低频采用低频率时钟驱动就可以解决这个问题。而且在低频采样的数据比较少,在一定程度下就可以达到实时采样和传输了。
   关于频率的切换为了简单采用机械旋钮。由于接线要引出,可能是波形变差,所以在频率输入再用一个与非门进行整形。CHX_CS接单片机,作输入选通。
 (2)基准电压
  5510只有内部基准电阻,注意不是基准电压。要取得2v的参考电压,须按一定的接线方法,组成分压电路。如下:
点击看大图
  由于VDDA的电压稳定精度影响着参考电压的精度,建议与数字供电分离,并在靠近VDDA的地方接一个0.1u的滤波电容。经分压后在中间电阻的两端产生2V的压降。另外刚才说5510的输入电压范围是0~2V,事实上并不是这样,输入电压的范围是Vrefb~Vreft。Vrefb的典型值为0.6v。如下:
点击看大图
3.FIFO缓冲器IDT7203
   由于在20MSPS的采样输出下,单片机根本没有那个接受能力(当然是51或AVR)。因为AVR的RAM的读写要两个周期,加上控制信号的操作就更不用说了。就算超到32M也不行(传说meg16有人超到这个值)。原本打算采用双口RAM的,不过写入地址信号要用到计数器产生,十分的不便。用FIFO就省去了这个麻烦。每存一个数据,地址自动加一,还有溢出信号输出。所以选用了IDT7203 ---2K*9bit的FIFO。控制信号简单,在WR或RD送进一个低脉冲就写入或读入数据,下面是它的读写时序:
点击看大图
  tRC为读周期(read cycle),典型值为45ns,tWC为写周期(write cycle),典型值也为45ns。
  在读或写为高电平时器件端口为高阻态。

  下面有一个很重要的点就是5510和7203的时序匹配。下面分别是7203(上)和5510(下)的时序图:
点击看大图
点击看大图
  从第一幅图可以看出在7203的写有效发生在W的上升沿,之前数据必须保持tDS的数据建立时间(Data Set-up Time),7203的tDS最小要18ns,tDH为数据保持时间(Data Hold Time)这个时间很小,可忽略。从5510的时序图来说在上升沿的数据保持稳定,能与7203匹配,所以我把7203的写和5510的CLk直接接在一起。这里我还有一点保留,不知道分析的对不对。为什么呢?
  下面的也是5510的功能时序图:
点击看大图
  从图上可知在上升沿,数据还不稳定,下降沿数据才稳定。我不知道这两幅图有何区别,不过我认为5510的第一时序图更具有代表性,它把上升沿这样的细节都描绘出来,更接近于实际。而第二幅图像是功能解说图。这需要大家给点意见。
4.AVR单片机
   这个没什么好说的,cpu一个,论坛上大把高手,我不献丑了。
5.USB芯片D12
   关于与上位机的通信方式的选择是最费心的。原本就打算用USB,后来发觉USB太难了,程序调试来调试去都不行。后来打算用RS485,不过后来又发现RS485的芯片一般只支持到250kbps左右(更高的要采用profilebus的通讯芯片才行,估计很难买到),而且上位机的串口通信速率也不能支持到12Mbps这么高(没找到资料,知道的朋友可以说一下吗?)。最后由用回USB,不过连续调试了几天还是过不了枚举(在这里要谢谢bozai++的帮助)。希望大家能帮一下。原理图如下:
点击看大图
6.上位机程序设计
   上位机的程序设计推荐使用ni公司的LabWindowsCVI,也可用vb,vc。下面是它的简介:
LabWindows/CVI是National Instruments公司推出的一套面向测控领域的软件开发平台。它以ANSI C为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来。它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。
 
   采用LabWindowsCVI编程你只需要调用其中的函数和设置控件属性就可设计出专业的界面了,有点类似于vb的编写操作。不过LabWindowsCVI是面向于仪器的,当然就更方便了。想知道更多的朋友用百度搜一下,很多的。
  
  下面是附件;
点击此处下载armok01147583.rar

由于现在做毕业设计时间比较紧,不一定能做出来,不过希望对对这方面有兴趣的朋友有帮助。
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=730805&bbs_page_no=1&search_mode=1&search_text=示波器&bbs_id=9999

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条