具体实施方式
为让本发明的上述目的、特征、和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
当任何一个USB装置与计算机主机连接时,例如U盘被插入至计算机主机时,计算机主机的操作系统的驱动程序侦测到U盘的存在,然后发出控制传输命令(Control Transfer Command,CTC)至U盘,以让U盘的韧体响应计算机主机,让操作系统可以识别到U盘的存在与其装置属性(在此为一USB储存装置),而可以存取U盘的储存装置。在标准的通讯协议(大量传输命令BulkTransfer Command,BTC)下,U盘中的数据是可以被传输至计算机主机中执行。
而如果USB装置为一键盘或鼠标等装置,相同的,计算机主机的操作系统的驱动程序侦测到USB人机接口装置的存在,然后发出控制传输命令(Control Transfer Command,CTC)至USB人机接口装置,以让USB人机接口装置的韧体响应主机,让操作系统可以识别到USB人机接口装置的存在与其装置属性(在此为一USB人机接口装置),而可以读取USB人机接口装置所发出来的信号。在标准的通讯协议(Interrupt Transfer Command,ITC)下,USB人机接口装置的输入信号可以被传输至计算机主机中执行。
由以上两个例子可以发现,具有不同的USB属性的装置,都有一共通点,那就是可以通过几乎相同的控制传输命令(CTC)来与USB装置通信。本发明就是借由此一共同的CTC通信协议,来解决前述问题,本发明采用控制传输命令(Control Transfer Command,CTC)对譬如指纹传感器的信号产生装置下达抓取信号的命令以及传输大量的信号数据,譬如指纹图像数据。此乃因为CTC命令对任何USB装置为共通的通信协议,并且通过适当的硬件及软件设计,可以在CTC的通讯协议下传输相当大量的数据。为此,任何的非标准(OS没有内建驱动程序)USB外部信号产生装置,都可以伪装成例如一储存装置(BulkTransfer Command装置)或者一键盘或鼠标的USB人机接口装置(InterruptTransfer Command装置)等OS已经内建驱动程序的装置,让OS误认而使用其内建的驱动程序与所述装置通信,进而借由所述驱动程序传输所述外部信号产生装置所产生的信号至OS中以进行处理。借由这种控制方式,便不需要撰写并认证供信号产生装置用的驱动程序,而达成免驱动程序的信号产生装置的效果。以下将借由几个实施例来说明其应用与方法。
图1显示依本发明第一实施例的免驱动程序的信号产生设备与计算机主机连接的示意图。如图1所示,本实施例的一种免驱动程序的信号产生设备2用以供连接至一计算机主机1。计算机主机1具有一主机接口(其中亦内含接口控制器)13及一操作系统11,操作系统11具有信号产生设备2的一驱动程序12及一应用程序14。应用程序14可以事先装设在操作系统11中,使用者可以通过光盘片或网际网络来将此应用程序14安装于操作系统11中。
信号产生设备2包含一信号产生装置22及一接口控制器23。信号产生装置22用以依据一外部刺激而产生一外部信号SE。于本实施例中,接口控制器23为一种USB控制器。接口控制器23连接至信号产生装置22,并用以供连接至计算机主机1,接口控制器23中储存有一韧体25。信号产生设备2的装置接口24系对应于主机接口13,于本实施例中为USB接口,而于其它实施例中可以是PCI-Express、IEEE 1394、SATA接口或其它标准接口。信号产生装置22可以是一种生物辨识传感器(譬如指纹传感器)、一麦克风、一光学影像读取器、或一智能卡卡片阅读机,甚至是RF ID读取器等等。麦克风与光学影像读取器同样可以作为生物辨识传感器,用以感测使用者的声纹、虹膜、脸型及微血管等生物数据。智能卡卡片阅读机可以用以读取使用者所携带的卡片。
为了达成本发明的效果,韧体25将信号产生设备2仿真成任何一种标准装置,而在操作系统11中已经内建有对应所述标准装置的驱动程序12,以让操作系统11将信号产生设备2视为标准装置。此标准装置例如一人机接口装置(Human Interface Device,HID)或储存装置,譬如键盘或鼠标。此外,韧体25接收操作系统11通过驱动程序12输出的一第一命令C1,并响应第一命令C1以让操作系统11识别信号产生设备2的一属性。然后,于操作系统11中可执行应用程序14,以产生一第二命令C2,第一命令C1与第二命令C2都属于一种用以激活控制传输(Control Transfer)的控制传输命令(ControlTransfer Command,CTC)。最后,韧体25接收第二命令C2来控制信号产生装置22产生外部信号SE,并将外部信号SE传回至操作系统11中。
韧体25与应用程序14被设计成在信号产生设备2连接至计算机主机1后,能执行以下步骤S1至S5,如图2所示。
于步骤S1中,韧体25将信号产生设备2仿真成譬如人机接口装置或储存装置的一标准装置,以让操作系统11将信号产生设备2视为标准装置。
于步骤S2中,韧体25接收操作系统11通过内建于操作系统11中的供人机接口装置用的一驱动程序12输出的一第一命令C1,并响应第一命令C1以让操作系统11识别信号产生设备2的一属性。
然后,步骤S3于操作系统11中执行应用程序14。应用程序14可以由使用者手动执行,亦可以自动执行。
接着,步骤S4依据所执行的应用程序14产生一第二命令C2。
然后,步骤S5接收第二命令C2来控制信号产生设备2的信号产生装置22产生外部信号SE,并将外部信号SE传回至操作系统11中以进行后续的处理。
本发明最大的特点就是善用CTC通信方式,借由应用程序(AP)与韧体事先定义的专属命令架构,对信号产生装置22改用CTC命令通信,此举可以有效的突破需要专属驱动程序的限制。
图3显示依本发明第二实施例的免驱动程序的信号产生设备与计算机主机连接的示意图。如图3所示,本实施例类似于第一实施例,不同之处在于本实施例的信号产生设备2还包含一键盘或鼠标26,其连接至所述接口控制器23,用以输出信号以控制所述操作系统11的运作。于本实施例中,通过接口控制器23的韧体25的设计,操作系统11亦将信号产生设备2视为是人机接口装置,因此,信号产生设备2亦不需要额外提供的驱动程序。
图4显示依本发明第三实施例的免驱动程序的信号产生设备与计算机主机连接的示意图。如图4所示,本实施例的信号产生设备2类似于第一实施例,但还包含一储存装置27,其连接至接口控制器23。储存装置可以是一种闪存(Flash Memory)或其它非易失性存储器,用以储存数据,譬如是指纹模版数据或私密数据。此数据可以来自信号产生装置22或计算机主机1。于本实施例中,操作系统11通过属于CTC的一第三命令C3来控制储存装置27。同理,信号产生设备2亦不需要额外提供的驱动程序。值得注意的是在整个运作状态中,命令C1、C2、C3的个数不限于一个,亦可以利用多个命令来使整个系统可以正常运作。举例而言,当利用多个第三命令C3来控制储存装置27时,可以包含对储存装置的读与写两种命令。
借由本发明的上述实施例,可以在不需要专属的驱动程序的情况下,达成信号产生设备的信号产生功能由于不需要专属的驱动程序,所以亦不需要作繁复的驱动程序的认证手续。由于应用程序并不需要作认证,因此可以简化应用程序的撰写程序。
在较佳实施例的详细说明中所提出的具体实施例仅用以方便说明本发明的技术内容,而非将本发明狭义地限制于上述实施例,在不超出本发明的精神及申请专利范围的情况,所做的种种变化实施,皆属于本发明的范围。