Bus Hound 5.0
smt工程师使用说明书
(版本:1.0)
编制:古道热肠
版权所有:21IC侃单片机板块
完成日期:2007年7月
一、功能介绍
BusHound软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名“hound”的中文意思为“猎犬”,即指其能敏锐地感知到总线的丝毫变化。
Bus Hound的最新版本为6.0已上市,但考虑到目前广泛使用的为5.0版本,故本说明书以其5.0作为蓝本,进行功能说明。
Bus Hound是一个超级软件总线协议分析器,用于捕捉来自设备的协议包和输入输出操作,其优良特性
如下:
支持所有版本的IDE,SCSI,USB,1394总线
支持各类设备如硬盘库,DVD,鼠标,扫描仪,网络照相机等
支持Windows9X,WindowsMe,NT4.0,2000,2003,XP和嵌入式XP操作系统
捕捉数据的总量仅受机器内存限制
可以设置触发信号自动停止捕获操作
测试读取,同步等设备性能
捕获设备驱动包,例如IRP
捕获任意数量的并行设备,而不管其总线类型美容小知识
身材苗条,易于交换与下载
捕获的数据易于拷贝到其它环境生成Html格式
捕获的数据能保存为文本文件或ZIP文件
所有的可捕获设备以树形结构列出,让选择设备来得更轻松些物理八年级下册
可捕获设备的启动过程
用户爱好设定功能,如用户可调整捕获到的数据显示宽度,更宜于查看和使用。
查看底层协议包括SCSI的n数据和USB的设置包
查看每阶段的时间变化精确到微秒
将输入输出发生的操作实时显示到屏幕上
纯软件解决方案,你不需要对硬件进行任何变更,一些依旧
Bus Hound有如此强大的功能,首先让我们一睹其界面风采,启动界面如下:
二、捕获窗口操作指南
单击主界面窗口上部命令按钮区的Capture按钮进入捕获操作主视窗。
一个命令发送到设备通常由1个或几个阶段来完成,例如,一个典型的命令由命令字节阶段,数据字节阶段和状态字节阶段来完成,Bus Hound在捕获显示窗口中将显示出阶段完成的时间信息和详细的数据内容。
中餐培训
捕获数据列表,以下将描述捕获窗口中每一列的功能
1、设备列
设备ID,每个设备分配了一个数字,第1个设备从0开始,第2个设备为1,依此类推,这项功能对于软件同时捕获多个并行设备非常有用,设备的ID分配在Device窗口中完成。
对于USB设备,设备的端点同时显示出来(例如4.1表示ID为4的设备的1号端点)
2、阶段列
阶段类型,请参考下表为每个阶段缩写获知详细的细节信息
高一数学书
阶段功能描述
ADDR 8 byte 1394 transfer address
ATI 7 byte ATA task file returned from an IDE device
ATO 7 byte ATA task file nt to an IDE device
ATP Windows ATA_PASS_THROUGH data structure
CDB SCSI command descriptor block
(Known as a packet command for ATAPI devices) CTL 8 byte tup packet of a USB control transfer
DI Data In (Device to PC transfer)
DO Data Out (PC to device transfer)
IOR Windows VXD I/O Request data structure
IRB Windows 1394 I/O Request Block data structure
IRP Windows I/O Request Packet data structure
ISOC Isochronous transfer data bytes
LEN Data transfer length of a DI,DO, or ISOC pha in
decimal units. This field is off by default and can be
turned on from the ttings Window
LOCK 1394 lock transaction
NSTS Windows 4 byte kernel mode NTSTATUS field
RSET Bus or device ret
RSTS Windows VXD IOR status
SNS SCSI request n data
SPT Windows SCSI Pass Through data structure
SRB Windows SCSI Request Block (SRB) data structure
SSTS Windows 1 byte SCSI Request Block (SRB) status
STAK Windows IO_STACK_LOCATION data structure
URB Windows USB Request Block (URB) data structure
USTS Windows 4 byte USBD_STATUS code
3、数据列
与每个阶段对应的数据显示在此列中,例如命令字节,数据传输字节,和状态字节都能在此窗口中显示出来。
4、描述列
与每个阶段对应的文本说明给你带来极大的便利
5、时间微分值Delta(dt)
从前一阶段到当前阶段所花费的时间均显示在此列中,时间单位的缩写对照表见下表:
Name Units
us Microconds
ms Milliconds
sc Seconds
mn Minutes
hr Hours
dy Days
6、命令.相位。
1个数据组合体用来的标识当前捕获的数据的确切阶段,所有值均为十进制CMD是命令数,命令计数从1开始,当有新命令发送到设备时进行加1操作
Pha是命令中的阶段数,1个命令通常由许多阶段组成,例如数据传输阶段和状态反馈阶段,阶段计数值从1开始,在命令中当有新的阶段产生时进行加1操作Ofs每个阶段中字节的偏移量,计数值从0开始,数据传输过程中的每个新的数据字节时进行加1操作。
Rep指示命令重复发布数,重复计数特性能在系统设定窗口中进行开启和关闭设定。
7、日期
阶段发生的日期在这一列中进行显示,格式为:年/月/日
8、时间
阶段发生的时间在这一列中进行显示,格式为:小时:分钟:秒.毫秒,小时范围为0-23 捕获系统启动过程
当退出Bus Hound应用程序时,Run按钮处于按下状态时,设备驱动部分继续捕获数据,当系统进行重启时,它将早于系统启动过程进行数据捕获操作。
当退出Bus Hound应用程序时,Stop按钮处于按下状态时,启动过程不会发生数据捕获操作,直到按下了启动按钮。
捕获数据显示窗口的用户爱好设定
数据列表的列顺序能通过拖拉列顶部到合适位置进行改变。每行字节显示宽度能被修改为1,2,4,8,16,或者32,这些设定被保存。
查找功能
能够在捕获窗口中进行数据查找操作,输入查找的字符串在窗口左下部的文本窗口中,然后按向上或向下箭头完成查找操作,如果未查找到字符串,光标位置不做改六年级好词
变,注意查找时不区分大小写。
窗口支持拖选操作,首行点击起始所在的行,再按下Shift按钮不放,单击结尾行,选中的数据能用鼠标拖拉到另外的软件中使用(就是拷贝操作),也可以按Ctrl+C 将选中的数据先拷拷贝到剪贴板,再在其它软件中用Ctrl+V粘贴完成数据拷贝操作。 命令交迭
rice可数还是不可数交迭的命令被标识,当发送到设备的一个新的命令启动先于前一个命令时,这种情况在输入输出子系统是有可能发生的,这种交迭现象Bus Hound能够显示出来,当然这种情况不会出现的硬件抽象层。
多输入输出阶段
这种情况仅在Windows 9X操作系统发生,同一命令的多输入输出阶段被列表显示时,指示传输被分割通过许多存储空间来完成的.
PS2鼠标数据格式
以下是PS/2鼠标返回的数据格式,这就是众所周之的在Windows DDK中定义的MOUSE_INPUT_DATA结构体:
Offt Length Content
0 2 Not
ud
type:
2 2 Position
0000h = relative position
韵律操教案0001h = absolute position
flags:
4 2 Button
0001h = left button down
0002h = left button up
0004h = right button down
0008h = right button up
0010h = middle button down
0020h = middle button up
0040h = button 4 down
0080h = button 4 up
0100h = button 5 down
0200h = button 5 up
0400h = mou wheel
data
wheel
6 2 Mou
ud
8 4 Not
position
12 4 X
position
16 4 Y
20 4 Device specific information
PS2键盘数据格式
以下是PS/2键盘返回的数据格式,这就是众所周之的在Windows DDK中定义的KEYBOARD_INPUT_DATA结构体: