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

转载 2007年09月28日 00:43:00
二、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
 

USB协议基础及S3C2410 USB控制器

在网上看到的一篇文章。总结的不错 一、USB1.1 概述 USB 是 Universal Serial Bus 的简称。它是一种可以同时处理计算机与具有 USB 接口的多种外设之间通信...
  • zq5848
  • zq5848
  • 2011年10月09日 23:22
  • 515

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

一、USB1.1 概述USB 是 Universal Serial Bus 的简称。它是一种可以同时处理计算机与具有 USB 接口的多种外设之间通信的电...
  • hyalbert8084
  • hyalbert8084
  • 2007年09月28日 00:39
  • 1830

USB主机控制器驱动——OHCI分析

首先,整个驱动框架的开始,是基于 platform 平台总线的。 struct platform_device s3c_device_usb = { .name = "s3c2410-ohci...
  • lizuobin2
  • lizuobin2
  • 2016年07月18日 22:34
  • 4459

USB主机控制器ECHI

1. 主机控制器(Host Controller)       • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0...
  • dyq1991
  • dyq1991
  • 2017年10月24日 15:44
  • 113

windows(win7)虚拟机下使用usb转串口进行S3c2410开发,minicom和kermit

为了用自己的笔记本在学院的开发板上进行开发,使用usb转串口线折腾了几天,写一些tips到这里。 1、主机里安装驱动,在http://download.csdn.net/detail/ustcxjt...
  • ustcxjt
  • ustcxjt
  • 2011年10月18日 12:49
  • 7446

如何在Linux当中判断USB控制器的类型

如何在Linux当中判断USB控制器的类型 by Quickmouse (quickmouse@263.net) 2004年10月11日     一直弄不清楚Linux是如何加载USB控制...
  • linuxheik
  • linuxheik
  • 2013年07月19日 16:10
  • 701

usb协议基础

usb简介usb是一种支持热插拔的高速串行传输总线,使用差分信号来传输数据,高速模式下传输速率为480Mb/S,全速模式为12Mb/S,低速模式为1.5Mb/S,USB支持“总线供电”和“自供电”两种...
  • Golf_research
  • Golf_research
  • 2016年12月18日 01:33
  • 1081

通俗易懂的USB协议详解(转…

原文地址:通俗易懂的USB协议详解(转载)作者: Branchesss 转自东海的博客http://6xudonghai.blog.163.com/blog/static/33640629200...
  • u011556018
  • u011556018
  • 2017年05月22日 19:03
  • 1196

USB控制器芯片按功能分类的特性比较

引   言       通用串行总线USB是以主机为中心的分层星型总线拓扑结构实现与外设的连接,软件比较复杂,对功率要求也比较高,所以在推出后的一段时期内,USB在基于PC的系统中得到了广泛应用,而在...
  • chinaplus
  • chinaplus
  • 2005年12月26日 16:57
  • 6695

U盘开发之USB协议

    周末这两天,过的太失败了,诸事不顺,下次出门前一定先看看黄历。    用USB协议分析仪抓了一个U盘启动流程的包,对于了解USB协议和U盘启动有很大的帮助。         原始抓包是一帧一帧...
  • ReadReply
  • ReadReply
  • 2011年06月13日 00:00
  • 5591
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:USB协议基础及S3C2410 USB控制器(2)
举报原因:
原因补充:

(最多只允许输入30个字)