基于USB接口的高性能虚拟示波器的开发实现

2015-07-13 10:18:23   来源:dzsc   

关键字: USB接口  虚拟示波器

1 引言

虚拟示波器,是将计算机强大的计算处理能力和一般硬件仪器的信号采集,控制能力结合在一起,从而实现一般示波器所不能实现的功能和友好的界面。

随着计算机技术的发展,使得虚拟仪器的实现成为可能,传统仪器的一些专用处理器和设备,被计算机的通用设备所代替,常用的虚拟仪器,多采用PCI或ISA插槽,将各种硬件连接到一起,然而采集卡的数量一般有限,因此组织系统的时候,只能指定特定的计算机,或打开计算机盖装入专门的采集卡,在使用笔记本电脑或工业一体化电脑的场合,根本就不支持PCI或ISA总线的设备。所以,我们需要一种更方便,更有效,更灵活的总线通讯方式来实现虚拟仪器,现代计算机一般都具有USB接口,且USB接口的使用灵活,方便,所以首先考虑采用USB总线。

USB总线是Intel,IBM,NEC,微软等7家著名公司提出的新一代总线技术,采用新一代USB总线之后,PC机配置新的硬件设备不用在打开机盖,且支持热插拔技术,给使用者以极大的方便[1],通过USB集线器,扩充设备可达127个,并可通过3-5m的电缆连接到计算机,而使采集卡靠近测试对象,从而大大地提高了电磁兼容性,在标准协议USB1.1中,UMB总线的传输速率可达1.5-12Mb/s,而在规范USB2.0中,速率则可达360Mb/s。这样的速率足以满足绝大多数场合的要求[2、3]。

2 虚拟示波器的硬件设计

虚拟示波器的硬件设计就是要完成虚拟示波器的USB物理设备的设计,即USB接口和USB功能设备,虚拟示波器的硬件结构如图1所示。

图1可分为4个部分:信号调理部分,A/D转换模块,逻辑控制模块,USB接口模块,虚拟示波器的硬件部分完全采用模块化设计方案,使各部分硬件相对紧凑,最终缩小了采集,而且A/D转换模块不在计算机内部,可以有效地避免高频电磁干扰对计算机的影响,也减轻了计算机的负担,使计算机可稳定、高效的运行。

USB接口模块是这个系统通讯的关键,模块需要完成上位机和A/D转换模块的通讯,需要将上位机的指令送到逻辑控制器IDT7207,还需将转换结果送入上位机,USB接口芯片选用CYPRESS公司的AN2131QC,该芯片有其他芯片所没有的特点:

(1)基于RAM的“软”系统解决方案(SOFT,RAM BASED)不需要RAM或其他的固化存储器,而只使用片内的程序/数据RAM。通过主机下载的方式来配置USB接口,因而使接口系统的修改和升级变得非常简单,使外设硬件的更新和升级变得更为方便。

(2)数据吞吐量完全达到USB协议要求,可以向用户提供足够的端口、缓冲区和传输速度,提供USB协议要求的全部4种传输方式(控制传输、中断传输、批量传输和同步传输),可以满足用户对各种类型数据传输的需求。

(3)片上的串行接口处理机(SIE)完成大部分的USB协议操作,使用户可以摆脱复杂的协议细节,简化了用户配置代码,加快了开发过程。

(4)内嵌增强型8051处理器,兼容8051指令系统,一个指令周期仅需4个时钟周期,可提供标准8051三倍以上的处理能力;双数据指针;方便数据块搬移,使用片内的RAM作为数据/程序存储器,非复用数据/地址总线,使程序指令速度更快,并且同外部器件的连接更加简单。

(5)休眠模式可以降低系统功耗,延长器件的使用寿命。

逻辑控制模块是整个设备控制的核心,其主要是负责解释和控制执行主机软件系统的控制命令和要求,完成设备状态设置和控制设备完成激励信号的发出、响应信号的采集等功能,逻辑控制模块主要由可编程逻辑控制器IDT7207,及其辅助电路和外围扩展电路构成,芯片通过内部I/O编程,方便地实现输入/输出的逻辑关系,使得电路更加简洁,功能更加强大,在逻辑控制模块的控制下A/D转换模块利用A/D芯片7899完成对信号的A/D转换,由于A/D芯片电压输入范围为正负10V,因此前端信号调理模块负责将信号幅值调理到正负10V之间,并实现采集电路与被测试对象的信号隔离。

3 虚拟示波器软件设计

虚拟示波器的软件主要完成对虚拟示波器控制、显示的设计,即对各个模块的硬件控制,以及用户界面的设计,虚拟示波器的整体软件应该采用分层机构,整个控制软件分为3层,底层物理设备的控制程序,USB设备在PC机上的驱动程序,上位PC机的人机界面软件,控制软件的分块,分层设计使各层软件相对独立,只需考虑各层软件的接口即可,这样使软件的设计、编写较为简单,运行更为可靠,整体控制软件流程图如图2所示。

底层物理设备的控制,主要是对USB接口芯片AN2131的初始化,以及其接收、发送数据的控制,由于其内嵌了8051的单片机芯片,所以就采用8051单片机的汇编语言编写控制程序,其要点为:通过写的相应寄存器,分别设置中断引脚的电平特性、缺省地址和各中断事件的屏蔽,激活断点0作用,进入正常操作状态,在主循环过程中,主要等待主机通过控制断点0发来的控制命令和握手命令来执行相应的功能设备任务:设置状态、接收PC激励信号、发出激励、采集数据等,采集的数据以包为单位装载到端点1的FIFO中,还要响应AN2131的主要事件,其部分控制程序如下:

[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0713/article_12299.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文