USB2.0技术在便携式测试系统中的应用口☆口口☆

  USB2.0技术在便携口式测试系统中的应用

  USB2.0技术在便携式口测试系统中的应用

  王文梁仇傲

  (中海油田服务股份有限公司油田技术事业部□☆☆□,河北 三河 065201)

  【摘要】介绍了一口种基于USB技术的便携式石油测口井测试系统的设计□□□,详细阐述了该测试系统的USB接口开发的方法数据通信过程□☆□。该系统使用DSP和FPGA的口硬件口架构□☆☆□□,完成了测井数据的获取和格式转换□☆□☆,并利用USB控制芯片FT245BL实现了测井仪器与PC机之间的口口通信□☆☆☆,实验结果表明口该测试系统很好的满足了实验室仪器调试的需要☆□□□☆。

  教育期刊口网 口http://ww口口口w.jy口qkw.co口m关键词USB技术;测试系统;DSP;FT245BL

  Application of 口USB口口2.0 in Portable Test System

  WANG Wen-liangQIU Ao

  (Well- 口Tech R&D 口口口In口stitute COSL, Sanhe Hebei 065201)

  【Abstract】This paper introduced a logging tools test system based on USB technology and elaborated design methods of USB interface and data communication. The system realized the logging data acquisition and data for口mation conversion by using DSP and FPGA technology, and completed the data communication between logging tools and PC. The experiment results shows that the test syst口em meet the needs of laboratory debugging.

  【Key words】USB technolog口y;Test口 syste口m; DSP;FT245BL

  0引言

  随着大规模集成电路和计算机技术的迅速发展☆☆□□,数字技术渗口透到各个技术口领域□□☆□,以此为基口础的各种装置层出不穷□☆□☆,传统的外设一般基于PCI总线☆☆□□☆、PC-232总线或USB总线□□☆。USB总线的即插口口即用□□☆、真正口口的热插口拔☆☆□☆、可总线口口供电□□☆、高性能和系统造价低等一系列口优点使得USB接口得到了广泛的应用[1]□☆□☆☆。

  本文介口绍了基于US口B技术的便口携式石油测井测试系口统□□☆□,该系统可用于对测井仪器进口行实验室测试☆☆☆□、维修☆□☆☆□,保养☆□☆☆□。通常□☆☆□,也可以在口新测井口仪器研发阶口段用于口调试☆☆□。一般来说□☆☆,石油测井系统包括地面采集系统□□□□☆、长距离口口口井下电口口缆☆□□☆、井下辅助通信设备和测井仪器☆□□☆☆。当需要对测井仪器进行测试☆☆□□、检修时□□☆,需要整口个测井系统□☆☆□,缺一不可☆☆□☆。而通过该便携式测试系统☆□☆,就可以直接对测井仪器直接进行控制☆□□、数据通口信和测口口试☆☆□☆□,省去了地面口采集系统和井下电缆等设备☆□☆□,节省了设口备资口源☆☆☆。

  1系统结构和工作原理

  该测试系统模拟油田井场测井作业□□☆☆☆,实时给测井仪口口器发送指令☆□□□□,并接收测井仪器的信号数据□□☆☆□,并将数据通过U口SB接口输口出到PC机☆□☆,通过PC机的控制口软件显示☆☆☆□☆、存储采集口数据测试☆□☆☆,用于口测井仪器的研发□☆☆□,实验室模拟口调试☆☆□□□。该测试系口统主要有三个部分组成: USB2.0传输口口接口□□☆、DSP控制单元和测井总线接口口单元☆□☆,其总体框图如图1所示□☆☆□。

  USB传输接口采用FTDI公司的第二代USB FIFO芯片FT245BM☆☆☆,它在片内集成完整的USB协议功能☆☆□□□,控制单元主要采用DSP芯片T口MS320F2812实现☆☆□☆,控制逻辑电路在FPGA中口完成☆☆□□。测井设备中线接口采用EDIB总线□□☆☆,该总线是中海油田服务股份有限公司自主研制的一种井下测井仪器总线□☆□☆,该总线采用主从结构☆☆☆☆□,可以同时挂接多种测口井仪器☆□□☆。

  测试系统的工作流程是:PC机通过USB接口发送测井仪器命令☆□☆□,DSP控制单元对USB2.0功能设备接口进行实时检测☆□□☆□,口☆口口☆口当检测到PC机有命令下发时☆☆□,对下发的命令数据及参数进行曼切斯特口编码□□□,发给井下仪口器☆☆□☆。当井下仪器要传送数据给PC机时☆☆□☆,DSP控制单元对EDIB总线通道进行检测☆□□□□,将检测到的数口据进行曼切斯特解码□☆☆□,并将口解码后的数据打包通过USB2.0接口传给PC口机□☆□☆。PC机通过仪器测试口软件来检测井下仪器的各种功能☆□☆☆。

  2USB接口单元与控制电路设计

  在USB数据传输通口信中☆□□□☆,分USB主机设备和USB功能设备□□☆,USB系统的数据和命令的传输都是有US口B主机来启动的□□☆☆,在整个数据通信中口占主导地位☆□☆□☆,在同一时刻口USB系统中只存在一个USB主机☆☆□。USB功能设备通常是一个独立的外部设备□☆□,可以和USB主机进行数据和控制信息的交互□□☆☆,并未口主机提供额外口的口功能☆□☆,每个USB设备内部都包含有描述器功能和资源需求的配置信息[2]☆□□□。对于我们的口测试口系统来说□☆☆□,PC机是USB主机设口备☆□☆,测试系统是U口SB口功能设口备□☆□。

  FT245BM是一款USB FIFO芯片□□☆☆□,兼容USB1.1和U口SB2.0协议☆☆□☆□,具有块传输和同步口传输两种传输口方式□☆☆□☆,片内具有384字节FIFO的发送缓冲器和128字节FIFO的接收缓冲器[3]☆☆□。可以将口USB总线转化为8位的处理器并口输出□□☆,工作原理如图口2所示☆□□。

  串行接口引擎(SIE)负责完成串行数据的解码□□☆□□、差错控制□☆☆、位填口充与US口口B协议有关的功能☆☆☆□。USB协议引擎管理U口SB设备控制端点的数据流☆☆□,处理底层USB协议□☆□☆☆。

  当主机口向USB设备发送数据时☆☆☆□□,EM口PTY信号为低☆☆□,通知U口SB设备已有数据接收到□□☆,这时DSP可以从FT245BL中读取主机发来的数据☆□□□,当所有口数据都读完后□□☆□,EMPTY信口号变为高电平☆□☆□。

  当USB口设备向主机发送数据时☆□☆☆,如果FUL口L信号为低电平□☆☆□☆,数据被写进发送FIFO□□□,如果发送FIFO已口满☆□□☆,FULL信号变为高电平□□☆□,这时禁止向F口IFO写数据☆□□□☆,待FIFO中的数据通过USB接口传到主机之后☆☆□□,FU口口LL信号变为低☆□☆□,这时USB可以口继续向主机发送数据□□□。FT245BL通过EEPROM接口外扩一块EEPROM□□☆☆☆,EEPR口OM用来存储USB VID☆□□☆、PID☆☆☆□□、串行码□□□、产品口口描述口符□□☆□,还用来设置USB传输模式□☆□□□、远程口唤醒模式□☆☆☆☆。本设计中选用16位宽的E口EPROM 93c46☆☆□。

  控制电路主要有DSP芯片和FP口GA口口芯片构成□☆□,DSP使用TI公司的口TI公司的DSP芯片TMS320F2812☆☆□□,它是高性能的32位定点DSP□☆□,具有哈佛总线结构☆☆□,统一的存储器规划☆☆☆□□,4M的线性口程序地口址□□□☆□,4M的线性数据地址☆☆□□☆,高效的代码(C/C++和汇编语言)☆☆□□□。片内集成128K×16的Flas口h空间☆☆□,可以反复擦写□☆☆☆,重复编程☆□□□☆,用于口存放程序口代码和数据☆□□,在产品开发阶段使用起来非常方便☆☆☆□□。

  TMS320F2812内部口有18K×16的数口据存储空间☆☆☆☆,考虑到TMS320F2812的内部数据存储空间较小☆□☆☆,为未来口研发的更大数口据量仪器保留余量□□□☆,DSP外扩了口512K×16的SRAM芯片□□☆□,型号为口IS口61LV52116☆□□□□,用于存放井下传送数口据□☆□。DS口P地址空间口口分配如下:

  内部资源分配:DSP内部具有128K口×16的Flash☆□□☆,占用空间是0x3D8000——0x3F7FFF☆☆□☆☆,其中☆☆□,0x3F6000——0x3F口7F口80作口为用户的程序代码存放空间☆□☆,0x3F7FF6——0x3F7FF8为引导到闪存的进入点(这里有程序跳转指令)☆☆□□。0x3F8000——0x3F8FFF为内部RAM空间☆☆□,作为程序代码的运行空口间☆□☆。

  外部资源分配:F2812的外部接口可分为5个存储器映射区□□□,本次设计使用了两口个存储映口射区□☆☆□☆。0x004000——0x005FFF为Zone1映射区□☆□☆,实际中只使口用了前16个地址单元作为USB模块和曼码编☆☆□☆□、解码模块的外部控制寄存器□☆□。0x080000——0x0FFFFF为Zone2映射区☆□☆,作为DSP外部口扩展口口数据区☆☆□,用于存放从井下仪器收到的采口集数据□☆☆☆。

  DSP与FT245BM之间的通信主要靠8位数据线D0~D7以及读写控制线(RW☆☆□☆□、RD□☆□□□、EMPTY□□☆□、FULL口)来完成□□□,这是USB芯片FT245BM作为DSP的一个外部设备□□☆□,当USB接口接收主机数据的时候□□☆□,对于DSP来说就是一个读外部FIFO口数据的过口程;当USB接口向主机发送数据的时候□☆□☆,对于DSP来说就是一个向外部FIFO写数据的过程□☆□□。

  F口PGA芯片采用了ACTEL公司的APA口600□☆☆□☆。它具有158个用户I/0引脚☆□☆□□, 3.3 V的I/O电压□□☆□,内核电压2.5V☆□□,可生成同步/异步FIFO和SRA口M☆□□☆□。APA600可以产生不同频率时钟信号☆□☆,具有较大的存储空间和丰富的I/O资源□☆□,可以完全满足本项目口对时钟产生□☆☆□,逻辑控口制和数据缓存口的要求☆□☆☆。

  FPGA作用有两个□☆□□,一是完成测井设备口总线口接口的逻辑控制□☆☆□,测井设备数据的编码☆☆□□、解码☆□☆□□,用于和口口测井仪口器进行通口信□☆☆,二是完成口D口SP于USB接口之前的逻辑控制□□☆。

  3软件设计

  系统的软件设计包括固件程序设计□☆☆☆□、驱动程序设计和主机应用程序口设计□□☆□。

  3.1固件程序

  口USB固件口程序主要完成USB协议处理和固件口交换□☆□☆☆,目的是让WINDOWS检测和识别设备建立起正确的通信连接[4]□□□☆☆。由于U口SB设备芯片FT245内完全口集成了USB协议引擎☆□□☆□,不需要专门设计USB固件程序☆□☆☆。

  DSP固件程序主要用去检测USB芯片内FIFO标志的状态□☆□☆□,完成USB接口与测井仪器的通信□☆□☆☆,编程步骤口如下□☆□☆☆。

  (1)初始化□□□,等待PC控制命令☆□□☆。

  (2)检测USB的接收FIFO是否口为空☆☆□□,当FIFO为非口空时☆□☆☆,说明接收到PC机下发命令□□□。

  (3)对PC机下发命令进行测井数据命令格式编码☆□☆,并下发口口口给测井设备□☆□。

  (4)等待口接收测井设备的回口传数据□☆□☆。

  (5)对测井设备回传的数据进行格式解码□□☆□☆。

  (6)口将测井设备数据通过USB发送到PC机□□☆,当USB设备的发送FIFO为非满时☆☆□□,向USB发送FIFO写入测试设备的数据□□□。USB接口芯片将自动将数据发送给PC机☆☆□□□。

  3.2驱动程序设计

  USB芯口片FT245BL的厂家提供两种驱动程序:VCP和D2XX驱动程序☆□□☆。VC口P驱动程口序口为虚拟串口程口序☆☆☆□□,它将USB接口包装成一个虚拟的232串口□□☆☆,最高传输速率为2.4M口口bps☆☆☆☆□。D2XX驱动程序是标准的USB接口驱动程序□□☆,最高传输速率为8Mbps□□□☆。本设口计中使用口的是D2XX驱动程序□☆□☆。

  3.3主机应用程序

  主机应用程序采口用LabWindows/CVI设计☆☆☆。安装U口S口B设备驱动程序后□□☆☆□,直接调用动态连接库函数可实现BUS端口的识别□☆☆、打开☆□□□、关闭和数据通信在驱动程序的动态连接库口中常用的函数如下:

  (1)int Op口enDevice(int device_num)□☆☆□☆,用于连接口USB设备☆☆☆□☆,num表示所连接的USB设备个数□□☆。

  (2)int Cl口ose口Device(int device_num)□☆□□,用于关闭USB口设备☆☆□□☆,num表示所连接的USB设备个数☆☆□☆。

  (3)int ReadDevice(int de口vice_num,char *RdBu口ffer; unsigned long num)☆☆☆,口☆口口☆口用于接收来自USB接口的数据

  (4)void WriteDevice(int device_num,char 口*wrbuffer,ULONG num)□☆☆,用于向USB设备口发送数据☆☆□□。

  (5)void SetDevideTimeout (int device_num,ULO口NG R)☆☆☆,用于设置USB设备的口接收□□□☆、发送超时时间☆□☆。

  (口6)FT_Purg口e(FTHandle1,Mas口口口k)□☆□□,用于U口口SB设备发送☆□☆☆□、接收数据缓冲的清空□☆□☆。

  4实验与结论口

  通过上述方法实现了主机软件和测井仪器之间的通信□☆☆☆□,并使用测井仪器对该测试系口统进行了实验验证☆☆□。图3为基于USB接口的测井仪器测试系统装置与采集波形□□□☆,USB接口与P口C主口机连接☆□□☆□,测井数据总线接口与测井口仪器口连接□☆□,测试系统在试口验时挂接的测井仪器为数字声波测井仪☆□□,图中显示的四道波形为数字声波测井仪上传的波形数据☆☆□,地面软件采用将仪器采集的四道正口弦波显示出来□☆□☆☆。四组波形正确显示口了测井仪器采集的波形情况□☆☆☆,实验口表明该测试系统满足了仪器测试的需要☆☆☆□□。

  教育期刊网 http://www.jyqkw.com参考文献

  [1]罗伟林,王立欣,毛远. USB数据采集口系统中DMA数口据传输的实现[J].电子测量技术☆☆□,2008,31(6):121

  [2]李口口口英伟 U口SB口2.0原理与口工程口开口发[M口]. 北京:国防口工业出版社□☆□,2007:7-8.

  [3]Future Technology De口vices International Ltd. DS245BL 口Version1.7[DB/口OL]. ht口tp://口www.ftdich口ip.com/Support/Documents口/DataSheets/ICs/DS_FT245BL.pdf☆☆□,2005

  口[口4]张建鹏,解国明,李刚. 基于口ISP口1581型接口电路的USB口2.0接口口口口设计[J].国外电子元口口器件☆□☆☆,2005(口9):7-10.

  [口口口责任口编口辑:曹明明]

本文由稚雅论文网发布于艺术论文,转载请注明出处:USB2.0技术在便携式测试系统中的应用口☆口口☆

您可能还会对下面的文章感兴趣: