专利名称:Usb鼠标与u盘集成的复合设备的制作方法
技术领域:
本发明涉及数码消费类产品领域,特别是USB鼠标与U盘集成的复合设备。
背景技术:
目前实现U盘兼USB鼠标的方案都需要三颗芯片, 一颗USB鼠标控制芯片, 一颗U盘控制芯片和一颗USB HUB控制芯片,鼠标和U盘的功能由各自的控制芯 片完成,USBHUB芯片负责把二者结合在一起,即将USB鼠标和U盘的2个接口结 合成一个接口,我们称这种实现方法为"三芯片"方案。
"三芯片"方案存在以下不足之处使用芯片数据多(3块芯片),产品成本 高,系统连线复杂,影响系统性能,兼容性不好控制等等,而芯片数目多引起的 主要缺点就是成本高、集成度低。
每个USB设备可以有多个接口类型,每个接口类型可以单独完成一个功能。 例如,USB鼠标,它是一个USB设备,同时它也只有一个接口类型,即人体输入学 设备类型(HID); U盘也是一个USB设备,同时它也只有一个接口类型,即海量存 储设备类型(MASS STORAGE)。 USB协议定义了很多种接口类型(即设备类型),包 括USB鼠标、USB摄相头、USB打印机、USB闪存盘、USB监视器等等。具备两个 或两个以上接口类型的USB设备,称为USB复合设备。正是从这一点出发,本申 请人提出一种新的方法,即将U盘和鼠标两种接口类型集成到一个设备中,来取 代传统的"三芯片"方案。
"三芯片"方案的系统结构如图1所示,USB鼠标控制芯片的总体结构,包括 有负责USB物理通道的PHY和串行接口引擎SIE,负责数据流通道的控制端点 和中断端点,及CPU和其他控制逻辑。
如图2ff示,U盘控制芯片的总体结构,与USB鼠标控制芯片的主要不同点是 没有中断端点,取而代之的是一个Bulk端点(块传输端点)。鼠标和U盘的数据 传输方式不同,鼠标的数据是间断性的,不移动鼠标就没有数据传输,所以使用 的数据端点是中断端点;U盘的数据连续且大量, 一旦启动传输要求传完为止,所 以使用的是Bulk端点。
如图3所示,USB HUB (集线器)控制芯片总体结构,这里的端口 A和端口 B 分别接鼠标控制芯片和U盘控制芯片的USB接口,将两个USB接口集结成一个。HUB的主要功能就是实现接口的扩展,使设备和主机的接口简单化,即将鼠标和U 盘两个接口简化成一个,方便使用。
所以"三芯片"系统结构太复杂,使用不方便,芯片数目多成本高不利于市场 推广。
发明内容
本发明的目的是提供实现USB鼠标与U盘复合设备的方法,不仅实现了 USB 鼠标与U盘的系统集成,而且成本较低,使用方便,有很可观的经济效益。
USB鼠标与U盘集成的复合设备,其特征在于设置有一块芯片,包括PHY(USB 物理接口模块)和SIE (USB串行数据引擎模块)、用于数据流通道的控制端点及 CPU和控制逻辑、用于数据流通的USB中断端点和Bulk端点。
所述PHY用于接受USB连接线传送过来的串行数据;所述SIE用于把串行数 据转换成并行数据。
对于"三芯片"方案,PHY和SIE上只会有一种数据,鼠标的数据或者U盘的 数据,而"单芯片"方案中PHY和SIE上就会有两种数据,中断端点用于接收鼠 标的数据,Biilk端点用于接收U盘的数据,即在"单芯片"内部将两种数据分开; 所述CPU用于数据的分配和协调;所述控制端点用于主机识别中断端点和Bulk端 点。
所述控制逻辑包括鼠标控制逻辑和U盘闪存控制逻辑,所述鼠标控制逻辑连 接鼠标感光控制芯片并将鼠标数据送到控制端点,所述U盘闪存控制逻辑连接闪 存并将闪存的数据送到Bulk端点,这样就可以在一块芯片里具备鼠标和U盘的两 种数据流通道。
主机识别USB设备和分辨USB设备类型,都是通过USB描述符来实现的,复 合设备的实现也是从描述符来入手的。USB的描述符包括很多,按照主机识别的常 规顺序包括GET—DESCRIPTOR(取描述符),SET—ADDRESS (分配设备地址), SET_CONFIGURATION (确认配置)等。
GET—DESCRIPTOR又包括很多子类,例如DEVICE—DESCRIPTOR (设备描述符), CONFIG—DESCRIPTOR (配置描述符),STRING—DESCRIPTOR (文字描述符),INTERFACE —DESCRIPTOR (接口描述符)'ENDPOINT 一 DESCRIPTOR (端点描述符)等。.
所述复合设备集成的方法就是改变描述符CONFIG—DESCRIPTOR和INTERFACE — DESCRIPTOR的参数配置,其中CONFIG—DESCRIPTOR指的是对设备的一个参数配置,包括该设备有多少个接口,有多少种不同配置及设备工作需要的最大电流等等, 将CONFIG—DESCRIPTOR中的项bNumlnterfaces (设备接口类型数)的值设置为2; INTERFACE—DESCRIPTOR指的是设备的接口类型的详细说明,包括接口类型和接口 子类型的定义,通过定义bInterfaceClass (接口类型)和bInterfaceSubClass (接口子类型)两项,就可以区分U盘和USB鼠标,对于复合设备就有2个设备 类型和2个设备子类型。
下面是这两种描述符的详细定义,是由USB组织按照国际标准定义的,兼容 所有的USB设备和主机 CONFIGURATION—DESCRIPTOR
bLength;
bDescriptorType; wTotalLength; bN匿Interfaces; bConfigurationValue; iConfiguration; bmAttributes; MaxPower;
USB—INTERFACE—DESCRIPTOR
{
bLength;
bDescriptorType; blnterf aceN函ber; bAlternateSetting; bNumEndpoints; bInterfaceClass; bInterfaceSubClass; b工nterfaceProtocol;ilnterface;
其中项blnterfaceClass (接口类型)和blnterfaceSubClass (接口子类型)严 格定义了设备类型。
复合设备的关键就是主机将鼠标和U盘的数据同时对一个设备传送,要实现这 点就必须让主机识别到设备同时有中断端点和Bulk端点。按照上述方法设置描述 符,和主机对接后,主机通过控制端点就可以识别到具备中断端点和Bulk端点的 复合设备,鼠标和U盘的数据就可以正确的传送。
本发明的有益效果
本设备实现了 U盘和鼠标在一个芯片上集成的功能,即"单芯片",系统集成 度得到提高,成本降低,结构简单,解决了 "三芯片"方案的主要问题。
图1为背景技术中三芯片方案的USB鼠标控制芯片的结构示意图
图2为背景技术中三芯片方案的U盘控制芯片的结构示意图
图3为背景技术中三芯片方案的USB HUB控制芯片的结构示意图
图4为本发明的芯片结构示意图
具体实施例方式
如图4所示,USB鼠标与U盘集成的复合设备,设置有一块芯片,包括PHY(USB 物理接口模块)和SIE (USB串行数据引擎模块)、用于数据流通道的控制端点及 CPU和控制逻辑、用于数据流通的USB中断端点和Bulk端点。
所述PHY用于接受USB连接线传送过来的串行数据;所述SIE用于把串行数 据转换成并行数据。
对于"三芯片"方案,PHY和SIE上只会有一种数据,鼠标的数据或者U盘的 数据,而"单芯片"方案中PHY和SIE上就会有两种数据,中断端点用于接收鼠 标的数据,Bulk端点用于接收U盘的数据,即在"单芯片"内部将两种数据分开; 所述CPU用于数据的分配和协调;所述控制端点用于主机识别中断端点和Bulk端点。
所述控制逻辑包括鼠标控制逻辑和U盘闪存控制逻辑,所述鼠标控制逻辑连 接鼠标感光控制芯片并将鼠标数据送到控制端点,所述U盘闪存控制逻辑连接闪 存并将闪存的数据送到Bulk端点,这样就可以在一块芯片里具备鼠标和U盘的两种数据流通道。
主机识别USB设备和分辨USB设备类型,都是通过USB描述符来实现的,复 合设备的实现也是从描述符来入手的。USB的描述符包括很多,按照主机识别的常 规顺序包括GE乙DESCRIPTOR(取描述符),SET—ADDRESS (分配设备地址), SET_CONFIGURATION (确认配置)等。
GET—DESCRIPTOR又包括很多子类,例如DEVICE_DESCRIPTOR (设备描述符), CONFIG—DESCRIPTOR(配置描述符),STRING—DESCRIPTOR(文字描述符),INTERFACE —DESCRIPTOR (接口描述符),ENDPOINT — DESCRIPTOR (端点描述符)等。
所述复合设备集成的方法就是改变描述符CONFIG—DESCRIPTOR和INTERFACE — DESCRIPTOR的参数配置,其中CONFIG—DESCRIPTOR指的是对设备的一个参数配置, 包括该设备有多少个接口,有多少种不同配置及设备工作需要的最大电流等等, 将CONFIG—DESCRIPTOR中的项bNumlnterfaces (设备接口类型数)的值设置为2; INTERFACE—DESCRIPTOR指的是设备的接口类型的详细说明,包括接口类型和接口 子类型的定义,通过定义bInterfaceClass (接口类型)和bInterfaceSubClass (接口子类型)两项区分U盘和USB鼠标,对于复合设备就有2个设备类型和2 个设备子类型。
下面是这两种描述符的详细定义,是由USB组织按照国际标准定义的,兼容 所有的USB设备和主机 CONFIGURATION DESCRIPTOR
bLength;
bDescriptorType; wTotalLength; bNumlnterfaces; bConfigurationValue; iConfiguration; bmAttributes; MaxPower;USB—INTERFACE—DESCRIPTOR bLength;
bDescriptorType; b工nterfaceNumber; bAlternateSetting; bNumEndpoints; blnterfaceClass; blnterfaceSubClass; blnterfaceProtocol; ilnterface;
其中项b工nterfaceClass (接口类型)和blnterfaceSubClass (接口子类型)严 格定义了设备类型,也就可以完全区分U盘和USB鼠标,对于复合设备来说,就 有2个设备类型和2个设备子类型。列举如下 UU盘(海量存储) BInterf已ceClass = 8 BInterfsceSubClass 二 6
鼠标(人体输入学设备)
BInterfaceClass = 3 BinterfaceSubClass 二 0
复合设备的关键就是主机将鼠标和u盘的数据同时对一个设备传送,要实现这 点就必须让主机识别到设备同时有中断端点和Bulk端点。按照上述方法设置描述 符,和主机对接后,主机通过控制端点就可以识别到具备中断端点和Bulk端点的 复合设备,鼠标和U盘的数据就可以正确的传送。
通过单芯片实现了一个1GB的U盘和鼠标的复合设备,可以当作U盘使用也 可以当作鼠标使用,非常方便。
权利要求
1、USB鼠标与U盘集成的复合设备,其特征在于设置有一块芯片,包括PHY和SIE、用于数据流通道的控制端点及CPU和控制逻辑、用于数据流通的USB中断端点和Bulk端点。
2、 根据权利要求1所述USB鼠标与U盘集成的复合设备,其特征在于所述 PHY用于接受USB连接线传送过来的串行数据;所述SIE用于把串行数据转换成并 行数据。
3、 根据权利要求1所述USB鼠标与U盘集成的复合设备,其特征在于所述 中断端点用于接收鼠标的数据,Bulk端点用于接收U盘的数据,在芯片内部将两 种数据分开,所述CPU用于数据的分配和协调,所述控制端点用于主机识别中断 端点和Bulk端点。
4、 根据权利要求1所述USB鼠标与U盘集成的复合设备,其特征在于所述 控制逻辑包括鼠标控制逻辑和U盘闪存控制逻辑,所述鼠标控制逻辑连接鼠标感 光控制芯片并将鼠标数据送到控制端点,所述U盘闪存控制逻辑连接闪存并将闪 存的数据送到Bulk端点,所述芯片则具备鼠标和U盘的两种数据流通道。
5、 根据权利要求1所述USB鼠标与U盘集成的复合设备,其特征在于所述 复合设备集成的方法是改变描述符CONFIG—DESCRIPTOR和INTERFACE — DESCRIPTOR 的参数配置,其中CONFIG一DESCRIPTOR指的是对设备的一个参数配置,将 CONFIG—DESCRIPTOR中的项bN咖Interfaces的值设置为2 ; INTERFACE — DESCRIPTOR指的是设备的接口类型的说明,包括接口类型和接口子类型的定义, 通过定义blnterfaceClass和blnterfaceSubClass两项来区分U盘和USB鼠标, 对于复合设备则有2个设备类型和2个设备子类型。
全文摘要
本发明公开了USB鼠标与U盘集成的复合设备,其特征在于设置有一块芯片,包括PHY和SIE、用于数据流通道的控制端点及CPU和控制逻辑、用于数据流通的USB中断端点和Bulk端点;通过该设备,就可以在一个设备上实现U盘和鼠标的功能,即“单芯片”,系统集成度得到提高,成本降低,结构简单,解决了“三芯片”方案的主要问题。
文档编号G06F3/038GK101408812SQ20081004622
公开日2009年4月15日 申请日期2008年10月7日 优先权日2008年10月7日
发明者孙银明, 邹铮贤 申请人:四川登巅微电子有限公司