【背景技术】
光盘存储具有容量大,保存时间长等特点,适宜保存大量数据,如声音、图像、动画、视频等。
光驱是一种读取光盘内信息的设备,为保证进入消费市场的光驱的品质,光驱生产厂商在光驱整机出厂前,必须对光驱进行品质检测,即采用光驱检测设备和程序,对光驱各项性能进行测试。例如:光驱包括一进/出仓控制单元,以控制光驱的进/出仓。每一次放光盘和取光盘均必须进行进/出仓动作,若进/出仓控制单元出现异常,光驱就无法工作。为此,有必要在光驱出厂前进行光驱的进/出仓测试,包括进仓时间和出仓时间等参数值。
现有技术中,光驱进/出仓测试装置包括:指令发送单元、检测单元和计时单元。其测试步骤包括:首先,所述指令发送单元发送出仓指令至光驱;光驱接收到出仓指令后开始出仓,同时光驱的忙碌位(Busy Polarity)将自动从“完成”置为“忙碌”,实际光驱中以低电平变高电平表示;所述计时单元开始计时;所述检测单元实时检测光驱的忙碌位,当光驱的忙碌位变为“完成”时(光驱出仓完成,即低电平),所述计时单元停止计时。所述忙碌位置为“忙碌”所持续的时间即为出仓时间,进仓时间亦同理可得。
但是,在光驱的忙碌位从“忙碌”到“完成”这一段时间,所述光驱进/出仓测试装置一直在等待光驱的忙碌位的变化,而没有进行其它动作。即一台光驱进/出仓测试装置同时只能对一台光驱进行测试,平均测试时间长,测试效率低。
【发明内容】
鉴于此,有必要提供一种可对多台光驱同时测试的进/出仓测试装置。
还有必要提供一种可对多台光驱同时测试的进/出仓测试方法。
一种光驱进/出仓测试装置,其与多台光驱相连,包括:
选择单元,用于根据预定顺序,选择所述多台光驱中的一台进行测试,被选择的光驱为当前光驱;
指令发送单元,用于发送进/出仓指令至当前光驱,以驱动当前光驱进/出仓;
检测单元,用于检测当前光驱是否进/出仓完成;
计时单元,用于记录自进/出仓指令发送起至进/出仓完成止之间的进/出仓时间;
控制单元,用于在当前光驱处于进/出仓过程中时,控制所述选择单元依所述预定顺序选择下一光驱进行测试。
一种光驱进/出仓测试方法,包括如下步骤:
连接多台光驱;
选择一光驱进行测试,被选择的光驱为当前光驱;
发送进/出仓指令至当前光驱;
开始对当前光驱计时;
检测当前光驱是否进/出仓完成;
若当前光驱进/出仓未完成,依预定顺序选择下一光驱进行测试;
若当前光驱进/出仓已完成,停止对当前光驱的计时。
上述光驱进/出仓测试装置和方法在对多台光驱进行测试时,若当前光驱处于进/出仓过程中时,将选择下一光驱进行测试工作,无需等待当前光驱进/出仓完成后再进行其它光驱的测试,从而实现多台光驱的同时测试,减少平均测试时间,提高测试效率。
【具体实施方式】
请参阅图1,光驱进/出仓测试装置20与多台光驱相连,并发送进/出仓指令至所述多台光驱。
光驱进/出仓测试装置20包括:选择单元202、存储单元204、检测单元206、设定单元208、指令发送单元210、计时单元212、显示单元214和控制单元216。选择单元202用于依照预定顺序选择所述多台光驱中的一台作为当前光驱。此处以3台光驱10a、10b和10c为例进行说明。
选择单元202依照预定顺序依次选择所述3台光驱10a、10b和10c进行测试。所述预定顺序可为:首先选择光驱10a,依次为光驱10b和10c,当光驱10c选择完成后,重新选择光驱10a,如此循环。每一光驱接收到进/出仓指令后,该光驱的忙碌位将自动置为“忙碌”,然后开始进/出仓。选择单元202是在当前光驱的忙碌位为“忙碌”时(即当前光驱处于进/出仓过程中),依照预定顺序选择下一光驱进行测试。
存储单元204用于存储光驱10a、10b和10c的信息,包括测试次数、状态和进/出仓时间等。所述测试次数是指每一光驱需要进行测试的次数值。所述状态包括:“出仓”、“进仓”和“空闲”。所述“出仓”是指光驱处于出仓阶段的状态;所述“进仓”是指光驱处于进仓阶段的状态;所述“空闲”是指光驱处于测试前的初始状态。
检测单元206用于检测当前光驱忙碌位信息和存储单元204中存储的信息,并将检测结果发送至控制单元216。所述检测结果包括:忙碌位信息、状态信息和测试次数信息。
设定单元208,在光驱进/出仓测试装置20初始化时,设置一预设测试次数,并对存储单元204中存储的测试次数和状态进行更新。所述测试次数更新是指,每完成一次测试,该光驱的测试次数减1。所述一次测试是指完成一次出仓和一次进仓测试。当所有光驱的测试次数的和(即总测试次数)为零时,测试结束。所述状态更新是指,设定单元208根据当前光驱的所处的状态,将存储单元204中当前光驱的状态设置为“出仓”或“进仓”或“空闲”。
指令发送单元210用于将预设的进/出仓指令发送至当前光驱,以驱动当前光驱执行进/出仓动作。当前光驱进/出仓完成后,其忙碌位将自动置为“完成”。计时单元212是通过分别记录自进/出仓指令发送起至进/出仓完成止之间的时间长度,即为当前光驱的进/出仓时间,也即是当前光驱的忙碌位从变为“忙碌”的时刻到变为“完成”的时刻所经过的时间。显示单元214用于显示所述所有光驱的进/出仓时间等信息。
控制单元216根据检测单元206的检测结果,控制选择单元202、设定单元208、指令发送单元210和计时单元212的工作。其中:根据所述忙碌位信息,判断当前光驱是否进/出仓完成,以控制选择单元202是否选择下一光驱进行测试,以及计时单元212计时的起止;根据所述状态信息,判断当前光驱是进仓完成还是出仓完成,以控制指令发送单元210是发送进仓指令还是出仓指令,以及设定单元208对当前光驱的信息的更新;根据所述测试次数信息,判断当前光驱是否测试完成。
以上述光驱进/出仓测试装置20对3台光驱10a、10b和10c进行测试时,若检测单元206检测到当前光驱处于进/出仓过程中(即忙碌位为“忙碌”时),选择单元202将依照预定顺序选择下一光驱进行测试,无需等待当前光驱进/出仓完成后,再进行其它测试工作,从而实现3台光驱10a、10b和10c的同时测试,减少平均测试时间,提高测试效率。
光驱进/出仓测试装置20的测试流程请参阅图2,包括如下步骤:
首先,光驱进/出仓测试装置20连接多台光驱(步骤300)。设定单元208将存储单元204中所有光驱的状态均罩为“空闲”(步骤302)。设定单元208将存储单元204中所有光驱的测试次数设置为一预设测试次数(步骤304)。选择单元202选择一光驱,被选择的光驱即为当前光驱(步骤306)。
检测单元208检测存储单元204中对应当前光驱的状态(步骤308)。
若当前光驱的状态为“空闲”,检测单元208检测存储单元204中所有光驱的测试次数的和(总测试次数)是否等于零(步骤310)。若所述总测试次数等于零,表示所有光驱测试完成,流程结束。若总测试次数不等于零,表示还有光驱需要测试,检测单元208检测存储单元204中当前光驱的测试次数是否等于零(步骤312)。
若当前光驱的测试次数等于零,表示当前光驱已经测试完成,选择单元202依照预定顺序选择下一光驱进行测试(步骤320)。若当前光驱的测试次数不等于零,表示当前光驱未测试完成,指令发送单元210发送出仓指令至当前光驱(步骤314)。设定单元208置存储单元204中当前光驱状态为“出仓”(步骤316)。当前光驱接收到出仓指令后开始出仓,同时计时单元212对当前光驱开始计时(步骤318)。计时开始后,选择单元202依照预定顺序选择下一光驱进行测试(步骤320)。
检测单元208检测当前光驱的忙碌位(步骤322)。若忙碌位为“忙碌”,表示当前光驱处于进/出仓过程中,回到步骤320。若忙碌位为“完成”,表示当前光驱进/出仓完成,回到步骤308。
若当前光驱的状态为“出仓”,计时单元212停止对当前光驱的计时,并保存当前光驱的出仓时间(步骤324)。指令发送单元210发送进仓指令至当前光驱(步骤326)。设定单元208置存储单元204中当前光驱的状态为“进仓”(步骤328)。当前光驱接收到进仓指令后开始进仓,同时计时单元212对当前光驱开始计时(步骤330)。计时开始后,选择单元202依照预定顺序选择下一光驱进行测试(步骤320)。
若当前光驱的状态为“进仓”,计时单元212停止对当前光驱的计时,并保存当前光驱的进仓时间(步骤332)。设定单元208将当前光驱的测试次数减1(步骤334)。设定单元208置存储单元204中当前光驱的状态为“空闲”(步骤336)。选择单元202依照预定顺序选择下一光驱进行测试(步骤320)。
上述光驱进/出仓测试装置20和测试方法还可进一步包括一输入终端,用于用户对测试次数的修改,且不同光驱的测试次数可以设置不同数值。