USB SCSI协议整个过程简介

本文介绍了USB SCSI协议的全过程,从硬件连接开始,包括配置USB寄存器和响应Host的Reset信号,再到USB枚举阶段,最后详细探讨了USB SCSI(UFI)命令集的应用。
摘要由CSDN通过智能技术生成

一.硬件连接

首先,你需要配置你所用芯片的相关USB寄存器值,保证相关功能都已经打开,例如USB PHY 寄存器,USB 中断寄存器等。

Function连接到Host端首先会收到Host端Reset信号,Function进行复位,要进行多次的复位,接着Host会发送Get descriptor(Device)进行首次设备描述符的获取。


二.USB枚举

如果你想确认硬件连接是否正确,可以通过USB协议分析仪,看看Host端是否发送了Get descriptor(Device)命令。Host端发送命令后开始正式的枚举。第一条命令刚才已经提到,当你成功向Host回完你的设备描述符后,Host 会对你的Function进行设置地址,以后就会这个地址进行通信(开始时候默认地址0进行通信)。这里要注意的是,你需要判断Setuppack(定义的请求的命令格式,是一个结构体),Setuppack.wLength与你的报告描述符的长度,因为一般端点Maxpack是64,而设备描述符等需要传输的长度小于64字节,所以你发送的长度应该是两者的小值。长度回应不对会导致Host端没有回应ACK。获取第一次设备描述符获取完毕之后,你就要对Set address请求进行回复,之后会进行这样一个过程:Device->config->Device->config->set config 过程,这里也要注意命令需要回复的长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值