论文部分内容阅读
任意波形发生器是一种用于产生各种数据信号的仪器,作为仿真、激励的信号源广泛用于电子电路、工业控制、科学研究以及系统的测试中。随着电子测量领域的发展以及仪器控制技术的逐渐成熟,程控系统已经成为一种必然的发展趋势。程控系统可以根据指定的程控命令,改变仪器内部相应的工作状态,既节约了生产成本又提高了仪器适用范围和灵活性,越来越受到用户和厂商的重视;但是在此类系统的研究过程中也带来了诸如接口选择与设计、计算机与仪器之间的交互等一系列问题。
本文研究目的在于设计一种基于USB接口的程控系统,此系统采用的接口有别于串口、并口等较为常用的数据接口,具有传输速度快、支持热插拔和即插即用等优点。
本系统使用基于FPGA的双DDS电路结构任意波形发生器作为系统应用背景,以通用串行总线USB作为研究对象,深入研究了USB2.0协议及其设计方法。采用完全的中断驱动结构为主控芯片ISP1362设计了固件程序,针对Windows平台传统驱动程序中同时要处理硬件和驱动程序与操作系统内核间交互而带来的内核复杂性难题,提出基于WDF框架模型的USB设备驱动程序设计方法,分离了驱动程序与操作系统内核,降低了驱动程序对操作系统内核的影响。为实现应用程序与设备之间的交互,采用设备接口命名方案建立计算机与设备之间的通信通道。通过对同步、异步两种I/O模型各自特点的理解,同时在对比研究了触发设备内核对象、触发事件核心对象、异步过程调用APCs三种典型的异步I/O模型设计方法的基础上,提出了使用IOCP设计异步I/O模型的方法,提高了系统的效率。
本系统实现了AWG标准波程控以及任意波程控的功能。根据程控可编程仪器标准命令集SCPI设计了AWG标准波的程控命令,通过集成于AWG中的SCPI解析模块完成了设备对于程控命令的实时解析,实现了标准波程控;以SRAM作为系统软件存储器,将波形数据封装成Zip形式的文件存储于Flash存储器中,通过RAM数据输入接口将任意波的波形数据从Flash中取出写入DDS的波形存储器,生成指定的任意波,实现了任意波功能。
系统运行后,USB驱动程序装载正常,应用程序操作简单,界面友好。系统测试结果表明,系统功能稳定,数据传输准确,恢复性好,容错性强,具有较好的应用前景。