* 功能地址寄存器(Function Address Regsiter --- 0x00)
设备模式时,作为USB设备的地址.
* 电源管理寄存器(Power Management Register --- 0x01)
bit[0] : 设置使能挂起输出
bit[1] : 设置时进入挂起模式. 读中断或者RESUME位设置时清除此位
bit[2] : 在挂起模式时产生恢复信号.
bit[3] : 总线复位时被设置(主机模式读写,设备模式只读)
bit[4] : 设置时表示USB协商成高速模式
bit[5] : 设置时,当设备被hub复位时USB控制器协商高速模式,
没设置时设备只能在全速模式操作.
bit[6] : 如果软连接/断开功能使能,当此位被设置时USB D+/D-线使能,
此位清除时三态(仅在设备模式可用)
bit[7] : 设置时,USB控制器在发送包之前等待一个SOF令牌包.如果在SOF令牌包之前
接收到一个IN令牌包,则发送一个0字节数据包(仅设备模式可用)
* 端点0和传输端点(1~15)中断寄存器(0x02)
每个位表示一个端点发送中断,共16bit
* 端点(1~15)接收中断寄存器(0x04)
每个位表示一个端点的接收中断, bit0保留
* 发送中断使能寄存器(INTRTXE --- 0x06)
端点发送中断使能位(16bit)
* 接收中断使能寄存器(INTRRXE --- 0x08)
端点接收中断使能位(bit0保留)
* USB通用中断寄存器(0x0a)
8位制度寄存器,指明USB中断状态, 读清除.
bit[0] : 检测到总线挂起(仅设备模式有效)
bit[1] : 挂起模式检测到恢复信号
bit[2] : 设备模式检测到复位信号,主机模式检测到babble
bit[3] : 检测SOF(start of frame)
bit[4] : 检测到连接(仅主机模式有效)
bit[5] : 主机模式检测到断开, 设备模式会话结束
bit[6] : 检测到会话请求(仅USB控制器是'A'设备时有效)
bit[7] : 会话其间检测到VBus低于阈值(仅A设备有效)
* USB中断使能寄存器(INTRUSB --- 0x0b)
USB相应中断使能位, 见0x0a寄存器
* 帧号寄存器(frame number reg --- 0x0c)
保存最后一个帧的号码(11bit)
* 端点状态和控制寄存器选择索引(index register for endpoint --- 0x0e)
每个Tx和Rx端点有自己的控制/状态寄存器,位于0x100-0x1ff.
控制/状态寄存器可映射到0x10~0x19区间,端点号必须先写到此寄存器.
* USB2.0测试使能模式寄存器(0x0f)
========== 端点控制/状态寄存器 =======================================
* 设备/主机发送端点最大包大小寄存器(0x10)
* 设备模式端点0控制状态寄存器(0x12)
* 主机模式端点0控制状态寄存器(0x12)
* 设备发送端点控制状态寄存器(0x12)
* 主机发送端点控制状态寄存器(0x12)
* 设备/主机接收端点最大包大小寄存器(0x14)
* 设备接收端点控制状态寄存器(0x16)
* 主机接收端点控制状态寄存器(0x16)
* 接收计数寄存器(0x18)
* 发送类型寄存器(0x1a -- 仅主机模式)
* NAK限制寄存器(0x1b -- 仅主机模式)
* 接收类型寄存器(0x1c -- 仅主机模式)
* 接收间隔寄存器(0x1d -- 仅主机模式)
* 配置数据寄存器(0x1f)
=================== FIFO ===================================
* 0x20~0x5f地址空间为每个端点的数据FIFO地址(端点0在0x20, 端点1在0x24, 端点15在0x5c).
* 设备控制寄存器(0x60)
bit[0] : 作为A设备时,必须设置/清除这个位来开始/结束一个会话.作为B设备时这个位由USB控制器来设置/清除.
bit[1] : B设备有效,设置表明在主机协商.清除表示主机协商完毕
bit[2] : USB控制器作为主机模式(只读)
bit[4:3] : 当前VBus电压(3:高于VBus有效 - 只读)
bit[5] : 设置表明连接到低速设备(只读)
bit[6] : 连接到全速或者高速设备(只读)
bit[7] : USB控制器作为什么设备操作(0: A设备, 1:B设备)
* 发送端点FIFO大小寄存器(0x62)
* 接收端点FIFO大小寄存器(0x63)
* 发送端点FIFO地址寄存器(0x64)
* 接收端点FIFO地址寄存器(0x66)
* 硬件版本寄存器(0x6c)
设备模式时,作为USB设备的地址.
* 电源管理寄存器(Power Management Register --- 0x01)
bit[0] : 设置使能挂起输出
bit[1] : 设置时进入挂起模式. 读中断或者RESUME位设置时清除此位
bit[2] : 在挂起模式时产生恢复信号.
bit[3] : 总线复位时被设置(主机模式读写,设备模式只读)
bit[4] : 设置时表示USB协商成高速模式
bit[5] : 设置时,当设备被hub复位时USB控制器协商高速模式,
没设置时设备只能在全速模式操作.
bit[6] : 如果软连接/断开功能使能,当此位被设置时USB D+/D-线使能,
此位清除时三态(仅在设备模式可用)
bit[7] : 设置时,USB控制器在发送包之前等待一个SOF令牌包.如果在SOF令牌包之前
接收到一个IN令牌包,则发送一个0字节数据包(仅设备模式可用)
* 端点0和传输端点(1~15)中断寄存器(0x02)
每个位表示一个端点发送中断,共16bit
* 端点(1~15)接收中断寄存器(0x04)
每个位表示一个端点的接收中断, bit0保留
* 发送中断使能寄存器(INTRTXE --- 0x06)
端点发送中断使能位(16bit)
* 接收中断使能寄存器(INTRRXE --- 0x08)
端点接收中断使能位(bit0保留)
* USB通用中断寄存器(0x0a)
8位制度寄存器,指明USB中断状态, 读清除.
bit[0] : 检测到总线挂起(仅设备模式有效)
bit[1] : 挂起模式检测到恢复信号
bit[2] : 设备模式检测到复位信号,主机模式检测到babble
bit[3] : 检测SOF(start of frame)
bit[4] : 检测到连接(仅主机模式有效)
bit[5] : 主机模式检测到断开, 设备模式会话结束
bit[6] : 检测到会话请求(仅USB控制器是'A'设备时有效)
bit[7] : 会话其间检测到VBus低于阈值(仅A设备有效)
* USB中断使能寄存器(INTRUSB --- 0x0b)
USB相应中断使能位, 见0x0a寄存器
* 帧号寄存器(frame number reg --- 0x0c)
保存最后一个帧的号码(11bit)
* 端点状态和控制寄存器选择索引(index register for endpoint --- 0x0e)
每个Tx和Rx端点有自己的控制/状态寄存器,位于0x100-0x1ff.
控制/状态寄存器可映射到0x10~0x19区间,端点号必须先写到此寄存器.
* USB2.0测试使能模式寄存器(0x0f)
========== 端点控制/状态寄存器 =======================================
* 设备/主机发送端点最大包大小寄存器(0x10)
* 设备模式端点0控制状态寄存器(0x12)
* 主机模式端点0控制状态寄存器(0x12)
* 设备发送端点控制状态寄存器(0x12)
* 主机发送端点控制状态寄存器(0x12)
* 设备/主机接收端点最大包大小寄存器(0x14)
* 设备接收端点控制状态寄存器(0x16)
* 主机接收端点控制状态寄存器(0x16)
* 接收计数寄存器(0x18)
* 发送类型寄存器(0x1a -- 仅主机模式)
* NAK限制寄存器(0x1b -- 仅主机模式)
* 接收类型寄存器(0x1c -- 仅主机模式)
* 接收间隔寄存器(0x1d -- 仅主机模式)
* 配置数据寄存器(0x1f)
=================== FIFO ===================================
* 0x20~0x5f地址空间为每个端点的数据FIFO地址(端点0在0x20, 端点1在0x24, 端点15在0x5c).
* 设备控制寄存器(0x60)
bit[0] : 作为A设备时,必须设置/清除这个位来开始/结束一个会话.作为B设备时这个位由USB控制器来设置/清除.
bit[1] : B设备有效,设置表明在主机协商.清除表示主机协商完毕
bit[2] : USB控制器作为主机模式(只读)
bit[4:3] : 当前VBus电压(3:高于VBus有效 - 只读)
bit[5] : 设置表明连接到低速设备(只读)
bit[6] : 连接到全速或者高速设备(只读)
bit[7] : USB控制器作为什么设备操作(0: A设备, 1:B设备)
* 发送端点FIFO大小寄存器(0x62)
* 接收端点FIFO大小寄存器(0x63)
* 发送端点FIFO地址寄存器(0x64)
* 接收端点FIFO地址寄存器(0x66)
* 硬件版本寄存器(0x6c)