USB协议基础及S3C2410 USB控制器(2) - AI_JJ

时间:2024-03-06 19:56:09

USB协议基础及S3C2410 USB控制器(2)

二、S3C2410 内置USB1.1 Device控制器
S3C2410 内置的 USB Device 控制器具有一下特性:
(1) 完全兼容 USB1.1 协议
(2) 支持全速(Full Speed)设备
(3) 集成的 USB 收发器
(4) 支持Control、Interrupt 和 Bulk传输模式
(5) 5 个具备 FIFO 的通讯端点
(6) Bulk 端点支持DMA操作方式
(7) 接收和发送均有 64Byte 的FIFO
(8) 支持挂起和远程唤醒功能
下图(图9-25)是 USB 控制器的内部逻辑示意图
 

 

图9-25

 

三、S3C2410 USB 内部控制寄存器简介:
FUNC_ADDR_REG :USB 设备地址寄存器(见图9-26)
FUNCTION_ADDR :CPU 将由 USB 主机分配的器件地址写入该字段
ADDR_UPDATE :当 CPU 写入新的地址后,置该位来更新 FUNCTION_ADDR 字段中的值

 

 

图9-26

 

PWR_ADDR :电源管理控制寄存器(见图9-27)
SUSPEND_EN :使能SUSPEND模式
SUSPEND_MODE :当设备进入 SUSPEND 状态时,由 USB 控制器设置
MCU_RESUME :由 CPU 设置 进入 RESUME 状态
USB_RESET :当 USB 主机发出复位(RESET)命令后,由CPU设置
ISO_UPDATE :只用于 ISO 传输模式

 

 

图9-27

 

EP_INT_REG : Endpoint 中断标志寄存器(见图9-28)

 

 

图9-28

 

USB_INT_REG :USB中断标志寄存器(见图9-29)

 

 

图9-29
EP_INT_EN_REG :Endpoint 中断使能寄存器(见图9-30)
图9-30
INT_MASK_REG :USB 中断屏蔽寄存器(见图9-31)
图9-31
FRAME_NUM_REG:帧计数器(低位资料)(见图9-32)
 
图9-32
FRAME_NUM_REG:帧计数器(高位资料)(见图9-33)
图9-33
INDEX_REG:索引寄存器(见图9-34)
INDEX:指向 USB 控制器内的某个Endpoint
图9-34

EP0_CSR : Endpoint0 控制状态寄存器(图9-35)
OUT_PKT_RDY :当有效 OUT 通讯包由 USB 控制器写入 FIFO后,该位被置 1
IN_PKT_RDY :当有效 IN 通讯包由 USB 控制器写入 FIFO后,该位被置 1
SENT_STALL :如果因为总线冲突而导致控制传输中断,该位将被 USB 控制器置 1
DATA_END :当资料发送完之后,由 CPU 置该位
SETUP_END :当控制传输完成之后,由 CPU 置该位
SEND_STALL :如果收到无效的信令包, CPU 应该在清除 OUT_PKT_RDY 的同时置该位
SERVICED_OUT_PKT_RDY:CPU 通过置该位来清除 OUT_PKT_RDY 状态
SERVICED_SETUP_END:CPU 通过置该位来清除 SETUP_END 状态位

图9-35
IN_CSR1_REG : Endpoint IN 控制状态寄存器(见图9-36)
IN_PKT_RDY :当 CPU 将资料写入 FIFO 后,由 CPU 置该位
UNDER_RUN :仅对 ISO 传输模式有效(当 ISO 传输时,资料来不及传输的情况)
FIFO_FLUSH :清除 FIFO 内容控制位
SEND_STALL :
0: CPU 清除该位来结束 STALL 状态
1: CPU 发送一个 STALL 握手信号给 USB 控制器
SENT_STALL : 当收到一个 STALL 的 IN 信令后,由 USB 控制器置该位
CLR_DATA_TOGGLE:切换 DATA0 和 DATA1 资料包
图9-36
IN_CSR2_REG : Endpoint IN 控制状态寄存器(见图9-37)
IN_DMA_INT_EN :DMA中断使能位
MODE_IN :配置响应的 Endpoint的类型(IN 还是 OUT)
ISO :配置响应 Endpoint 的传输类型
AUTO_SET :使能当资料量过大时,是否自动拆包
图9-37
OUT_CSR1_REG 和 OUT_CSR2_REG 的定义类同 OUT_CSR1_REG 等(见图9-38,9-39)
图9-38
图9-39
EPn_FIFO :FIFI资料寄存器(见图9-40)
图9-40
MAXP_REG :最大资料包长度配置寄存器(见图9-41)
图9-41
OUT_FIFO_CON1_REG 和 OUT_FIFO_CON1_REG :指明 OUT FIFO 中有多少 Byte 资料(见图9-42,9-43)
图9-42
图9-43
EPn_DMA_CON :Endpoint DMA 控制器(见图9-44)
DMA_MODE_EN :使能 DMA 工作模式
IN_DMA_RUN :IN DMA 启动控制位
OUT_DMA_RUN :OUT DMA 启动控制位
DEMAND_MODE :DMA Demand 模式使能位
STATE :DMA 状态标志位
IN_RUN_OB :IN DMA 状态位
图9-44

EP0_UNIT_CNT :Endpoint 0 DMA 传输长度寄存器(见图9-45)

图9-45
EPn_UNIT_CNT :Endpoint DMA 传输长度寄存器(见图9-46)

图9-46

 

EPn_TTC_x :Endpoint DMA 总传输长度寄存器(见图9-47)

图9-47