基于FIFO IDT7202-12的数字存储示波器
- UID
- 1023230
|
基于FIFO IDT7202-12的数字存储示波器
引 言
伴随着电子技术快速的发展,越来越多的人加入电子开发的大军。在学习电子技术和研发项目的过程中,避免不了要使用一些仪器,例如万用表、示波器等等,然而对于一些非专业的爱好者,拥有一台数字示波器是比较“奢侈”的。本设计介绍的数字示波器,因其具有成本低、制作简单、测量精度高等优势,恰恰满足了这一部分人的需求。制作出示波器简单,但要想制作出高模拟输入带宽的示波器却不易。主要器件的选择是实现高模拟输入带宽设计目标的关键。本文选用C8051F020单片机作为CPU,它拥有简单的51内核且I/O资源丰富。A/D选用8位高速模/数转换器TDA8703,最高采样率为40 Msps。另外,采用双口FIFO-IDT7202LA-12,它是先进先出双口存储器,最快的存入时间为12 ns。
本系统主要包括前端模拟信号电路调理模块、信号采集电路模块、信号传输模块、各芯片逻辑控制电路模块、显示模块等。
1 前端模拟信号电路调理模块
该模块采用高速运放LM6361和高速比较器AD744,如图1所示。
本设计选用成品探头。为了防止过压输入,在高速比较器AD744前端加2个保护二极管,把输入信号嵌位到±12 V内,对整个系统起保护作用。然后经过ICI反向放大,再经IC2把相位倒回信号初始相位。由于本设计采用的AD电压输入范围为1.55~3.26 V,所以应用IC3加一个直流分量把输入信号“抬到”A/D的输入范围内。
2 信号采集电路模块
该模块采用的A/D转换器是TDA8703。它是Philips公司生产的高速模/数转换器,采样率是40 Msps,8位分辨率,信噪比很高,与TTL电平兼容,具有内部参考电压。
TDA8703的输入电压和输出二进制码如表1所列,采样时序如图2所示。
时钟的上升沿到来时开始采样,当时钟的下一个周期上升沿上升时,转换结束。由于高达40 Msps的采样率,普通的单片机很难能“跟上节奏”,这时采用双口RAM——IDT7202,与之配合使用,以达到与单片机同步的目的。IDT7202是AMD公司推出的一款先进/先出双口存储器。本设计选用的型号是IDT7202-12,也就是存入数据的时间是12 ns,即存入频率高达83 MHz,完全可以与40 Msps的AD匹配,所以两块芯片可以用同一时钟采样并存储(如图3所示)。IDT7202有1 024字节的存储深度,低功耗,CMOS工艺,有3种状态标志(空、半满、满),工业级温度(一40~80℃)。
TDA8703的采样时钟与IDT7202的写信号接同样一个时钟,这样便使两者同步。当采样1 024个点时,关闭采样时钟信号,IDT7202的FF端低电平有效,CPU把IDT7202中的数据取出并查询IDT7202的空标志位端;当低有效时,意味IDT7202中的数据全部被取出,这时重新开采样时钟信号,重复上一过程。
由于本设计显示采用的是PC机,受到串口上传波特率的限制,所以很难实现高频信号的测量,而上述设计恰恰在一定程度上解决了这个问题。由于1 024个采样点是连续的,可以逐步上传而形成完整的波形。但是,把1 024个采样点上传给PC机的过程中ADC是禁止采样的,所以在PC机上看到的波形有不连续的“接头”。不过,这对于简易的数字存储示波器是可以“容忍”的。
在设计的过程中,由于走线过多,所以即使试验阶段也得做PCB板;但是由于各芯片间的控制逻辑不确定,很容易出错。这时采用CPLD来搭建此系统的逻辑电路,一旦出错,可以随时修改,直到正确。如果整个系统调试成功后,用与、或、非等逻辑电路替换CPLD,这样可降低成本。
3 信号传输模块
C8051F单片机是能真正独立工作的片上系统(SoC)。每个MCU都能有效地管理模拟外设和数字外设,可以关闭单个或全部外设节省功耗。Flash存储器还具有片上重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。
片内JTAG调试支持功能允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用系统资源)、全速、在系统调试。该调试系统支持观察、修改储存器和寄存器,支持断点、单步、运行、停机命令。在使用JTAG调试时,所有的模拟和数字外设都能全功能运行。
C8051F具有标准8051兼容的I/O端口。有的端口在某些器件中没有引出脚,这样的端口可用作通用寄存器。I/O端口的工作情况与8051相似,但有些改进。每个端口I/O引脚都可以被配置为推挽或漏极开路输出。在标准8051中固定的“弱上拉”可以被禁止,这为低功耗应用提供了进一步节电的能力。最突出的改进是引入了数字交叉开关。这是一个大的数字开关网络,允许将内部数字系统资源分配给端口I/O引脚。与具有标准复用数字I/O的微控制器不同,这种结构可支持所有的功能组合。可通过设置交叉开关控制寄存器,将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入及微控制器内部的其他数字信号配置为出现在端口I/O引脚。这就允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。
4 显示模块
本设计采用PC显示波形,主要是因为通过应用VB能很容易地实现波形的显示,并且还能将波形数据存储到硬盘当中,以实现示波器的存储功能。但是要注意以下几点:
①波形消隐。在实际使用时一般需要连续显示波形。连续显示波形时,在显示下一幅波形之前,首先需要将上一幅波形清除或消隐。VB的图片框和窗体提供了CLS方法,可以实现波形的清除;但在连续显示和清除波形时,存在严重的闪烁现象。
将显示波形的图片框或窗体的DrawMode属性在属性框中设置成13-Copy Pen,或者在程序中使用类似Picturel.DrawMode =vbXorPen的语句将画笔设置成“异或笔”,显示波形后经过二次重画即可消隐已经显示的波形。整幅显示一整幅消隐波形一样可出现一定的闪烁,但通过消隐一条线段一显示一条新线段的方法可彻底消除闪烁问题。该方法对波形显示区中的文字或其他控件均不会造成影响。
②双通道问题。在VB当中,曲线是利用连接“当前点”而生成的。要在一个图片框上实现是很难完成的,所以设计双通道波形显示程序时,可在窗体上放置两个图片框,每个图片框用于显示一个通道的波形,编程时在两个图片框中交替显示一个通道的波形。当显示速度较快时,宏观上可得到双通道同时显示的效果。
5 有源时钟模块
本设计ADC的采样率高达40 Msps,所以ADC的采样时钟用40 MHz有源晶振。有源时钟及分频电路如图4所示。
把40 MHz晶振分成不同的8个频率,这样可调节ADC的采样率,以适应不同的被测信号。这部分电路在做PCB时要注意走线,有源晶振和ADC之间距离不要超过1 000 mil(2.54 cm)。另外,做PCB时应把数字地和模拟地分开,最后用O Ω电阻跨上;最好两面“铺地”,这样可以大大提高PCB的可靠性。
结 语
本设计的优点就是可以用较低的成本制作出性价比很高的示波器,能很好地满足学生或一些经费不是很充足的业余电子爱好者的需求。经过试验,整个系统非常稳定。测方波时,采样率最好是被测信号频率的5~8倍,这样效果能达到最佳。
本设计负责信号传输的CPU是C8051F020。C8051F系列单片机是完全集成混合信号的系统级芯片,具有与8051兼容的控制器内核,与MCS-51指令集兼容;除具有标准8051的数字外设部件外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。C8051F单片机采用流水线结构,机器周期由标准的12个系统时钟降为1个系统时钟周期,处理能力大大提高,峰值性能可达25 MIPS。 |
|
|
|
|
|