新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > USB总线在便携式数控测井系统中的应用

USB总线在便携式数控测井系统中的应用

作者: 时间:2016-12-20 来源:网络 收藏

4 软件设计

4.1 固件程序的设计

固件程序是指被固化到AT89S52中FLASH中的程序,它是设备运行的核心,其主要功能是控制USB接口芯片接收并处理USB驱动程序的请求(如请求设备描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等USB标准请求);控制USB接口芯片接收应用程序的控制指令;将存储在双口RAM中的数据通过USB控制器实时上传至PC。

USB控制器的工作原理是:当USB控制器从USB总线检测到主机启动的某一传输请求时,USB控制器通过中断方式将此请求通知USB接口系统,接口系统通过访问USB控制器的状态寄存器获得与此传输有关的各种参数,并根据具体传输参数,对USB控制器的控制寄存器和数据寄存器进行相应的操作,以完成主机的传输请求。

4.2 设备驱动程序的设计

USB驱动程序是支持即插即用功能的标准WDM驱动程序,结构如图3所示。Windows对构成一个USB总线主机的不同软件部分进行了十分清楚的划分,其中USB总线客户软件包含了用来控制不同USB总线外设的设备驱动程序,它通过Windows所定义的软件接口与根集线器驱动程序进行通信,而USB根集线器驱动程序则要通过包含在USBD中的USBDI(通用串行总线驱动程序接口)实现与通用串行总线驱动程序(USBD)的通信。然后,USBD会选择两种主控制器驱动程序(HCD)之一同其下方的主控制器进行通信。最后,主控制器驱动程序会赢接实现对USB物理总线的访问(通过PCI枚举器软件)。

USB驱动程序体系结构
图3 USB驱动程序体系结构

开发设备驱动程序需要专门的开发工具,目前常用的开发工具有Windows DI)K和Driver—Studio。NuMega公司开发的DriverStudio是一个强大的开发工具包,它包括VtoolsD、Driver—Works、DriverNetworks和调试工具SoftlCE等等。用DriverWorks开发基于WDM的USB设备驱动程序时,将自动生成WDM的工程文件,通常包括5个*.h和2个*.cpp文件,此外还自动生成*.inf文件,开发者只要根据自己的需要稍做修改即可。

·USBLOG.cpp:包括DriverEntry()、LoadRegisrtyParameters()、AddI)evice()例程,主要实现初始化设备的功能。

·USBLOGDevice.cpp:主要实现电源管理、系统控制、设备的移除、设备的开始等功能。

·USBLOG.inf:设备的安装文件,说明设备的安装信息。

4.3 应用程序的设计

应用软件由两部分组成:动态链接库和应用程序。动态链接库负责与内核态的USB功能驱

动程序通信并接收应用程序的各种操作请求,而应用程序负责对地面系统采集、处理的各种数据进行实时绘图显示、分析、打印和存盘等。软件设计可以采用Visual C++等。

5 结束语

将USB技术应用到便携式数控测井系统中,可以使上、下位机之间的数据传输速率和误码率得到明显的改善,传输速率能达到8Mbps以上,误码率能降至10-7以下。应用USB技术,可以大大降低数据的丢失率,使采集的数据得到实时显示,同时,为便携式数控测井系统接口的简便化、高速化和可靠性打下坚实的基础。


上一页 1 2 下一页

评论


技术专区

关闭