保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于DSP的USB口数据采集分析系统



    USB设备驱动程序基于WDM。WDM型驱动程序是内核程序,与标准的Win32用户态程序不同。采用了分层处理的方法。通过它,用户不需要直接与硬件打它道(在USB驱动程序中尤为明显),只需通过下层驱动程序提供的接口号访问硬件。因此,USB设备驱动程序不必具体对硬件编程,所有的USB命令、读写操作通过总线驱动程序转给USB设备。但是,USB设备驱动程序必须定义与外部设备的通讯接口和通讯的数据格式,也必须定义与应用程序的接口。

本系统的驱动程序是在Compuware Numega Driver-Works的基础上采用面向对象语言C++开发的。Driver-Works可以很快构造出驱动程序的框架。主要构造了两个类:Class USBDAC和class USBDACDevice。Class USBDAC继承了class Kdriver,负责装载驱动程序和创建功能设备对象时要做的一些操作。Class USBDACDevice继承了class KpnpDevice,是驱动程序的主要部分,负责设备启动、停止的操作以及与设备的数据通讯。API函数调用和CreateFile ()、ReadFile ()、WriteFile ()、DeviceIO-Control ()、CloseFile()等的实现也在class USBDACDevice中完成。

Class USBDAC的定义如下:

class USBDAC : public Kdriver

{

SAFE_DESTRUCTORS

public:

/*Driver Entry (),在系统引导或I/O管理器装入驱动程序时,调用这个例程。执行大量的初始化函数,包括建立到其它驱动程序的指针、查找和定位由驱动程序使用的任何硬件资源等,不过,这部分工作大多由基类Kdriver完成。*/

virtual NTSTATUS

DriverEntry(PUNICODE_STRING RegistryPath);

/*AddDevice(),创建一个Device对象。调用其构造函数对设备初始化,创建设备的名称等。*/

virtual NTSTATUS

AddDevice(PDEVICE_OBJECT Pdo);

Int m_Unit;

};

Class USBDACDevice的定义如下:

Class USBDACDevice : public KpnpDevice

{

// Constructors

public:

SAFE_DESTRUCTORS

USBDACDevice(PDEVICE_OBJECT Pdo,ULONG Unit);

~USBDACDevice ();

// Member Functions

public:

//添加自己的成员函数

NTSTATUS USBDAC_GetACK(int &);

NTSTATUS USBDAC_StartADConversion(void);

NTSTATUS USBDAC_S

《基于DSP的USB口数据采集分析系统(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/157235.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。