CN101277362B - 多功能外围设备和设备控制系统 - Google Patents
多功能外围设备和设备控制系统 Download PDFInfo
- Publication number
- CN101277362B CN101277362B CN2008100874679A CN200810087467A CN101277362B CN 101277362 B CN101277362 B CN 101277362B CN 2008100874679 A CN2008100874679 A CN 2008100874679A CN 200810087467 A CN200810087467 A CN 200810087467A CN 101277362 B CN101277362 B CN 101277362B
- Authority
- CN
- China
- Prior art keywords
- function
- usb
- data
- scsi
- lun
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1296—Printer job scheduling or printer resource handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0008—Connection or combination of a still picture apparatus with another apparatus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Facsimiles In General (AREA)
- Information Transfer Systems (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
一种多功能设备,其具有至少包括数据存储功能和一种不同于数据存储功能的功能的多个功能,并且能够经由通用串行总线(USB)接口而被连接到计算机,该多功能设备包括:设备数据输出单元,当与计算机建立连接时,所述设备数据输出单元输出强制计算机中的OS(操作系统)将多功能设备识别为根据USB标准的USB存储类设备的信息;以及控制单元,当从计算机传送包括SCSI兼容数据格式的命令的输出数据时,所述控制单元基于在该命令中提供的逻辑单元编号(LUN)域中存储的数值确定所述输出数据是用于控制所述多个功能中的哪一个。
Description
对相关申请的交叉引用
该申请要求于2007年3月28日提交的日本专利申请No.2007-84771的优先权。该优先权申请的全部内容通过引用而被结合于此。
技术领域
本发明涉及一种多功能外围设备和一种设备控制系统。
背景技术
能够经由USB(通用串行总线)接口连接到计算机等的多功能外围设备已被商业化生产。在本领域公知的这种多功能外围设备的构造包括用于向多个功能传送数据的端点。
然而,随着功能数目增加,端点的数目也增加,结果硬件构造昂贵,从而增加了多功能外围设备的制造成本。因此,该构造对于提供低成本多功能外围设备存在困难。
为了解决该问题,日本未审定专利申请公开No.2001-222503和No.2005-175936已经提出了用于减少提供在多功能外围设备中的端点数目的技术。例如,在日本未审定专利申请公开No.2001-222503中的技术使得主设备通过仿真从具有一个功能的设备断开并且连接到具有另一功能的设备的设备而能够经由相同端点选择性地接入(access)多个功能。
在日本未审定专利申请公开No.2005-175936中描述的技术减少了用于通过使用独立于数据传送端点设置的控制端点执行数据传送而传送数据的端点的数目。
然而,利用在日本未审定专利申请公开No.2001-222503中公开的技术,每次使用多功能外围设备上的一个功能时,需在主机侧切换设备驱动器(禁用未在使用的驱动器并且装载和启用将要使用的驱动器)。因此,需要大量时间用于切换设备驱动器,并且不能同时使用两个或者更多个功能。
进一步,使用日本未审定专利申请公开No.2001-222503中所公开的技术,当在多功能外围设备上操作一个功能时,直至第一功能的操作确实结束才能够切换到不同的功能。因此,难以确定用于控制该切换的适当时刻。
在公开于日本未审定专利申请公开No.2005-175936中的技术中,控制端点被用于数据传送。因此,当大量数据被传送时,该数据传送会干扰控制,使得难以迅速地执行所需控制。
因此,即使上述的传统技术能够减少所需端点的数目,多功能外围设备也比较不容易被用户掌握使用并且可能干扰适当的控制。
发明内容
鉴于前述情况,本发明的目的在于提供一种能够减少端点数目而不降低用户友好性或者不干扰适当控制的多功能外围设备,以及一种用于控制该多功能外围设备的设备控制系统。
为了达到上述及其它的目的,本发明提供一种多功能设备,具有至少包括数据存储功能和一种不同于所述数据存储功能的功能的多个功能,并且能够经由通用串行总线(USB)接口连接到计算机,所述多功能设备包括:
设备数据输出单元,当与所述计算机建立连接时,所述设备数据输出单元输出强制所述计算机中的OS(操作系统)将所述多功能设备识别为根据USB标准的具有单个USB兼容逻辑单元编号(LUN)的USB存储类设备的信息;以及
控制单元,当从所述计算机传送包括SCSI兼容数据格式的命令的输出数据时,所述控制单元基于在所述命令中提供的逻辑单元编号(LUN)字段中存储的数值,确定所述输出数据是用于控制所述多个功能中的哪一个。
根据另一方面,本发明提供一种设备控制系统,其包括:
计算机;以及
具有多个功能的多功能设备,所述多个功能至少包括数据存储功能和一种不同于所述数据存储功能的功能,
所述计算机和所述多功能设备经由通用串行总线(USB)接口相互连接,
所述多功能设备包括:
设备数据输出单元,当与所述计算机建立连接时,所述设备数据输出单元输出强制所述计算机中的OS(操作系统)将所述多功能设备识别为根据USB标准的具有单个USB兼容逻辑单元编号(LUN)的USB存储类设备的信息;以及
设备控制单元,当从所述计算机传送包括SCSI兼容数据格式的命令的输出数据时,所述设备控制单元基于在所述命令中提供的逻辑单元编号(LUN)字段中存储的数值,确定所述输出数据是用于控制所述多个功能中的哪一个,
所述计算机包括计算机控制单元,当由在所述计算机上工作的数据处理器指示以控制所述多功能设备的多个功能中的一个时,所述计算机控制单元在命令中提供的LUN字段中存储与作为控制目标的功能对应的数值,并且向所述多功能设备传送包括所述命令的输出数据。
附图说明
在附图中:
图1是示出根据本发明实施例的总体设备控制系统的框图;
图2是示出多功能外围设备的内部结构的框图;
图3是示出PC的内部结构的框图;
图4是示出当在PC和多功能外围设备之间建立连接时所交换的数据的示例性视图;
图5是示出由PC执行的用于安装多功能外围设备软件的安装进程中的步骤的流程图;
图6是示出在PC上执行的搜索多功能外围设备读卡器驱动器的进程中的步骤的流程图;
图7是示出当PC通电时在PC上执行的进程中的步骤的流程图;
图8是示出在PC上执行的用于装载静态驱动器的进程中的步骤的流程图;
图9是示出在PC上执行的用于装载动态驱动器的进程中的步骤的流程图;
图10是示出使用在多功能外围设备上实现的SCSI命令分析任务来执行的进程中的步骤的流程图;
图11是示出由PC的打印机端口驱动器来执行的进程中的步骤的流程图;
图12是示出用于安装多功能外围设备软件的由PC执行的重新扫描进程中的步骤的流程图。
具体实施方式
将参考附图描述根据本发明实施例的多功能外围设备和设备控制系统,其中相似的部分和构件利用相同的引用数字标注以避免重复说明。
设备控制系统的结构
图1是示出根据本发明实施例的设备控制系统的总体结构的框图。
该设备控制系统包括多功能外围设备11和个人计算机(PC)12。多功能外围设备11和PC 12均具有USB接口并且经由USB集线器13被相互连接从而数据可在它们两个之间进行交换。例如,另一USB设备14也被连接到USB集线器13。
在该实施例中,多功能外围设备11是具有多个功能的设备,所述多个功能包括打印机功能、扫描仪功能、PC-FAX功能以及读卡器(数据存储功能)。可从PC 12控制这些功能。
根据该实施例,如稍后将描述的那样,多功能外围设备11强制PC 12的OS将多功能外围设备11识别为根据USB标准的USB存储类设备。
因此,在PC 12中为多功能外围设备11准备USB存储驱动器。结果,PC 12和多功能外围设备11能够根据USB兼容通信协议在它们之间传送数据。
注意到,USB标准规定,当计算机和USB存储类设备达到上述状态时,计算机和USB存储类设备根据SCSI兼容方法在它们之间执行数据通信。
SCSI兼容设备可具有根据SCSI标准的多个逻辑单元。计算机发出具有SCSI兼容数据格式并且用于控制每个逻辑单元的功能的命令(以下称为SCSI命令)。
注意到,在SCSI标准中规定了用于规定向其发出命令的目标逻辑单元的多种方法。SCSI-1标准规定,通过使用在SCSI命令中包括的LUN域而规定单个逻辑单元。
所以,根据本实施例,多功能外围设备11被配置为用作根据USB标准的SCSI兼容设备,并且用作具有根据SCSI标准的多个逻辑单元的设备。PC 12被配置为利用SCSI-1兼容方法向逻辑单元传送SCSI命令。
以此方式,多功能外围设备11用作具有多个逻辑单元的设备。当包括在其LUN域中规定目标逻辑单元的SCSI命令的输出数据从PC 12被传送到目标逻辑单元时,相应于目标逻辑单元的功能被启动。
因此,多功能设备11用作用于PC 12的SCSI-1兼容设备。
注意到,SCSI规定SCSI-2和随后版本的设备忽略了SCSI命令的LUN域中的数值。因为该实施例的多功能外围设备11被配置为并不忽略在LUN域中存储的数值,所以多功能外围设备11并不用作在SCSI标准下与SCSI-2或者随后的SCSI版本兼容的设备。
当执行数据传送时,PC 12的OS将多功能外围设备11识别为单个USB存储设备,但是完全不知道多功能外围设备11是具有单个SCSI兼容逻辑单元还是具有多个SCSI兼容逻辑单元。
所以,通过根据USB标准的相同逻辑通信路径执行向所有逻辑单元的数据传送。所以,多功能外围设备11只需设置有一个输入端点且只需设置有一个输出端点。
注意到,在PC 12的OS中作为标准提供下面的功能:即,当OS将多功能外围设备识别为在USB标准中规定的USB存储类设备时,假设SCSI标准中规定的LUN为0并且该设备具有数据存储功能,则OS控制该设备。所以,本实施例的多功能外围设备11被配置为当数据指明LUN为0时,确定从PC 12传送的数据是用于控制数据存储功能。通过使用在PC 12的OS中作为标准提供的功能,这种配置能够控制多功能外围设备11的数据存储功能。
在下面描述PC 12和多功能外围设备11的细节。
多功能外围设备的内部结构
图2是示出多功能外围设备11的内部结构的框图。多功能外围设备11配备有构成USB接口的硬件,包括USB协议引擎101、控制电路103以及读卡器数据I/O电路105。USB协议引擎101根据USB通信协议控制多功能外围设备11与PC 12之间的数据传送。
该硬件被配置成使得经由端点在PC 12与多功能外围设备11之间传送数据。更具体地,控制电路103通过控制传送端点(以下简称为EP0)向PC 12输入各种控制数据以及从PC12输出各种控制数据(双向通信)。
另一方面,读卡器数据I/O电路105通过输入数据端点(以下简称为EP1)向PC 12传送输入数据,并且经由输出数据端点(以下简称为EP2)从PC 12获取所传送的输出数据。
作为它的软件功能中的一个,多功能外围设备11还设有SCSI命令分析任务111。当数据从读卡器数据I/O电路105传送到SCSI命令分析任务111时,SCSI命令分析任务111基于在所传送的数据中包括的信息而将数据重定向至四个数据处理系统中的一个。
更具体地,该实施例的四个数据处理系统对应于读卡器功能、打印机功能、扫描仪功能和PC-FAX功能。
进一步,被传送到SCSI命令分析任务111的数据包括由PC 12发出的具有SCSI兼容数据格式并且具有称为LUN域的区域(region)的命令(以下称为SCSI命令)。
SCSI命令分析任务111基于LUN域中存储的数值(以下被称为SCSI-LUN)而确定从PC 12接收的输出数据是否为用于控制多个功能(读卡器功能、打印机功能、扫描仪功能和PC-FAX功能)中的一个的数据。
例如,如果SCSI-LUN为0,则SCSI命令分析任务111确定输出数据是用于控制读卡器功能的数据;如果SCSI-LUN为1,则是用于控制打印机功能的数据;如果SCSI-LUN为2,则是用于控制扫描仪功能的数据;以及如果SCSI-LUN为3,则是用于控制PC-FAX功能的数据。
在作出这种确定之后,SCSI命令分析任务111将该数据重定向到相应的数据处理系统。进一步,当数据处理系统中的一个向SCSI命令分析任务111传送作为进程结果的数据时,SCSI命令分析任务111将该数据中转到读卡器数据I/O电路105。
当SCSI命令分析任务111将数据重定向到SCSI-LUN=0侧(示于图2中)上的数据处理系统时,该数据被传送到存储器插槽I/O控制任务121。存储器插槽I/O控制任务121是用于控制第一存储器插槽131、第二存储器插槽132、第三存储器插槽133和第四存储器插槽134的软件。
第一到第四存储器插槽131-134中的每个均是接受存储器卡的插槽并且每个插槽接受具有与另一个插槽不同的标准的存储器卡。
在该实施例中,第一到第四存储器插槽131-134被配置为互斥(exclusive)使用。例如,当卡被插入第一存储器插槽131中时,直至该存储器卡被移除才可使用其它插槽。
进一步,当SCSI命令分析任务111将数据重定向到SCSI-LUN=1侧上的数据处理系统时,该数据被传送到打印机I/O任务151。传送到打印机I/O任务151的数据被进一步中转到打印机控制任务161以用于控制打印机硬件171。
当将数据转向到SCSI-LUN=2侧上的数据处理系统时,SCSI命令分析任务111将数据传送到扫描仪I/O任务153。被传送到扫描仪I/O任务153的数据被进一步中转到扫描仪控制任务163以用于控制扫描仪硬件173。
当将数据转向到SCSI-LUN=3侧上的数据处理系统时,SCSI命令分析任务111将数据传送到PC-FAX I/O任务155。被传送到PC-FAXI/O任务155的数据被进一步中转到调制解调器控制任务165以用于控制调制解调器硬件175。
PC的内部结构
图3是示出PC 12的内部结构的框图。PC 12具有OS的标准功能,例如USB协议堆栈201、USB存储驱动器203、SCSI命令处理器211、可移动磁盘驱动器221以及文件系统231。
PC 12还具有与用作打印机端口驱动器223、扫描仪驱动器225和打印机驱动器261的多功能外围设备11对应的专用软件。
PC 12还包括使用上述功能的应用,例如打印机应用271、扫描仪应用273以及PC-FAX应用275。
在该实施例中,在PC 12上安装的OS是Windows(注册商标)。因此,PC 12还包括作为与Windows绑定的软件的Explorer 277。然而,如果该OS可执行相同功能,则除Windows之外的OS也可被安装在PC 12上。
PC 12还包括相应于USB设备14的另一USB设备驱动器281。
利用该构造,当PC 12被启动时,USB协议堆栈201开始工作,并且在这之后,对于USB设备是否被连接到PC 12周期地进行监视,如图4中所示。
因为当多功能外围设备11被连接到PC 12时,多功能外围设备11向PC 12返回响应,USB协议堆栈201向多功能外围设备11发出关于设备类型作出响应的请求。当收到该请求时,多功能外围设备11返回指明该多功能外围设备11是USB存储类设备的响应。因此,PC 12装载USB存储驱动器203从而USB存储驱动器203在后台运行。
当工作时,USB存储驱动器203向多功能外围设备11发出关于最大LUN的请求。这里,“LUN”是USB兼容LUN并且不同于上述SCSI-LUN。因此,USB兼容LUN将被称为“USB-LUN”以将其与上述SCSI-LUN区分开来。
多功能外围设备11响应上述来自PC 12的请求而返回最大USB-LUN(在该实施例的示例中USB-LUN=0)。因此,PC 12意识到存在相应于USB-LUN=0的单个逻辑单元并且生成与该逻辑单元相关的SCSI命令处理器211。SCSI命令处理器211是用于经由USB存储驱动器203向SCSI命令分析任务111传送SCSI命令的端口。
当被生成时,SCSI命令处理器211向逻辑单元USB-LUN=0发出SCSI命令“询问”。当收到该询问时,多功能外围设备11返回指明该设备类型是可移动磁盘的响应。因此,PC 12装载可移动磁盘驱动器221。
以此方式,相应于USB-LUN=0的逻辑单元被链接到文件系统231,并且,结果,驱动盘符被分配给逻辑单元USB-LUN=0。在这之后,可通过指定该驱动盘符访问逻辑单元USB-LUN=0。
一旦根据以上的进程装载驱动器,在PC 12和相应于USB-LUN=0的逻辑单元之间形成逻辑通信路径,使得能够根据SCSI兼容方法经由该通信路径传送数据。虽然PC 12的OS识别相应于USB-LUN=0的逻辑单元,但是OS对该SCSI兼容逻辑单元的结构完全不知情。
更具体地,当PC 12与相应于USB-LUN=0的逻辑单元交换数据时,在OS中按照标准提供的可移动磁盘驱动器221被配置为通过无条件地规定SCSI-LUN=0而发出SCSI命令。
这是因为当根据USB标准传送数据时,PC 12的OS被配置为使用SCSI命令,但是不被配置成与SCSI标准中规定的多个逻辑单元区分。
进一步,基本围绕SCSI-2形成USB标准的规格。在SCSI-2中,设备忽略SCSI命令的LUN域中的数值(SCSI-LUN),并且建议将LUN域设为0。因此,USB兼容可移动磁盘驱动器221被配置为当发出SCSI命令时,将LUN域设为0。
基于PC 12中的OS的上述规格,假定与SCSI-LUN=0对应的逻辑单元受存储器插槽I/O控制任务121控制,则多功能外围设备11从PC 12重定向输出数据。
这可确保从作为OS的标准功能提供的可移动磁盘驱动器221发出的SCSI命令被传送到存储器插槽I/O控制任务121。因此,多功能外围设备11可用作由PC 12的OS识别的USB存储设备。
如上所述,虽然PC 12的OS不能区分SCSI标准中所规定的多个逻辑单元,但是OS准备通信路径,SCSI命令可在该路径上被发送到多功能外围设备11。
通过提供独立于磁盘驱动器221的用于向SCSI-LUN=0之外的逻辑单元发出SCSI命令的软件,OS能够沿着所准备的通信路径将SCSI命令传送到多功能外围设备11。
换言之,PC 12的OS构建逻辑USB兼容通信路径从而利用可移动磁盘驱动器221执行控制。另外,通过使用能够发出SCSI命令的软件,这些SCSI命令可沿着由OS准备的通信路径而被传送到多功能外围设备11。
当根据该方法传送数据时,发出SCSI命令的每个软件与多功能外围设备11中的相应的逻辑单元根据SCSI兼容方法交换数据,而不必知道通信协议是否与USB标准兼容。
另一方面,虽然PC 12的OS准备用于通过使用USB兼容通信协议传送根据SCSI标准的数据的逻辑通信路径,但是OS并不知道经由该逻辑通信路径被发送的数据类型。因此,即使该数据与除数据存储系统之外的设备对应,只要该发送方法是SCSI兼容的,就可在由OS准备的通信路径上发送任何类型的数据。
因此,在该实施例中,设备驱动器或者应用利用该通信路径的特点以向SCSI-LUN=0之外的逻辑单元发出用于打印机功能、扫描仪功能和PC-FAX功能的SCSI命令。
更具体地,当从PC 12发出SCSI命令“询问”时,多功能外围设备11返回指明SCSI-1兼容设备的响应。该方法允许使用根据SCSI标准的SCSI命令中的LUN域。
下面,作为用于打印机功能的静态驱动器装载打印机端口驱动器223。打印机端口驱动器223发出SCSI命令,同时在SCSI命令的LUN域中规定SCSI-LUN=1。结果,SCSI命令可被发送到相应于SCSI-LUN=1的逻辑单元。
类似地,作为用于扫描仪功能的静态驱动器装载扫描仪驱动器225并且向相应于SCSI-LUN=2的逻辑单元发出SCSI命令。
进一步,PC-FAX应用275被提供用于PC-FAX功能并且向相应于SCSI-LUN=3的逻辑单元发出SCSI命令。
通过采用该构造,打印机端口驱动器223、扫描仪驱动器225和PC-FAX应用275中的每个能够根据SCSI兼容方法控制与之对应的逻辑单元的打印机功能、扫描仪功能和PC-FAX功能,而不用考虑USB标准。
因为仅需为根据USB标准与单个逻辑单元交换数据准备通信路径,所以仅需要在多功能外围设备11中提供输入端点EP1中的一个和输出端点EP2中的一个。在这点上,多功能外围设备11与USB复合设备非常不同,即使这两种设备均符合相同USB标准。
即,利用USB复合设备,必须为每个功能提供输入数据端点和输出数据端点中的各一个,由此使得输入和输出端点的总数等于功能数目的两倍。然而,利用上述多功能外围设备11的构造,输入和输出数据端点的总数为“2”,而与功能的数目无关。
通过使用相应于逻辑单元USB-LUN=0的驱动盘符,在根据以上述进程在PC 12上准备每个驱动器之后,SCSI命令可被发送到相应于SCSI-LUN=0的逻辑单元。因此,PC 12可以使用相应于LUN0逻辑单元的驱动盘符访问在第一到第四存储器插槽131-134的任何一个中安装的存储器卡。
例如,如果用户使用Explorer 277对安装于第一存储器插槽131中的存储器卡中的文件执行操作,则Explorer 277经由文件系统231、可移动磁盘驱动器221、SCSI命令处理器211、USB存储驱动器203以及USB协议堆栈201向多功能外围设备11传送命令。
然后,多功能外围设备11经由USB协议堆栈201、USB存储驱动器203、SCSI命令处理器211、可移动磁盘驱动器221以及文件系统231返回响应到Explorer 277。
从打印机应用271输出的打印数据经由打印机驱动器261被传送到打印机端口驱动器223。打印机端口驱动器223向逻辑单元SCSI-LUT=1发出用于向SCSI兼容打印机设备输出打印数据的命令,由此打印数据经由USB存储驱动器203和USB协议堆栈201被传送到SCSI命令处理器213并且顺次被传送到多功能外围设备11。
类似地,从扫描仪应用273输出的扫描仪控制数据等经由扫描仪驱动器225、SCSI命令处理器211、USB存储驱动器203和USB协议堆栈201被传送到多功能外围设备11。进一步,从PC-FAX应用275输出的传真发送数据、控制数据等经由SCSI命令处理器217、USB存储驱动器203和USB协议堆栈201被传送到多功能外围设备11。
在一些情形中,以上的数据传送使得从多功能外围设备11向PC
12传送输入数据。例如,当扫描仪控制数据被传送到多功能外围设备11时,多功能外围设备11上的扫描仪功能被激活,结果该功能从多功能外围设备11侧传送扫描仪数据。
当输入数据例如扫描数据被传送到PC 12时,数据经由USB协议堆栈201、USB存储驱动器203、SCSI命令处理器211和扫描仪驱动器225被传送到扫描仪应用273。
打印机功能的状态数据,例如与打印错误等相关的数据,经由USB协议堆栈201、USB存储驱动器203、SCSI命令处理器211、打印机端口驱动器223和打印机驱动器261被传送到打印机应用271。
如果传送的数据是由PC-FAX功能接收的传真接收数据,则该数据经由USB协议堆栈201、USB存储驱动器203和SCSI命令处理器211被传送到PC-FAX应用275。
多功能外围设备软件的安装进程
下面,将参考图5和6中的流程图描述用于在PC 12上安装多功能外围设备软件以使得PC 12能够使用具有以上构造的多功能外围设备11的进程。
在示于图5中的进程开始时,在S105中,PC 12运行安装程序。该进程可当用户执行规定操作时执行或者可当CD-ROM或者其它介质被插入CD-ROM驱动器等时自动地执行。
在运行安装程序之后,在S110中,PC 12搜索多功能外围设备11的读卡器驱动器。参考图6更加详细地描述该进程。
具体地,在图6的S205中,PC 12初始地将可变CDRV设定为驱动盘符“A”以开始按照顺序搜索驱动盘符“A”到“Z”。在S210中,PC 12向驱动器CDRV(例如,在执行S205之后即刻地,驱动器“A”)发出SCSI命令“询问”。该命令被用于搜索设备类型等。
如果对于该命令的响应在S210中被正常地返回(S210:正常),则在S215中PC 12确定驱动器CDRV是否为作为基于在该响应中包括的厂商名称和产品名称的程序目标的相应于多功能外围设备11的驱动器。
如果驱动器CDRV是目标驱动器(S215:目标驱动器),则PC 12结束图6中的进程,因为相应于多功能外围设备11的驱动器已被找到。
然而,如果驱动器CDRV并不相应于多功能外围设备11(S215:非目标驱动器)或者如果在S210中在对发出的命令的响应中返回错误(S210:错误),则PC 12前进到S220。在S220中,PC 12确定为可变CDRV设定的驱动盘符是否为“Z”。
如果可变CDRV未被设定为驱动盘符“Z”(S220:NO),则在S225中,PC 12将可变CDRV设定为下一驱动器的驱动盘符(例如,驱动器“B”,如果当前驱动盘符为“A”),并且返回到S210。
以此方式,重复在S210-S220中的进程直至为可变CDRV设定的驱动盘符为“Z”或者找到目标驱动盘符。如果在重复S210-S220中的进程时,PC 12在S215中确定目标驱动器已被找到,则PC 12结束图6中的进程。
另一方面,如果为可变CDRV设定的驱动盘符为“Z”(S220:YES),则已经对所有的驱动盘符“A”到“Z”执行了以上的进程。在该情形中,不能找到相应于目标多功能外围设备11的驱动器,并且PC 12结束图6的进程。
在完成上述图6的进程之后,在图6的S110中的进程结束。如果在图5中的S 110的进程中没有找到资源管理器驱动器(S110:未找到),则在S115中,PC 12为用户显示对话框,其消息为“请与多功能外围设备建立USB连接,等待一会,然后点击OK”的消息
在执行S115中的进程之后,PC 12等待于用户输入。在该示例中,用户可以在显示于PC 12的显示器单元上的对话框中选择“OK”或者“取消”。例如,用户能够使用指针设备点击在显示器单元上显示的“OK”按钮或者“取消”按钮。
如果用户选择“取消”(S115:取消),则PC 12取消安装进程。然而,如果用户选择“OK”(S115:OK),则PC 12重复S110中的进程。
然而,如果在S110中找到读卡器驱动器(S110:找到),则在S120中,PC 12在共享INI文件中设定为读卡器驱动器找到的驱动盘符。共享INI文件是存储与驱动器和用于多功能外围设备11的应用软件相关的各种设置的文本文件。当执行用于多功能外围设备11的软件程序中的一个时,该程序读出共享INI文件的内容。在S120中,在共享INI文件中存储在S110中确定的多功能外围设备的驱动盘符和型号名称。
在S 125中,PC 12安装打印机驱动器、打印机端口驱动器、扫描仪驱动器和PC-FAX应用,并且随后结束用于安装多功能外围设备软件的进程。
通电时在PC上执行的一个示例进程
下面,将参考图7到9描述从PC被打开的时刻直至PC被关闭的时刻在PC上执行的一个示例进程。下面的说明涵盖其中当多功能外围设备11的电源开关已被开启时开启PC 12的电源开关的情形。
当PC 12的电源开关开启时,首先PC 12在图7的S305中装载OS。在S310中,PC 12装载静态驱动器。将参考图8更加详细描述S310的进程。
如图8所示,在S405中,PC 12的OS在参考注册表设置时顺序地装载静态驱动器。随后,PC 12在S410中装载打印机驱动器,在S415中装载打印机端口驱动器,以及在S420中装载扫描仪驱动器。在装载这些驱动器之后,图8中的进程结束。
在完成示于图8中的进程之后,图7的S310中的进程结束。下面,在S315中,PC 12装载动态驱动器。将参考图9详细描述S315的进程。
具体地,在图9的S505中,PC 12的OS在参考硬件连接状态时顺序地装载动态驱动器。在S510中,在USB协议堆栈201已经发现多功能外围设备11之后,PC 12询问多功能外围设备11的设备类型。
如果从多功能外围设备11对于该询问作出指明多功能外围设备11是USB存储设备的响应,则在S515中,PC 12装载USB存储驱动器203。
因为通过S515的进程,USB存储驱动器203被置于工作状态中,在S520中,USB存储驱动器203关于USB-LUN的数目询问多功能外围设备11。更具体地,在S520中,USB存储驱动器203发出关于最大LUN的询问。
在该实施例的情形中,多功能外围设备11具有单个USB兼容逻辑单元并且USB-LUN=0被分配给逻辑单元,所以多功能外围设备11返回“0”作为最大USB-LUN。
PC 12基于用于最大USB-LUN的响应“0”确定多功能外围设备11具有一个USB-LUN。在该情形中,在S525中,PC 12为SCSI命令进程形成一个端口。通过S525的进程,配置SCSI命令处理器211。
在SCSI命令处理器211处于工作状态之后,在S530中,SCSI命令处理器211向逻辑单元USB-LUN=0发出“询问”。
响应于该询问,在该实施例中,在S535中,PC 12从逻辑单元USB-LUN=0接收响应“可移动磁盘”。这里,PC 12装载在OS中按照标准提供的SCSI连接可移动磁盘驱动器221并且将可移动磁盘驱动器221链接到文件系统231,使得驱动盘符被分配给逻辑单元USB-LUN=0。在Explorer 277中显示驱动盘符。
在该实施例中,可移动磁盘驱动器221为按照标准提供在PC 12的OS中的SCSI驱动器,并且被用于在PC 12与USB存储设备之间建立USB连接。因此,多功能外围设备11的制造商不必为用户提供这种SCSI连接驱动器。
在完成图9中所描述的用于装载动态驱动器的进程之后,图7的S315中的进程结束。下面,在S320中,PC 12装载服务进程,并且在S325中等待登录数据。
具体地,PC 12在S325中等待,直至用户已经完成登录操作(S325:未登录)。在用户已经完成登录进程之后(S325:登录),在S330中,PC 12启动自动启动程序。在S330中,PC 12启动自动启动程序。PC 12的OS在参考开始菜单中的“启动”中列出的程序时顺序地启动自动起动程序。
在通过启动自动启动程序而完成图7中的S330之后,在S355中,PC 12进入正常状态。一旦PC 12已经达到该正常状态,用户能够预期地使用打印机应用271、扫描仪应用273、PC-FAX应用275、Explorer277等。
如果用户随后执行退出或者关闭PC 12的操作(S335:退出或者关闭),在S340中,PC 12首先停止自动地和手动地启动的所有程序,并且在登录退出操作的情形中,(S340:退出),返回到S325。
然而,在关闭操作的情形中(S340:关闭),在S345中,PC 12卸载服务进程,在S350中卸载动态驱动器,并且在S355中卸载静态驱动器。最后,在S360中,PC 12卸载OS并且关断PC 12电源。在S345-S360中的进程按照与S305-S320中的进程相反的顺序卸载所有软件。
使用SCSI命令分析任务执行的进程
下面,将参考图10描述由提供在多功能外围设备11中的SCSI命令分析任务111执行的进程。
在S605中,在该进程开始时,SCSI命令分析任务111确定是否已从PC 12传送SCSI命令。当未从PC 12接收到SCSI命令时(S605:NO),SCSI命令分析任务111重复地循环返回到S605。
当从PC 12传送SCSI命令时(S605:YES),在S610中,SCSI命令分析任务111确定在LUN域中存储的数值(SCSI-LUN)是“0”到“3”中的哪一个。
如果在S610中SCSI-LUN为“0”(S610:SCSI-LUN=0),则SCSI命令分析任务111将SCSI命令重定向到存储器插槽I/O控制任务121,并且在S615中等待使用存储器插槽I/O控制任务121来执行的进程结束。
在S615的进程中,SCSI命令分析任务111将SCSI命令传送到存储器插槽I/O控制任务121。在向存储器插槽I/O控制任务121传送SCSI命令之后,SCSI命令分析任务111等待使用存储器插槽I/O控制任务121来执行的进程结束。
在使用存储器插槽I/O控制任务121的进程结束之后,SCSI命令分析任务111从存储器插槽I/O控制任务121接收响应,作为对SCSI命令的响应向PC 12返回该响应,并且结束S615中的进程。在完成S615中的进程之后,SCSI命令分析任务111返回到S605。
这里,对于S615中的进程给出一个具体示例。在该示例中,PC 12向多功能外围设备11传送SCSI命令以请求将数据写入介质(在该实施例中的存储器卡)。在S615中,SCSI命令分析任务111将接收到的SCSI命令传送给存储器插槽I/O控制任务121。
此时,存储器插槽I/O控制任务121执行将目标数据写入介质的进程并且随后作为响应向SCSI命令分析任务111返回指明写操作结果的数据。
在S615的进程期间,SCSI命令分析任务111等待直至存储器插槽I/O控制任务121完成该操作。在从存储器插槽I/O控制任务121接收到响应之后,SCSI命令分析任务111作为对SCSI命令的响应向PC12返回该响应,并且随后结束S615中的进程。
作为另一示例,PC 12可以向多功能外围设备11传送SCSI命令以请求从介质读出数据。在该情形中,在S615中,SCSI命令分析任务111向存储器插槽I/O控制任务121传送所接收到的SCSI命令。
此时,存储器插槽I/O控制任务121执行从介质读出目标数据的进程并且随后作为响应向SCSI命令分析任务111返回指明读操作结果的数据以及读出的数据。
在S615的进程期间,SCSI命令分析任务111等待直至存储器插槽I/O控制任务121完成该操作。在从存储器插槽I/O控制任务121接收到响应之后,SCSI命令分析任务111作为对SCSI命令的响应向PC 12返回该响应,并且随后结束S615中的进程。
如果多功能外围设备11接收到其它各种SCSI命令中的任何一个,在S615中,SCSI命令分析任务111向存储器插槽I/O控制任务121传送该命令并且随后向PC 12传送从存储器插槽I/O控制任务121返回的响应。
因为如上所述,存在可从PC 12传送到存储器插槽I/O控制任务121的各种SCSI命令,所以使用存储器插槽I/O控制任务121来执行的进程的细节也根据SCSI命令广泛地改变。然而,由于使用存储器插槽I/O控制任务121执行的进程与在具有数据存储功能的传统设备上执行的在本领域公知的进程相同,所以将不在这里包括对这些进程的说明。
另一方面,如果多功能外围设备11在S610中确定SCSI-LUN为“1”(S610:SCSI-LUN=1),则在S620中多功能外围设备11向打印机I/O任务151传送SCSI命令并且等待利用打印机I/O任务151执行的进程结束。
具体地,在S620中,多功能外围设备11从SCSI命令分析任务111向打印机I/O任务151传送从PC 12接收的SCSI命令。在向打印机I/O任务151传送SCSI命令之后,SCSI命令分析任务111等待使用打印机I/O任务151来执行的进程结束。
在使用打印机I/O任务151的进程结束之后,SCSI命令分析任务111从打印机I/O任务151接收响应,作为对SCSI命令的响应向PC 12返回该响应,并且结束S620中的进程。在完成S620中的进程之后,SCSI命令分析任务111返回到S605。
这里,对于S620中的进程给出一个具体示例。在该示例中,PC 12向多功能外围设备11传送SCSI命令以请求输出打印数据。在S620中,SCSI命令分析任务111向打印机I/O任务151传送接收到的SCSI命令。
此时,打印机I/O任务151向打印机控制任务161传送数据等,并且打印机控制任务161控制打印机硬件171的操作以例如在记录介质上执行打印操作。当打印机I/O任务151准备接收下一打印数据时,从打印机I/O任务151向SCSI命令分析任务111返回指明该状态的响应。
在S620的进程期间,SCSI命令分析任务111等待直至打印机I/O任务151完成该操作。在从打印机I/O任务151接收到响应之后,SCSI命令分析任务111作为对SCSI命令的响应向PC 12返回该响应,并且随后结束S620中的进程。
存在可由PC 12传送给打印机I/O任务151的各种SCSI命令例如包括获取打印机状态的命令。由打印机I/O任务151和打印机控制任务161执行的进程的细节依赖于SCSI命令。然而,因为由打印机I/O任务151和打印机控制任务161执行的进程是用于具有打印机功能的传统设备的公知进程,所以将不在这里描述这些进程。
进一步,如果多功能外围设备11在S610中确定SCSI-LUN为“2”(S610:SCSI-LUN=2),则在S625中,多功能外围设备11向扫描仪I/O任务153传送SCSI命令并且等待使用扫描仪I/O任务153的进程结束。
具体地,在S625中,SCSI命令分析任务111向扫描仪I/O任务153传送从PC 12接收到的SCSI命令。在向扫描仪I/O任务153传送SCSI命令之后,SCSI命令分析任务111等待利用扫描仪I/O任务153执行的进程结束。
在使用扫描仪I/O任务153是进程结束之后,SCSI命令分析任务111从扫描仪I/O任务153接收响应,作为对SCSI命令的响应将该响应返回到PC 12,并且结束S625中的进程。在完成S625中的进程之后,SCSI命令分析任务111返回到S605。
这里,将对于S625中的进程给出一个具体示例。在该示例中,PC12向多功能外围设备11传送SCSI命令以请求扫描仪输入。在S625中,SCSI命令分析任务111向扫描仪I/O任务153传送接收到的SCSI命令。
此时,扫描仪I/O任务153向扫描仪控制任务163传送数据等,并且扫描仪控制任务163控制扫描仪硬件173的操作以输入来自原始文献的图像数据。随后,扫描仪I/O任务153将该图像数据等返回到SCSI命令分析任务111。
在S625的进程期间,SCSI命令分析任务111等待直至扫描仪I/O任务153完成该进程。在从扫描仪I/O任务153接收到响应之后,SCSI命令分析任务111作为对SCSI命令的响应向PC 12返回该响应,并且随后结束S625中的进程。
存在可由PC 12传送到扫描仪I/O任务153的各种SCSI命令,例如包括用于获取扫描仪状态的命令。因此,通过由扫描仪I/O任务153和扫描仪控制任务163来执行的这些进程的细节根据SCSI命令变化。然而,由于使用扫描仪I/O任务153和扫描仪控制任务163来执行的进程与用于具有扫描仪功能的传统设备的本领域中公知的进程相同,所以将不在这里给出对这些进程的说明。
进一步,如果多功能外围设备11在S610中确定SCSI-LUN为“3”(S610:SCSI-LUN=3),则在S630中多功能外围设备11向PC-FAX I/O任务155传送SCSI命令并且等待利用PC-FAX I/O任务155的进程结束。
具体地,在S630中,SCSI命令分析任务111向PC-FAX I/O任务155传送从PC 12接收到的SCSI命令。在向PC-FAX I/O任务155传送SCSI命令之后,SCSI命令分析任务111等待用于利用PC-FAX I/O任务155执行的进程结束。
在使用PC-FAX I/O任务155的进程结束之后,SCSI命令分析任务111从PC-FAX I/O任务155接收响应,作为对SCSI命令的响应向PC 12返回该响应,并且结束S630中的进程。在完成S630中的进程之后,SCSI命令分析任务111返回到S605。
这里,将对于S630中的进程给出一个具体示例。在该示例中,PC12向多功能外围设备11传送SCSI命令以请求发送传真数据。在S630中,SCSI命令分析任务111将所接收到的SCSI命令传送到PC-FAX I/O任务155。
此时,PC-FAX I/O任务155向调制解调器控制任务165传送数据等,并且调制解调器控制任务165控制调制解调器硬件175的操作以执行传真发送进程等。当PC-FAX I/O任务155准备接收随后的传真发送数据时,指明该状态的响应被返回到SCSI命令分析任务111。
在S630的进程期间,SCSI命令分析任务111等待直至PC-FAX I/O任务155完成该进程。在从PC-FAX I/O任务155接收到响应之后,SCSI命令分析任务111作为对SCSI命令的响应向PC 12返回该响应,并且随后结束S630中的进程。
作为另一示例,PC 12可向多功能外围设备11传送SCSI命令以请求接收传真数据。在该情形中,在S630中,SCSI命令分析任务111向PC-FAX I/O任务155传送接收到的SCSI命令。
此时,如果接收到这种数据,则PC-FAX I/O任务155向SCSI命令分析任务111返回传真接收数据等。如果没有接收到传真接收数据,则PC-FAX I/O任务155向SCSI命令分析任务111返回指明没有接收到传真接收数据的数据。
在S630的进程期间,SCSI命令分析任务111等待直至PC-FAX I/O任务155完成该进程。在从PC-FAX I/O任务155接收到响应之后,SCSI命令分析任务111作为对SCSI命令的响应向PC 12返回该响应,并且随后结束S630中的进程。
存在可由PC 12传送到PC-FAX I/O任务155的各种SCSI命令,例如包括用于获取调制解调器状态的命令。因此,使用PC-FAX I/O任务155和调制解调器控制任务165来执行的这些进程的细节根据SCSI命令变化。然而,因为使用PC-FAX I/O任务155和调制解调器控制任务165来执行的进程与用于具有PC-FAX功能的传统设备的本领域中公知的进程相同,在这里将不给出对这些进程的说明。
当发出SCSI命令时执行的示例PC进程
下面,对于当PC 12向多功能外围设备11发出SCSI命令时由PC12执行的各种进程中的一个给出一个详细示例。图11是指明由PC 12的打印机端口驱动器223执行的进程中的步骤的流程图。当启动打印机端口驱动器223时执行该进程。
在S705中,在该进程开始时,PC 12确定是否已经从打印机驱动器261接收到打印工作开始请求。如果未接收到打印工作开始请求(S705:NO),则PC 12继续循环返回到S705直至已经从打印机驱动器261接收到打印工作开始请求。
当已经在S705中接收到打印工作开始请求时(S705:YES),在S710中,PC 12从共享INI文件获取用于多功能外围设备11的读卡器功能的驱动盘符。例如,注意到,在S710中获取的驱动盘符是已在上述S120中被存储在共享INI文件中的一个。
在S715中,PC 12确定被分配有从共享INI文件读出的驱动盘符的驱动器是否相应于多功能外围设备11的读卡器功能。
执行S715中的进程,因为有可能在形成共享INI文件之后,修改了驱动盘符分配并且在共享INI文件中存储的驱动盘符不同于该驱动盘符。
如果相应于在共享INI文件中存储的驱动盘符的驱动器不是相应于多功能外围设备11的读卡器功能的驱动器或者如果在该确定进程中发生错误(S715:NO或者错误),则PC 12前进到S720。在S720中,在短暂停歇之后,PC 12在对话框中显示消息,例如“请与多功能外围设备建立USB连接并且点击“重试”。如果多功能外围设备已被连接,则取消该操作并且执行重新扫描程序”。
在S720中显示消息之后,PC 12等待用户输入。在这期间,用户可以在PC 12的显示器单元上显示的对话框中执行点击一个对话框按钮“重试”或者“取消”中的一个的操作
如果用户选择“取消”(S720:取消),则打印机端口驱动器223不能在当前状态中继续该打印相关的进程。因此,在S725中,打印机驱动器261通知用户打印工作无法开始并且返回到S705。
然而,用户还可在S720中点击“重试”,并且当必要时,可以在点击“重试”之前执行重新扫描程序。
将在以后详细描述重新扫描程序。通过执行重新扫描程序,能够消除记录于共享INI文件中的驱动盘符与该驱动盘符之间的不一致性。
如果未在PC 12和多功能外围设备11之间建立USB连接(例如,当多功能外围设备11的电源开关未被开启或者当USB电缆被拔出时),则用户可以在建立USB连接之后点击“重试”。如果即使在用户检查USB连接并且点击“重试”之后,相应于多功能外围设备11的读卡器功能的驱动器也不能被识别,则用户可以在首先执行重新扫描程序之后尝试点击“重试”。
当在执行以上的进程时PC 12确认该驱动器相应于多功能外围设备11的读卡器功能时(S715:YES),在S730中,PC 12通知打印机驱动器261打印工作成功地开始。当接收到该通知时,打印机驱动器261开始向打印机端口驱动器223输出打印数据。
在S735中,打印机端口驱动器223利用SCSI命令(SCSI-LUN=1)将从打印机驱动器261接收到的打印工作数据中转到多功能外围设备11。
因此,打印机端口驱动器223发出SCSI命令,同时规定SCSI-LUN分配打印机功能(在该实施例的示例中SCSI-LUN=1)从而向具有打印机功能的多功能外围设备11中的逻辑单元发出SCSI命令。
以此方式从打印机端口驱动器223发出的SCSI命令随后经由USB存储驱动器203和USB协议堆栈201从SCSI命令处理器211被传送到多功能外围设备11。
当在多功能外围设备11侧接收到时,SCSI命令被传送到上述SCSI命令分析任务111。SCSI命令分析任务111基于在SCSI命令中包含的SCSI-LUN而向相应于SCSI-LUN=1的数据处理系统传送数据,由此执行多功能外围设备11的打印机功能。
在完成上述S735中的进程之后,在S740中,PC 12确定是否已经到达打印工作数据的终点。如果没有到达打印工作数据的终点(S740:NO),则PC 12返回到S735,由此在存在打印工作数据时重复地发出SCSI命令。
当PC 12确定已经到达打印工作数据的终点时(S740:YES),PC 12返回到S705。
如上所述,通过发出规定将SCSI-LUN=1分配给打印机功能的SCSI命令,打印机端口驱动器223控制多功能外围设备11的打印机功能。进一步,用于从PC 12向多功能外围设备11传送SCSI命令的逻辑通信路径与PC 12的OS已经为使用多功能外围设备11的读卡器功能准备的路径相同。
以上的说明是其中打印机端口驱动器223发出SCSI命令以规定SCSI-LUN=1的一个示例进程。然而,当控制其它功能时,PC 12发出规定其它SCSI-LUN的SCSI命令。
例如,扫描仪驱动器225发出规定SCSI-LUN=2分配给多功能外围设备11的扫描仪功能的SCSI命令。另外,PC-FAX应用275发出规定SCSI-LUN=3分配给多功能外围设备11的PC-FAX功能的SCSI命令。
因为多功能外围设备11的SCSI命令分析任务111向相应于在SCSI命令中包括的SCSI-LUN的数据处理系统传送数据,由发出SCSI命令的PC 12所预期的功能得以控制。
具体地,因为扫描仪驱动器225发出规定SCSI-LUN=2的SCSI命令,扫描仪驱动器225可控制多功能外围设备11的扫描仪功能。另外,通过发出规定SCSI-LUN=3的SCSI命令,PC-FAX应用275可控制多功能外围设备11的PC-FAX功能。
而且,通过根据以上的方法发出SCSI命令,用于从PC 12向多功能外围设备11传送SCSI命令的逻辑通信路径可为PC 12的OS已经为使用多功能外围设备11的读卡器功能准备的共享路径。因此,读卡器功能、打印机功能、扫描仪功能和PC-FAX功能均可共享用于传送SCSI命令的单个通信路径。
重新扫描程序
下面,参考图12描述在以上S720的进程中提及的重新扫描程序。如上所述,重新扫描程序是用于消除在记录于共享INI文件中的驱动盘符和相应于多功能外围设备11中的读卡器功能的驱动器的驱动盘符之间的不一致性的实用程序。
当执行重新扫描程序时,在S810中,PC 12搜索多功能外围设备的读卡器驱动器。因为S810中的进程与上述图6中的进程相同,将不对该进程进行重复说明。
如果在S810中未找到读卡器驱动器(S810:未找到),则在S815中,PC 12为用户显示对话框,其消息为“请与多功能外围设备11建立USB连接,等待一会并且然后点击OK”。
在S815的进程中,PC 12等待用户输入。此时,用户可以在显示于PC 12的显示器单元上的对话框中执行选择“OK”或者“取消”的操作。
如果用户点击“取消”(S815:取消),则重新扫描程序的进程结束。如果用户点击“OK”(S815:OK),则PC 12返回到S810的进程。
如果在以上的进程中找到读卡器驱动器(S810:找到),则在S820中,PC 12在共享INI文件中记录为读卡器驱动器找到的驱动盘符并且结束重新扫描程序。
因为新找到的驱动盘符在S820中被记录于共享INI文件中,重新扫描程序消除了记录于共享INI文件中的驱动盘符与该驱动盘符之间的不一致性。
实施例的效果
根据上述实施例的多功能外围设备11强制PC 12的OS将多功能外围设备11识别为具有单个USB-LUN的USB存储类设备。然而,当在PC 12和多功能外围设备11之间执行SCSI兼容数据传送时,多功能外围设备11用作具有多个SCSI-LUN的设备。
通过向相应于多个SCSI-LUN的逻辑单元分配多个不同的功能(打印机功能、扫描仪功能、PC-FAX功能和数据存储功能),PC 12能够通过规定相应的SCSI-LUN控制具有不同功能的逻辑单元。
而且,因为当执行根据以上方法的数据传送时,PC 12将多功能外围设备11识别为具有单个USB-LUN的USB存储类设备,多功能外围设备11仅需设有相应于单个USB-LUN的输入和输出端点的各一个。
因此,不象具有相应于每个功能的输入和输出端点的USB复合设备,多功能外围设备11仅需具有用于所有这些功能的输入端点和输出端点的各一个,由此减少了所需端点的数目。
在与另一USB设备建立连接之前,不形成其中一个USB设备需被断开的虚拟条件。因此,PC 12的OS能够同时地使用该多个功能而不需要切换设备驱动器的时间。
进一步,因为用于控制传送的端点(EP0)不被用于传送其它数据,所需控制可被快速地执行而不受其它数据传送的干扰,即使当传送大量数据时。
实施例的改变
虽然已经参考其具体实施例详细描述了本发明,但是对于本领域技术人员而言明显的是,可在其中作出很多改变和修改而不背离本发明的精神,所述改变和修改的范围由权利要求限定。
虽然在上述实施例中读卡器功能被分配给SCSI-LUN=0,相应于另一数据存储设备的功能可被分配给SCSI-LUN=0,例如相应于另一可移动磁盘、CD-ROM驱动器、硬盘、或者磁光盘驱动器的功能。
在上述实施例中,多功能外围设备11向PC 12返回指明SCSI-1兼容设备的响应从而可以使用在由PC 12发出的SCSI命令中的LUN域。多功能外围设备仿真SCSI-1兼容设备。然而,本发明并不限于该配置。例如,多功能外围设备11可被配置为向PC 12返回指明具有未知SCSI版本的设备的响应。在该情形中,可以使用在SCSI-2和随后版本中被忽略的LUN域,而不背离SCSI标准。多功能外围设备11仿真未知SCSI版本的设备。
在上述实施例中,多功能外围设备11被PC 12识别为具有单个USB兼容逻辑单元,但是具有多个SCSI兼容逻辑单元。
然而,多功能外围设备11可被配置为具有多个USB兼容逻辑单元。而且,当采用这种结构时,多功能外围设备11可具有用于该多个USB兼容逻辑单元的至少一个的每个的多个SCSI兼容逻辑单元。
该构造进一步增加了多功能外围设备11中的逻辑单元的数目,因为多功能外围设备11是具有如此类型的设备,其独立可控功能等效于逻辑单元的数目。
Claims (6)
1.一种多功能设备,具有至少包括数据存储功能和一种不同于所述数据存储功能的功能的多个功能,并且能够经由通用串行总线(USB)接口连接到计算机,所述多功能设备包括:
设备数据输出单元,当与所述计算机建立连接时,所述设备数据输出单元输出强制所述计算机中的OS(操作系统)将所述多功能设备识别为根据USB标准的具有单个USB兼容逻辑单元编号(LUN)的USB存储类设备的信息;以及
控制单元,当从所述计算机传送包括SCSI兼容数据格式的命令的输出数据时,所述控制单元基于在所述命令中提供的逻辑单元编号(LUN)字段中存储的数值,确定所述输出数据是用于控制所述多个功能中的哪一个。
2.根据权利要求1的多功能设备,其中所述不同于数据存储功能的功能包括选自打印机功能、扫描仪功能和传真功能中的至少一个功能。
3.根据权利要求1的多功能设备,其中当所述LUN字段中的数据为0时,所述控制单元确定所述输出数据是用于控制所述数据存储功能的数据。
4.一种设备控制系统,包括:
计算机;以及
具有多个功能的多功能设备,所述多个功能至少包括数据存储功能和一种不同于所述数据存储功能的功能,
所述计算机和所述多功能设备经由通用串行总线(USB)接口相互连接,
所述多功能设备包括:
设备数据输出单元,当与所述计算机建立连接时,所述设备数据输出单元输出强制所述计算机中的OS(操作系统)将所述多功能设备识别为根据USB标准的具有单个USB兼容逻辑单元编号(LUN)的USB存储类设备的信息;以及
设备控制单元,当从所述计算机传送包括SCSI兼容数据格式的命令的输出数据时,所述设备控制单元基于在所述命令中提供的逻辑单元编号(LUN)字段中存储的数值,确定所述输出数据是用于控制所述多个功能中的哪一个,
所述计算机包括计算机控制单元,当由在所述计算机上工作的数据处理器指示以控制所述多功能设备的多个功能中的一个时,所述计算机控制单元在命令中提供的LUN字段中存储与作为控制目标的功能对应的数值,并且向所述多功能设备传送包括所述命令的输出数据。
5.根据权利要求4的设备控制系统,其中所述不同于数据存储功能的功能包括选自打印机功能、扫描仪功能和传真功能中的至少一个功能。
6.根据权利要求4的设备控制系统,其中当将所述多功能设备识别为根据USB标准的USB存储类设备时,当控制所述设备时,在计算机中提供的OS将所述设备识别为具有所述数据存储功能并且在SCSI标准中所规定的LUN字段中具有数值0的设备;以及
当LUN字段中的数值为0时,所述多功能设备的设备控制单元确定所述输出数据是用于控制所述数据存储功能的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007-084771 | 2007-03-28 | ||
JP2007084771A JP2008245046A (ja) | 2007-03-28 | 2007-03-28 | 複合機、およびデバイス制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101277362A CN101277362A (zh) | 2008-10-01 |
CN101277362B true CN101277362B (zh) | 2012-06-20 |
Family
ID=39796250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100874679A Expired - Fee Related CN101277362B (zh) | 2007-03-28 | 2008-03-28 | 多功能外围设备和设备控制系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7979600B2 (zh) |
JP (1) | JP2008245046A (zh) |
CN (1) | CN101277362B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5513018B2 (ja) * | 2008-06-27 | 2014-06-04 | キヤノン電子株式会社 | 周辺装置及び画像読取装置 |
US20100180064A1 (en) * | 2009-01-14 | 2010-07-15 | Huawei Device Co., Ltd. | Method and device for implementing USB endpoint multiplexing |
US8028104B2 (en) * | 2009-01-29 | 2011-09-27 | Xerox Corporation | Method and system for polling multifunction devices based on performance criteria |
JP5566054B2 (ja) | 2009-06-24 | 2014-08-06 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
JP2011134186A (ja) * | 2009-12-25 | 2011-07-07 | Seiko Epson Corp | Usbデバイス装置 |
US9256447B2 (en) * | 2011-10-25 | 2016-02-09 | Citrix Systems, Inc. | Integrated application launching in heterogeneous cloud computing environment |
US10029053B2 (en) * | 2012-05-03 | 2018-07-24 | Stamford Devices Ltd. | Nebulizer |
JP6163976B2 (ja) * | 2013-08-29 | 2017-07-19 | セイコーエプソン株式会社 | 受信装置、送信装置 |
US10116749B2 (en) * | 2015-08-31 | 2018-10-30 | The Boeing Company | Method for providing flight management system data to peripheral devices |
CN105718388B (zh) * | 2016-01-20 | 2018-09-25 | 飞天诚信科技股份有限公司 | 一种基于usb设备的异步调用方法和装置 |
JP6696265B2 (ja) * | 2016-03-29 | 2020-05-20 | 日本電気株式会社 | リモート端末装置とその制御方法とコンピュータシステム並びにプログラム |
WO2018231249A1 (en) * | 2017-06-16 | 2018-12-20 | Hewlett-Packard Development Company, L.P. | Communication port recovery |
CN108449004A (zh) * | 2018-03-15 | 2018-08-24 | 大族激光科技产业集团股份有限公司 | 一种处理伺服电机运动不反馈的方法 |
US11863343B2 (en) * | 2019-02-14 | 2024-01-02 | Savant Systems, Inc. | Multi-role devices for automation environments |
CN110166558B (zh) * | 2019-05-24 | 2020-03-06 | 苏州浪潮智能科技有限公司 | 一种多控存储集群的通信方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1200512A (zh) * | 1997-02-13 | 1998-12-02 | 株式会社东芝 | 多功能外部设备控制器 |
CN1542630A (zh) * | 2003-04-30 | 2004-11-03 | 日商.c原科技股份有限公司 | 通用串行总线存储装置和控制装置 |
WO2006006548A1 (en) * | 2004-07-08 | 2006-01-19 | Canon Kabushiki Kaisha | Image processing apparatus and control method of the same |
JP2006178704A (ja) * | 2004-12-22 | 2006-07-06 | Seiko Epson Corp | 複数の機能を有する装置、及び当該装置と接続可能な上位装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001222503A (ja) | 2000-02-08 | 2001-08-17 | Ricoh Co Ltd | 周辺機器制御システム |
JP3513147B2 (ja) | 2002-05-29 | 2004-03-31 | 株式会社ハギワラシスコム | Usbストレージデバイス及びその制御装置 |
JP3914949B2 (ja) | 2002-05-29 | 2007-05-16 | 株式会社ハギワラシスコム | Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム |
JP4109983B2 (ja) | 2002-12-24 | 2008-07-02 | キヤノン株式会社 | 通信システム |
US7346714B2 (en) | 2002-09-05 | 2008-03-18 | Canon Kabushiki Kaisha | Notification of completion of communication with a plurality of data storage areas |
US7526580B2 (en) * | 2003-06-27 | 2009-04-28 | Brother Kogyo Kabushiki Kaisha | Peripheral device |
JP3906838B2 (ja) | 2003-12-11 | 2007-04-18 | 村田機械株式会社 | Usb対応型デジタル複合機 |
JP2006293777A (ja) | 2005-04-12 | 2006-10-26 | Canon Inc | インストールシステム、インストール方法、インストールプログラム、記憶媒体及び情報処理装置 |
-
2007
- 2007-03-28 JP JP2007084771A patent/JP2008245046A/ja active Pending
-
2008
- 2008-03-25 US US12/055,066 patent/US7979600B2/en not_active Expired - Fee Related
- 2008-03-28 CN CN2008100874679A patent/CN101277362B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1200512A (zh) * | 1997-02-13 | 1998-12-02 | 株式会社东芝 | 多功能外部设备控制器 |
CN1542630A (zh) * | 2003-04-30 | 2004-11-03 | 日商.c原科技股份有限公司 | 通用串行总线存储装置和控制装置 |
WO2006006548A1 (en) * | 2004-07-08 | 2006-01-19 | Canon Kabushiki Kaisha | Image processing apparatus and control method of the same |
JP2006178704A (ja) * | 2004-12-22 | 2006-07-06 | Seiko Epson Corp | 複数の機能を有する装置、及び当該装置と接続可能な上位装置 |
Non-Patent Citations (1)
Title |
---|
CN]1571467A 2005.01.26 |
Also Published As
Publication number | Publication date |
---|---|
US7979600B2 (en) | 2011-07-12 |
JP2008245046A (ja) | 2008-10-09 |
US20080244107A1 (en) | 2008-10-02 |
CN101277362A (zh) | 2008-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101277362B (zh) | 多功能外围设备和设备控制系统 | |
CN101277353B (zh) | 具有多个功能的多功能外围设备 | |
US8156268B2 (en) | Multifunction peripheral | |
US9124751B2 (en) | Peripheral device and image reading device | |
CN100412836C (zh) | 利用外部装置通过通用串行总线控制主机的方法及其系统 | |
EP2273775B1 (en) | Peripherals of computer | |
KR101098064B1 (ko) | Usb 및 무선 접속성을 갖는 비휘발성 메모리 장치 및 상기 접속성을 제어하기 위한 방법 | |
JP2001256170A (ja) | 周辺装置及びプリンタ | |
US20090019187A1 (en) | Peripheral Device Using Method, and Peripheral Device Server | |
JP4544188B2 (ja) | ドライブ構成設定プログラム | |
EP2544426A1 (en) | Image forming apparatus communicating with external device through network, network system, method of controlling image forming apparatus, program, and storage medium | |
JPH09181764A (ja) | ネットワークに接続されて通信可能な装置及びコンピュータ機器及びその再構築方法と伝送方法 | |
US20100180061A1 (en) | Interface control device | |
CN102404476B (zh) | 图像形成装置及其形成图像的方法 | |
US6892267B2 (en) | Method for message transmission exploiting unused device addresses | |
US6871924B2 (en) | Multi-mode direct print adapter | |
JP7552094B2 (ja) | 制御装置、画像処理システムおよびプログラム | |
JP2003219089A (ja) | 電子機器の制御装置 | |
JP2002073520A (ja) | 情報処理装置およびデータ通信処理方法および記憶媒体 | |
JP2004334798A (ja) | 通信制御システム、通信制御方法、通信制御用プログラム及び記憶媒体 | |
EP2180405A1 (en) | Method and apparatus for enabling enhanced USB interaction | |
JP5739561B2 (ja) | 周辺装置、画像読取装置および画像読取システム | |
JPH11232068A (ja) | 記録システムおよび記録装置および記録システムのデータ処理方法および記録装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JPH10341270A (ja) | 通信装置及び通信方法 | |
JPH11177650A (ja) | データ転送装置および周辺機器およびデータ転送装置のデータ処理方法および周辺機器のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |
Granted publication date: 20120620 Termination date: 20200328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |