一种基于PCIe总线支持USBTMC协议的仪器程控系统及方法

文档序号:9489402阅读:582来源:国知局
一种基于PCIe总线支持USBTMC协议的仪器程控系统及方法
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种基于PCIe总线支持USBTMC协议的仪器程控系统,还涉及一种基于PCIe总线支持USBTMC协议的仪器程控方法。
【背景技术】
[0002]USB具有即插即用、接口体积小巧、传输速率快等优点,使USB得到了众多生产商和使用者的青睐,USB接口已经成为了计算机平台标准的接口之一,目前最新的标准是USB3.Ιο
[0003]测试测量类中的仪器仪表也越来越多的采用了 USB接口,通过此接口,计算机可以控制仪器仪表,与仪器仪表交换数据等。
[0004]??榛缒?COM)是一种将CPU、芯片组、内存和外围设备设计在一个部件的高集成性板卡,使用时需要搭配用户自行开发的载板。COM载板必须通电,并带可使用的扩展接口。COM类型多样化,标准包括COM Express、ETX和Qseven,具有统一的电气、机械属性和软件实用程序等特点,使用时就像一个元器件插入到板子上,系统升级也更加方便,产品种类丰富,定位也不一样。因此,可以节省用户系统开发时间,使用户更加集中精力专注于自身擅长的领域开发研究。C0Me(C0M Express)支持最新扩展接口,各种接线方式和3种不同的产品类型,已成为最流行的COM标准。虽然COMe具有众多优点,但也有自身的不足。COMe??槭褂玫氖莤86架构的硬件平台,底层硬件仅包括USB主机控制器,不包括从设备控制器,所以要想使用USB接口进行程控,需要添加从设备控制器硬件电路和开发相应的固件程序。
[0005]图1所示为现有的实现支持USBTMC协议的仪器程控方法原理。
[0006]目前,能够实现USBTMC协议程控接口的仪器有很多,有Agilent或者R&S公司的频谱分析仪和信号发生器等。这些仪器的硬件平台都有一些共同的特点,大多采用的是基于ARM内核的CPU,操作系统为Linux、Unix或者Android等。
[0007]采用ARM内核的CPU有很多种类内部集成了 USB全速设备接口外设;操作系统的驱动程序由芯片供应商提供,内核层负责管理使用USB外设接口与USB协议间的直接通信,其严格遵守USB协议,接口层提供了内核层和用户程序间的完整接口。
[0008]USBTMC协议是基于USB协议的,但是具有自身的特点。相同的是USB设备的标准请求和各类描述符,特有的是自定义请求以及信息的封包解包。实现USBTMC协议首先要配置描述符,配置好描述符后接入装有VISA驱动的主机,主机会自动将设备识别为USBTMC设备并加载VISA驱动;然后实现USBTMC协议中的标准请求和类定义请求,用以实现测试测量设备特定的功能;最后实现USBTMC协议的消息通信,实现测试测量设备的消息传输。
[0009]这种通过USBTMC协议实现仪器程控的方法仅适用于采用ARM内核和Linux等操作系统的仪器,不适用于采用x86架构和Windows操作系统的仪器,不具有可移植性,所以需要开发一种适用于这两种硬件平台支持USBTMC协议的仪器程控方法。

【发明内容】

[0010]本发明提出了一种基于PCIe总线支持USBTMC协议的仪器程控系统及方法,解决采用COMe硬件平台的仪器因未有USB从设备控制器而无法使用USB接口进行程控的问题;解决基于ARM内核硬件平台仪器实现USBTMC协议的软件和硬件电路可移植性不强的问题;解决仪器程控需要实时传输大量数据的问题。
[0011]本发明的技术方案是这样实现的:
[0012]—种基于PCIe总线支持USBTMC协议的仪器程控系统,包括:PCIe接口控制器、USB接口控制器、DMA控制器、高速FIFO、单片机和EEPR0M ;
[0013]所述单片机中的固件程序用于实现硬件电路的初始化,对PCIe接口控制器、USB接口控制器和DMA控制器的模式配置,对USB从设备控制器配置符合协议的各类描述符,实现USBTMC协议的支持;
[0014]PCIe接口控制器与COMe??橥ㄐ挪捎昧?PCIe2.0协议,总线向下兼容PCIel.0协议;
[0015]USB接口控制器与主机接口采用了 USB3.0协议,总线向下兼容USB2.0协议,USB接口控制器自适应采用USB2.0或者USB3.0协议的主机接入。
[0016]本发明还提出了一种基于PCIe总线支持USBTMC协议的仪器程控方法,基于一程控系统,所述程控系统包括:PCIe接口控制器、USB接口控制器、DMA控制器、高速FIFO、单片机和EEPR0M ;
[0017]所述单片机中的固件程序用于实现硬件电路的初始化,对PCIe接口控制器、USB接口控制器和DMA控制器的模式配置,对USB从设备控制器配置符合协议的各类描述符,实现USBTMC协议的支持;
[0018]PCIe接口控制器与COMe??橥ㄐ挪捎昧?PCIe2.0协议,总线向下兼容PCIel.0协议;
[0019]USB接口控制器与主机接口采用了 USB3.0协议,总线向下兼容USB2.0协议,USB接口控制器自适应采用USB2.0或者USB3.0协议的主机接入。
[0020]可选地,上述程控方法的固件程序开发流程包括:
[0021]首先,按照USBTMC协议规定的格式配置设备的各类描述符,使主机将仪器识别为USBTMC 设备;
[0022]然后,添加USBTMC协议中规定的自定义请求,反映设备的各类属性;设备端收取并处理主机发送的自定义请求,解析主机发送的Bulk信息,再根据得到的实际信息,设备设置回复信息,向主机回复Bulk信息;
[0023]仪器上电后,固件程序首先回读校验EEPR0M中存储的数据是否正确,然后实现PCIe接口控制器、DMA控制器和USB接口控制器的初始化,配置完成参数后,主机端便可以对仪器进行程控操作。
[0024]可选地,上述程控方法的设备端驱动程序执行流程包括:
[0025]仪器端首先实现PCIe接口的初始化;
[0026]在初始化过后,设备以描述符的形式将各个接口的信息报告给仪器端,仪器端收到接口报告后通过该接口进行数据读写。
[0027]可选地,PCIe接口读写是分层实现的,仪器端应用程序由系统服务接口作用到内核模式管理器,管理器进行必要检查后,创建一个数据包传递给驱动程序,驱动程序通过调用硬件抽象层来实现对PCIe硬件的访问。
[0028]可选地,实现USBTMC协议后,主机端直接使用现有的VISA仪器驱动程序和应用软件。
[0029]可选地,实现USBTMC协议后,主机端安装NI或者安捷伦10工具。
[0030]本发明的有益效果是:
[0031](1)现有方法只适用于采用ARM内核硬件平台的仪器,不适用于采用COMe硬件平台的仪器。本发明采用了标准的PCIe总线接口,硬件电路独立,对这两种硬件平台都适用。
[0032](2)现有方法米用ARM内核工控机??榈囊瞧?,由于??槊挥型骋坏牡缙?、机械属性和软件实用程序,不同的CPU型号集成的USB从设备控制器性能也有区别,当既有硬件电路性能不满足新仪器的设计需求时,仪器硬件平台升级不易。本发明采用COMe??樯杓埔瞧饔布教?,由于COMe??榫哂型骋坏牡缙?、机械属性,当??樾阅懿宦阋瞧鞴δ苄枨笫笨梢运媸鄙?,而且??檠≡裼嗟睾艽?,节省产品开发时间。
[0033](3)采用ARM内核工控机??榈囊瞧?,集成的从设备控制器性能也有区别,驱动程序可移植性不高。本发明接口控制器与CPU??槭荽洳捎肞CIe总线,硬件电路相对独立,从设备控制器固件可移植性高。
[0034](4)基于ARM内核的CPU和Linux等操作系统开发用户程序难度较大,软件可移植性一般,对多核多线程的应用程序支持不够好,对某些高性能应用难以满足。本发明的COMe??橛布阅芎芮?,对Windows系统支持的很好,适用于高性能的应用,开发用户程序资料多,节省开发时间,软件可移植性非常好。
[0035](5)目前支持USBTMC协议的仪器程控技术是采用USB2.0协议的从设备控制器,数据传输速度较慢,已经不能满足新一代仪器大量数据传输的要求。本发明是基于USB3.0协议实现USBTMC协议的仪器程控技术,并且向下兼容USB2.0,数据传输速度可达到5.0Gbps,可以实现需要数据实时传输的复杂仪器功能,例如信号源任意波形发生功能。
【附图说明】
[0036]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1为现有技术中实现USB接口仪器程控方案的原理框图;
[0038]图2为本发明基于PCIe总线支持USBTMC协议的仪器程控系统的原理框图;
[0039]图3为本发明的USBTMC协议实现流程图;
[0040]图4为本发明的驱动程序执行流程图。
【具体实施方式】
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im