当前位置:文档之家› usb,scsi协议

usb,scsi协议

竭诚为您提供优质文档/双击可除
usb,scsi协议
篇一:usbhid协议中文版——usb接口hid设备
第8章usb接口hid设备
hid(humaninterfacedevice,人机接口设备)是usb 设备中常用的设备类型,是直接与人交互的usb设备,例如键盘、鼠标与游戏杆等。

在usb设备中,hid设备的成本较低。

另外,hid设备并不一定要有人机交互功能,只要符合hid类别规范的设备都是hid设备。

wndows操作系统最先支持的hid设备。

在windows98以及后来的版本中内置有hid设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。

在设计一个usb接口的计算机外部设备时,如果hid类型的设备可以满足需要,可以将其设计为hid类型设备,这样可以省去比较复杂的usb驱动程序的编写,直接利用windows操作系统对标准的hid类型usb设备的支持。

8.1hid设备简介
8.1.1hid设备的特点
交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持hld报表的
格式。

主机通过控制和中断传输中的传送和请求报表来传送和接收数据。

报表的格式非常灵活。

每一笔事务可以携带小量或中量的数据。

低速设备每一笔事务最大是8b,全速设
备每一笔事务最大是64b,高速设备每一笔事务最大是1024b。

一个报表可以使用多笔事务。

设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。

所以
主机会定时轮询设备,以取得最新的数据。

hid设备的最大传输速度有限制。

主机可以保证低速的中断端点每10ms内最多1
笔事务,每一秒最多是800b。

保证全速端点每lms一笔事务,每一秒最多是64000b。

保证高速端点每125us三笔事务,每一秒最多是24.576mb。

hid设备没有保证的传输速率。

如果设备是设置在10ms 的时距,事务之间的时间
可能等于或小于10ms。

除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。

这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。

hid设备除了传送数据给主机外,它也会从主机接收数据。

只要能够符合hld类别规范的设备都可以是hid设备。

设备除了hld接口之外,它可能同时还包含有其他的usb 接口。

例如影像显示设备可能使用hid接口来做亮度、对比度的软件控制,而使用传统的影像接口来传送要显示的数据。

usb扩音器可以使用实时传输来播放语音,同时使用hid接
口来控制音量、低音等。

hid类别设备的规范文件主要是以下两份:
deviceclassdefinitionforhumaninterfacedeviceshidusa getables
其中前者是hid的基本规范文件,后者可以是前者的附件,为开发人员提供实际的控制类型的描述。

文件是用来定义让主机了解以及使用hid数据的数值。

这两份文件是由usbdeviceworkinggroup制定的,可以在网址
/retype/zoom/2c2ecd2fccbff121dd368396pn=2
intusb_sbc2410_init(void)
{
unsignedlongupllvalue=(0x78
printk("usbcontrol,(c)20xxsbc2410n");
s3c_device_usb.dev.platform_data=
while(upllvalue!=__raw_readl(s3c2410_upllcon)){
__raw_writel(upllvalue,s3c2410_upllcon);
mdelay(1);
}
return0;
}
/*****************zxladdend*****************/
(3)在machine_staRt与machine_end之间加
上.init_machine=
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(smdk2410_uartcfgs,aRRay_size(smd k2410_uartcfgs));
s3c24xx_set_board(
//zxladd
usb_sbc2410_init();
}
内核配置(Forusb)
-------------------------------------------------- 让内核支持热插拔
generalsetup--->
[*]configurestandardkernelfeatures(forsmallsystems) --->
[*]supportforhot-pluggabledevices(new)
devicedrivers--->
genericdriveroptions--->
userspacefirmwareloadingsupport//(1)
blockdevices--->
lowperformanceusbblockdriver
scsidevicesupport--->
scsidevicesupport
scsidisksupport
scsigenericsupport
usbsupport--->
supportforhost-sideusb
[*]usbdevicefilesystem
ohcihcdsupport
---note:usb_stoRageenablesscsi,andscsidisksupport
---mayalsobeneeded;seeusb_stoRagehelpformoreinforma tion
usbmassstoragesupport
[*]usbmonitor
Filesystems--->
dos/Fat/ntFilesystems--->
msdosfssupport
VFat(windows-95)fssupport
(936)defaultcodepageforFat
(cp936)defaultiocharsetforFat
ntFsfilesystemsupport
partitiontypes--->
[*]pcbios(msdospartitiontables)support
nativelanguagesupport--->
simplifiedchinesecharset(cp936,gb2312)
nlsutF8
#makezimage
注:系统正真支持u盘,busybox中还需要有udev应用程序(用户工具)
将zimage下载到开发板上,然后挂载u盘
#mount/dev/sda1/mnt
=================================================== ======================
转载地址:
/u3/104564/showart_20920xx .html
配置usbformini2440同步(isochronous)方式传送;中断(interrupt)方式传送;大量(bulk)传送.但是所有的endpoint0都被用来传送配置和控制信息。

在host和设备的endpoint之间的连接叫作管道"pipe",endpoint0叫做缺省(defaultpipe)。

对于同样性质的一组的endpoint的组合叫做接口(interface),如果一个设备包扬声器modem键盘鼠标监视器类型常量
(classconstant)usb_deVice_class_audiousb_decice_cla ss_communicationsusb_deVice_class_humaninteRFaceusb _deVice_class_monitoR动力回馈式游戏操
usb_deVice_class_physical_int纵杆eRFace不间断电源供应硬盘
usb_deVice_class_poweRusb_deVice_class_pRinteRusb_d eVice_class_stoRageusb_deVice_class_hub
含不止一个的接口就可以称之为复合设备(compositedevice)。

同样的道理,对于同样的类型的接口的组合可以称之为"配置"(configuration)。

但是每次只能有一个配置是可用的,而一旦该配置激活,里面的接口和endpoint就都同时可。

相关主题