寄存器描述
0x000 AHB_BASIC
默认值:0x00000004 | AHB 基本配置寄存器 (AHB Basic Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:9 | - | - | - |
8 | R/W | 0x0 | 保持默认值,不要改动 |
7 | R/W | 0x0 | 保持默认值,不要改动 |
6 | R/W | 0x0 | 保持默认值,不要改动 |
5 | R/W | 0x0 | ASSB AHB Support Single Burst,AHB 支持 Single
Burst。
|
4 | - | - | - |
3 | R/W | 0x0 | 保持默认值,不要改动 |
2 | R | 0x1 | AHB Master Idle 指示 AHB Master State Machine 处于 idle 状态。 |
1 | R | 0x0 | DMA Request Signal 用于 debug。 |
0 | - | - | - |
0x004 USB_DEV_INIT
默认值:0x00000000 | USB Device 初始化寄存器 (USB Device Initial) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:12 | R/W | 0x0 | DMA_BL DMA Burst Length,用于设置 DMA 的 Burst
长度。
|
11 | R/W | 0x0 | EN_DMA Enable DMA,DMA 使能
|
10 | R/W | 0x0 | NP_TFTH Non-Periodic TxFIFO Threshold,非周期的
TXFIFO 的阈值指示控制。
|
9 | R/W | 0x0 | GIE Global Interrupt Enable,全局中断使能位,使能 USB IP
的中断。
|
8 | R/WAC | 0x0 | C_IN_TKN_Q Clear IN Token Queue,清除 IN Token 的队列,写 1 清除队列,完成自动清 0。 |
7:3 | R/W | 0x0 | C_TX_NUM Clear TXFIFO Number,可以对 FIFO 进行清除。在
TxFFlsh bit 没有清 0 之前,此域不能及进行更改。
|
2 | R/WAC | 0x0 | C_TXFIFO Clear TXFIFO,此位写 1 进行 TXFIFO 清除(进行此操作前需确保 USB 没有进行数据传输),完成 TXFIFO 清除后自清 0。 |
1 | R/WAC | 0x0 | C_RXFIFO Clear RxFIFO,此位写 1 进行 RxFIFO 清除(进行此操作前需确保 USB 没有进行数据传输),完成 RxFIFO 清除后自清 0。 |
0 | R/WAC | 0x0 | Soft_RSTSoft Reset USB Device 软复位,此位写 1 进行软复位,复位完成自清 0。 |
0x008 USB_PHY_IF
默认值:0x00001400 | USB PHY 接口寄存器 (USB PHY Interface) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:20 | - | - | - |
19 | R/W | 0x0 | ULPI_CLK_SUS ULPI Clock Suspend,决定 Suspend
状态下内部时钟的供电。采用内部 PHY,无需配置,保持默认值即可。
|
18 | R/W | 0x0 | ULPI_AUTO_RES ULPI Auto Resume,配置 ULPI PHY
的寄存器的 AutoResume 功能。采用内部 PHY,无需配置,保持默认值即可。
|
17:16 | - | - | - |
15 | R/W | 0x0 | PHY_LP_CLK_SET PHY Low-Power Clock Set,选择 480
MHz 或 48 MHz 的 PHY 模式,在 FS 和 LS 模式下,PHY 可以工作在 48
MHz,达到节省功耗的效果。采用内部 PHY,这里无需配置,保持默认值即可。
|
14 | - | - | - |
13:10 | R/W | 0x5 | TA_TIME USB Turnaround Time,配置 USB Turnaround Time。 以 PHY 时钟数为单位。 |
9:8 | - | - | - |
7 | R/W | 0x0 | SEL_ULPI _DDR Select ULPI Interface Double
Data Rate,选择 ULPI IF 的数据为双沿触发。采用内部 PHY,无需配置,保持默认值即可。
|
4 | R/W | 0x0 | SEL_PHY_IF Select PHY Interface,选择 PHY
的接口类型。采用内部 PHY,无需配置,保持默认值即可。
|
3 | R/W | 0x0 | PHY_IF_WIDTH,PHY Interface Width,UTMI + PHY 选择
8-bit 或 16-bit 接口,ULPI 必须选择 8-bit 接口,采用内部 PHY,无需配置,保持默认值即可。
|
2:0 | R/W | 0x0 | TIMEOUT_CAL Timeout Calibration,USB Timeout 校准 |
0x00C USB_ULPI_PHY
默认值:0x00000000 | USB ULPI PHY 寄存器 (USB ULPI PHY) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | 0x0 | 采用内部 PHY,无需配置,保持默认值即可。 |
0x010 USB_INT_STS
默认值:0x10000020 | USB 中断状态寄存器 (USB Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/W1C | 0x0 | WAKEUP_INT Wake up Interrupt,唤醒产生中断,在 Suspend
状态下,收到 Host 发出的 Resume 信号后进行唤醒。
|
30:23 | - | - | - |
22 | R/W1C | 0x0 | DATA_FET_STOP_INT Data Fetch Stop Interrupt,此中断表示在 DMA 模式下,IN EP 取数据出现停止,原因是 TXFIFO 或请求队列的空间不够。 |
21 | R/W1C | 0x0 | INCOMP_ISO_OUT_INT Incomplete Isochronous OUT Transfer Interrupt,此位中断用于指示至少一个 Isochronous OUT EP 当前帧里的 Transfer 不完整。 |
20 | R/W1C | 0x0 | INCOMP_ISO_IN_INT Incomplete Isochronous IN Transfer Interrupt,此位中断用于指示至少一个 Isochronous IN EP 当前帧里的 Transfer 不完整。 |
19 | R | 0x0 | OUT_EP_INT OUT Endpoints Interrupt,指示存在 OUT EP 中断。此中断为 OUT EP 的总中断,需将各个 OUT EP 的中断清除才可以清除该中断。 |
18 | R | 0x0 | IN_EP_INT IN Endpoints Interrupt,指示存在 IN EP 中断。此中断为 IN EP 的总中断,需将各个 IN EP 的中断清除才可以清除该中断。 |
17 | R/W1C | 0x0 | EP_MIS_INT Endpoint Mismatch Interrupt,指示
Non-periodic TxFIFO 的数据与 IN Endpoint 不一致
|
16 | - | - | - |
15 | R/W1C | 0x0 | EOP_FR_INT End of Periodic Frame
Interrupt,此中断指示当前 Frame 达到 SET_PER_FR_INT 所设置的时间点
|
14 | R/W1C | 0x0 | ISO_OUT_DROP_INT Isochronous OUT Packet
Dropped Interrupt,此中断表示由于 RXFIFO 无足够空间存放 isochronous OUT EP
的一个 Maximum size 的数据包,拒绝接收 isochronous OUT packet
|
13 | R/W1C | 0x0 | Enum_DONE Enumeration Done,此中断用于指示完成 USB
的速率枚举
|
12 | R/W1C | 0x0 | USB_REST USB Reset,此中断用于指示 USB BUS 出现了 RESET
信号
|
11 | R/W1C | 0x0 | USB_SUS USB Suspend,此中断用于指示 USB 进入 Suspend
状态
|
10 | R/W1C | 0x0 | EARLY_SUS Early Suspend,此中断用于指示 USB 进入 idle
状态超过 3 ms
|
9:8 | - | - | - |
7 | R | 0x0 |
OUT_NACK_EFF OUT Endpoint NACK Effective,此中断用于指示寄存器 SET_OUT_NACK 配置生效。此位清 0 可以通过设置 CLR_OUT_NACK。 |
6 | R | 0x0 | IN_NACK_EFF IN Endpoint NACK Effective,此状态位用于指示寄存器 SET_NP_IN_NACK 配置生效。此位清 0 可以通过设置 CLR_NP_IN_NACK。 |
5 | R | 0x1 | NP_TXFIFO_EMP Non-periodic TXFIFO Empty,此位用于指示
Non-periodic TxFIFO 半空或者全空(由 NP_TFTH 决定)
|
4 | R | 0x0 | RXFIFO_NO_EMP RXFIFO Non-Empty,此位指示 RxFIFO
里至少有一个 packet 需要读取
|
3 | R/W1C | 0x0 | RX_SOF Receive Start of (micro) Frame
Token,此位指示 USB 接收到 SOFToken
|
2:0 | - | - | - |
0x014 USB_INT_MSK
默认值:0x00000000 | USB 中断屏蔽寄存器 (USB Interrupt Mask) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/W | 0x0 | WAKEUP_INT_MSK Wake up Interrupt,唤醒产生中断,在
Suspend 状态下,收到 Host 发出的 Resume 信号后进行唤醒。
|
30:23 | - | - | - |
22 | R/W | 0x0 | DATA_FET_STOP_INT_MSK Data Fetch Stop
Interrupt,此中断表示在 DMA 模式下,IN EP 取数据出现停止,原因是 TXFIFO
或请求队列的空间不够。
|
21 | R/W | 0x0 | INCOMP_ISO_OUT_INT_MSK Incomplete Isochronous
OUT Transfer Interrupt,此位中断用于指示至少一个 Isochronous OUT EP 当前帧里的
Transfer 不完整。
|
20 | R/W | 0x0 | INCOMP_ISO_IN_INT_MSK Incomplete Isochronous
IN Transfer Interrupt,此位中断用于指示至少一个 Isochronous IN EP 当前帧里的
Transfer 不完整。
|
19 | R/W | 0x0 | OUT_EP_INT_MSK OUT Endpoints Interrupt,指示存在
OUT EP 中断。此中断为 OUT EP 的总中断。
|
18 | R/W | 0x0 | IN_EP_INT_MSK IN Endpoints Interrupt,指示存在 IN
EP 中断。此中断为 IN EP 的总中断。
|
17 | R/W | 0x0 | EP_MIS_INT_MSK Endpoint Mismatch Interrupt,指示
Non-periodic TxFIFO 的数据与 IN Endpoint 不一致。
|
16 | - | - | - |
15 | R/W | 0x0 | EOP_FR_INT_MSK End of Periodic Frame
Interrupt,此中断指示当前 Frame 达到 SET_PER_FR_INT 所设置的时间点:
|
14 | R/W | 0x0 | ISO_OUT_DROP_INT_MSK Isochronous OUT Packet
Dropped Interrupt,此中断表示由于 RXFIFO 无足够空间存放 isochronous OUT EP
的一个 Maximum size 的数据包,拒绝接收 isochronous OUT packet。
|
13 | R/W | 0x0 | Enum_DONE_MSK Enumeration Done,此中断用于指示完成 USB
的速率枚举。
|
12 | R/W | 0x0 | USB_REST_MSK USB Reset,此中断用于指示 USB BUS 出现了
RESET 信号。
|
11 | R/W | 0x0 | USB_SUS_MSK USB Suspend,此中断用于指示 USB 进入 Suspend
状态。
|
10 | R/W | 0x0 | EARLY_SUS_MSK Early Suspend,此中断用于指示 USB 进入
idle 状态超过 3 ms。
|
9:8 | - | - | - |
7 | R/W | 0x0 | OUT_NACK_EFF_MSK OUT Endpoint NACK
Effective,此中断用于指示寄存器SET_OUT_NACK 配置生效。
|
6 | R/W | 0x0 | IN_NACK_EFF_MSK IN Endpoint NACK
Effective,状态位,用于指示寄存器 SET_NP_IN_NACK 配置生效
|
5 | R/W | 0x0 | NP_TXFIFO_EMP_MSK Non-periodic TXFIFO
Empty,用于指示 Non-periodic TxFIFO 半空或者全空
|
4 | R/W | 0x0 | RXFIFO_NO_EMP_MSK RXFIFO Non-Empty,指示 RxFIFO
里至少有一个 packet 需要读取
|
3 | R/W | 0x0 | RX_SOF_MSK Receive Start of (micro) Frame
Token,指示 USB 接收到 SOFToken
|
2:0 | - | - | - |
0x018 RXFIFO_SIZ
默认值:0x00000400 | RXFIFO SIZE 寄存器 (RXFIFO SIZE) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:0 | R/W | 0x400 | RXFIFO_SIZ RXFIFO Size,RxFIFO 空间大小,最小值 16,最大值 1024。 |
0x01C RXFIFO_STS
默认值:0x00000000 | RXFIFO 状态寄存器 (RXFIFO Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | - | - | - |
24:21 | R | 0x0 | FR_NUM Frame Number,为 Frame Number 的低 4 位,只用于 Isochronous 类型的 OUT EPs。 |
20:17 | R | 0x0 | RX_PKT_STS Received Packet Status ,用于指示接收的
packet 的状态。
|
16:15 | R | 0x0 | OUT_DAT_PID Data PID,指示接收到的 OUT data packet 的
DATA PID 类型:
|
14:4 | R | 0x0 | RXBYTE_CNT Byte Count,用于指示接收到的 data packet 的 Byte 计数。 |
3:0 | R | 0x0 | OUTEP_NUM Endpoint Number,此域指示当前接收的 packet 的 Endpoint Number。 |
0x020 NPTXFIFO_SIZ
默认值:0x04000400 | 非周期性的 TXFIFO Size 寄存器 (NPTXFIFO SIZE) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x400 | NPTXFIFO_SIZ Non-periodic TXFIFO Size,最小值 16,最大值 1024 |
15:0 | R/W | 0x400 | NPTXFIFO_START Non-periodic TXFIFO Start Address,非周期的 TxFIFO 的起始地址。 |
0x024 NPTXFIFO_STS
默认值:0x00080400 | 非周期性的 TXFIFO 状态寄存器 (NPTXFIFO Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | R | 0x0 | NPTxQTop NPTXFIFO_QUE Non-periodic TXFIFO Request Queue,指示非周期发送请求队列的顶端位置,也就是正在处理的队列位置。
|
23:20 | - | - | - |
19:16 | R | 0x8 | NP_QUE_LOC_AVAN Non-periodic Transmit Request
Queue Location Available,指示目前非周期发送请求队列的可用位置
|
15:0 | R | 0x400 | NP_TXFIFO_AVA Non-periodic TxFIFO Space
Available,指示 Non-periodic TxFIFO 空间可用情况:
|
0x028 PTXFIFO1_SIZ
默认值:0x03000800 | TXFIFO1 SIZE 寄存器 (TXFIFO1 Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x300 | PTXFIFO1_SIZ Periodic TxFIFO1 Size,周期性的 TXFIFO1 大小,最小值 4。 |
15:0 | R/W | 0x800 | PTXFIFO1_START Periodic TxFIFO1 Start Address,周期性的 TXFIFO1 的起始地址。 |
0x02C PTXFIFO_SIZ2
默认值:0x03000B00 | TXFIFO2 SIZE 寄存器 (TXFIFO2 Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x300 | PTXFIFO2_SIZ Periodic TxFIFO2 Size,周期性的 TXFIFO2 深度,最小值 4。 |
15:0 | R/W | 0xB00 | PTXFIFO2_START Periodic TxFIFO2 RAM Start Address,周期性的 TXFIFO2 的起始地址。 |
0x030 RXFIFO_STS_POP
默认值:0x00000000 | RXFIFO 状态寄存器 (RXFIFO Status Pop) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | - | - | - |
24:21 | R | 0x0 | FR_NUM Frame Number,为 Frame Number 的低 4 位,只用于 Isochronous 类型的 OUT EPs。 |
20:17 | R | 0x0 | RX_PKT_STS Received Packet Status ,用于指示接收的
packet 的状态。
|
16:15 | R | 0x0 | OUT_DAT_PID Data PID,指示接收到的 OUT data packet 的
DATA PID 类型
|
14:4 | R | 0x0 | RXBYTE_CNT Byte Count,用于指示接收到的 data packet 的 byte 计数。 |
3:0 | R | 0x0 | OUTEP_NUM Endpoint Number,指示当前接收的 packet 的 Endpoint Number。 |
0x040 PHY_CLK_CTL
默认值:0x00000000 | PHY 时钟控制寄存器 (PHY Clock Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:30 | - | - | - |
0 | R/W | 0x0 | STP_PHY_CLK STOP PHY CLOCK,停止 PHY Clock,在 USB
Suspend 状态下可以配置此位,停止 PHY 的时钟,能够降低 USB PHY 的功耗。
|
0x060+(n-1)*0x4(n=1~4) TXFIFOn_SIZ
默认值:0x0400XXXX | TXFIFOn SIZE 寄存器(TXFIFOn Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x400 | INEP_TXFIFOn_SIZ In Endpoint TxFIFO1 Size,INEP TXFIFOn 的大小,最小值 4。 |
15:0 | R/W | 0xXXXX | INEP_TXFIFOn_START In Endpoint TxFIFOn Start Address,INEP TXFIFOn 的起始地址。默认值为 0x1000+(0x400*n)。 |
0x200 USB_DEV_CONF
默认值:0x08200000 | USB Device 配置寄存器 (USB Device Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:23 | - | - | - |
22:18 | R/W | 0x8 | IN_EP_MIS_THIN Endpoint Mismatch Threshold,触发 IN Endpoint Mismatch 中断的阈值。 |
17:16 | - | - | - |
15 | R/W | 0x0 | MSK_Early_SUS_ERR_INT MSK Early Suspend
Generate Erratic Error Interrupt,使能 Early Suspend 产生 Erratic
Error 中断
|
14 | R/W | 0x0 | EN_DLY_XCVR 设备 chirp 期间 xcvr_sel 和 txvalid
之间的延迟使能。
|
13 | - | - | - |
12:11 | R/W | 0x0 | SET_PER_FR_INT SET Periodic Frame Interval,设置
Periodic Frame 结束的时间点
|
10:4 | R/W | 0x0 | USB_DEV_ADDR USB Device Address,软件在 Set Address command 时设置的 Device 地址。 |
3 | - | - | - |
2 | R/W | 0x0 | OUT_RX_NZL_DATA_HDL OUT Transaction Receive
None-zero-length DATA Handle,设置在 OUT transaction 的 Status
阶段,接收到 non zero length 数据包时的处理方式
|
1:0 | R/W | 0x0 | USB_DEV_SPD_SET USB Device Speed Set,设置 USB
Device 进行枚举的 USB 速度
|
0x204 USB_DEV_FUNC
默认值:0x00000002 | USB Device 功能寄存器 (USB Device Function) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:17 | - | - | - |
16 | R/W | 0x0 | EN_NACK_BBL_ERR Enable NACK Babble Error,使能
NACK 自动回复 Babble Error
|
15 | R/W | 0x0 | IG_FR_NUM_ISO_EP Ignore Frame Number for Isochronous Endpoints,针对同步 EP 使用。 |
14:12 | - | - | - |
11 | R/W | 0x0 | PWR_ON_DONE POWER-ON Programming Done,指示
Wakeup 后 Contrl、StatusRegister 已经 Ready
|
10 | W | 0x0 | CLR_OUT_NACK Clear OUT Endpoint NACK,此位写 1 清除 OUT Endpoints NACK。 |
9 | W | 0x0 |
SET_OUT_NACK Set OUT Endpoint NACK,此位写 1 设置 OUT NACK。软件层通过此位设置,让所用的 OUT Endpoints 发送 NACK 握手信号。此位只有在 OUT_NACK_EFF 清 0 后才可以置 1。 |
8 | W | 0x0 | CLR_NP_IN_NACK Clear Non-periodic IN Endpoint NACK,此位写 1 清除 Non-Periodic-IN NACK。 |
7 | W | 0x0 | SET_NP_IN_NACK Set Non-periodic IN Endpoint NACK,此位写 1 设置 Non-periodicIN NACK。软件通过此位设置,让所用的 Non periodic IN Endpoints 发送 NACK 握手信号。此位只有在 OUT_NACK_EFF 清 0 后才可以置 1。 |
6:4 | R/W | 0x0 | TEST_MOD TEST MODE Select,测试模式选择
|
3 | R | 0x0 | GLB_OUT_NACK_STS Global OUT NACK Status
|
2 | R | 0x0 | GLB_IN_NACK_STS Global IN Non-periodic NACK
Status
|
1 | R/W | 0x1 | SET_DEV_DISCON Set USB Device Disconnect,设置
Device 进行 disconnect 操作
|
0 | R/W | 0x0 | EN_REM_WAKUP Enable Remot Wakeup,使能 USB Devcie
唤醒 USB Host
|
0x208 USB_LINE_STS
默认值:0x00000002 | USB Line 状态寄存器 (USB Line Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | - | - | - |
23:22 | R | 0x0 | DAT_LINE_STS Data Line Status,指示目前 USB
数据线的逻辑电平
|
21:8 | R | 0x0 | RX_FR_NUM Number of the Received SOF
|
7:4 | - | - | - |
3 | R | 0x0 | ERRTIC_ERR Erratic Error,此位用于报告 UMTI+ 任意的错误。如果由于 erratic error 产生的 early suspend,软件只能通过实现 soft disconnect 恢复。 |
2:1 | R | 0x1 | USB_EN UM_SPEEDUSB Enumerated
Speed,指示经过速度的侦测最后 Device 得出的速率
|
0 | R | 0x0 | DET_SUS_STS Detect Suspend Status USB 侦测到 Suspend Condition 时,此位置 1。 |
0x20C INEP_INT_MSK
默认值:0x00000000 | 输入端点中断屏蔽寄存器 (IN EP Interrupt Mask) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:14 | - | - | - |
13 | R/W | 0x0 | NACK_INT_MSK NACK interrupt Mask
|
12:7 | - | - | - |
6 | R/W | 0x0 | IN_NACK_EFF_INT_MSK IN Endpoint NACK Effective
Mask
|
5 | R/W | 0x0 | INTOKEN_MIS_INT_MSK IN Token received with EP
Mismatch Mask
|
4 | R/W | 0x0 | RX_INTOKEN_EMPTY_INT_MSK IN Token Received
When TxFIFO Empty Mask
|
3 | R/W | 0x0 | TIME_OUT_INT_MSK Timeout Interrupt Mask
(Non-isochronous endpoints)
|
2 | R/W | 0x0 | AHB_RW_ERR_INT_MSK AHB Read/Write Error
Interrupt Mask
|
1 | R/W | 0x0 | DIS_EP_INT_MSK Endpoint Disabled Interrupt
Mask
|
0 | R/W | 0x0 | TX_COMP_INT_MSK TX Transfer Completed
Interrupt Mask
|
0x210 OUTEP_INT_MSK
默认值:0x00000000 | 输出端点中断屏蔽寄存器 (OUT EP Interrupt Mask) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:15 | - | - | - |
14 | R/W | 0x0 | NYET_INT_MSK NYET interrupt Mask
|
13 | R/W | 0x0 | NACK_INT_MSK NACK interrupt Mask
|
12 | R/W | 0x0 | BABBLE_ERR_INT_MSK Babble Error Interrupt
Mask
|
11:7 | - | - | - |
6 | R/W | 0x0 | B2B_SETUP_INT_MSK Back-to-Back SETUP Packets
Received Mask
|
5 | R/W | 0x0 | STS_PHASE_RX_INT_MSK Status Phase Received
Mask
|
4 | R/W | 0x0 | OUT_TOKEN_EP_DIS_INT_MSK OUT Token Received
when Endpoint Disabled Mask
|
3 | R/W | 0x0 | SETUP_DONE_INT_MSK SETUP Phase Done Mask.
Applies to control endpoints only.
|
2 | R/W | 0x0 | AHB_RW_ERR_INT_MSK AHB Error Mask
|
1 | R/W | 0x0 | DIS_EP_INT_MSK Endpoint Disabled Interrupt
Mask
|
0 | R/W | 0x0 | RX_COMP_INT_MSK Transfer Completed Interrupt
Mask
|
0x214 USB_EP_INT
默认值:0x00000000 | USB 端点中断寄存器 (USB EP Interrupt) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R | 0x0 | OUT_EP_INT OUT Endpoint Interrupt BIT,每位对应一个
OUT EP 的中断状态此中断为该 OUT EP 的总中断,需将该 OUT EP 的所有中断清除才可以清除该中断。
其他 bit 无效 |
15:0 | R | 0x0 | IN_EP_INT IN Endpoint Interrupt BIT,每位对应一个 IN
EP 的中断状态此中断为该 IN EP 的总中断,需将该 IN EP 的所有中断清除才可以清除该中断。
其他 bit 无效 |
0x218 USB_EP_INT_MSK
默认值:0x00000000 | USB 端点中断屏蔽寄存器 (USB EP Interrupt Mask) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x0 | OUT_EP_INT_MSK OUT Endpoint Interrupt
Mask,每位对应一个 OUT EP 的中断屏蔽位,1b'0 表示屏蔽,1b'1 表示不屏蔽。
其他 bit 无效 |
15:0 | R/W | 0x0 | IN_EP_INT_MSK IN Endpoint Interrupt
Mask,每位对应一个 IN EP 的中断屏蔽位,1b'0 表示屏蔽,1b'1 表示不屏蔽。
其他 bit 无效 |
0x220 IN_EP0_CFG
默认值:0x00008000 | 输入 EP0 配置寄存器 (IN EP0 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 IN EP0,将此位置 1,使能 EP0 发送数据。在 EP0 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 IN EP0,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1,EP0 停止发送数据,尽管 EP0 的 transfer 没有完成。 需要接收到 EP0 的 DIS_EP_INT 中断,才可以认为 EP0 Disable。在 EP0 disabled 中断出现之前,此位会自清 0。 |
29:28 | - | - | - |
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP0 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,清除 NACK,此位置 1,清除 EP0 的 NACK
位
|
25:22 | R/W | 0x0 | TXFIFO_NUM TXFIFO Number,IN EP0 对应 Non-periodic TxFIFO,因此此域一直为 0,无需配置。 |
21 | R/WAC | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号。Device core 会在收到 SETUP Token 后会将此位清 0。另外如果 NACK 与 Stall
同时置位,发送 Stall 握手信号的优先级更高。
|
20 | - | - | - |
19:18 | R | 0x0 | EP0_TYPE Endpoint0, TypeEP0 的类型,这里为只读位,EP0 总是为 Control 类型的端点。 |
17 | R | 0x0 | IN_EP0_NACK_STS IN Endpoint0 NACK Status,IN
EP0 当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP
数据包,Device 总是回复 ACK 握手信号。 |
16 | - | - | - |
15 | R | 0x1 | ACT_EP Active Endpoint,对于 EP0 此位一直为 1,表示 control IN EP0 一直处于活跃的状态。 |
14:11 | R/W | 0x0 | NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN
EP Number,仅在 DMA 模式下适用:
|
10:2 | - | - | - |
1:0 | R/W | 0x0 | MPS Maximum Packet Size,IN EP0 的最大 Packet
Size
|
0x0224 IN_EP1_CFG
默认值:0x00000000 | IN 配置寄存器 (IN Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 IN ,将此位置 1 ,使能 发送数据。在 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 IN ,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1, 停止发送数据,尽管 的 transfer 没有完成。 需要接收到 的 DIS_EP_INT 中断,才可以认为 Disable。在 disabled 中断出现之前,此位会自清 0。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/ bulk 类型的
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN
EPs,此位置 1,PID 域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 的 NACK 握手信号
|
25:22 | R/W | 0x0 | TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | - | - | - |
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复
NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复
ACK 握手信号。
|
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk IN EPs EO_FRNUM_STS
Even/ Odd Frame Number Status,适用
isochronous IN EPs
|
15 | R/WAC | 0x0 | ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 USB RESET 命令后,此位会自动清 0
|
14:11 | R/W | 0x0 | NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP
Number,这里只适用在 DMA 模式下
|
10:0 | R/W | 0x0 | MPS Maximum Packet Size,IN 的最大 Packet Size,单位是 byte。 |
0x0228 IN_EP2_CFG
默认值:0x00000000 | IN EP2 配置寄存器 (IN EP2 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 IN EP2,将此位置 1,使能 EP2 发送数据。在 EP2 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 IN EP2,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1,EP2 停止发送数据,尽管 EP2 的 transfer 没有完成。 需要接收到 EP2 的 DIS_EP_INT 中断,才可以认为 EP2 Disable。在 EP2 disabled 中断出现之前,此位会自清 0。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/bulk 类型的 IN
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN
EPs,此位置 1,PID 域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP2 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 EP2 的 NACK 握手信号
|
25:22 | R/W | 0x0 | TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | - | - | - |
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复
NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk IN EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous IN EPs
|
15 | R/WAC | 0x0 | ACT_EP ,Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 USB RESET 命令后,此位会自动清 0
|
14:11 | R/W | 0x0 | NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP
Number,这里只适用在 DMA 模式下
|
10:0 | R/W | 0x0 | MPS Maximum Packet Size,IN EP2 的最大 Packet Size,单位是 Byte。 |
0x022C IN_EP3_CFG
默认值:0x00000000 | IN EP3 配置寄存器 (IN EP3 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 IN EP3,将此位置 1,使能 EP3 发送数据。在 EP3 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 IN EP3,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1,EP3 停止发送数据,尽管 EP3 的 transfer 没有完成。需要接收到 EP3 的 DIS_EP_INT 中断,才可以认为 EP3 Disable。在 EP3 disabled 中断出现之前,此位会自清 0。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/ bulk 类型的 IN
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN
EPs,此位置 1,PID 域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP3 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 EP3 的 NACK 握手信号
|
25:22 | R/W | 0x0 | TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | - | - | - |
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复
NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk IN EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous IN EPs
|
15 | R/WAC | 0x0 | ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 USB RESET 命令后,此位会自动清 0
|
14:11 | R/W | 0x0 | NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP
Number,这里只适用在 DMA 模式下
|
10:0 | R/W | 0x0 | MPS Maximum Packet Size,IN EP3 的最大 Packet Size,单位是 Byte。 |
0x0230 IN_EP4_CFG
默认值:0x00000000 | IN EP4 配置寄存器 (IN EP4 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 IN EP4,将此位置 1,使能 EP4 发送数据。在 EP4 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 IN EP4,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1, EP4 停止发送数据,尽管 EP4 的 transfer 没有完成。 需要接收到 EP4 的 DIS_EP_INT 中断,才可以认为 EP4 Disable。在 EP4 disabled 中断出现之前,此位会自清 0。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/ bulk 类型的
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN
EPs,此位置 1,PID 域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP4 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 EP4 的 NACK 握手信号
|
25:22 | R/W | 0x0 | TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | - | - | - |
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复
NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk IN EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous IN EPs
|
15 | R/WAC | 0x0 | ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 USB RESET 命令后,此位会自动清 0
|
14:11 | R/W | 0x0 | NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP
Number,这里只适用在 DMA 模式下
|
10:0 | R/W | 0x0 | MPS Maximum Packet Size,IN EP4 的最大 Packet Size,单位是 Byte。 |
0x240 OUT_EP0_CFG
默认值:0x00008000 | OUT 配置寄存器 (OUT Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 OUT ,将此位置 1,使能 接收数据。在 OUT 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R | 0x0 | DIS_EP Disable Endpoint,关闭 OUT ,软件无法对此位进行写操作,无法关闭 OUT 。 |
29:28 | - | - | - |
27 | W | 0x0 | S_NACK Set NACK,此位置 1,设置 OUT 发送 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 NACK 握手信号
|
25:22 | - | - | - |
21 | R/WAC | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号
Device core 会在收到 SETUP Token 后会将此位清 0。如果 NACK 与 Stall 信号同时设置,发送 Stall 握手信号的优先级更高。另外,不管此位的设置情况,Device core 只要收到 SETUP 数据包,就会回复 ACK 握手信号。 |
20 | R/W | 0x0 | EN_SNOOP Enable Snoop Mode,配置此位可以使得 进入 Snoop
mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 | R | 0x0 | _TYPE Endpoint0 Type, 一直为 Control 类型,此 bit 不需配置。 |
17 | R | 0x0 | OUT__NACK_STS OUT Endpoint0 NACK Status,OUT
当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | - | - | - |
15 | R | 0x1 | ACT_EP Active Endpoint,对于 此位一直为 1,表示 control OUT 一直处于活跃的状态。 |
14:2 | - | - | - |
1:0 | R/W | 0x0 | MPS Maximum Packet Size OUT 的最大 Packet
Size
|
0x244 OUT_EP1_CFG
默认值:0x00000000 | OUT EP1 配置寄存器 (OUT EP1 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 OUT EP1,将此位置 1,使能 EP1 接收数据。在 OUT EP1 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 OUT EP1。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP1 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 EP1 的 NACK 握手信号
|
25:22 | - | - | - |
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | R/W | 0x0 | EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP1 进入 Snoop
mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP
当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk OUT EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous OUT EPs
|
15 | R/WAC | 0x0 | ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 RESET 命令后,此位会自动清 0
|
14:11 | - | - | - |
10:0 | R/W | 0x0 | MPS Maximum Packet Size,OUT EP1 的最大 Packet Size,单位是 Byte。 |
0x248 OUT_EP2_CFG
默认值:0x00000000 | OUT EP2 配置寄存器 (OUT EP2 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 OUT EP2,将此位置 1,使能 EP2 接收数据。在 OUT EP2 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 OUT EP2。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP2 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 EP2 的 NACK 握手信号
|
25:22 | - | - | - |
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | R/W | 0x0 | EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP2 进入 Snoop
mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP
当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk OUT EPs EO_FRNUM_STS
Even/ Odd Frame Number Status,适用
isochronous OUT EPs
|
15 | R/WAC | 0x0 | ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 RESET 命令后,此位会自动清 0
|
14:11 | - | - | - |
10:0 | R/W | 0x0 | MPS Maximum Packet Size,OUT EP2 的最大 Packet Size,单位是 byte。 |
0x24C OUT_EP3_CFG
默认值:0x00000000 | OUT EP3 配置寄存器 (OUT EP3 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 OUT EP3,将此位置 1,使能 EP3 接收数据。在 OUT EP3 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 OUT EP3。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP3 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 EP3 的 NACK 握手信号
|
25:22 | - | - | - |
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | R/W | 0x0 | EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP3 进入 Snoop
mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP
当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk OUT EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous OUT EPs
|
15 | R/WAC | 0x0 | ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 RESET 命令后,此位会自动清 0
|
14:11 | - | - | - |
10:0 | R/W | 0x0 | MPS Maximum Packet Size,OUT EP3 的最大 Packet Size,单位是 Byte。 |
0x250 OUT_EP4_CFG
默认值:0x00000000 | OUT EP4 配置寄存器 (OUT EP4 Configure) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/WAC | 0x0 | EN_EP Enable Endpoint,使能 OUT EP4,将此位置 1,使能 EP4 接收数据。在 OUT EP4 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。 |
30 | R/WAC | 0x0 | DIS_EP Disable Endpoint,关闭 OUT EP4。 |
29 | W | 0x0 | S_DATA1 Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA1 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 | W | 0x0 | S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT
EPs,此位置 1,PID 域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 | W | 0x0 | S_NACK Set NACK,配置 NACK,此位置 1 设置 EP4 的 NACK
|
26 | W | 0x0 | C_NACK Clear NACK,此位置 1,清除 EP4 的 NACK 握手信号
|
25:22 | - | - | - |
21 | R/W | 0x0 | EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 | R/W | 0x0 | EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP4 进入 Snoop
mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 | R/W | 0x0 | EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 | R | 0x0 | OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP
当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 | R | 0x0 | DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk OUT EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous OUT EPs
|
15 | R/WAC | 0x0 | ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 RESET 命令后,此位会自动清 0
|
14:11 | - | - | - |
10:0 | R/W | 0x0 | MPS Maximum Packet Size,OUT EP4 的最大 Packet Size,单位是 Byte。 |
0x260 IN_EP0_INT
默认值:0x00000080 | IN 中断状态寄存器 (IN Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:14 | - | - | - |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 接收到 BabbleError,此位置 1。 |
11:8 | - | - | - |
7 | R/W1C | 0x0 | TXFIFO_EMP_INT TXFIFO Empty Interrupt, 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 | R/W1C | 0x0 | IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。在对 C_NACK 置位前,此位需要先进行写 1 清 0。 此中断位表示 IN EP 的 S_NACK 设置生效。 此中断位不能保证 NACK 握手信号已发送到 USB 上。STALL 位的优先级会比 NACK 的优先级高。 |
5 | R/W1C | 0x0 | INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodicFIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 | R/W1C | 0x0 | RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 | R/W1C | 0x0 | TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x264 IN_EP1_INT
默认值:0x00000080 | IN EP1 中断状态寄存器 (IN EP1 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:14 | - | - | - |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 EP1 接收到 BabbleError,此位置 1。 |
11:8 | - | - | - |
7 | R/W1C | 0x0 | TXFIFO_EMP_INT TXFIFO Empty Interrupt,EP1 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 | R/W1C | 0x0 | IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。在对 NACK 置位前,此位需要先进行写 1 清 0。 此中断位表示 IN EP 的 S_NACK 设置生效。 此中断位不能保证 NACK 握手信号已发送到 USB 上。STALL 位的优先级会比 NACK 的优先级高。 |
5 | R/W1C | 0x0 | INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodicFIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 | R/W1C | 0x0 | RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 | R/W1C | 0x0 | TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x268 IN_EP2_INT
默认值:0x00000080 | IN EP2 中断状态寄存器 (IN EP2 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:14 | - | - | - |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 EP2 接收到 BabbleError,此位置 1。 |
11:8 | - | - | - |
7 | R/W1C | 0x0 | TXFIFO_EMP_INT TXFIFO Empty Interrupt,EP2 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 | R/W1C | 0x0 | IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。在对 NACK 置位前,此位需要先进行写 1 清 0。 此中断位表示 IN EP 的 S_NACK 设置生效。 此中断位不能保证 NACK 握手信号已发送到 USB 上。STALL 位的优先级会比 NACK 的优先级高。 |
5 | R/W1C | 0x0 | INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodicFIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 | R/W1C | 0x0 | RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 | R/W1C | 0x0 | TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x26C IN_EP3_INT
默认值:0x00000080 | IN EP3 中断状态寄存器 (IN EP3 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:14 | - | - | - |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 EP3 接收到 BabbleError,此位置 1。 |
11:8 | - | - | - |
7 | R/W1C | 0x0 | TXFIFO_EMP_INT TXFIFO Empty Interrupt,EP3 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 | R/W1C | 0x0 | IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。在对 NACK 置位前,此位需要先进行写 1 清 0。 此中断位表示 IN EP 的 S_NACK 设置生效。 此中断位不能保证 NACK 握手信号已发送到 USB 上。STALL 位的优先级会比 NACK 的优先级高。 |
5 | R/W1C | 0x0 | INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodicFIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 | R/W1C | 0x0 | RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 | R/W1C | 0x0 | TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x270 IN_EP4_INT
默认值:0x00000080 | IN EP4 中断状态寄存器 (IN EP4 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:14 | - | - | - |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 EP4 接收到 BabbleError,此位置 1。 |
11:8 | - | - | - |
7 | R/W1C | 0x0 | TXFIFO_EMP_INT TXFIFO Empty Interrupt,EP4 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 | R/W1C | 0x0 | IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。在对 NACK 置位前,此位需要先进行写 1 清 0。 此中断位表示 IN EP 的 S_NACK 设置生效。 此中断位不能保证 NACK 握手信号已发送到 USB 上。STALL 位的优先级会比 NACK 的优先级高。 |
5 | R/W1C | 0x0 | INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodicFIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 | R/W1C | 0x0 | RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 | R/W1C | 0x0 | TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x280 OUT_EP0_INT
默认值:0x00000000 | OUT 中断状态寄存器 (OUT Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15 | R/W1C | 0x0 | SETUP_PKT_RX_INT Setup Packet Received Interrupt,只适用于 Control OUT EP。用于指示 buffer 收到了 8 Byte 的 setup 数据。OUT 存在此 bit,其他的 EP 无此 bit。 |
14 | R/W1C | 0x0 | NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。 |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生中断信号。 |
11 | R/W1C | 0x0 | PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:7 | - | - | - |
6 | R/W1C | 0x0 | B2B_SETUP_INT Back-to-Back SETUP Packets Received,此位只适用 Control OUTEP。此位用于指示 device core 的 Control EP 收到了超过 3 个连续的 SETUP packets。 |
5 | R/W1C | 0x0 | STS_PHASE_RX_INT Status Phase Received For Control Write,此中断位只适用于 Control OUT EP。此位用于指示进入 Control EP 的 Status Phase。 |
4 | R/W1C | 0x0 | OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 | R/W1C | 0x0 | SETUP_DONE_INT SetUP Phase Done,只适用于 Control OUT EP。此位用于指示 Control EP 的 SETUP 阶段完成,可以对 SETUP 数据包进行解析。 |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x284 OUT_EP1_INT
默认值:0x00000000 | OUT EP1 中断状态寄存器 (OUT EP1 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:15 | - | - | - |
14 | R/W1C | 0x0 | NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。 |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生中断信号。 |
11 | R/W1C | 0x0 | PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:5 | - | - | - |
4 | R/W1C | 0x0 | OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 | - | - | - |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x288 OUT_EP2_INT
默认值:0x00000000 | OUT EP2 中断状态寄存器 (OUT EP2 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:15 | - | - | - |
14 | R/W1C | 0x0 | NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。 |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生中断信号。 |
11 | R/W1C | 0x0 | PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:5 | - | - | - |
4 | R/W1C | 0x0 | OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 | - | - | - |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x28C OUT_EP3_INT
默认值:0x00000000 | OUT EP3 中断状态寄存器 (OUT EP3 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:15 | - | - | - |
14 | R/W1C | 0x0 | NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。 |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生中断信号。 |
11 | R/W1C | 0x0 | PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:5 | - | - | - |
4 | R/W1C | 0x0 | OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 | - | - | - |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x290 OUT_EP4_INT
默认值:0x00000000 | OUT EP4 中断状态寄存器 (OUT EP4 Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:15 | - | - | - |
14 | R/W1C | 0x0 | NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。 |
13 | R/W1C | 0x0 | NACK_INT NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。 |
12 | R/W1C | 0x0 | BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生中断信号。 |
11 | R/W1C | 0x0 | PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:5 | - | - | - |
4 | R/W1C | 0x0 | OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 | - | - | - |
2 | R/W1C | 0x0 | AHB_RW_ERR_INT AHB Read/ Write Error Interrupt,AHB 总线上的读写错误引起的中断,此中断只有在 DMA 的模式下有效。 |
1 | R/W1C | 0x0 | DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 | R/W1C | 0x0 | RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x2A0 IN_EP0_TSF_SIZ
默认值:0x00000000 | IN EP0 传输 Size 寄存器 (IN EP0 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:21 | - | - | - |
20:19 | R/W | 0x0 | TX_PKT_CNT Transmit Packet Count,表示 EP 的 Tansfer 包含的数据包的数量,此域会在每次读取 TxFIFO 的情况下,逐次递减。 |
18:7 | - | - | - |
6:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小(以 Byte 为单位)。此域会在每次
packet 从外部存储写入 TxFIFO 的情况下,逐次递减。发送数据时,配置
XferSize,相当于配置需要发送的数据长度。若需要发送 N+1 个 Packet,配置如下:
|
0x2A4 IN_EP1_TSF_SIZ
默认值:0x00000000 | IN EP0 传输 Size 寄存器 (IN EP0 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:21 | - | - | - |
20:19 | R/W | 0x0 | TX_PKT_CNT Transmit Packet Count,表示 EP 的 Tansfer 包含的数据包的数量,此域会在每次读取 TxFIFO 的情况下,逐次递减。 |
18:7 | - | - | - |
6:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小(以 Byte 为单位)。此域会在每次
packet 从外部存储写入 TxFIFO 的情况下,逐次递减。发送数据时,配置
XferSize,相当于配置需要发送的数据长度。若需要发送 N+1 个 Packet,配置如下:
|
0x2A8 IN_EP2_TSF_SIZ
默认值:0x00000000 | IN EP2 传输 Size 寄存器 (IN EP2 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R/W | 0x0 | TX_MUTI_PKT Transmit Multiply Packet for IN EP,针对
Period-IN-EP,配置每微帧(micro frame)必须发送的 packet 数目。
|
R | 0x0 | TX_PKT_BF_SWITH Transmit Packet number Before Swich EP,在切换 EP 之前,DMA 需要发送的 Packet 数目。此域只有在 DMA 使能的情况下有效。 |
|
28:19 | R/W | 0x0 | PKT_CNT Packet Count,此域指示 EP 组成 Transfer 的 data packet 的数量,PktCnt = XferSize/MPS。此字段每次从 TxFIFO 读取一个数据包(最大大小或短数据包)时递减。 |
18:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小。发送数据时,配置
XferSize,相当于配置需要发送的数据长度。若需要发送 N+1 个 Packet,配置如下:
在 XferSize 递减到 0 后,表示数据已写入 TxFIFO,硬件自动完成发送,此时产生 XferComplete 中断。 |
0x2AC IN_EP3_TSF_SIZ
默认值:0x00000000 | IN EP2 传输 Size 寄存器 (IN EP2 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R/W | 0x0 | TX_MUTI_PKT Transmit Multiply Packet for IN EP,针对
Period-IN-EP,配置每微帧(micro frame)必须发送的 packet 数目。
|
R | 0x0 | TX_PKT_BF_SWITH Transmit Packet number Before Swich EP,在切换 EP 之前,DMA 需要发送的 Packet 数目。此域只有在 DMA 使能的情况下有效。 |
|
28:19 | R/W | 0x0 | PKT_CNT Packet Count,此域指示 EP 组成 Transfer 的 data packet 的数量,PktCnt = XferSize/MPS。此字段每次从 TxFIFO 读取一个数据包(最大大小或短数据包)时递减。 |
18:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小。发送数据时,配置
XferSize,相当于配置需要发送的数据长度。若需要发送 N+1 个 Packet,配置如下:
在 XferSize 递减到 0 后,表示数据已写入 TxFIFO,硬件自动完成发送,此时产生 XferComplete 中断。 |
0x2B0 IN_EP4_TSF_SIZ
默认值:0x00000000 | IN EP2 传输 Size 寄存器 (IN EP2 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R/W | 0x0 | TX_MUTI_PKT Transmit Multiply Packet for IN EP,针对
Period-IN-EP,配置每微帧(micro frame)必须发送的 packet 数目。
|
R | 0x0 | TX_PKT_BF_SWITH Transmit Packet number Before Swich EP,在切换 EP 之前,DMA 需要发送的 Packet 数目。此域只有在 DMA 使能的情况下有效。 |
|
28:19 | R/W | 0x0 | PKT_CNT Packet Count,此域指示 EP 组成 Transfer 的 data packet 的数量,PktCnt = XferSize/MPS。此字段每次从 TxFIFO 读取一个数据包(最大大小或短数据包)时递减。 |
18:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小。发送数据时,配置
XferSize,相当于配置需要发送的数据长度。若需要发送 N+1 个 Packet,配置如下:
在 XferSize 递减到 0 后,表示数据已写入 TxFIFO,硬件自动完成发送,此时产生 XferComplete 中断。 |
0x2C0 OUT_EP0_TSF_SIZ
默认值:0x00000000 | OUT EP0 传输 Size 寄存器 (OUT EP0 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R/W | 0x0 | SUP_PKT_CNT Setup Packet Count,表示能够接收连续的 SETUP 数据包数量
|
28:20 | - | - | - |
19 | R/W | 0x0 | PKT_CNT Packet Count,表示 EP0 的数据包的数量,此域会在每次写入 RxFIFO 的情况下,逐次递减。 |
18:7 | - | - | - |
6:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小,一般配置为 MPS (Max Packet Size) 即可。 通过此域可以了解接收到数据包的大小。假设配置 PktCnt = 1,XferSize = MPS = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 = 0,此时产生 Xfer Complete 中断。 |
0x2C4 OUT_EP1_TSF_SIZ
默认值:0x00000000 | OUT EP1 传输 Size 寄存器 (OUT EP1 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R | 0x0 | RX_DTA_PID Received Data PID,只适用于 isochronous OUT EP,表示当前 EP
接收的 PID data 类型:
|
R/W | 0x0 | SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
28:19 | R/W | 0x0 | PKT_CNT Packet Count,指示 EP 的组成 Transfer 的 data packet 的大小,PktCnt = XferSize / MPS。 |
18:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小,一般配置为 MPS (Max Packet Size) 即可。 通过此域可以了解接收到数据包的大小。假设配置 PktCnt = 1,XferSize = MPS = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。 |
0x2C8 OUT_EP2_TSF_SIZ
默认值:0x00000000 | OUT EP1 传输 Size 寄存器 (OUT EP1 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R | 0x0 | RX_DTA_PID Received Data PID,只适用于 isochronous OUT EP,表示当前 EP
接收的 PID data 类型:
|
R/W | 0x0 | SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
28:19 | R/W | 0x0 | PKT_CNT Packet Count,指示 EP 的组成 Transfer 的 data packet 的大小,PktCnt = XferSize / MPS。 |
18:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小,一般配置为 MPS (Max Packet Size) 即可。 通过此域可以了解接收到数据包的大小。假设配置 PktCnt = 1,XferSize = MPS = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。 |
0x2CC OUT_EP3_TSF_SIZ
默认值:0x00000000 | OUT EP1 传输 Size 寄存器 (OUT EP1 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R | 0x0 | RX_DTA_PID Received Data PID,只适用于 isochronous OUT EP,表示当前 EP
接收的 PID data 类型:
|
R/W | 0x0 | SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
28:19 | R/W | 0x0 | PKT_CNT Packet Count,指示 EP 的组成 Transfer 的 data packet 的大小,PktCnt = XferSize / MPS。 |
18:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小,一般配置为 MPS (Max Packet Size) 即可。 通过此域可以了解接收到数据包的大小。假设配置 PktCnt = 1,XferSize = MPS = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。 |
0x2D0 OUT_EP4_TSF_SIZ
默认值:0x00000000 | OUT EP1 传输 Size 寄存器 (OUT EP1 Transfer Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:29 | R | 0x0 | RX_DTA_PID Received Data PID,只适用于 isochronous OUT EP,表示当前 EP
接收的 PID data 类型:
|
R/W | 0x0 | SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
28:19 | R/W | 0x0 | PKT_CNT Packet Count,指示 EP 的组成 Transfer 的 data packet 的大小,PktCnt = XferSize / MPS。 |
18:0 | R/W | 0x0 | XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小,一般配置为 MPS (Max Packet Size) 即可。 通过此域可以了解接收到数据包的大小。假设配置 PktCnt = 1,XferSize = MPS = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。 |
0x300+n*0x4(n=0/1/2/3/4) IN_EPn_DMA
默认值:xxxxxxxx (不定态) | IN EPn DMA 地址配置寄存器 (In Endpoint DMA Address Setup) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | xxxxxxxx | IN_DMA_ADDR 此寄存器用于保存 IN EPn 的外部存储 Buffer 的起始地址。 |
0x320+n*0x4(n=0/1/2/3/4) OUT_EPn_DMA
默认值:xxxxxxxx (不定态) | OUT EPn DMA 地址配置寄存器 (OUT Endpoint DMA Address Setup) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | xxxxxxxx | OUT_DMA_ADDR 此寄存器用于保存 OUT EPn 的外部存储 Buffer 的起始地址。 |
0x340+n*0x4(n=0/1/2/3/4) IN_EPn_TXFIFO_STA
默认值:0x00000000 | IN EPn TXFIFO 状态寄存器 (In EPn Txfifo Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:0 | RO | 0 | IN_EP_TXFIFO_STS |
0x360+(n-1)*0x4(n=1/2/3/4) TKN_QUEUEn
默认值:0x00000000 | TKN_QUEUEn 寄存器 | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0 | 用于 debug。 |