CN103678230B - 一种低速usb设备外围接口端点的扩展方法 - Google Patents
一种低速usb设备外围接口端点的扩展方法 Download PDFInfo
- Publication number
- CN103678230B CN103678230B CN201310509313.5A CN201310509313A CN103678230B CN 103678230 B CN103678230 B CN 103678230B CN 201310509313 A CN201310509313 A CN 201310509313A CN 103678230 B CN103678230 B CN 103678230B
- Authority
- CN
- China
- Prior art keywords
- sie
- end points
- endpoint
- usb device
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种低速USB设备外围接口端点的扩展方法,包括:USB设备串行接口引擎SIE中增设虚拟端点及用于区分发送端点与虚拟端点的标识位电路;使发送端点与虚拟端点的端点FIFO共用;使发送端点与虚拟端点的发送配置寄存器及USB状态控制寄存器位共用;使发送端点与虚拟端点的相关管道控制逻辑共用。在USB设备固件中设立设备固件区分所述发送端点与虚拟端点的软件标识位。本发明提供的低速USB设备外围接口端点的扩展方法,提高了USB设备的应用范围。
Description
技术领域
本发明涉及USB设备技术领域,特别涉及一种低速USB设备外围接口端点的扩展方法。
背景技术
低速USB设备的串行接口引擎SIE由寄存器组及发送通道、接收通道、管道控制逻辑构成;低速USB设备的串行接口引擎SIE的寄存器组中,除了特殊的由SIE硬件逻辑产生的寄存器状态位的写外,USB设备固件都可以对寄存器组位进行读、写访问;USB设备固件通过与SIE通讯逻辑(管道控制逻辑部分及其它设备逻辑)、对寄存器组位的读写访问,实现USB设备固件通讯事务过程的处理。传统的低速USB设备有两个端点:控制端点(端点0)和发送端点(端点1),端点0和端点1各对应有一个8字节的端点0FIFO和端点1FIFO,串行接口引擎SIE发送和接收数据都要通过端点FIFO。USB设备地址寄存器用于存放主机分配给设备的USB地址;USB状态控制寄存器用于控制和记录串行接口引擎SIE工作过程中的特殊事件和状态及被访问的端点。端点0的接收状态寄存器记录端点0的接收状态;端点0的发送配置寄存器0控制端点0FIFO上的数据发送;端点1的发送配置寄存器控制端点1FIFO上的数据发送。来自于USB总线的输入信号经过物理协议层解析产生输入信号NRZI_IN,串行接口引擎SIE中的管道时序控制电路控制接收通道对输入信号NRZI_IN的处理过程,存储状态到USB端点0接收状态寄存器及USB状态控制寄存器,成功的数据接收将存储接收到的数据到USB端点0FIFO,并产生相应的与USB设备固件通讯逻辑;USB设备固件解析接收到的信息,与USB设备串行接口引擎SIE通讯。串行接口引擎SIE发送端点0FIFO的数据时,USB设备固件通过写USB端点0的发送配置寄存器0及USB状态控制寄存器位的内容,产生端点0发送数据的管道时序控制,通过发送通道将存储在端点0FIFO中端点0的数据输出到NRZI_OUT信号线上。SIE发送端点1的数据时,USB设备固件通过写USB端点1的发送配置寄存器及USB状态控制寄存器位的内容,产生端点1发送数据的管道时序控制,通过发送通道将存储在端点1FIFO中端点1的数据输出到NRZI_OUT信号线上;NRZI_OUT信号经USB物理协议层解析,输出到USB总线。两个端点的低速USB设备数据传输的数据量受到一定限制,满足不了所有低速USB设备应用的需求。
发明内容
本发明所要解决的技术问题是提供一种在节约硬件结构基础上提高低速USB设备数据传输的数据量的低速USB设备外围接口端点的扩展方法。
为解决上述技术问题本发明提供了一种低速USB设备外围接口端点的扩展方法,包括:在所述USB设备串行接口引擎SIE硬件结构中增设虚拟端点及用于区分发送端点与所述虚拟端点的标识位电路;在所述USB设备固件中设立用于设备固件区分所述发送端点与虚拟端点的软件标识位;在所述USB设备串行接口引擎SIE硬件结构中使所述发送端点与虚拟端点的端点FIFO共用;在所述USB设备串行接口引擎SIE硬件结构中使所述发送端点与虚拟端点的发送配置寄存器及USB状态控制寄存器位共用;在USB设备串行接口引擎SIE硬件结构中使发送端点与虚拟端点共用管道控制逻辑。
进一步地,所述虚拟端点为USB设备串行接口引擎SIE硬件结构中增设的一个端点信号;所述发送端点及虚拟端点的标识位电路是所述USB设备串行接口引擎SIE寄存器组的一个寄存器位,所述USB设备固件访问所述寄存器位。
进一步地,所述发送端点与虚拟端点的端点FIFO为所述USB设备串行接口引擎SIE中的一个8字节数据存储寄存器。
进一步地,所述发送端点与虚拟端点的发送配置寄存器及USB状态控制寄存器分别为所述USB设备串行接口引擎SIE寄存器组的一个寄存器。
本发明提供的低速USB设备外围接口端点的扩展方法,通过增设虚拟端点及区分发送端点与虚拟端点的标识位电路,配置所述发送端点与虚拟端点共用发送端点与虚拟端点的端点FIFO、发送端点与虚拟端点的发送配置寄存器及USB状态控制寄存器位、发送端点与虚拟端点的相关管道控制逻辑。以及增设USB设备固件中的设备固件区分所述发送端点与虚拟端点的软件标识位,有效地实现了扩展通讯端点的USB设备接口设计,提高了USB设备的数据传输的数据量,进而提高USB设备的应用范围;本发明提供的一种低速USB设备接口的实现方法,可以采用标准CMOS工艺实现,可以在各种CMOS集成电路(如PC外设芯片、消费电子芯片和通信产品芯片)中使用。
附图说明
图1为本发明实施例提供的低速USB设备串行接口引擎SIE原理图。
图2为本发明实施例提供的SIE中两个设备端点共用一个管道的实现原理图。
图3为本发明实施例提供的端点1与虚拟端点标识位寄存器电路实现例逻辑图;
图4为本发明实施例提供的端点1与虚拟端点的控制组合逻辑图。
具体实施方式
通用串行总线USB(Universal Serial Bus)技术是一种在主计算机与主计算机连接的多个不同类型外设之间进行数据交换的线缆型总线,USB实现了计算机通讯集成系统。基于低速USB设备,本发明实施例提供了一种低速USB设备外围接口端点的扩展方法,包括:
步骤10:在USB设备串行接口引擎SIE中增设虚拟端点及发送端点与所述虚拟端点的标识位电路。虚拟端点是USB设备串行接口引擎SIE中增加的一个端点信号,端点1(即发送端点,下同)与虚拟端点的标志位电路用于区别端点1及虚拟端点共用管道的时序控制,参见图3,标识位电路(标识位为nENDP1)设计例,DATA为数据总线的一个数据信号,标识位寄存器的写信号WR由0跳变为1(即上升)时,写数据DATA到nENDP1,并保持到下一个写信号上升的到来;读出信号RD为1时,输出标志信号nENDP1到数据线DATA上。在USB设备串行接口引擎SIE中增设虚拟端点、端点1与虚拟端点的标识位电路以实现在USB设备串行接口引擎SIE中端点1和虚拟端点共用一个管道设计的标识逻辑,端点1与虚拟端点的标识位电路是USB设备串行接口引擎SIE寄存器组的一个寄存器位,USB设备固件可访问该标识位。
步骤20:在USB设备固件中设立用于设备固件区分发送端点与虚拟端点的软件标识位。
步骤30:在USB设备串行接口引擎SIE中定义端点1与虚拟端点共用原端点1的端点FIFO,用于USB设备中端点1和虚拟端点存取数据的共用。端点1与虚拟端点的端点FIFO为USB设备串行接口引擎SIE中的一个8字节数据存储寄存器。本设计中扩展的虚拟端点与端点1共用1组端点FIFO。
步骤30:在USB设备串行接口引擎SIE中定义端点1与虚拟端点共用原端点1的发送配置寄存器及USB状态控制寄存器位,用于端点1及虚拟端点的数据发送控制共用。端点1与虚拟端点所共用的发送配置寄存器为USB设备串行接口引擎SIE寄存器组的一个8位寄存器。端点1与虚拟端点所共用的USB状态控制寄存器位为USB设备串行接口引擎SIE寄存器组中的寄存器位。本设计中端点0(即控制端点,下同)配有发送配置寄存器0,端点1及虚拟端点共用发送配置寄存器1。
步骤40:在USB设备串行接口引擎SIE硬件结构中使发送端点与虚拟端点共用原发送端点的管道控制逻辑;用于实现端点1与虚拟端点的共用管道控制。通过虚拟端点、发送端点、发送端点与所述虚拟端点的标识位电路及管道控制信号的逻辑组合,产生发送端点与所述虚拟端点都能起作用的管道控制信号,使能控制原发送端点的管道控制逻辑,实现共用管道控制。
步骤60:在所述USB设备固件中设立设备固件区分端点1与虚拟端点的软件标识位,端点1与虚拟端点的软件标识位为USB设备固件内容,用于所述USB设备固件通讯事务程序处理中区别设备固件中端点1和虚拟端点的内容。
本发明实施例提供的低速USB设备外围接口端点的扩展方法,参见图1,扩展的USB设备串行接口引擎SIE设计中,在已有2端点USB设备串行接口引擎SIE硬件结构的基础之上,利用增设虚拟端点(标志信号为EP2)及端点1与虚拟端点的标识位电路来实现USB设备串行接口引擎SIE硬件结构中的虚拟端点的建立。图2示意了端点1、虚拟端点(标志信号为EP2)共用一个管道增加的组合控制功能的实现;虚拟端点(标志信号为EP2)与端点1(标志信号为EP1)的信号通过或逻辑组合生成信号EP1_2,信号EP1_2用来替代原端点1的端点FIFO控制信号及原端点1管道控制逻辑中的端点1控制信号,实现端点1和虚拟端点共用原端点1的端点FIFO及原端点1管道时序控制电路。参见图4,EP1_TX是原端点1发送控制位(1有效),端点1与虚拟端点的标识位信号nENDP1与端点信号EP1及虚拟端点信号EP2的逻辑组合生成信号EP1_EP2_TX,信号EP1_EP2_TX用于替代原来信号EP1_TX(1有效),使能控制原EP1的管道时序控制逻辑,硬件上实现了端点1、虚拟端点发送数据共用一个端点管道。上述中的信号nENDP1为“0”时表示端点1与虚拟端点的端点FIFO为端点1的数据;当信号nENDP1为“1”时表示端点1与虚拟端点2的端点FIFO为端点2的数据。本发明实施例中,端点1、虚拟端点在USB设备串行接口引擎SIE中端点数据处理共用的实现如下:虚拟端点(标志信号为EP2)与端点1(标志信号为EP1)的信号通过或逻辑组合生成信号EP1_2(1有效),用于作为端点1与端点2的端点FIFO及管道时序控制逻辑中的原端点1控制信号的输入,实现端点1与虚拟端点共用原端点1的端点FIFO及原端点1管道时序控制电路。发送控制位EP1_TX为1时,若信号EP1为“1”时,且当端点1与虚拟2的标识位信号nENDP1为“0”时,产生信号EP1_EP2_TX为“1”,发送端点1的数据;若EP2为“1”时,且当端点1与虚拟端点的标识位信号nENDP1为“1”时,产生信号EP1_EP2_TX为“1”,发送端点2的数据,硬件上实现了端点1、虚拟端点的数据发送共用一个端点管道。USB设备固件中设备通讯配置协议支持3端点,从而实现了USB设备端点的扩展。
参见图1,来自于USB总线的输入信号经过物理协议层解析产生输入信号NRZI_IN,串行接口引擎SIE中的时序控制器控制接收通道对输入信号NRZI_IN的处理过程,存储USB设备地址到USB设备地址寄存器,存储数据到端点0FIFO,存储状态到端点0接收状态寄存器及USB状态控制寄存器。串行接口引擎SIE发送端点0的数据时,USB设备固件通过写USB端点0的发送配置寄存器0及USB状态控制寄存器的内容,产生端点0发送数据的管道时序控制,通过发送通道将存储在端点0FIFO中端点0的数据输出到NRZI_OUT信号线上。SIE发送端点1或虚拟端点的数据时,USB设备固件通过写端点1与虚拟端点的标识位nENDP1及端点1与虚拟端点的发送配置寄存器1、USB状态控制寄存器的内容,产生端点1与虚拟端点的发送数据的管道时序控制,通过发送通道将存储在端点1FIFO中对应端点的数据输出到NRZI_OUT信号线上;NRZI_OUT信号经USB物理协议层解析,输出到USB总线。串行接口引擎SIE在接收、发送数据时,会产生相应的与设备固件通讯的逻辑信号。
本发明实施例中,设备固件中设立设备固件区分端点1与虚拟端点的软件标识位,为USB设备内固化程序中的软件内容,用于USB设备固件进行通讯事务程序处理过程中区别设备固件中端点1、虚拟端点的内容,完成USB设备接口虚拟端点扩展后的端点事务通讯。
本发明实施例中,USB设备固件支持3个端点的事务处理,在处理端点1与虚拟端点的事务时,通过端点1与虚拟端点软件标识位区分事务处理端点数据,发送对应端点的数据至SIE中端点1与虚拟端点的端点FIFO,完成区分端点1与虚拟端点的端点事务处理,实现USB设备扩展为3端点后,USB设备固件与主控制器的正确通讯。
本发明实施例提供的低速USB设备外围接口端点的扩展方法,有效地实现了支持3端点通讯的USB设备接口设计,进而提高USB设备的应用范围;本发明提供的一种低速USB设备接口的实现方法,可以采用标准CMOS工艺实现,可以在各种CMOS集成电路(如PC外设芯片、消费电子芯片和通信产品芯片)中使用。
本发明实施例具有以下有益效果:
1、本发明实施例提供的一种低速USB设备接口的一种实现方法,通过在原支持2端点的低速USB串行接口引擎结构基础上,增加一个端点的事务处理,有效地实现了采用扩展的虚拟端点通讯的USB设备接口设计,进而在节约硬件结构基础上提高了低速USB设备的应用范围。
2、本发明实施例提供的低速USB设备外围接口端点的扩展方法,可以采用标准CMOS工艺实现,可以在各种CMOS集成电路(如PC外设芯片、消费类电子芯片、通讯产品芯片)中使用,具有很高的实用价值。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (3)
1.一种低速USB设备外围接口端点的扩展方法,其特征在于,包括:在所述USB设备串行接口引擎SIE硬件结构中增设虚拟端点及用于区分发送端点与所述虚拟端点的标识位电路;在所述USB设备固件中设立用于区分所述发送端点与虚拟端点的软件标识位;在所述USB设备串行接口引擎SIE硬件结构中使所述发送端点与虚拟端点的端点FIFO共用;在所述USB设备串行接口引擎SIE硬件结构中使所述发送端点与虚拟端点的发送配置寄存器及USB状态控制寄存器位共用;在USB设备串行接口引擎SIE硬件结构中使发送端点与虚拟端点共用管道控制逻辑;
所述虚拟端点为USB设备串行接口引擎SIE硬件结构中增设的一个端点信号;所述发送端点及虚拟端点的标识位电路是所述USB设备串行接口引擎SIE寄存器组的一个寄存器位,所述USB设备固件访问所述寄存器位。
2.根据权利要求1所述的方法,其特征在于,所述发送端点与虚拟端点的端点FIFO为所述USB设备串行接口引擎SIE中的一个8字节数据存储寄存器。
3.根据权利要求1所述的方法,其特征在于,所述发送端点与虚拟端点的发送配置寄存器及USB状态控制寄存器分别为所述USB设备串行接口引擎SIE寄存器组的一个寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310509313.5A CN103678230B (zh) | 2013-10-25 | 2013-10-25 | 一种低速usb设备外围接口端点的扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310509313.5A CN103678230B (zh) | 2013-10-25 | 2013-10-25 | 一种低速usb设备外围接口端点的扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678230A CN103678230A (zh) | 2014-03-26 |
CN103678230B true CN103678230B (zh) | 2016-09-28 |
Family
ID=50315846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310509313.5A Expired - Fee Related CN103678230B (zh) | 2013-10-25 | 2013-10-25 | 一种低速usb设备外围接口端点的扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678230B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883645B (zh) * | 2022-11-24 | 2024-07-12 | 百富计算机技术(深圳)有限公司 | 通信配置方法、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3609051B2 (ja) * | 2001-11-21 | 2005-01-12 | Necエレクトロニクス株式会社 | Usb−hubデバイスおよびその制御方法 |
US6959350B1 (en) * | 2002-06-28 | 2005-10-25 | Cypress Semiconductor Corp. | Configurable USB interface with virtual register architecture |
US7222201B2 (en) * | 2003-01-06 | 2007-05-22 | Plx Technology, Inc. | Virtual endpoint for USB devices |
US7073010B2 (en) * | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
-
2013
- 2013-10-25 CN CN201310509313.5A patent/CN103678230B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103678230A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271335B (zh) | 一种多通道数据源ddr缓存的fpga实现方法 | |
CN101609442B (zh) | 一种接口自适应的方法及其装置、系统 | |
CN101504633A (zh) | 一种多通道dma控制器 | |
CN103077148B (zh) | 一种基于pcie的主机通讯方法和主机 | |
CN103999159A (zh) | 用于对存储器响应进行排序的存储器设备、计算机系统及方法 | |
CN103677671A (zh) | 一种电口模块的数据读写方法和系统 | |
CN104636301B (zh) | 一种基于pci‑e接口的大规模plc高速背板总线系统 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN101599004A (zh) | 基于fpga的sata控制器 | |
CN110941582B (zh) | 一种bmc芯片的usb总线结构及其通信方法 | |
CN104991880B (zh) | 一种基于pci‑e接口的fc‑ae‑asm通讯板卡 | |
CN102841869A (zh) | 一种基于fpga的多通道i2c控制器 | |
CN105138485A (zh) | 一种串行总线地址管理装置 | |
CN103997448A (zh) | 基于物理层芯片进行传输模式的自动配置方法和系统 | |
CN204256732U (zh) | 基于PCI-Express接口的高速数据传输装置 | |
CN105373511A (zh) | 一种与多个光模块可同时通信的装置和方法 | |
CN107436851A (zh) | 串行外设接口四线隔离系统及其控制方法 | |
CN106980587A (zh) | 一种通用输入输出时序处理器及时序输入输出控制方法 | |
CN103678230B (zh) | 一种低速usb设备外围接口端点的扩展方法 | |
CN101901199A (zh) | 一种数据透明传输的方法及系统 | |
CN104038550B (zh) | 数据通信方法及其装置、存储系统 | |
CN108255760A (zh) | 一种多路i2c系统、及数据读写方法 | |
CN202282789U (zh) | 一种伺服驱动器的soe通信转换卡 | |
CN107506318A (zh) | 一种软件模拟串行数据传输装置 | |
CN106528475A (zh) | 一种支持单八路和双四路动态分区的多路计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160928 Termination date: 20211025 |