其中,每一帧数据的开始位和结束位是固定数据,计算机的测井应用软件判断接收到每一帧数据的帧头及帧尾是否错误。若出现错误,将该帧数据丢弃,同时准备接收下一帧数据。数据第二部分,模拟信号由FPGA控制A/D芯片采集得到。

1.1.2 USB传输模块

Cypress公司的。EZ-USB FX2芯片CY7C68013是一款性能较高的USB 2.0微控制器。在单片机上集成USB 2.O收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。EZ-USB FX2中的智能SIE可以处理大部分USB 2.0协议,使得微控制器可以专注于应用功能,从而减少了开发时间,确保了USB的兼容性。

CY7C68013有3种可用的接口模式:端口、GPIF主控和Slave FIFO方式。在该系统中,根据系统对数据传输速度和实时性的要求,配置CY7C68013工作的接口模式为Slave FIFO模式。在Slave FIFO模式下,外部逻辑或外部处理器直接与FX2端点FIFO相连。这种模式下,外部主控器FPGA通过异步方式与CY7C68013进行数据通信。

FPGA与CY7C68013之间的硬件接口框图如图3所示。SL_WR/SL_RD是Slave FIFO的写使能/读允许信号。FPGA向CY7C68013提供Slave FIFO输出允许信号SL_OE,仅在数据输出时有效。FB[7:O]为8位双向数据总线。ADDR[1:0]为FIFO端点选择信号。在数据输入时固定为00,选择的是端点2;在数据输出时固定为10,选择的是端点6。

1.2 软件设计方案

为了能够在LabVIEW中充分利用其他编程语言的优势,LabVIEW提供了强大的外部程序接口能力。这些接口包括DLL,C语言接口(CIN),ActiveX,.NET,DDE,Matlab等。通过DLL,可以方便地调用c,VC,VB等编程语言编写的程序以及Windows自带的大量API函数。动态链接库(Dynamic LinkLibrary,DLL)是一个可以多方共享的程序模块,内部对共享的例程和资源进行了封装。动态链接库文件的扩展名一般是.dll,DLL和可执行文件(exe)非常相似,最大的区别在于DLL虽然包含了可执行代码却不能单独执行,必须由Windows应用程序直接或间接调用。