具体实施方式
图1所示为一个示范性的测试卡系统10的具体框图。更具体的是,系统10是一个通过包含一系列多重定义的多重功能的信号的PCMCIA接口110来测试一个CardBay系统的示范性测试卡系统。在此描述的本示范性实施例将参考68引脚的PCMCIA接口110。但是,本发明并不受限于PCMCIA接口,且可以应用于任何多功能测试。
系统10通常包括:一个状态机202;多个媒体装置,包括存储棒卡(MS)210、安全数字卡(SD)212、智能媒体卡(SMC)214和多媒体卡(MMC)216;多个场效应管缓冲器(220、222、224、226);多个快速开关(230、232、234、236);和一个电容240。当包含MMC、SD、MS和SMC卡的单个测试卡插入68引脚的PCMCIA接口110时,测试程序首先打开PCMCIA接口中的电源Socket_VCC 112。本示范性实施例中的Socket_VCC为3.3伏。因为二极管242上的压降约为0.3伏,因此状态机202上的电压约等于3伏。从而状态机202上形成了一个+3VSB的供电电平(power rail)。二极管242能隔离状态机202上的+3VSB的供电电平和Socket_VCC 112。电容240在Socket_VCC 112上电时进行充电,且能在测试期间切换到测试下一功能、Socket_VCC 112处于很短的暂时关期间给状态机202提供稳定的电源。这样状态机202就不会被复位且能完成测试所有选择的功能/装置。甚至还能使得接口110关断电源来重新配置下一个选择的媒体装置的测试。开关244用来给电容240放电。状态机202的时钟源可以由来自PCMCIA接口110的相应引脚的SQRYDR 118或由Socket_VCC 112经由RC延迟滤波器262和施密特触发器(Smith-trigger gate)产生的Delay_Socket_VCC 116提供。模式跳线41(MODEjumper)可以选择上述时钟源。本实施例中,我们通过短接模式跳线41的引脚113和115选择Delay_Socket_VCC 116作为状态机202的时钟源。Delay_Socket_VCC 116由接口110的电源的上升沿提供。这样就能通过接口110处的电源的开和闭为状态机202提供时钟源。状态机202通常包括一个计数器252和一个解码器电路254。脉冲计数器252的时钟为上升沿触发。两比特计数器252的输出SQRY3和SQRY4提供给解码器电路254来选择一个SD、MMC、MS和SMC接口/装置(210、212、214、216)。解码器电路254对脉冲计数器252的输出解码,并产生激活信号给相应的快速开关(230、232、234、236)和场效应管(270、272、274、276),从而激活相应的接口路径和给所选的媒体装置(210、212、214、216)(例如MMC、SD、MS或SMC中的一个)供电。工作过程如下所述:
(a).如本领域所熟知,一旦Socket_VCC 112上电,脉冲计数器252的输出(SQRY3,SQRY4)就复位为(0,0),接着脉冲计数器252获取Delay_Socket_VCC 116的上升沿信号,其状态变为(1,1)。解码器电路254会对脉冲计数器252的输出进行解码,并产生相应的激活信号。因此MS路径被激活并被选择进行测试。快速开关(230、232、234、236)能隔离定义在68引脚的PCMCIA接口110的信号和每个SD、MMC、MS、SMC连接器/卡的信号。待MS卡210上的电源稳定后,测试程序能复位卡210并进行测试。测试结束后,测试程序显示测试结果给输出(显示器或其它装置),并关断Socket_VCC 112。场效应管缓冲器(MOSFET buffer)在Socket_VCC112关断时可以防止解码器电路254上的电力泄漏到快速开关230和其它装置。
(b).测试程序有一个很短的延迟来对Socket_VCC 112放电。因为+3VSB的电源必须保持稳定,所以该延迟时间不能太长。
(c).测试程序接着第二次使Socket_VCC 112上电。脉冲计数器252将变为(0,1)。SD路径被激活并被选择进行测试。其它步骤与上述(a)和(b)相似。
(d).测试程序接着第三次使Socket_VCC 112上电。脉冲计数器252将变为(1,0)。SMC路径被激活并被选择进行测试。其它步骤与上述(a)和(b)相似。
(e).测试程序接着第四次使Socket_VCC 112上电。脉冲计数器252将变为(0,0)。MMC路径被激活并被选择进行测试。其它步骤与上述(a)和(b)相似。
图2所示为另一个示范性测试卡系统10’的具体框图。总体上,本实施例通过短接模式跳线41的引脚115和117,利用SQRYDR作为状态计数器的时钟源。SQRYDR 118是CardBay PCMCIA接口110上的一个引脚,且由CardBay控制器驱动来判定CardBay卡的功能。图2中的很多部件与图1中相似,从而标号相同。因此为简洁起见,在此省略了与图1中相似的部件的描述,而着重描述图1与图2中的不同点。采用SQRYDR 118作为状态计数器252的时钟源的工作过程如下所述:
(a).当包含MMC、SD、MS和SMC卡(210、212、214、216)的测试卡10’插入68引脚的PCMCIA接口110时,测试程序第一次使Socket_VCC上电。脉冲计数器252的输出(SQRY3,SQRY4)就复位为(0,0)。接着测试程序关断Socket_VCC 112。测试程序的一次产生SQRYDR 118脉冲,使脉冲计数器252变为(1,1),接着使Socket_VCC 112再次上电。MS路径被激活并被选择进行测试。待MS卡210上的电源稳定后,测试程序能复位卡210并进行测试。测试结束后,测试程序显示测试结果给输出(显示器或其它装置),并关断Socket_VCC 112。
(b).测试程序有一个很短的延迟来对Socket_VCC 112放电。因为+3VSB的电源必须保持稳定,所以该延迟时间不能太长。
(c).测试程序接着第二次产生SQRYDR 118脉冲使脉冲计数器252变为(0,1),并使Socket_VCC 112上电。SD/(MMC)路径被激活并被选择进行测试。其它步骤与上述(a)和(b)相似。
(d).测试程序接着第三次产生SQRYDR 118脉冲使脉冲计数器252变为(1,0),并再次使Socket_VCC 112上电。SMC路径被激活并被选择进行测试。其它步骤与上述(a)和(b)相似。
(e).测试程序接着第四次产生SQRYDR 118脉冲使脉冲计数器252变为(0,0),并再次使Socket_VCC 112上电。MMC路径被激活并被选择进行测试。其它步骤与上述(a)和(b)相似。
在此描述的测试步骤还可以是另一种本领域技术人员熟知的简单步骤,上述是为了保持与“使用Delay_Socket_VCC”的步骤一致。
图3所示为本发明的一个应用于笔记本计算机系统20的测试卡的可能形状。包含MMC、SD、MS和SMC卡(210、212、214、216)的测试卡10插入一台笔记本计算机20的68引脚的PCMCIA接口110。显然,本发明可以测试所有的MMC、SD、MS和SMC(210、212、214、216)装置和功能,而无需依次的插入和拔出存储器装置。
图4所示为本发明的计数器的更具体的电路图。图4的详细描述请参考图1和图2。图4中的一些部件与图1和图2中的相似,从而标号相同。因此为简洁起见,在此省略对已经在图1和图2中描述过的相似部件的描述。如图4所示,电阻25和电容7构成了图1和图2所示的RC延迟滤波器。在一个实施例中,电阻25和电容7可以分别是300千欧和1微法。本领域的技术人员知道逆变器31、32构成了施密特触发器30。逆变器32的输出将提供Delay_Socket_VCC 116(如图1和图2所示)给模式跳线41。模式跳线41的另一个输出由PCMCIA接口的SQRYDR 118引脚提供。模式跳线41(3引脚跳线)作为一个跳线来给计数器252选择时钟源。二极管242能隔离状态机上的+3VSB的供电电平和Socket_VCC 112。电容240在Socket_VCC 112上电时进行充电,并在Socket_VCC 112暂时关断时供电给状态机,从而维持其状态。在该实施例中,电容240为220微法。计数器252包括两个脉冲D触发器21和22。D触发器21的Q端作为D触发器22的时钟。本领域的技术人员知道,D触发器21和22构成了一个分频器/频率计数器。D触发器21的Q端输出为SQRY3,而D触发器22的Q端输出为SQRY4。同样,D触发器21的
Q端输出为SQRY3#,而D触发器22的
Q端输出为SQRY4#。一旦脉冲D触发器21被时钟源触发,脉冲计数器的输出(SQRY3,SQRY4)将以顺序(1,1)、(0,1)、(1,0)、(0,0)变化。因此输出SQRY3、SQRY3#、SQRY4、SQRY4#被进一步提供至解码器电路。如图1中的实施例所描述,当Socket_VCC 112上电时,如果SQRY3为低电平且SQRY4为低电平,则MMC路径将被激活;如果SQRY3为高电平且SQRY4为高电平,则MS路径将被激活;如果SQRY3为低电平且SQRY4为高电平,则SD路径将被激活;如果SQRY3为高电平且SQRY4为低电平,则SM路径将被激活。
图5所示为本发明的解码器电路254的更具体的电路图。通常,解码器电路254包括多个或门(620、622、624、626),多个晶体管(630、632、634、636)和多个逆变器(640、642、644、646)。或门(620、622、624、626)的输入分别为(SQRY3,SQRY4)、(SQRY3#,SQRY4#)、(SQRY3,SQRY4#)、(SQRY3#,SQRY4)。如上节所述,如果SQRY3为低电平且SQRY4为低电平,则MMC路径将被激活。在本实施例中,当SQRY3为低电平且SQRY4为低电平时,或门620的输出为低电平。因此,晶体管630未导通,从而逆变器640的输入端650 MMC/EN#为低电平。本领域所熟知,逆变器640的输出(MMC/EN),即MMC路径的激活信号将变为高电平,从而激活MMC路径。如果SQRY3为高电平且SQRY4为高电平,则或门622的输出为高。晶体管632未导通。如上所述,逆变器642的输出(MS/EN),即MS路径的激活信号将变为高电平,MS路径被激活。同样,如果SQRY3为低电平且SQRY4为高电平,则SD/EN为高电平,SD路径被激活。如果SQRY3为高电平且SQRY4为低电平,则SM/EN为高电平,SMC路径被激活。
图6所示为本发明的一个SD卡212和一个快速开关232之间的具体引脚布局。本实施例中,快速开关232为3.3伏、10比特的模拟/总线开关。然而,其它类型的类似总线开关也可以应用于本发明。快速开关232由总线激活输入信号打开。有两个总线激活信号
BEA1和BEB13,其都与来自解码器电路254的SD/EN#信号相连。快速开关232的A侧引脚(A0、A1、A2、A3、A4、A5、A6、A7)与来自68引脚的PCMCIA接口的混合信号相连(A8、A9被保留)。开关232的引脚VCC与Socket_VCC相连,引脚GND接地。快速开关232的B侧引脚(B0、B1、B2、B3、B4、B5、B6、B7)与SD卡212(DATA3、Command、SDCLK、DATA0、DATA1、DATA2、CD#、WP)(B8、B9被保留)相连。VSS和VSS2接地,且VDD为SD212的电源引脚。显而易见,一旦SD/EN#信号变为低电平,即SD/EN为高电平,则快速开关232被打开,SD路径被激活从而进行测试。SD212的WP引脚表示SD卡212的写保护状态。测试程序能分辩WP引脚来知道SD卡212是否处于写保护。
图7所示为本发明的一个MMC卡216和一个快速开关236之间的具体引脚布局。如前所述,同样,快速开关236为3.3伏、10比特的模拟/总线开关。为简洁起见,一些与图6中部件相似且标号相同的部件在此不作描述。有两个总线激活信号
BEA1和
BEB13,其都与来自解码器电路254的MMC/EN#信号相连。快速开关236的A侧引脚(A0、A1、A2、A3、A4、A5、A6、A7)与来自68引脚的PCMCIA接口的混合信号相连(A8、A9被保留)。快速开关236的B侧引脚(B0、B1、B2、B3、B4、B5、B6、B7)与MMC卡216(DATA3、Command、SDCLK、DATA0、DATA1、DATA2、CD#、WP)(B8、B9被保留)相连。同样,一旦MMC/EN#信号变为低电平,即MMC/EN为高电平,则快速开关236被打开,MMC路径被激活从而进行测试。
图8所示为本发明的一个MS卡210和一个快速开关230之间的具体引脚布局。同样,如图6和图7中所述,快速开关230为3.3伏、10比特的模拟/总线开关。有两个总线激活信号
BEA1和
BEB13,其都与来自解码器电路254的MS/EN#信号相连。快速开关230的A侧引脚(A0、A1、A2、A3、A4、A5、A6)与来自68引脚的PCMCIA接口的混合信号相连(A7、A8、A9被保留)。快速开关230的B侧引脚(B0、B1、B2、B3、B4、B5、B6)与MS卡210(BS、VCC1、SDIO、RSVD1、INS、RSVD2、CLK)(B7、B8、B9被保留)相连。VSS1和VSS2接地,VCC2为MS 210的电源引脚。同样,当MS/EN#信号变为低电平,即MS/EN变为高电平时,则快速开关230被打开,MS路径被激活从而进行测试。本领域的技术人员知道,电阻91连接于快速开关230的输出端和MS卡之间,其为MS Pro保留。从而本发明还适用于MS Pro,而不仅限于MS。
图9所示为本发明的一个SMC卡214和一个快速开关234之间的具体引脚布局。与图6、图7和图8的实施例有所不同,本实施例中,快速开关234为3.3伏、20比特的模拟/总线开关。然而,其它类似的开关也可以应用于本实施例。有两个总线激活信号1
OE48和2
OE47,其都与来自解码器电路254的SM/EN#信号相连。快速开关234的A侧引脚(1A0、1A1、1A2、1A3、1A4、1A5、1A6,...2A8)与来自68引脚的PCMCIA接口的混合信号相连(2A9、2A10被保留)。快速开关230的B侧引脚(1B1、1B2、1B3、1B4、1B5、1B6,...2B8)与SM卡214(2B9、2B10被保留)相连。同样,当SM/EN#信号变为低电平,即SM/EN#变为高电平时,则快速开关234被打开,SMC路径被激活从而进行测试。SMC卡214也支持写保护功能。测试程序能分辩WP引脚来知道SMC卡214是否处于写保护。
图10所示为本发明的一种测试一个PCMCIA/CardBay系统的部分或所有功能的方法的流程图900。具体描述请参考图1和图2。如图10所示,步骤902,测试卡首先从Delay_Socket_VCC 116和SQRYDY118选择一个合适的时钟源。如图1所述,计数器252和解码器254的时钟源可以由PCMCIA接口110的SQRYDR 118或由Socket_VCC112经由RC延迟滤波器262和施密特触发器产生的Delay_Socket_VCC 116提供。测试程序接着在步骤904检测测试卡是否插入。若检测结果表明测试卡未插入,则会退出测试程序。若检测结果表明测试卡插入,则测试程序会在步骤906使PCMCIA接口110上电,例如Socket_VCC 112会响应测试卡的插入而上电。接口110上电后存在一个延迟,从而使测试的媒体装置上的电力保持稳定(步骤908)。接着在步骤910,对选定的媒体装置测试。(计数器252和解码器254会产生合适的输出(SQRY3,SQRY4)来选择相应的媒体装置)。测试结束后,测试程序在步骤912会显示测试结果至输出(显示器或其它装置)。如果所有装置都测试完毕,则会退出该测试程序。如果没有全部测试完,则测试程序会在步骤916短暂的关断接口110。同样,随后在步骤918有一个延迟。接着步骤又回到906。电容240将在Socket_VCC关断时维持稳定的电力。
因此,本发明的测试卡能同时测试所有的SD、MMC、MS(Pro)、SMC卡和功能,而无需依次的插入和拔出这些媒体卡,从而加速了生产线的测试速度。本发明的测试程序还能检测接口中媒体卡是否存在。若某个媒体卡不存在,则测试程序能自动跳过测试。
本领域技术人员都知道,上述对本发明的较佳实施例的描述是为说明本发明,本发明并不受限于此。本发明旨在涵盖各种对本发明的改进和相似的调整,其都不脱离本发明的精神和权利要求的范围。在此所描述的实施例是一些利用本发明的具体例子,令本领域技术人员显而易见的许多其它的改进都不脱离本发明的精神和权利要求的范围。