基于FPGA的简易数字存储示波器设计
扫描二维码
随时随地手机看文章
0 引言
高速数字化采集技术和FPGA技术的发展已经对传统测试仪器产生了深刻的影响。数字存储示波器(DS0)是模拟示波器技术、数字化测量技术、计算机技术的综合产物,他主要以微处理器、数字存储器、A/D转换器和D/A转换器为核心,输入信号首先经A/D转换器转换成数字信号,然后存储在RAM中,需要时再将RAM中的内容读出,经D/A转换器恢复为模拟信号显示在示波器上,或者通过接口与计算机相连对存储的信号作进一步处理,这样可大大改进显示特性,增强功能,便于控制和智能化。这种DSO中看到的波形是由采集到的数据经过重构后得到的波形,而不是加到输入端上信号的波形。本文采用基于FPGA的方式进行数据采集、数据处理等功能的设计。这种设计方案在高速数据采集上具有很多优点,如体积小、功耗低、时钟频率高、内部延时小、全部控制逻辑由硬件完成等,另外编程配置灵活、开发周期短、利用硬件描述语言来编程,可实现程序的并行执行,这将会大大提高系统的性能,有利于在系统设计和现场运行后对系统进行修改、调试、升级等。
1 系统实现方案
根据设计指标要求,基于FPGA的系统结构如图1所示,主要由模数转换、数模转换、FPGA数据处理、数据存储四部分组成。由垂直分辨率大于或等于32点/div可知A/D、D/A转换器至少8位,系统选用AD976(16位A/D转换器)和AD669(16位D/A转换器),由于受PLC I/0口数量的影响,AD976和DA669使用其中13位,RAM选HM6264(64k),时钟采用125kHz,PLC选用EPFl0K10LC84一3。模拟信号通过A/D转换器将信号输入给FPGA,FPGA根据相关指令进行数据存储至RAM或将数据从RAM读出送给D/A转换器转换成模拟信号输出。
2 系统主要电路
系统中FPGA数据处理模块将A/D输入、RAM数据存储和D/A输出连接在一起,实现信号的传递、存储等控制。输入电路中A/D转换芯片选用AD公司的AD976,它是16位高速,高精度A/D转换器,最大采集率为100kSPS,输入信号范围为一10~+10V,R/C为读数/转换控制端,CS为片选端,电路连接如图2所示。
数据存储器HM6264是64k的静态SRAM,8位I/0公共输入/出线,13位地址线,三态输出。地址有效条件是/CSl=0,CS2=ln/WE=0,/OE=1执行写操作;/WE=1,/OE=O执行读操作。电路连接如图3所示。
输出电路中D/A转换芯片AD669也是AD公司推出的16位高速,高精度D/A转换器,具有高性价比,电路连接如图4所示。
3 FPGA程序设计
此部分实现的主要的功能是将A/D转换后的数据经FPGA控制写入RAM及将数据从RAM读出经FPGA输出给D/A转换器,顶层原理图如图5所示。外围主要接口端功能为:A[15..3]为数据输入端,CLK4M为时钟信号端,TONGIN为触发端口,CS、RC、WE、OE为片选、转换、读写控制端,RAMI、RAMO、AA为存储器I/O端、地址端,QQ为数据输出端。
其中模块CHANA实现的功能是对数据的最高位取反,因为AD976最高位“l”表示负电平,而AD669最高位“1”表示高电平;模块INTRD在EN为“1”,信号上升沿过零点时,Q输出为“l”,直到完成对存储器的写操作为止;模块SIGND是整个程序的核心部分,主要功能是为存储器和lAD976提供控制信号,启动A/D转换,对存储器进行写操作和读操作;模块SAN在对存储器由写操作转变为读操作后,将存储器的数据输出变为高阻态,不妨碍存储器数据的正常读入;模块TONG端口A外接开关,按下时低电平,起同步作用。仿真结果如图6,(a)为写操作时的仿真波形;(b)为读操作时的仿真波形。当运行在写操作时,QQ无输出,如图6(a)所示,实现存储功能,读操作时,QQ输出,由于模块CHANA的存在,QQ输出的数据要对A输入的数据首位取反,即A输入是0101,QQ输出是1101,如图6(b)所示,仿真结果正确。
4 结语
本文以PLC器件为控制核心,通过附加一定的外电路及普通示波器构成简易数字存储器,使普通示波器具有波形数字存储的功能。其中以FPGA为主部件的控制部分采用VHDL语言,按模块化方式进行设计,并将各模块集成于芯片中,最后通过MAXPLUS II软件对设计进行逻辑仿真,对FPGA芯片进行编程,实现系统的设计要求。随着科学技术的不断发展,这种以FPGA为基础的软件硬件化,其发展前景十分看好。