文档库 最新最全的文档下载
当前位置:文档库 › usb驱动开发工具比较

usb驱动开发工具比较

usb驱动开发工具比较
usb驱动开发工具比较

usb驱动开发工具比较

USB驱动开发的主要工具:DDK(DDK是Device Development Kit,设备开发包的意思)、WinDriver、DriverStudio三种(不知道是否适合于其它驱动的开发)。

比较如下:

用WinDriver和DriverStudio开发驱动比DDK简单容易上手,但WinDriver开发驱动没法脱离WinDriver环境不好发布,所以还是用DriverStudio比较好。

下面内容转自网络:

1 Microsoft公司提供的Windows DDK(Device Driver Kit)。它有Windows 98 DDK和Windows 2000 DDK两个版本。Windows 98 DDK能够开发Windows 95/98/Me/NT下的VxD、KMD 和WDM驱动程序。Windows 2000 DDK 能够开发Windows 98/Me/NT/2000下的KMD和WDM驱动程序。由于DDK基于汇编语言的编程方式和内核模式的调用,对没有深厚的OS 原理和编程水平的人员来说,任务相当艰巨。

2 NuMega公司提供的DriverStudio,它是一个大的开发工具包,包含VtoolsD、SoftICE和DriverWorks等开发工具。VtoolsD开发包提供了对VxD编程的C/C++类库支持,利用VtoolsD中的QuickVxD工具可以快速生成VxD的C/C++代码框架,开发者可以在此基础上根据各自的需要添加自己的代码。DriverWorks用于开发KMD和WDM驱动程序,并且对DDK函数进行了类的封装,从而为开发Windows NT、Windows 2000和Widnwos98 WDM 设备驱动程序提供了一个自动化的方法。

DriverWorks,提供了VC++下的开发向导Driver Wizard,按照它的提示可以迅速地生成驱动程序的框架。这个框架结构提供可以正确执行WDM动态环境中IRP的请求,而且,也包含用于简化系统提供的标准类驱动程序(如HID、流)和总线驱动程序(如PCI和USB)接口的类等。

总之,利用DriverWorks开发WDM驱动程序,可以大大简化开发人员的工作量、缩短开发周期以及降低开发驱动程序的难度。[1]

用DriverWorks开发WDM型USB设备驱动程序

要想使用DriverWorks,必须先安装以下软件:DriverStudio2.5,VisualStudio6.0,以及Windows2000DDK。由于DriverWorks所用的类库是对DDK的库函数的封装,还必须在Visual C++中编译需要的库文件[3],下面介绍怎样在VC环境中创建自己的库文件。

(1) 启动Visual C++。

(2) 选择菜单File\Open Workspace。打开位于DriverStudio\DriverWorks\Source\vdwlibs.dsw的工作空间文件。

(3) 选择菜单Build\Batch Build,在弹出的对话框架中选择你想编译的库。

(4) 点击对话框中的Build即可编译你选择的库。

下面就通过一个例子来说明利用DriverWorks开发USB设备驱动程序的方法。

这个USB设备有3个双向端点,每个端点的配置如下:

端点类型地址缓冲区(字节)0 IN/OUT 控制(Control)0x80/0x00 16/16 1 IN/OUT 块(Bulk) 0x81/0x01 16/16 2 IN/OUT 块(Bulk) 0x82/0x02 64/64

驱动程序需要实现的功能就是控制设备上的LED灯的亮和灭,以及通过端点2对设备进行读写。

(1)首先,通过快捷方式“Setup DDK and Start MSVC”来启动VC IDE。这个快捷方式所指向的程序,会进行一些必要的设置,然后再启动VC IDE,这样我们的程序就可以使用DDK和DW的头文件和库了。

(2)从VC IDE的菜单“DriverStudio”中选择“DriverWizard”,之后按对话框的提示填写项目名称及所在目录。并按向导选择驱动程序类型为WDM,总线类型为USB。

(3)按端点的配置表进行端点的设置。由于在USB中规定端点0是必须存在的,所以我们只需对端点1和端点2进行定义即可。

(4)选择端点2产生BULK Read及BULK Write 的代码,DriverWorks会自动产生对端点2的读写代码,不用修改,就可以直接使用。

(5)增加一个IOCTL来控制USB设备的LED灯。IOCTL代码名称取为TEST_IOCTL_LED,其他值默认。

(6)最后按下“Finish”按钮,就结束了Wizard。

在此过程中只针对需要修改的步骤进行了说明,未加说明的部分均可直接按“Next”按钮。

到此,我们已经创建好了一个基本的驱动程序,其中的块读写代码都由DriverWorks自动生成,无需另外加代码,只有厂商请求通过Ioctl来进行,控制LED灯的亮灭。代码如下:

NTSTATUS TESTDevice::TEST_IOCTL_LED_Handler(KIrp I)

{

NTSTA TUS status = STA TUS_SUCCESS;

t << "Entering TESTDevice::TEST_IOCTL_LED_Handler, " << I << EOL;

// TODO: Verify that the input parameters are correct

// If not, return STATUS_INV ALID_PARAMETER

if(I.IoctlOutputBufferSize()||!I.IoctlBuffer()||(I.IoctlInputBufferSizer()!=sizeof(UCHAR))) // TODO: Handle the the TEST_IOCTL_LED request, or

// defer the processing of the IRP (i.e. by queuing) and set

// status to STATUS_PENDING.

PURB pUrb=m_Lower.BuildVendorRequest(NULL,//transfer buffer

0, //transfer buffer size

0, //request reserved bits

(UCHAR)(*PUCHAR)I.IoctlBuffer()), //request. 1=LED_ON, 0=LED_OFF

0 // Value

);

//transmit

status=m_Lower.SubmitUrb(pUrb,NULL,Null,5000L);

}

// TODO: Assuming that the request was handled here. Set https://www.wendangku.net/doc/0c8338553.html,rmation

// to indicate how much data to copy back to the user.

https://www.wendangku.net/doc/0c8338553.html,rmation() = 0;

I.Status()=status;

return status;

}

这个函数控制LED灯,它是通过USB V endor Request来向设备传送的。其中request=1的时候表示让L ED亮,request=0的时候让LED来。它通过DeviceIoControl由上层应用程序传下来。

现在,驱动程序完成了,为确保最后生成的USB驱动程序能编译成功,一定要注意设置DriverWorks中的Driver Build Setting(在VC++6.0的菜单中)中的[basedir]和[CPU]等项。设置好后,选择“Build/Batch Build”,在弹出的对话框中进行正确的选择,之后按下”Rebuild”按钮,稍等片刻即可生成最终的.sys驱动程序。

结束语

WDM作为一种设备驱动程序模型,自Windows 2000以来已成为一种统一的模式。同时USB技术得到广泛应用,进行USB设备驱动程序的开发成为必不可少的技术环节,而使用DriverWorks开发USB设备驱动程序,简单方便。

VS2008+WDK 文件过滤驱动程序开发环境配置

许多驱动程序开发都将环境架设在VC上,可是偶的本本上好不容易安了个vs2008,舍不得删啊,因此毅然选择vs2008,抛弃vc。要开发驱动,DDK是少不了的,但是现在操作系统日新月异,老DDK是不能适应国家下一个“五十年计划”滴~~于是,我又一次毅然决然选择WDK 代替DDK,呵呵,还是跟着微软大虾们的足迹,往前看吧......

先弄明白windows驱动的前因后果吧,这是选择开发环境和开发过程的基础~

1.首先,开发WINDOWS下的驱动程序,需要一个专门的开发包,就像开发JAVA程序,需要一个

JDK,开发WINDOWS应用程序,需要SDK,现在开发WINDOWS下的驱动程序,我们们需要一个DDK/WDK。

2.开发驱动的工具包DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的区别:

1).95/98/ME下,驱动模型为:Vxd,相关资料可以看《编程高手箴言》的前几个章节,里面有很详细的介绍,虽然这个东西已经过时,但大概看看还是会增长见识的。

2).2000/XP/2003下,Windows采用WDM驱动模型(Windows Driver Model),开发

2000/XP/2003的驱动开发包为:DDK。

3).Vista及以后版本,采用了WDF驱动模型(Windows Driver Foudation),对应的开发包:WDK。

其实WDK可以看做是DDK的升级版本,现在一般的WDK是包含以前DDK相关的功能,现在XP下也可以用WDK开发驱动,WDK能编译出2000-2008的各种驱动。

3.Vxd驱动文件扩展名为:.vxd。

WDM和WDF驱动文件扩展名为:.sys。

下面将整个环境搭建过程描述如下:

***********************************************************************************

一、安装阶段

1.(虚拟机也可以不安装)安装WinXP虚拟机,VMware,系统安装的是WinXP_Pro_SP

2.iso。

下载地址:

http://58.251.57.206/down?cid=34B1A802316A542966F8D99F233970B8FC150C17&t=2&fmt =&usrinput=vmware workstation 7&dt=1002022&ps=0_0&rt=0kbs&plt=0

安装虚拟机可以用于调试,避免在真机上调试的时候,频繁出现蓝屏,重启等现象。自己的环境,安全第一啊~~安装好虚拟机后,还需要在虚拟机上安装上XP系统。

2.安装Visual Studio 2008,安装前请留出足够大的空间,至少7G。

3.安装WDK。注意安装时会选择要安装的内容,此时不要安装DSF。当然啦,安全前得下载

啊~~ 这个现在可以再微软的官网上申请下载,给大家个网址吧

https://https://www.wendangku.net/doc/0c8338553.html,/default.aspx,这是connect的网址,你需要注册一个liveID,然后在左侧栏里找到“开发人员工具”,然后就能找到WDK了,申请,下载,OK~传说WDK支持Windows 7, Windows Vista, Windows XP, Windows Server 2008 R2, Windows Server 2008, and Windows Server 2003.等等版本系统,不仅包含了原有DDK,还貌似包含了IFS的头文件,哎哟,貌似很有用呢,能适应长期发展.....(关于WDK的介绍与安装,请参考偶的后续博文~~)

4.安装srvinstw.exe,用于安装生成的服务。

5、安装DDKWIZARD,安装它主要是为了使你的vs支持驱动程序开发。并将其中的

ddkbuild.cmd,和ddkbuild.bat两个文件放置到WDK的安装目录下,也就是C:\WinDDK 下

***********************************************************************************

二、配置阶段

0、我的电脑-》属性-》高级-》环境变量》用户变量中Path 后添加

C:\WinDDK\DDKBUILD.bat;C:\WinDDK\DDKBUILD.cmd;C:\WinDDK

然后再在系统变量中新建变量,根据不同的系统,选择下列中一个:

2000 DDK: W2KBASE

XP DDK: WXPBASE

2003 sp1 DDK: WNETBASE

【注】变量名应与你要使用的DDK版本相符,比如我要开发XP驱动,使用XPDDK,所以变量名为WXPBASE,其值为:C:\WinDDK\7600.16385.0

1、打开VS2008,在菜单上选择"工具"->"选项"弹出"选项"窗口,选择"项目和解决方案"->"VC++

目录","显示以下内容的目录"

"可执行文件"中添加

"C:\WinDDK"

"C:\WinDDK\7600.16385.0\bin\x86\x86"

"C:\WinDDK\7600.16385.0\bin\x86"

"C:\WinDDK\7600.16385.0\tools\pfd\bin\bin\x86"

"包含文件"中添加

"C:\WinDDK\7600.16385.0\inc"

"C:\WinDDK\7600.16385.0\inc\api"

"C:\WinDDK\7600.16385.0\inc\crt"

"C:\WinDDK\7600.16385.0\inc\ddk"

"引用文件"中添加

"C:\WinDDK\7600.16385.0\lib\wxp\i386"

"库文件"中添加

"C:\WinDDK\7600.16385.0\lib"

"C:\WinDDK\7600.16385.0\lib\wxp\i386"

"源文件"中添加

"C:\WinDDK\7600.16385.0\src"

以上添加完毕直接按"确定"关闭"选项"对话框

如果编译出现C2144错误的时候,请把以上添加的文件向前移动(就是点击"选项"对话框中的向上的箭头按钮)

2、设置虚拟机的可调模式:

1)打开boot文件的方式可以选用以下两种:

1.我的电脑→属性→高级→“启动和故障恢复-->编辑。

2.运行→“msconfig”→boot.ini

boot.ini的修改如下:

在虚拟机中,编辑boot.ini文件,在末尾添加一行:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"

/noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200

2)保存后power off虚拟系统。在左边栏中选择Edit virtual machine

settings-->add-->Serial Port-->Output to named pipe,此时出现三个文本框,依次填入:\\.\pipe\com_1”和“This end is the server.”,第3个修改为“The other end is an application.”

3)保存。配置真实机。创建windbg.exe在桌面的快捷方式,属性-->目标-->"C:\WINDDK\...\windbg.exe“ -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

4)可以选择配置真实机串口:我的电脑-->管理-->设备管理器-->端口com-->com1-->属性-->端口设置-->每位秒数-->115200

5) 启动windbg.exe, 在file-->symbol file path ,添加微软官方符号表

srv*c:\symbols*https://www.wendangku.net/doc/0c8338553.html,/download/symbols 以及你自己工程中生成sys 文件的目录(就是你要编译的驱动服务文件的目录,需要事先生成要调试的驱动服务.sys文件,并将.sys文件拷贝到虚拟机中),我的是E:\projects\Tests\first\objchk_wxp_x86\i386 ,两路径用分号分隔。勾选reload

6)启动虚拟机,将sys文件提供的服务用srvinstw.exe安装到虚拟机中。安装中,选手动,NT 驱动不用填

7)重启虚拟机,选择调试模式,启动真实机桌面设置过参数的windbg快捷方式,此时如果出现

--------------------------

WinDbg:6.10.0003.233 X86

---------------------------

Could not start kernel debugging using com:pipe,port=\\.\pipe\vpcdebug,resets=10 parameters, Win32 error 0n2

Could not start kernel debugging using com:pipe,port=\\.\pipe\com1,resets=10 parameters, Win32 error 0n2

系统找不到指定的文件。

说明虚拟机还没有启动起来,只需要重启windbg。在系统出现中断时,在windbg中输入g。

8)进入到系统后,运行-->cmd-->net start 服务名就可以启动你的驱动服务了。

*************************************************************************************** *************************************

新建项目:

1) VS2008-->新建项目-->DDK project-->Driver

2)F7,运行,如果没有生成sys,或者出现任何对话框,说明你配置出错啦~~ 有可能是在TOOL--->选项-->项目与解决方案-->VC++目录-->可执行文件下,缺少了你放置DDKwizard的ddkbuild.cmd 文件的目录,请填上。或者是你的环境变量没设对....

usb驱动程序教程

编写Windows https://www.wendangku.net/doc/0c8338553.html,的usb驱动程序教程 Windows https://www.wendangku.net/doc/0c8338553.html, 是微软推出的功能强大的嵌入式操作系统,国内采用此操作系统的厂商已经很多了,本文就以windows https://www.wendangku.net/doc/0c8338553.html,为例,简单介绍一下如何开发windows https://www.wendangku.net/doc/0c8338553.html, 下的USB驱动程序。 Windows https://www.wendangku.net/doc/0c8338553.html, 的USB系统软件分为两层: USB Client设备驱动程序和底层的Windows CE实现的函数层。USB设备驱动程序主要负责利用系统提供的底层接口配置设备,和设备进行通讯。底层的函数提本身又由两部分组成,通用串行总线驱动程序(USBD)模块和较低的主控制器驱动程序(HCD)模块。HCD负责最最底层的处理,USBD模块实现较高的USBD函数接口。USB设备驱动主要利用 USBD接口函数和他们的外围设备打交道。 USB设备驱动程序主要和USBD打交道,所以我们必须详细的了解USBD提供的函数。 主要的传输函数有: abourttransfer issuecontroltransfer closetransfer issuein te rruptransfer getisochresult issueisochtransfer gettransferstatus istransfercomplete issuebulktransfer issuevendortransfer 主要的用于打开和关闭usbd和usb设备之间的通信通道的函数有: abortpipetransfers closepipe isdefaultpipehalted ispipehalted openpipe resetdefaultpipe resetpipe 相应的打包函数接口有: getframelength getframenumber releaseframelengthcontrol setframelength takeframelengthcontrol 取得设置设备配置函数: clearfeature setdescriptor getdescriptor setfeature

最新开发usb驱动程序的方法连载一

最新开发usb驱动程序的方法连载一 开发usb驱动程序的方法(连载二) NT还有更多其他的对象,例如中断对象、Controller对象、定时器对象等等,但在我们开发的驱动程序中并没有用到,因此在这里不做介绍。 I/O缓冲策略 很明显的,驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换。这就就设计到设备的I/O缓冲策略。 读写请求的I/O缓冲策略 前面说到通过设置Device对象的Flag可以选择控制处理读写请求的I/O缓冲策略。下面对这些缓冲策略分别做一介绍。 1、缓冲I/O(DO_BUFFERED_IO) 在读写请求的一开始,I/O管理器检查用户缓冲区的可访问性,然后分配与调用者的缓冲区一样大的非分页池,并把它的地址放在IRP的AssociatedIrp.SystemBuffer域中。驱动程序就利用这个域来进行实际数据的传输。 对于IRP_MJ_READ读请求,I/O管理器还把IRP的UserBuffer域设置成调用者缓冲区的用户空间地址。当请求完成时,I/O管理器利用这个地址将数据从驱动程序的系统空间拷贝回调用者的缓冲区。对于IRP_MJ_WRITE写请求,UserBuffer被设置为NULL,并把用户缓冲区的数据拷贝到系统缓冲区中。 2、直接I/O(DO_DIRECT_IO) I/O管理器首先检查用户缓冲区的可访问性,并在物理内存中锁定它。然后它为该缓冲区创建一个内存描述表(MDL),并把MDL的地址存放在IRP的MdlAddress域中。AssociatedIrp.SystemBuffer和 UserBuffer 都被设置为NULL。驱动程序可以调用函数 MmGetSystemAddressForMdl得到用户缓冲区的系统空间地址,从而进行数据操作。这个函数将调用者的缓冲区映射到非份页的地址空间。驱动程序完成I/O请求后,系统自动从系统空间解除缓冲区的映射。 3、这两种方法都不是 这种情况比较少用,因为这需要驱动程序自己来处理缓冲问题。 I/O管理器仅把调用者缓冲区的用户空间地址放到IRP的UserBuffer 域中。我们并不推荐这种方式。 IOCTL缓冲区的缓冲策略 IOCTL请求涉及来自调用者的输入缓冲区和返回到调用者的输出缓冲区。为了理解IOCTL请求,我们先来看看WIN32 API DeviceIoControl函数的原型。 BOOL DeviceIoControl ( HANDLE hDevice, // 设备句柄 DWORD dwIoControlCode, // IOCTL请求操作代码 LPVOID lpInBuffer, // 输入缓冲区地址 DWORD nInBufferSize, // 输入缓冲区大小 LPVOID lpOutBuffer, // 输出缓冲区地址 DWORD nOutBufferSize, // 输出缓冲区大小 LPDWORD lpBytesReturned, // 存放返回字节数的指针

未能成功安装设备驱动程序MTPUSB设备安装失败的解决办法

未能成功安装设备驱动程序M T P U S B设备安装失败的解决办法 文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

M T P U S B设备安装失败未能成功安装设备驱动程序 终极解决方法 环境介绍:电脑系统win7(32位)已安装摩托罗拉手机驱动版本(其他版本应该也行,不行的话去摩托罗拉官网下载最新驱动) 手机型号:摩托罗拉defy mb525(系统) 备注:其他电脑操作系统和不同型号手机可参考此方法,找到相应设置项即可。 问题简介: 1.当我们把手机连接至电脑,把模式调制成“摩托罗拉手机门户”时,出现下列情况 2.过一会之后便会弹出提示说:未能成功安装设备驱动程序

3.单击查看详情便弹出窗口如下图所示: 4.此时桌面右下角图标出现黄色三角号,如图所示: 5.于是我们就开始不淡定了,怎么看怎么别扭、抓狂、按耐不住。下面介绍问题解决方案 解决方法: 1.我的电脑——右键单击——管理——设别管理器,之后会看到如图所示:在便携设备下有黄色三角号提示,即是我们纠结的MTP USB设备安装不成功的展示。

MIUI手机操作系统为例,其他手机操作系统需将USB绑定服务开启即可)。选择设置——系统——共享手机网络——USB绑定,将该选项设置为“开”,这是你会发现如图所示变化,在设备管理器面板中没有了便携设备选项及黄色三角号提醒,如图所示:(但桌面右下角的黄色三角警示还在)

3.在完成以上步骤后,用手机打开WIFI并登录无线WLAN,手机打开网页检验连接是否正常,若正常则如下图所示,黄色三角号警示消失,问题解决;若以上步骤没有解决问题,请先连接WIFI并登录WLAN之后,再按步骤操作。 4.完成以上步骤并解决问题后,选择电脑桌面网络——右键单击——属性,如下图所示:此时不仅手机能上网,而且电脑也能正常连接网络,正常上网。(我的体验是连接数据不稳定,时不时的要手机重新登陆WIFI,才有数据传输,可能是高校WLAN的问题,在家网速快的可以尝试一下) 5.通过这个问题的解决,我才知道原来MTP USB设备安装失败,未能成 功安装设备驱动程序的原因是我们手机里面没有启用该设备服务。今天 才知道MTP USB设备是与手机里的共享手机网络中“USB绑定”服务相关 联的,是电脑用来使用手机WIFI网络连接进行上网的工具。

USB驱动程序的编写采用WDM驱动程序

U S B驱动程序的编写采用W D M驱动程序 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

USB驱动程序的编写采用WDM 驱动程序。WDM 驱动程序是一些例程的集合,它们被动地存在,等待主机系 统软件(PnP 管理器、I/O 管理器、电源管理器等)来调用或激活它们。具体驱动程序不同,其所包含 的例程也不同。一个WDM 驱动程序的基本组成包括以下5个例程:(1)驱动程序入口例程:处理驱动程序的初始化。 (2)即插即用例程:处理PnP 设备的添加、删除和停止。 (3)分发例程:处理用户应用程序发出的各种 I/O 请求。 (4)电源管理例程:处理电源管理请求。 (5)卸载例程:处理驱动程序的卸载。 包含文件: , , , , , makefile,sources) 在文件中,包含了上述五个例程: 中定义了各种数据结构还有各种IOCTL控制码,用于不同数据的读写。

中实现了各种驱动例程。包含了上述五个所说例程外还包含了其他例程,课程从下面的驱动 程序入口例程得出一些信息。 驱动程序入口例程: NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) { NTSTATUS ntStatus = STATUS_SUCCESS; PDEVICE_OBJECT deviceObject = NULL; DriverObject->MajorFunction[IRP_MJ_CREATE] = Ezusb_Create; DriverObject->MajorFunction[IRP_MJ_CLOSE] = Ezusb_Close; ources. If you want to add a new source # file to this

USB设备驱动程序设计

USB设备驱动程序设计 引言 USB 总线是1995 年微软、IBM 等公司推出的一种新型通信标准总线, 特点是速度快、价格低、独立供电、支持热插拔等,其版本从早期的1.0、1.1 已经发展到目前的2.0 版本,2.0 版本的最高数据传输速度达到480Mbit/s,能 满足包括视频在内的多种高速外部设备的数据传输要求,由于其众多的优点,USB 总线越来越多的被应用到计算机与外设的接口中,芯片厂家也提供了多种USB 接口芯片供设计者使用,为了开发出功能强大的USB 设备,设计者往往 需要自己开发USB 设备驱动程序,驱动程序开发一直是Windows 开发中较难 的一个方面,但是通过使用专门的驱动程序开发包能减小开发的难度,提高工 作效率,本文使用Compuware Numega 公司的DriverStudio3.2 开发包,开发了基于NXP 公司USB2.0 控制芯片ISP1581 的USB 设备驱动程序。 USB 设备驱动程序的模型 USB 设备驱动程序是一种典型的WDM(Windows Driver Model)驱动程序,其程序模型如图1 所示。用户应用程序工作在Windows 操作系统的用户模式层,它不能直接访问USB 设备,当需要访问时,通过调用操作系统的 API(Application programming interface)函数生成I/O 请求信息包(IRP),IRP 被传输到工作于内核模式层的设备驱动程序,并通过驱动程序完成与UBS 外设通 信。设备驱动程序包括两层:函数驱动程序层和总线驱动程序层,函数驱动程 序一方面通过IRP 及API 函数与应用程序通信,另一方面调用相应的总线驱动 程序,总线驱动程序完成和外设硬件通信。USB 总线驱动程序已经由操作系统 提供,驱动程序开发的重点是函数驱动程序。 USB 设备驱动程序的设计

USB WDM 设备驱动程序

USB WDM 设备驱动程序DriverStudio 引言 随着微机技术水平的日益提高,传统的计算接口已经不能满足当前计算机高速发展的需求,计算机业界迫切需要新的通用型、高速总线接口。通用外设接口标准USB应运而生。USB,全称为通用串行总线(Universal Serial Bus),它是Compaq、IBM等PC大厂商联合开发的一种新型的、基于令牌的、高速的串行总线标准。开发者要设计USB设备接口,就必须首先了解USB协议,在此基础上有针对性的开发USB设备驱动程序。 USB简介 在众多的PC机总线中,USB以其突出的优点独树一帜:①使用方便。支持热拔插,不涉及中断请求(IRQ)冲突等问题,能真正做到“即插即用”。②传输速率高。目前的USB 2.0协议速度高达480Mbps 。③易于扩展。通过使用Hub扩展可连接多达127个外设。④使用灵活。USB共有4种传输模式:控制(control)、同步(Synchronization)、中断(interrupt)、批量(bulk),以适应不同设备的需要。⑤独立供电。正由于上述优点,开发USB接口的设备已成为一种发展趋势。 一个完整的USB系统包括主机系统和USB设备。所有的传输事务都是由主机发起的。一个主机系统又可以分为以下几个层次结构,如图1所示:

图1 USB 互连通信模型 USB总线接口包括USB主控制器和根集线器,其中USB主控制器负责处理主机与设备之间电气和协议层的互连,根集线器提供USB设备连接点。USB系统使用USB主控制器来管理主机和USB设备之间的数据传输,另外它也负责管理USB资源,如带宽等。应用软件不能直接访问USB设备硬件,而通过USB系统和USB总线接口与USB设备进行交互。 USB设备包含一些向主机软件提供一系列USB设备的特征和能力的信息的设备描述符,用来配置设备和定位USB设备驱动程序。这些信息确保了主机以正确的方式访问设备。通常,一个设备有一个或多个配置(Configuration)来控制其行为。配置是接口(Interface)的集合,接口指出软件应该如何访问硬件。接口又是端点(endpoint)的集合,每一个与USB交换数据的硬件就为端点,它是作为通信管道的一个终点。图1显示了一个多层次结构的通信模型,它表明了端点和管道所扮演的角色。 WDM驱动程序和USB驱动程序的分层结构 设备驱动程序实际上是指一系列控制硬件设备的函数,是操作系统中控制和连接硬件的关键模块。它提供连接到计算机的硬件设备的软件接口。

【项目管理知识】管理信息系统开发的项目管理

管理信息系统开发的项目管理 实行项目管理,规范其组织模式和管理过程对于保证管理信息系统的开发成功很重要,但更重要的是管理过程中的质量控制及协调工作,这是控制开发成本、提高开发效率和保证开发成果质量的有效手段。 管理信息系统开发的项目管理是为了使开发项目能够按照预定的成本、进度和质量顺利完成,根据管理科学的理论,对需求、成本、人员、进度、质量、风险等进行科学分析和有效管理及控制,并利用工程化开发方法所进行的系统活动。 1项目管理的组织模式 管理信息系统开发可以是企业管理信息系统的开发,也可以是为实现企业某一管理职能而进行的一个单独的开发项目。对于前者,需成立企业的项目委员会,委员会下设项目管理组、项目评审组和项目开发组;如果是后者,则可以根据职能所涉及的范围,召集相关部门人员成立开发项目组,项目组中分设系统开发小组和项目评审小组,由项目负责人进行统一管理和协调。 项目管理负责人可以为多人,由职能部门和信息部门管理人员组成。主要职责为:拟定项目管理的进度安排;组织项目阶段评审;协调整体开发工作;加入收藏对项目管理采取优化措施。 项目评审小组一般由企业技术专家组成。主要职责为:对项目的需求分析进行评审;对系统选型和开发计划进行评审;对系统开发进行阶段性评审;对项目总结报告进行评审。 开发项目组有开发技术人员构成。主要职责是:根据项目负责人的安排具体负责项目的软件开发工作;项目结束后提交开发成果并形成技术文档。

2管理信息系统项目管理过程 一个完整的管理信息系统开发项目通常包括三大阶段:需求分析、系统选型和系统实施。从具体的项目执行过程上来讲,项目管理可分为项目的项目授权、需求分析、项目选型、开发计划制定与实施、项目评估及更新和项目完成验收六个步骤。 2.1项目授权 在管理信息系统的开发要求提出后,需要确定开发项目管理的责任者,由其负责项目的可行性分析、需求评估,并进行项目开发的总体规划和管理与质量控制等,即将项目开发与管理的权限授予某一部门。一般而言,如果是针对企业的某项管理职能而进行的系统开发,应由具备此项管理职能执行能力的部门来负责;若是企业的总体管理信息系统开发,设为首页这应由成立的项目管理委员会负责。 2.2需求分析 需求分析可分为三个过程: 1)可行性评估:根据项目所期望达到的目标,明确项目开发所需要投入的企业资源,并从企业现行的管理方式和理念、人力资源、技术支持等方面考虑,考|试/大确定项目开发成果能否被使用者接受,能否促使工作流程的合理化,提高工作效率,降低企业管理运行成本。 2)需求评估:对管理信息系统开发的整体需求和期望做出分析和评估,详细考虑需求的实现方式,确定系统的各个功能模块及模块间的关系,对系统的信息标准进行统一确定,并据此明确管理信息系统项目成果的期望和目标。

USB驱动开发

第17章USB设备驱动 USB设备驱动和PCI设备驱动是PC中最主要的两种设备驱动程序。与PCI协议相比,USB协议更复杂,涉及面较多。本章将介绍USB设备驱动开发。首先介绍USB协议,使读者对USB协议有个整体认识。然后介绍USB设备在WDM中的开发框架。由于操作系统的USB总线驱动程序提供了丰富的功能调用,因此开发USB驱动开发变得相对简单,只需要调用USB总线驱动接口。 17.1 USB总线协议 USB总线协议比PCI协议复杂的多,涉及USB物理层协议,又涉及USB传输层协议等。对于USB驱动程序开发者来说,不需要对USB协议的每个细节都很清楚。本节概要地介绍USB总线协议,并对驱动开发者需要了解的地方进行详细介绍。 17.1.1 USB设备简介 USB即通用串行总线(Universal Serial Bus),是一种支持即插即用的新型串行接口。也有人称之为“菊链(daisy-chaining)”,是因为在一条“线缆”上有链接127 个设备的能力。USB要比标准串行口快得多,其数据传输率可达每秒4Mb~12Mb(而老式的串行口最多是每秒115Kb)。除了具有较高的传输率外,它还能给外围设备提供支持。 需要注意的是,这不是一种新的总线标准,而是计算机系统连接外围设备(如键盘、鼠标、打印机等)的输入/输出接口标准。到现在为止,计算机系统连接外围设备的接口还没有统一的标准,例如,键盘的插口是圆的、连接打印机要用9针或25针的并行接口、鼠标则要用9针或25针的串行接口。USB能把这些不同的接口统一起来,仅用一个4针插头作为标准插头,如图17-1所示。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。USB正在取代当前PC上的串口和并口。

如何写驱动程序

我这里重点的介绍如何写驱动程序,对于一些应用程序我就不做介绍了,因为我对于那些高层的东西写得很少。倘若再讲,有班门弄斧之嫌,呵呵! 作为WIN98和WIN2K推荐的一项新技术来说,USB的驱动程序和以往的直接跟硬件打交道的WIN95的VXD的方式的驱动程序不同,它应该是WDM类型的。 USB的WDM接口框图如下(这个图可以说是USB软件总体框图) 对于HID的设备,就可以采用上图左上边的结构,其它类的话采用右上的结构,其实右边的结构可以又细分成两层,一层是Class Driver,一层是Miniport Driver。而倒数第三行的UHCD和OpenHCI分别是由INTEL和COMPAQ两位老大定的一个和硬件有关的底层驱动程序标准,各位可以根据所需要的选择。 对于USB的驱动程序,大家还得去了解WDM驱动程序的写法,或者早些时候的NT驱动程序,其实WDM驱动程序可以看做是NT驱动程序的一个update,只是增加了一些新的特性。 “写驱动程序是一个很漫长和繁琐的工作,在此之前,你最好要熟悉硬件,熟悉C/C++,还要用过DDK,会用一些调试程序,如SOFTICE和WINDBG之类。如果一切就绪,你就可以开始写驱动程序,工作的进程有时侯会取决于你的运气”。(这是一位留美的朋友对我说的,我写出来和大家共享) 下面是我从一个朋友那里得到的一篇文章的摘要: NT驱动程序的分层结构 驱动程序是指管理某个外围设备的一段程序代码。NT采用更灵活的分层驱动方法,允许杂应用程序和硬件之间存在几个驱动程序层次。分层机制允许NT更加广泛地定义驱动程序,包括文件系统、逻辑卷管理器和各种网络组件,各种物理设备驱动程序等等。 1、设备驱动程序 这些是管理实际数据传输和控制特定类型的物理设备的操作的驱动程序,包括开始和完成I/O操作,处理中断和执行特定的设备要求的任何差错处理。

安装USB驱动过程中可能遇到的问题及解决方案

安装USB 驱动过程中可能遇到的问题及解决方案 概述: 本文列举了在安装USB 驱动程序过程中可能遇到的常见问题,并提供了常用的解 决方案。对于其他特殊的情况,如:驱动安装之后出现打印乱码等现象,将在相 关的技术文档中予以进一步的说明。 本文包括: 1. 故障现象: 在打印时遇到:打印到DOT4_00x 端口错误。 故障分析: 1 ).USB 端口没有被正确地识别。USB 电缆不符合规范,长度太长,或者加装 延长线,转接线,共享器等附加设备; 2 ).端口选择不正确; 3 ). 打印机驱动程序未正确安装;如果安装了不匹配的驱动也会出现端口错误。 比如:lj1010 打印机安装了同系列1015 的PCL5e 驱动; 4)). 系统和USB Host Controller 的影响; 5 ).端口供电不足。 解决方案: 1 ).正确连接USB 线,保证USB 电缆长度应小于 2 米,通讯质量较好;取 消延长线和共享器等附加设备; 2 ).检查打印机驱动属性中的端口选项,如果存在多个DOT4 端口, 则首选数 目较高的端口;查看是否有USB 端口,选择USB 端口打印测试; 3 ).取消双向支持;

4 ).完全卸载当前驱动,然后重新启动或热拔插USB 电缆,若系统自动找到新硬件,取消,在device manager 里发现usb printing support 后,再利用“添加打印机向导”添加打印机,安装与打印机语言相匹配的驱动程序,此时,应该选择USB-00X 端口;若系统无法检测到新硬件,要检查系统是否正确识别USB 芯片组,步骤如下: 在Windows 2000/XP 中(Windows 9x/Me 的操作步骤基本类似) ,依次点击“开始→设置→控制面板→系统→硬件→设备管理器”,找到并双击“通用串行总线控制器”。其中应当至少列出两类条目,一类是USB 控制器,另一个是USB Root Hub。如果PC 主板支持USB 2.0 ,并正常安装了驱动程序,一般会在此处显示USB 2.0 Root Hub 。 如果Windows 无法识别出USB 控制器,或在“其他设备”中出现“ USB 控制器”,那么说明主板芯片组的驱动程序或USB 2.0 的驱动程序没有安装成功。建议到芯片组官方网站下载最新的驱动程序,并确认Windows 能正确识别; 5 ).建议将打印机安装到其他计算机上测试; 6 ).保证USB 接口获得足够的电力。USB 设备包含从计算机通过USB 电缆驱动USB 通讯的电源。计算机在100mA 的低电力级别下可以检测到设备,但是需要500mA 才能维持大功率USB 设备的高速通讯(movable disk) 。当打印机得不到充分的电流供应时,也可能造成DOT4 无法正确的设定。建议将打印机直接插在屋内的电源插孔上,而非插在延长线上与其他的电器共用电流,同时尽量使用HP 所附的电源线而非其他可能不合格的电源线,或者为计算机添加有源的USB 集线器。 2. 故障现象: 1 ) . 激光打印机在运行光盘安装驱动程序,插入USB 电缆后或者在出现的新硬件向导下安装打印机时会发生这个错误“ 无法安装这个硬件,在安装LaserJet 1020 时出现了一个问题。安装该设备是发生了一个错误:这个设备的驱动程序丢失了一个必需的项,这可能是由于inf 是为Windows 95 或更新版本而写的。联系您的硬件供应商。”; 2 ).设备控制器的USB 主控制器中出现黄色叹号。 故障分析: 当用打印机驱动光盘的Windows 98 第二版的USB 打印支持驱动程序,而不是使用系统自带的USB 打印支持驱动程序时会发生这种错误。Windows 98 USB 打印驱动程序与更高版本的Windows 操作系统不兼容。

信息系统开发的格言

信息系统开发的格言 Document number:WTWYT-WYWY-BTGTT-YTTYU-2018GT

信息系统开发的格言 如果信息服务人员和用户人员将下述格言牢记在心,那么,将得到更好的信息系统,而且整个公司的生意将更加兴隆。 □不要无限期地推迟自动化 对于一个面向事务的人工系统的自动化来说,存在着一个转化点,从那一点开始自动化的系统从经济上是可取的。在人工系统中,为了解决增大工作量的问题,必须雇用更多的人,于是使得处理第500个事务的成本如同处理第一个事务一样。尽管对一个自动化的系统的初期费用,用时间和金钱的术语来衡量是相当大的,但是随着工作量增加时,处理每件事务的成本反而降低。 □各个击破 要将系统化分成足够小的、易于管理的模块来进行系统开发。一个高质量信息系统最严重的障碍之一是缺乏有效的通信手段。一旦将系统模块化,则可以将相互交流有效地集中在系统的某一段上。其结果是在用户和信息服务人员之间信息的传递更为有效。 □不要过早的开始写详细功能说明书 在对所有各层还没有吃透之前,项目组不应根据一层的情况而类推下一层并进行全面概括。根据系统的复杂性,需要概括的层次可能有8层之多。项目组应该抵制那种在系统开发初始阶段就忙着进行详细到“位和字节”方面的工作。不幸的是,项目组成员远在第Ⅱ阶段完成之前就开始程序设计是很普遍的。跳过概括的层次将必然要导致不必要的返工。 □在系统设计阶段建立性能检查标准 应该测量系统的质量和性能。在开发之前,应该列出成功的标准,并且应该将针对这些标准评价系统的能力加入到系统设计中。这就使得用户管理人员能够评价系统是否满足目标并且能正确地找出运行的问题。 □在整个系统开发过程中始终强调质量要求的一致性 贯穿整个系统开发的过程中,质量的要求应该是连续的和一致的。能够做到这一点的唯一途径是建立良好的项目管理。从支持其他活动的角度看,一个也不能忽略。最终系统输出的质量并不比质量最低的活动的输出质量要好。例如,如果忽略了(用以在并行工作期间支持严格工作的)系统验收测试活动将打乱工作规则的一致性,从而会降低系统的质量。作为另一个例子,如果决定省略掉技术转移的调查研究而仅仅把注意力集中在内部开发上必将导致在长期的运行中更多的工作和更低的质量。 □采用一种系统开发方法学 提供系统开发指南的系统开发方法学是系统开发必要的工具。之前,我们已经讨论过系统开发方法学的好处。 □边开发边编写资料 资料可以用于建立开发过程,有些项目直到项目实现之前一直忽略了编写资料的工作。采取这种策略的项目组将会发现他们自己不止一次的遇到同样的麻烦。例如,一个用户经理与项目组谈话而没有记录可查。研究表明,如果没有书面资料,在一次会议上的结果在间隔几周之后,能再现的内容之百分比很小。 □尽快停止明显无效益的项目 俗话说:不要因小失大。一旦某个特定项目的输出不能达到用户预期的目的或是不再符合公司的目标,那么就应该把这种项目撤消。很多表现拙劣的系统一直被进行到完成,而这些系统是本应紧急刹车的。

(完整版)AT89C51单片机USB接口驱动和应用程序的开发毕业论文

北方民族大学 学士学位论文论文题目:AT89C51单片机USB接口驱动和应用程序的开发 院(部)名称:电信学院 学生姓名:杨闯 指导教师姓名:周春艳 论文提交时间: 2010年5月24日 论文答辩时间:2010年5月29日 学位授予时间:

北方民族大学教务摘要 通用串行总线USB是一种新兴的并逐渐取代其他接口标准的数据通信标准。USB,由于速度快,使用方便灵活,易于扩展,支持即插即用,成本低廉等一系列优点,得到了广泛的应用。 本论文以基于USB总线的数据采集系统的研制过程为主要内容,阐述了利用CH372与ATMEL的AT89C51等组成的一套数据采集系统的设计方案、开发方法和开发过程,并给出了具体实现方案。 论文首先简要介绍了USB总线的相关内容,然后介绍了数据采集系统的设计。数据采集系统的设计包括硬件设计、固件程序开发、驱动程序开发和应用程序开发四部分。在硬件设计部分,首先介绍了设计中所用的CH372的性能和特点,然后给出了具体硬件设计方案,并对设计中应该注意的问题进行了说明。驱动和应用程序主要完成USB设备的读写和即插即用功能,并提供一个友好的人机界面,对数据采集系统进行控制并显示采集后的数据。 本论文已完成了基于USB总线的数据采集系统的设计,用其实现了基本的数据采集功能。使用USB总线传输数据,为数据采集系统与计算机之间的通讯开辟了新的道路。 关键词:USB、驱动程序、应用程序、AT89C51、CH372

Abstract Universal serial bus USB is one kind of emerging and replace other interface standards of data communication standards. USB, due to fast, convenient and flexible easy to expand, to support plug and play, low cost advantages, such as widely application. The paper is mainly concerned with design process of data acquisition system that is based on USB bus. The design scheme, developing method and developing process of a suit of data acquisition system used with CH372 and ATMEL’s AT89C51 are expatiate. In addition, the paper also gives the material realization scheme. At fist, the paper introduces the protocol of USB bus in brief, and then discusses the design of data acquisition system, which includes four parts, , firmware design, device driver and application program. In the in detail; the questions which should be paid attention to in design is explained. Drivers and applications of the main equipment and USB plug and play function, and provide a friendly -machine interface, control of

信息系统开发管理办法(暂行)

华鑫置业(集团)股份XX 信息系统开发管理办法(暂行) 一、目的和作用 本流程详细规定软件开发程的各个阶段及每一阶段的任务、要求、交付文件,使整个软件开发过程阶段清晰、要求明确、任务具体,实现软件开发过程的标准化。 二、适用X围 公司的信息系统开发产品均适用。 三、适用对象 开发管理人员,系统开发人员,系统维护人员 四、软件开发流程 4.1可行性研究与计划 4.1.1实施 a. 软件开发部分析人员进行市场调查与分析,确认软件的市场需求 b. 在调查研究的基础上进行可行性研究,写出可行性报告 c. 评审和审批,决定项目取消或继续 d. 若项目可行,制订初步的软件开发计划,建立项目日志 e. 根据市场环境、公司软硬件情况预测十大风险因素 4.1.2 文档 a. 应交付的文档 1)可行性研究报告 2)初步的软件开发计划 3)十大风险列表 4)软件项目日志

b. 提交步骤 1)适用于以后各阶段的文档提交。 2)项目相关文档用管理工具进行版本管理,相关书写人员可根据各文档模板形式撰写文档,正式提交的文档以存入软件管理服务器相关目录时间为准。以后每次修改都应注明修改内容。 4.2需求分析 4.2.1实施 a. 调查被开发软件的环境 b. 软件开发提出的需求进行分析并给出详细的功能定义 c. 做出简单的用户原型,与用户共同研究,直到用户满意 d. 对可利用的资源(计算机硬件、软件、人力等)进行估计,制定项目进度计划(可有相应的缓冲时间) e. 制定详细的软件开发计划 f. QA部门制订质量控制计划和测试计划 g. 编写初步的用户手册 h. 评审 4.2.2要求 a. 必须以运行环境为基础 b. 应有用户指定人员参加 c. 需求说明书必须明确,并经过用户确认 4.2.3交付文档 a. 软件需求说明书 b. 用户手册(概要) c. 更新后的软件开发计划 d. 项目进度计划 e. QA计划 f. 测试计划* g. 更新后的十大风险列表 h. 软件日志

编写USB驱动程序步骤

编写USB驱动程序步骤: 1所有usb驱动都必须创建主要结构体struct usb_driver struct usb_driver ->struct module *owner (有他可正确对该驱动程序引用计数,应为THIS_MODULE) ->const char *name (驱动名字,运行时可在查看 /sys/bus/usb/drivers/) ->const struct usb_device_id *id_table (包含该驱动可支持的所有不同类型的驱动设备,没添探测回调函数不会被调用) ->int (*probe)(struct usb_interface *intf,const struct usb_device_id *id) (usb驱动探测函数,确认后struct usb_interface 应恰当初始化,然后返0,如果出错则返负值) ->void(*disconnect)(struct usb_interface *intf) (当struct usb_interface 被从系统中移除或驱动正从usb核心中卸载时,usb核心将调用此函数)代码实例: static struct usb_driver skel_driver={ .owner = THIS_MODULE, .name = "skeleton", .id_table = skel_table, .probe = skel_probe, .disconnect = skel_disconnect, }; ↓ 2usb_register()注册将struct usb_driver 注册到usb核心,传统是在usb驱动程序模块初始化代码中完成该工作的

常用信息系统的开发方法

⑴结构化生命周期方法 信息系统从规划开始,经过分析、设计、实施直到投入使用,并在使用过程中随其运行环境的变化而不断修改,当它不再适应需要的时候就要被淘汰,而由新的消息系统代替老的信息系统,这种周期循环称为信息系统的生命周期。结构化方法将信息系统软件生命分为系统规划、系统分析、系统设计、系统实施和系统维护五个阶段。各阶段工作按顺序开展,行如自上而下的瀑布,所以又称瀑布模型方法,在生命周期的每一个阶段都有明确的工程任务并要求产生一定规格的文档资料。只有前一阶段工作完成并通过评审才能开始下一阶段的工作。如果评审过程中发现错误,则要返回前面某个阶段,重复有关工作,直到该阶段通过审评。这样做可以及时发现错误,防止将错误蔓延到后续阶段,避免重大损失。 在结构化生命周期法开发信息系统的过程中,特别强调结构化的分析和设计原则,事实上,结构化系统分析与系统设计是一种简单、实用、应用广泛的方法,其基本思想是: ①采用自顶向下、逐层分解、逐步求精的方法分析整个系统,可以有效的减少和控制系统开发的复杂性。 ②采用图示工具描述分析和设计内容,便于系统开发过程中各种人员之间相互交流。 ③明确系统开发的各个阶段的任务。例如,在系统分析的阶段明确系统所需要的结构和功能,而在系统设计阶段明确系统的

结构和功能如何实现 ④强调用户进行系统分析及系统设计过程中的作用。 ⑵原型法 原型法是随着计算机软件的发展,特别是在关系数据库系统、第四代程序设计语言和各种工具产生的基础上,提出的一种新的系统开发的方法。所谓原型,是指由系统分析人员和用户合作,在短期内定义用户基本需求的基础上,首先开发出一个具有基本功能、实用性的,简易的应用软件。然后运行这个原型,并在相应的辅助开发工具的支持下,按照不断求优的设计思想,通过反复的完善性实验而最终开发出符合用户需求的整个信息系统。目前,在信息系统开发中还使用面向对象方法和case方法。

最新单片机USB接口驱动和应用程序的开发

单片机U S B接口驱动和应用程序的开发

北方民族大学 学士学位论文 论文题目:AT89C51单片机USB接口驱动和应用程序的开 发 院(部)名称:电信学院 学生姓名:杨闯 专业:测控技术与仪器学号:20060249 指导教师姓名:周春艳 论文提交时间: 2010年5月24日 论文答辩时间:2010年5月29日 学位授予时间: 北方民族大学教务摘要 通用串行总线USB是一种新兴的并逐渐取代其他接口标准的数据通信标准。USB,由于速度快,使用方便灵活,易于扩展,支持即插即用,成本低廉等一系列优点,得到了广泛的应用。

本论文以基于USB总线的数据采集系统的研制过程为主要内容,阐述了利用CH372与ATMEL的AT89C51等组成的一套数据采集系统的设计方案、开发方法和开发过程,并给出了具体实现方案。 论文首先简要介绍了USB总线的相关内容,然后介绍了数据采集系统的设计。数据采集系统的设计包括硬件设计、固件程序开发、驱动程序开发和应用程序开发四部分。在硬件设计部分,首先介绍了设计中所用的CH372的性能和特点,然后给出了具体硬件设计方案,并对设计中应该注意的问题进行了说明。驱动和应用程序主要完成USB设备的读写和即插即用功能,并提供一个友好的人机界面,对数据采集系统进行控制并显示采集后的数据。 本论文已完成了基于USB总线的数据采集系统的设计,用其实现了基本的数据采集功能。使用USB总线传输数据,为数据采集系统与计算机之间的通讯开辟了新的道路。 关键词:USB、驱动程序、应用程序、AT89C51、CH372 Abstract Universal serial bus USB is one kind of emerging and replace other interface standards of data communication standards. USB, due to fast, convenient and flexible easy to expand, to support plug and play, low cost advantages, such as widely

USB编程电缆驱动程序安装说明

USB编程电缆驱动程序安装说明 概述 USB编程电缆是通过将电脑的USB接口模拟成传统的串行口(通常为COM3),从而使用现有的编程软件或通信软件,通过编程电缆与PLC等设备的传统接口进行通信。 功能 ●支持的操作系统Windows2000/Windows XP ●完全兼容USB V1.1和USB CDC V1.1规范 ●USB总线供电(非隔离电缆)、或USB总线供电与PLC的编程口同时供 电(隔离型电缆) ●波特率:300bps~1Mbps自动适应 ●每台PC只支持一根USB编程电缆 系统要求 请在使用USB编程电缆之前确认你的电脑是IBM PC兼容型并具备以下最低系统要求: ●Intel兼容586DX4-100MHz中央处理器或更高 ●一个标准的USB接口(4-pin A型插座) ●运行操作系统为Windows2000或Windows XP 驱动程序的安装 驱动程序的安装非常简单,只需按提示进行即可,以Windows XP为例,按以下步骤进行: 1、打开将要连接USB编程电缆的电脑电源,并确认电脑的USB口已经启 动并正常工作。 2、将USB编程电缆插入电脑的USB接口,Windows将检测到设备并运行 添加新硬件向导帮助你设置新设备,插入驱动程序光盘并单击下一步继 续。 如果Windows没有提示找到新硬件,那么在设备管理器的硬件列表中, 展开“通用串行总线控制器”,选择带问号的USB设备,单击鼠标右键 并运行更新驱动程序。

3、Windows将检测到安装信息,显示“FOURSTAR USB Composite Device ” 设备,并出现如下没有通过Windows徽标测试的信息框,单击“仍然继续”。

第五章 管理信息系统的开发方法

第五章管理信息系统的开发方法 通过本章学习,了解管理信息系统开发的任务和特点;懂得系统开发的原则、系统开发的方式、开发的策略、开发的组织工作与项目管理的内容;掌握结构化系统开发生命周期法和原型法的基本思想、开发过程和各自的优缺点;理解面向对象法和计算机辅助开发方法。 基本内容 一、管理信息系统开发 1.系统开发的任务:系统开发的任务是根据企业管理的战略目标、规模、性质等具体情况,从系统论的观点出发,运用系统工程的方法,按照系统发展的规律,为企业建立起计算机化的信息系统。其中核心是设计出一套适合于现代企业管理要求的应用软件系统。 2.系统开发的特点:复杂性、基于原系统、高于原系统、一把手工程、产品是无形的。 3.系统开发的基本原则:面向用户原则、系统性原则、符合软件工程规范的原则、逐步规范发展的原则。 4.系统开发的主要风险:投入超计划、系统性能比预期差、没获得预期收益,有的甚至导致完全失败。 二、系统开发方法 1.结构化系统开发方法 结构化系统开发方法:用系统工程的思想和工程化的方法,遵照用户至上的原则,从系统的角度分析问题和解决问题,将提出建立一个管理信息系统到系统完全建成的生命周期划分为5个阶段,这5个阶段是:系统规划、系统分析、系统设计、系统实施和系统维护与评价。按照规定的步骤和任务要求,使用图表工具完成规定的文档,采用自顶向下整体分析和设计,自底向上逐步实施的系统开发过程。 优点:建立面向用户的观点、严格区分工作区间、设计方法结构化、文件标准化和文献化。 缺点:开发周期长、繁琐,使用工具落后、不能充分预料可能发生的情况及变化、不直观,用户最后才能看到真实模型。 2.原型法 原型法:是指系统开发人员在初步了解用户的基础上,借助功能强大的辅助系统开发工具,快速开发一个原型,并将其演示给用户,开发人员根据用户的意见和评价对这个原型进行修改,如此反复,逐步完善,直到用户完全满意为止。 原型法的类型:丢弃式原型法、演化式原型法、递增式原型法。 优点:减少开发时间,提高系统开发效率、改进用户与系统开发人员的信息交流方式、用户满意程度高、应变能力强。 缺点:开发工具要求高、对大型系统或复杂性高的系统不适用、管理水平要求高。 3.面向对象法 面向对象法:面向对象方法的技术把对象的属性(数据)和处理(方法)封装在一起,通过子类对父类的继承,使得软件便于维护和扩充,提高了软件的可复用性。 面向对象法的术语:对象、类、消息、继承、封装。 优点:以对象为基础,利用特定的软件工具直接完成对象客体的描述与软件结构之间的转换,解决了传统结构化开发方法中客观世界描述工具与软件结构不一致的问题,缩短了开发周期,解决了从分析和设计到软件模块多次转换的繁杂过程。 缺点:需要有一定的软件基础支持才可以应用,对大型的系统可能会造成系统结构不合

相关文档
相关文档 最新文档