通用串行总线装置控制器制造方法及图纸

技术编号:2886351 阅读:180 留言:0更新日期:2012-04-11 18:40
一种通用的USB控制器,它包含一个用来与一主机相连的串行接口引擎(140)。该SIE能够在适合于装置重新引导状态下,仿真断开/连接顺序。控制器还包括用来保持装置的多个端点的轨迹的控制存储器(110)。FIFO(130)提供每一个端点与主机之间的数据传送。状态机(120)对每一端点提供与主机的交互处理顺序。在较佳实施例的一种变异形式中,还包括一个第二FIFO(130),以提供附加的缓冲能力。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总的涉及用于与个人计算机一起使用的的装置的装置控制器,尤其涉及按照“通用串行总线”规范工作的装置的装置控制器。
技术介绍
通用串行总线(USB)规范是一种工业上规定的接口,用来将外围设备与个人计算机的系统总线相连。USB是一个单个的接口装置,可以应用于各种各样的外围设备,包括鼠标器、键盘、显示器、打印机、大容量存储驱动器、调制解调器、传真机等。它使制造成本降低,并使个人计算机用户能够更容易地对其系统进行配置。USB采用一种令牌总线结构,这与其他类似的结构如令牌环网络有些类似。USB主机在总线上广播令牌,而与令牌中所包含的地址匹配的USB装置通过将数据传送到主机或从该主机接受数据。为了使得具有多种多样的功能,USB装置可以支持多个逻辑通道,与主机进行通信。照USB技术规范中的说法,把这样一种逻辑通道称作是“管道(pipe)”。每一管道在主机中驻留的软件客户和装置中所定义的端点之间提供了一条单向的数据流。装置中所实现的功能在各个端点处从主机接收数据,并通过在它们各个的端点处进行写入而将数据发送到主机。附图说明图10中示意绘出了USB装置10。在一对差分(differentially)驱动信号线D+、D-上进行数据交换。串行接口引擎(engine)(SIE)12执行数据包的产生和译码、NRZI转换、CRC的产生和确认,以及位填充,并且所有这些工作都是按照USB技术规范进行的。控制器14处理用于各种事务的数据流,即,IN(输入)、OUT(输出)和SETUP(建立)。如图11A和11B所示,所说的事务包含三个数据包TOKEN(令牌)、DATA(数据)和HANDSHAKE(握手联络)。总线的事物从主机发出TOKEN型的数据包开始,它包含一个PID(数据包标识符)字段、标识该装置的地址字段和标识装置中的通道的端点字段。跟在TOKEN型数据包的后面是一个DATA型的数据包,它的数据流方向是从被访问的装置到主机(图11A),或者是从主机到被访问的装置(图11B)。在后一种情况下,将装置所接收的数据存储在与TOKEN数据包中所标识的端点相对应的先进先出装置(FIFO)中。数据的接收者接着向数据的发送者发送一个HANDSHAKE协议。回到图10,典型的USB装置包括一组FIFO16,装置软件18所支持的端点E1-En中的每一个有一个FIFO(FIFO1-FIFOn)。例如,(英特尔)Intel_x8930Ax USB微控制器芯片定义了六个端点,每一个端点有一个相关的发送FIFO和接收FIFO。Cypress CY7C634xx族的控制器可以支持两种装置地址“A”和“B”。装置地址“A”有三个相关的端点,而装置“B”有两个相关的端点,每一个端点有一个相应的FIFO。Xilinx_控制器可以支持三个端点,每一个端点有一个在芯片上的FIFO。更灵活的方法是采用CAE技术,它提供了一种用于FPGA的功能核(function core)。该功能核的特征是,用户可以定义端点的个数,并且每一端点的FIFO有一个可由用户定义的深度。继续参见图10,,装置软件18提供了装置的功能性能力。每一种功能与其相关的端点E1-En进行数据交换、通过与这些端点对应的FIFO接收和发送数据。保留另一特定的端点端点0,用以访问装置的结构配置、状态和控制信息。上述设计有一个共同的特征,即,装置中的端点数是固定不变的。特别是当采用CAE技术功能核时尤其是这样。尽管CAE功能核可以由用户来定义端点数,但一旦付诸对硅的设计,那么这个个数就是固定的了。在给定的设计中增加端点数使得这些设计方法具有另外一些缺点,即,因为每一个端点需要一个FIFO,所以,因支持FIFO而使硅器件的占用面积过高。对于Intel_的设计尤其是这样,这里,每一个端点与两个FIFO关联,分别用于接收和发送。现在需要的是一种控制器,这种控制器一旦在完成设计和测试以后,能够支持装置中任何数量的端点,最大可达USB规定的16个。要求控制器能够有效地使用硅,并且同时,可以配置用于任何数量的端点。USB的另一个特征是支持人们称之为总线枚举(bus enumeration)的技术,其中,主机在装置与总线相连以后,便对装置进行识别和配置。当装置在由主机检测到以后,系统软件会询问该装置、确定其容量、分配装置地址,并对装置进行配置。尽管USB给出了一种情况,即,某一装置不再能与主机进行通信,但要求能完全重新引导该装置,从而就象用户刚刚将该装置与主机相连时那样主机能够重新配置该装置。专利技术概述本专利技术是一种按照通用串行总线(USB)技术规范进行装置操作的装置和方法。本专利技术包括从主机接收数据包(packet)的装置和一个存储接收的数据包中所含有的数据的FIFO(FIFO)。数据包控制存储对所接收的TOKEN型数据包中所包含的端点进行识别,该端点称为当前端点。因此,顺序存入FIFO中的数据与当前端点相关联。在接收到第二个TOKEN包以后,该数据包中所包含的端点就变成了新的当前端点。所以,顺序存入FIFO的数据就变成与第二端点识别器(identifier)相关联了。采用一个单个的FIFO来支持两个或更多个端点,硅片的面积被最小化了。在另一个实施例中,有一个第二个FIFO。将装置所支持的端点分配到第一FIFO或第二FIFO。其优点是减轻了控制器的处理加载负担,并且同时使构成FIFO所需的硅片面积受到了限制。由于本专利技术中所使用的FIFO的个数小于所支持的端点数,每一FIFO可以作得比由相应的FIFO支持每一个端点时的情况更深。本专利技术采用一个状态机来控制主机和装置之间所有USB事务类型的时序控制。单个的通用状态机使得装置端点能够支持每一种类型的数据传送,即,控制、批量数据处理、中断和同步传送。本专利技术的另一个方面是提高了装置的运行速度。这是在完成数据请求的处理前通过访问FIFO来实现的。本专利技术的装置控制器还包括一个与主机连接端口,它具有对拆卸和安装装置进行仿真的装置。它使得被锁定的装置能够自动重新启动总线枚举,从而使主机能够对装置进行重新配置,就象是它刚刚被用户拆下并重新安装上,而实际上是不需要用户这样做的。附图简述图1是按照本专利技术的控制器。图2A-2C是控制器的方框图。图3A-3C是PCS的寄存器结构。图4A-4I是USB定义的交互事务处理图。图5A-5D是协议状态机的状态图。图6是仿真安装/拆卸发生的电路。图7是主机/装置交互事务的典型的时序。图8是事务的数据序列。图9是该较佳实施例的一种变异。图10示意描述了一个典型的现有技术的USB控制器。图11A和11B是通用的(generic)的USB定义数据传送。实施本专利技术的最佳方式参见图1,USB控制器100用于计算机外围设备(装置)中,如用于识别器、键盘、大容量存储装置、数码照相机等,它们均在符合USB的总线上进行信息交换。控制器使USB主机单元和给定装置中所定义的多个端点之间的交互处理同步化。按照本专利技术,控制器100包括存储装置的USB状态并且在数据的传送期间提供控制的协议控制和状态(PCS)单元110。USB数据包的传送是通过与数据输出和握手联络(DOH)模块150一起工作的串行接口引擎(SIE)140进行的。协议状态机(PSM)120对装置与该装置本文档来自技高网...

【技术保护点】
一种按照通用串行总线(USB)操作外围设备的控制器,其特征在于,它包含: 接收数据包的装置; 存储接收的数据包中所包含的数据的FIFO(FIFO),所述FIFO与至少两个端点相关联;以及 数据包控制存储器,用来存储接收的数据包的端点字段中所含有的标识符作为当前端点,其中,所述FIFO中存储的数据与所述当前端点对应; 从而所述FIFO用来保持用于所述至少两个端点的数据。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:M西德帕
申请(专利权)人:爱特梅尔股份有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1