我正在编写固件以将 FPGA 连接到 Mat-Lab 以进行数据采集和控制。到目前为止的设置是 FPGA (DE2-115) -> ISP 1362 -> PC (Windows)。我正在使用通用的“USB View”程序来查看设备描述符。
我碰壁了。USB 主机重置我的设备,然后发送一个 8 字节的“获取描述符”请求。我用 18 个字节填充 IN EP 并验证它。大约20个?微秒后,ISP1362 标记一个中断,IN EP 的状态是它是空的(数据发送,对吗?)。再过几微秒后,OUT EP 中有零长度数据包。然后我清除 OUT EP。大约 220 微秒后,主机再次重置我的设备。那个该死的零长度数据包是什么意思?
总结:接收总线复位、接收获取描述符、发送描述、接收空包、接收总线复位。
另外,有没有一个程序可以让我看看这个的原始数据交互?我想看看主机(PC)看到了什么。
bLength = 8'h12 ;
bDescriptorType = 8'h01 ;
bcdUSB = 16'h0200 ;
bDeviceClass = 8'h00 ;
bDeviceSubClass = 8'h00 ;
bDeviceProtocol = 8'h00 ;
bMaxPacketSize0 = 8'h40 ;
idVendor = 16'h067B ;
idProduct = 16'h2303 ;
bcdDevice = 16'h0400 ;
iManufacturer = 8'h01 ;
iProduct = 8'h02 ;
iSerialNumber = 8'h00 ;
bNumConfigs = 8'h01 ;