开源的可用于FPGA的usb 协议监听IP-FPGA开源项目社区-FPGA CPLD-ChipDebug

开源的可用于FPGA的usb 协议监听IP

这个IP核是一个 HS/FS USB2.0 分析器(USB 总线嗅探器)。
该内核监控 UTMI 接口并通过 AXI-4 总线主接口将看到的流量记录到内存缓冲区。
可以连续提取日志格式(连续捕获模式),或者当内存缓冲区已满时内核可以停止捕获(单次模式)。

使用 AXI4-Lite 从接口执行 IP 配置。

该IP核已用于生产USB 2.0 协议分析设备

特征

  • 基于设备 ID 和/或端点的过滤选项。
  • 过滤掉 SOF 数据包的选项。
  • 过滤掉 IN+NAK 数据包的选项。
  • 密集的日志记录格式。
  • 支持连续流式传输或一次性模式。
  • 检测缓冲区溢出。

 

寄存器映射 Register Map

Offset Name Description
0x00 USB_BUFFER_CFG [RW] Configuration Register
0x04 USB_BUFFER_STS [R] Status Register
0x08 USB_BUFFER_BASE [RW] Buffer Base Address
0x0c USB_BUFFER_END [RW] Buffer End Address
0x10 USB_BUFFER_CURRENT [R] Buffer Current address
Register: USB_BUFFER_CFG
Bits Name Description
31 CONT Continuous capture – overwrite on wrap (0 = Stop on full, 1 = cont)
30:24 DEV Device ID to match (only if MATCH_DEV = 1)
19:16 EP Endpoint to match (only if MATCH_EP = 1)
15 PHY_DMPULLDOWN UTMI PHY D+ Pulldown Enable (valid if SPEED=manual)
14 PHY_DPPULLDOWN UTMI PHY D+ Pulldown Enable (valid if SPEED=manual)
13 PHY_TERMSELECT UTMI PHY Termination Select (valid if SPEED=manual)
12:11 PHY_XCVRSELECT UTMI PHY Transceiver Select (valid if SPEED=manual)
10:9 PHY_OPMODE UTMI PHY Output Mode (valid if SPEED=manual)
8:7 SPEED USB bus speed (0 = HS, 1 = FS, 2 = LS, 3=manual)
6 EXCLUDE_EP Exclude specific endpoint
5 MATCH_EP Match specific endpoint
4 EXCLUDE_DEV Exclude specific device ID
3 MATCH_DEV Match specific device ID
2 IGNORE_SOF Drop SOF packets (0 = Log SOF, 1 = Drop SOF)
1 IGNORE_IN_NAK Drop IN + NAK sequences
0 ENABLED Capture enabled
Register: USB_BUFFER_STS
Bits Name Description
2 DATA_LOSS Data lost due to stream backpressure
1 WRAPPED Capture wrapped
0 TRIG Capture triggered
Register: USB_BUFFER_BASE
Bits Name Description
31:0 ADDR Address of buffer base
Register: USB_BUFFER_END
Bits Name Description
31:0 ADDR Address of buffer end
Register: USB_BUFFER_CURRENT
Bits Name Description
31:0 ADDR Current buffer address – last entry written

References

本站下载:

 

请登录后发表评论