Sl811HS嵌入式USB主从设备控制器.docx

上传人:b****8 文档编号:9218864 上传时间:2023-05-17 格式:DOCX 页数:29 大小:56.78KB
下载 相关 举报
Sl811HS嵌入式USB主从设备控制器.docx_第1页
第1页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第2页
第2页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第3页
第3页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第4页
第4页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第5页
第5页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第6页
第6页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第7页
第7页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第8页
第8页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第9页
第9页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第10页
第10页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第11页
第11页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第12页
第12页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第13页
第13页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第14页
第14页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第15页
第15页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第16页
第16页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第17页
第17页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第18页
第18页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第19页
第19页 / 共29页
Sl811HS嵌入式USB主从设备控制器.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Sl811HS嵌入式USB主从设备控制器.docx

《Sl811HS嵌入式USB主从设备控制器.docx》由会员分享,可在线阅读,更多相关《Sl811HS嵌入式USB主从设备控制器.docx(29页珍藏版)》请在冰点文库上搜索。

Sl811HS嵌入式USB主从设备控制器.docx

Sl811HS嵌入式USB主从设备控制器

Sl811HS嵌入式USB主/从设备控制器

1.0规定

2.0定义

3.0参考

4.0介绍

4.1块图表

4.2sl811hs主从模式选择

4.3特性

4.4数据口微处理器接口

4.5中断控制器

4.6缓冲器

4.7PLL时钟发生器

4.8USB传输器

5.0SL811HS寄存器

5.1开机和复位的寄存器值

5.2USB控制寄存器

5.3SL811HS控制寄存器

6.0SL811HS和SL811HST—AC物理关系

6.1SL811HS物理连接

6.2SL811HST-AC物理连接

7.0电的规格

7.1完全最大的等级

7.2推荐操作条件

7.3外部时钟输入特征

7.4DC特征

7.5USB主机传输器特征

=============================================================

1.0规定

没有注释的1,2,3,4都是十进制数

十六进制数的后面都有“h”

二进制数的后面都有“b”

斜体字用来表示USB规格或某一规格

2.0定义

USB:

通用串行总线

SL811HS:

sl811hs是cypress公司的USB主/从设备控制器,提供多种功能。

这里,我们提供28针PLCC封装(sl811hs)和48针TQFP封装(sl811hst-ac)。

这个文档中,除非说明,sl811hs包括两种封装

注释:

这个芯片不含CPU

SL11sl11是cypress公司USB外围设备的控制器,提供多种功能,这里,我们提供28针PLCC封装(sl11)和48针TQFP封装(sl11t-ac)。

这个文档中,除非说明,sl11包括两种封装

注释:

这个芯片不含CPU

SL11Hsl11h是cypress公司USB主/从设备的控制器,提供多种功能,这里,我们提供28针PLCC封装(sl11h)和48针TQFP封装(sl11ht-ac)。

这个文档中,除非说明,sl11h包括两种封装

注释:

这个芯片不含CPU

LSB最低位

MSB最高位

R/W读/写

PLL锁相环

RAM随机存储器

SIE串行接口

ACK命令正确应答

NAK没有应答

USBD通用串行总线驱动

SOF每一个帧的开始,它允许端点识别一个帧的开始,然后内部时钟与主机同步

CRC循环冗余码校验

HOST安装USB主控制器的主机

3.0参考

USB1.1的规格:

http:

//www.usb.org

4.0介绍

4.1块图表

SL811HS是一个嵌入式的主/从设备控制器,可以全速或低速与USB设备通信。

SL811HS可以接微处理器,微控制器,DSP,或者直接接到多种总线上如:

ISA,PCMCIA和其它。

SL811HS主机控制器遵从USB协议1.1,嵌入式USB主/从设备控制器SL811HS把USB串行接口和内部全速低速传输器合为一体。

SL811HS支持和运转在USB12Mbps的全速模式下,或者在1.5Mbps的低速模式下,SL811HS的数据口微处理器接口提供8bit位数的I/O或者双向的DMA,通过中断允许简单接口到标准的微处理器或控制器,如:

摩托罗拉,英特尔CPU或者其它。

SL811HS的内部,包含一个256字节用于控制寄存器和数据缓冲的随机存储器。

可用的封装有28针的PLCC(sl811hs)封装和48针的TQFP(sl811hst-ac)封装。

两者都运行在3.3伏的电压下。

I/O接口的逻辑兼容5伏电压。

4.2SL811HS主/从模式选择

SL811HS能工作于两种模式—主或从。

对于从设备模式的操作和规格,请参见SL811S的规格。

这个文件里只包含有主机模式的操作。

4.3特性

市场上唯一带基本微处理器总线接口的嵌入式系统USB主/从控制器。

支持全速(12Mbps)和低速(1.5Mbps)USB传输。

4.3.1USB规格遵从USB规格1.1

4.3.2CPU接口

在软件控制下运行为单个USB主或从设备

主机或从设备模式都有1.5Mbps的低速,12Mbps的全速

自动识别低速和全速设备

8位双向数据,I/O口(在从模式下支持DMA)

片上串行化接口和USB传输器

片上根HUB支持

256字节的内部随机存储器,乒乓操作

工作于12MHZ或48MHZ晶振或振荡器

接口兼容5伏电压

支持悬挂/恢复,唤醒,节电模式

自动产生SOF和CRC5/16

自动地址增加模式,保存存储器读/写循环

可以使用开发工具和驱动的源程序

向下兼容SL11H,包括针和功能

3.3伏电源,0.35微米CMOS技术

可使用28针PLCC封装(SL811HS)和48针TQFP封装(SL811HST-AC)

4.4数据口,微处理器接口

SL811HS微处理器接口提供8位双向数据通路,并用合适的控制线连到外部处理器或控制器。

控制线、片选、读/写输入开关和一个单独的地址线、A0、以及8位的数据线,支持程序编写和存储器映射的I/O设计。

访问存储器和控制寄存器的空间是一个简单的两步过程,需要先设A0=0后写地址,接下来设A0=1,再进行寄存器/存储器读/写周期。

另外,在从模式中,DMA双向接口通过握手信号可以作用,握手信号如:

DREQ,ACK,WR,RD,CS和INTR。

请参见SL811S说明

当nWR或nCS处于无效时,SL811HS写或读操作终止。

对于连接到SL811HS的装置,在WritenWR信号之前取消片选nCS,数据将一直保持并与指定的值相同。

因此,英特尔和摩托罗拉的CPU都能容易的与SL811HS相连工作而不需要外部的逻辑需求。

4.5中断控制器

SL811HS中断控制器提供一个输出信号(INTRQ),它能被一系列事件激活使USB激活。

控制寄存器和状态寄存器用来允许用户选择单个或多个事件,它会产生一个中断(INTRQ),让用户看到中断状态。

通过写适当的寄存器(地址为0X0d的状态寄存器)可以清除这些中断。

4.6缓冲存储器

SL811HS有256字节的内部缓冲存储器。

前面16字节的空间作为可编程I/O操作的控制和状态寄存器。

其余的空间用作数据缓冲区(最大240字节)

通过一个外部的微处理器,8位的数据总线和两种寻址模式可以存取寄存器和数据存储器。

两种寻址模式:

索引或者如果是使用用多元地址/数据线接口,直接存取。

索引寻址,首先,在A0地址线为低时写地址于设备,然后接下来的周期并且A0地址线为高电平被给于到指定的地址(读写)。

USB的事务路线自动的连到存储缓冲器。

控制寄存器用以设置存储缓冲器的指针和块大小。

4.6.1地址自动增加模式

SL811HS支持读或写周期的自动增加模式,A0模式。

在A0模式下,微控制器只设置地址一次。

在后来的数据读或写的存取中,内部的地址指针会前进到下一个数据的地址上。

4.6.1.1例子

在地址周期(已置A0=0)把0x10写到SL811HS(0x10为地址)

在数据周期(已置A0=1)把0x55写到SL811HS—>把0x55写到地址0x10

在数据周期(已置A0=1)把0xaa写到SL811HS—>把0xaa写到地址0x11

在数据周期(已置A0=1)把0xbb写到SL811HS—>把0xbb写到地址0x12

地址自动增加模式的优点是减少了SL811HS用于把数据写到/读出设备的读/写周期。

例如,用自动增加模式移动64字节的数据,对比64次的地址写周期和64次的数据周期,这种模式下,周期减少到1个地址写和64个读/写数据周期

4.7锁相环时钟发生器

12MHz或者48MHz的外部晶振都可用于SL811HS。

X1和X2引脚脚用于连接低开销的晶体电路到设备,如图表4-2和图表4-3。

在应用中如果外部的48MHz的时钟源可用,它可用来代替晶体电路来直接连到X1输入针。

当使用时钟时,X2针不用连接。

4.7.1典型的晶振需求

下面是一个“典型需求”的例子。

请注意这些规格是在标准的晶振值得到的,因此没有定制的值大。

如果这些晶振用在串联电路中,负载电容是不合适的。

负载电容在并联电路中是必需的。

12MHz晶振

最大频率:

±100ppm

工作温度范围:

0到70度

频率:

12MHz

频率在温度上的漂移:

±50ppm

串联电阻:

60欧

负载电容:

10pFmin

旁路电容:

7pFmax

驱动水平:

0.1-0.5mW

运行模式:

fundamental

48MHz晶振

最大频率:

±100ppm

工作温度范围:

0到70度

频率:

48MHz

频率在温度上的漂移:

±50ppm

串联电阻:

40欧

负载电容:

10pFmin

旁路电容:

7pFmax

驱动水平:

0.1-0.5mW

运行模式:

thirdovertone

4.8USB传输器

SL811HS中的传输器符合USB1.1规范。

传输器能够在USB全速(12Mbit)和低速(1.5Mbit)下发送和接收串行数据。

当接收部分由不同的接收器和两个单一末端接收器组成时传输器部分的驱动部分会有不同。

它的内部,传输器接口连接串行接口引擎SIE逻辑。

它的外部,传输器连接到USB的物理层。

5.0SL811HS寄存器

SL811HS的运行由16个内部寄存器控制。

内部一部分的RAM用于控制寄存器的空间,存取通过微处理器的接口。

寄存器为USB的事务,微处理器接口和中断提供控制和状态信息。

任何对控制寄存器0FH的写将把SL811HS全部特征位使能。

这是一个SL811HS的内部位把外部特征使能,在SL11H中不支持。

由于SL11H硬件向下兼容,这个寄存器不能被访问。

下面的一张表将展示SL811HS和SL11H的存储器图和寄存器图

SL11H和SL811HS

SL11H(十六进制)地址

SL811HS(十六进制)地址

USB-A主机控制寄存器

00H

00H

USB-A主机基地址

01H

01H

USB-A主机基长度

02H

02H

USB-A主机标识符,设备端点(写)/USB状态(读)

03H

03H

USB-A主机地址(写)/转移计数(读)

04H

04H

控制寄存器1

05H

05H

中断使能寄存器

06H

06H

保留寄存器

保留

保留

USB-B主机控制寄存器

保留

08H

USB-B主机基地址

保留

09H

USB-B主机基长度

保留

0AH

USB-B主机标识符,设备端点(写)/USB状态(读)

保留

0BH

USB-B主机地址(写)/转移计数(读)

保留

0CH

状态寄存器

0DH

0DH

SOF计数器LOW(写)/硬件版本寄存器(读)

保留

0EH

SOF计数器HIGH和控制寄存器2

保留

0FH

存储缓冲器

10H-FFH

10H-FFH

SL811HS中的寄存器主要分为两个主要部分。

bit一部分是USB控制寄存器。

这些寄存器为USB的事务和数据流的控制提供状态。

bit二部分为其它操作提供控制为状态。

5.1开机和复位的寄存器值

以下的寄存器当开机和复位时初始化为0:

USB-A/USB-B主机控制寄存器[00H,08H]

控制寄存器1[05H]

USB地址寄存器[07H]

实时数据设置/硬件修订/SOF低电平寄存器[0EH]

其它所有的寄存器在开机和复位时的状态未知,需要固件对他初始化

5.2USB控制寄存器

USB的通信和数据流用SL811HS的USBA-B控制寄存器。

SL811HS通过USBA或者USBB寄存器的设置可以与任何USB设备功能和特殊端点通信。

USBA-B主机控制寄存器通过“乒乓”排列来管理USB上的通道。

当USB的一个协议事务完成时,USB主机控制寄存器还提供一个中断到外部CPU或者微控制器。

上面表格展示了USB主机控制寄存器的两个组,A和B。

这两个寄存器允许重叠操作。

当一组参数设好之后,另一组就开始传输。

当一个到端点的传输完成时,下一个操作将被另一个寄存器组控制

注释:

在SL11H中,USB-B控制寄存器没有使用。

当SL811HS模式被初始化寄存器0FH使能之后,USB-B寄存器设置才能被使用。

SL811HS主机控制有2组各5个寄存器,映射在SL811HS的存储空间中。

它们的定义见下面的表格中

5.2.1SL811HS主机控制寄存器

SL11H和SL811HS的寄存器

SL11H(十六进制)地址

SL811HS(十六进制)地址

USB-A主机控制寄存器

00H

00H

USB-A主机基地址

01H

01H

USB-A主机基长度

02H

02H

USB-A主机标识符,设备端点(写)/USB状态(读)

03H

03H

USB-A主机地址(写)/转移计数(读)

04H

04H

USB-B主机控制寄存器

保留

08H

USB-B主机基地址

保留

09H

USB-B主机基长度

保留

0AH

USB-B主机标识符,设备端点(写)/USB状态(读)

保留

0BH

USB-B主机地址(写)/转移计数(读)

保留

0CH

5.2.2USB-A/USB-B主机控制寄存器[00H,08H]各位功能

位名称

功能

0

Arm

当设为1时允许传输。

当传输结束时,清0

1

Enable

当设为1时,允许传输到这个端点,当设为0时,事务被忽略。

如果Enable=1且Arm=0,这个端点将返回NAKs给USB事务

2

Direction

当设为1时,传输到主机;

设为0时,接收从主机传来的数据

3

Reserved

4

ISO

当设为1时,此端点允许同步模式

5

SOF

当为1时,同步SOF传输

6

DatatoggleBit

DATA0为0;DATA1为1

7

Preamble

当设为1时,一个preambletoken优先于低速包进行传输;当设为0时,preamblegeneration不可用

Bit3保留为将来使用

SL811HS用Bit5使在一个SOF包传输之后传输数据包使能。

此位设为1时,下一个被使能的包将在下一个SOF发送之后传输。

当设为0时,如果SIE空闲的话,下一个包将马上传输。

如果Bit7被设置了,SL811HS将自动的生成preamble包。

这一位仅在集线器发包给低速的设备时使用。

如果要与全速设备通信,这一位要设为0.

例如:

当SL811HS通过一个集线器与低速设备通信:

SL811HS的SIE应被设置为48MHz,也就是,寄存器05H的bit5应设为0。

寄存器0Fh的bit6应设为0,为全速DATA+和DATA-状态设置正确的极性。

Bit7,Preamble位,在主机控制寄存器中应被设置为1

当SL811HS直接和低速的设备通信时:

SL811HS,寄存器0H的bit5应设为1

寄存器0FH的bit6应设为1,设置DATA+和DATA-为低速极性

这个状态下,bit7忽略

5.2.3SL811HSUSB包传输的例子

SL811HS的存储器的设置如下:

03H-04H寄存器包含标识符PID,设备端点和设备地址

10H-FFH包含USB所需的数据

5.2.4SOF包的产生

SL811HS通过硬件自动的计算CRC5。

不需要外部固件为SL811HS产生CRC或SOF。

5.2.5USB-A/USB-B主机基地址[01H,09H]

USB-A/USB-B基地址用于USB的读写操作,它是一个指向SL811HS存储缓冲器的地址。

当转移数据从主机到设备时(OUT),USB-A和USB-B能在USB-A或USB-B主机控制寄存器中为设置ARM置优先级。

参见软件执行例子。

5.2.6USB-A和USB-B主机基长度[02H,0AH]

USB-A/B主机基寄存器包含在SL811HS和主USB外围设备之间传输的最大包长度。

本质上,它指定能被SL811HS传输的最大包长度。

基长度指定被发送的数据包的大小。

例如,在批量模式下,最大数据长度为64字节。

在ISO模式下,最大数据包长度为1023,因为SL811HS只有八位长度,在ISO模式下,用SL811HS的最大的数据包长度为255-16字节。

当主机基长度寄存器设为0时,0字节长度的包将被传输。

5.2.7USB-A/USB-B主机标识符,设备端点(写)/USB状态(读)[03H,0BH]

这个寄存器有二个模式。

当读的时候,这个寄存器提供包的状态,它包含已经被收到或传输了的与最后一个包相关的信息。

寄存器依下列各项被定义。

 

Bit位

Bit名称

功能

0

ACK

传送确认

1

Error

传送中探测到错误

2

Time-out

出现超时Time-out

3

Secquence

序列位。

0为DATA0,1为DATA1

4

Setup

1标识设置(setup)包

5

Overflow

溢出-超出接收器的最大长度

6

NAK

设备返回NAK

7

STALL

设备设置STALL位

当写的时候,这个寄存器为SIE引擎提供下次事务需要的PID和端点信息。

所有16个端点能够被SL811HS寻址。

D7

D6

D5

D4

D3

D2

D1

D0

PID3

PID2

PID1

PID0

EP3

EP2

EP1

EP0

PID3-04-bitPIDField(见下表)

EP3-04-bit端点值

PIDTYPE

D7-D4

SETUP

1101(DH)

IN

1001(9H)

OUT

0001(1H)

SOF

0101(5H)

PREAMBLE

1100(CH)

NAK

1010(AH)

STALL

1110(EH)

DATA0

0011(3H)

DATA1

1011(BH)

5.2.8USB-A/USB-B主机传输计数器(读),USB地址(写)[04H,0CH]

这个寄存器有两个功能。

当读的时候,在包被传输时,这个寄存器包含剩下的字节数。

如果溢出发生了,也就是,从USB设备接收到的包比指定的要大些,包状态寄存器的一位将被设置以标志这个状态。

当写的时候,这个寄存器将包含主机想要通信的USB设备地址。

D7

D6

D5

D4

D3

D2

D1

D0

0

DA6

DA5

DA4

DA3

DA2

DA1

DA0

DA6-DA0设备地址,最多127个设备

DA7保留应设为0

 

5.3SL811HS控制寄存器

SL11H和SL811HS的寄存器名

SL11H地址(十六进制)

SL811HS地址(十六进制)

控制寄存器1

05H

05H

中断允许寄存器

06H

06H

保留寄存器

07H

07H

状态寄存器

0DH

0DH

SOF计数器LOW(写)/硬件版本寄存器(读)

0EH

0EH

SOF计数器HIGH和控制寄存器2

保留

0FH

存储缓冲区

10H-FFH

10H-FFH

5..3.1控制寄存器1,地址[05H]控制USB传输操作使能。

见下表

位名字

功能

0

SOF

若设为1,硬件可自动产生SOF;0则不能

1

保留

2

保留

3

USB引擎复位

设为1,USB引擎复位;平时则设为0

4

J-K状态强制

5

USB速度

全速为0;低速为1

6

悬挂

1为允许;0为不允许

7

保留

开机时,这个寄存器将全部置0

在SL811HS之中,bit0位用来允许硬件自动产生SOF(在SL11H中,bit0位没有使用)

5.3.2J-K程序状态[控制寄存器05H中的bit3和bit4]

J-K强制状态控制和USB引擎复位用来产生USB复位条件。

强制K状态用来外围设备的远程唤醒,重新开始和其它模式。

开机时,这两位被设为0

bit4位

bit3位

功能

0

0

正常的运转模式

0

1

强制USB复位,DATA+和DATA-被设为0

1

0

强制J状态,DATA+设为高,DATA-设为低用于低速

1

1

强制K状态,DATA+设为低,DATA-设为高用于高速

5.3.3低速/高速模式[bit5控制寄存器05H]

SL811HS被设计来与全速或低速设备通信。

开机时,bit5被设为0,也就是,全速。

与低速设备通信时有两种情况。

当一个低速的设备直接连到SL811HS时,寄存器05Hbit5应被设为1且寄存器0FH的bit6,输出颠倒,应被设为1来改变D+和D-的极性。

当一个低速设备通过一个HUB连接到SL811HS时,寄存器05H的bit5应设为0且寄存器0FH的bit6应被设为0来为全速设备保持D+和D-的极性。

另外,确保USB-A/USB-B主机控制寄存器[00H,08H]被设为1

5.3.4节电模式[控制寄存器05H的bit6]

当bit6(悬挂)设为1时,传输传输器的电源将被关掉,内部随机存储器将进入悬挂模式,内部的时钟也将不可用。

注意。

USB总线上的任何动作(也就是,K状态,等等)将恢复正常操作。

为了从CPU这边重新开始正常操作,应该做一个数据写周期(也就是,A0为数据写周期设为1)

5.3.5中断允许寄存器,地址[06H]

SL811HS提供一个中断请求输出,它能工作于一系列的条件下。

中断允许寄存器允许用户选择条件来产生一个中断给外部CPU。

它提供一个单独的中断状态寄存器。

用它来检测条件来发动中断。

(参见中断状态寄存器)当一位被设为1时,相应的中断就允许了。

位名字

功能

0

USB-A

USB-A完成中断

1

USB-B

USB-B完成中断

2

保留

3

保留

4

SOF定时器

当为1时,允许在SOF1ms内中断

5

插入/移除

设备插入/移除检测

6

设备检测/重启

允许设备检测/恢复中断

Bit0-1位用来作为USBA/B控制器中断

Bit4位用来允许/禁止SOF定时器。

为了利用这个位的功能,寄存器05H的bit0位必须设为允许且SOF计数器0EH和0FH必须被初始化。

Bit5位用来允许/禁止设备插入/移除中断

当寄存器05H的bit6位设为1时,这个寄存器bit6位将允许恢复探测(ResumeDetect)中断。

另外,这一位用于使能设备检测状态,就如中断状态寄存器位定义的那样。

5.3.6USB地址寄存器,保留,地址[07H]

这个寄存器为从设备操作保留的设备USB地址。

不能由用户写入。

5.3.7中断状态寄存器,地址[0DH]

提供中断状态的读/写寄存器。

通过写这个寄存器可以清除中断。

为了清除一个特殊的中断,寄存器中相应位设为1

位名字

功能

0

USB-A

USB-A完成中断

1

USB-B

USB-B完成中断

2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2