具体实施方式
1.下面将简要描述在本申请中公开的本发明的典型实施例的概要。在典型实施例的总结中,在括弧中引用附图中的参考标记,这仅仅示出了包括在参考标记所指示的部件的概念内的部件。
[1]根据本发明的典型实施例,半导体装置包括第一接口电路(30)、第二接口电路(31)和选择控制电路(32(32_A,32_B))。第一接口电路接收来自第一外部端子(C6)的时钟输入(CLK),并使用第二外部端子(C4,C8)对信号(DAT0,CMD)进行接口连接。第二接口电路使用第二外部端子对差分信号(D+,D-)进行接口连接,而无需从外部接收时钟输入。当检测到在电源供电开始后来自第一外部端子的用以初始化第一接口电路的时钟输入中的多个边沿改变时,选择控制电路通过第一指令信号(ENBM)来启用第一接口电路的接口操作。利用这种半导体装置,就可以基于从外部对第一接口电路初始化的初始化操作,即来自第一外部端子的时钟输入的边沿改变,来启用第一接口电路的操作。当第一接口电路是MMC或者SD卡接口时,可以选择第一接口电路的操作,而无需改变现有主机设备的接口功能。
根据该实施例的一个方面,当多个第二时钟在电源供电开始时被输入到第一外部端子时,该半导体装置从第二外部端子接收命令。这时,第一时钟的数目是达到第二时钟数目之前的时钟数目。
根据该实施例的另一方面,响应于电源供电的开始,该选择控制电路初始地通过第一指令信号(ENBM)来禁用第一接口电路的接口操作,并且初始地通过第二指令信号(ENBU)来启用第二接口电路的接口操作。当检测到时钟输入中的边沿改变时,该选择控制电路通过第二指令信号来禁用第二接口电路的接口操作,并通过第一指令信号来启用第一接口电路的接口操作。这能够促进选择第一和第二接口电路的操作的排他性控制。
根据本发明的再一方面,在电源供电开始后的预定定时,该第一接口电路确定第一指令信号的指令状态是所定义的状态。当该所定义的状态意指“启用”时,则第一接口电路输出第一屏蔽信号(MSKU),以用于将第二指令信号(ENBU)的状态固定到禁用指令状态。在电源供电开始之后的预定定时,第二接口电路确定第二指令信号的指令状态是所定义的状态。当该所定义的状态意指“启用”时,则第二接口电路输出第二屏蔽信号(MSKM),以用于将第一指令信号(ENBM)的状态固定到禁用指令状态。在定义了用于接口电路的接口操作的排他性控制之后,这能够在用于时钟输入的第一外部端子被噪声不期望地改变时,防止接口电路的禁用状态不稳定。
这时,当启用第一接口电路的接口操作时,第一接口电路可以响应于提供给第二外部端子的复位指令,解除第二指令信号的禁用指令状态。类似地,当启用第二接口电路的接口操作时,第二接口电路可以响应于提供给第二外部端子的复位指令,解除第一指令信号的禁用指令状态。这使得可以通过从主机设备为第二外部端子提供复位指令,来复位针对第一和第二接口电路的排他性操作指令。
根据本实施例的又一方面,该半导体装置进一步包括锁存电路(43,44),用于锁存通过检测时钟输入中的边沿改变而获得的检测结果。基于第一屏蔽信号针对第二指令信号的禁用指令状态,或者基于第二屏蔽信号针对第一指令信号的禁用指令状态,该锁存电路执行锁存操作。这可以防止用于接口电路接口操作的排他性控制的定义状态不期望地被噪声改变。
此时,当启用第一和第二接口电路的接口操作时,接口电路响应于提供至第二外部端子的复位指令,将锁存电路初始化为通过状态。这使得可以通过从主机设备为第二外部端子提供复位指令,来复位针对第一和第二接口电路的排他性操作指令。
根据该实施例的再一方面,该半导体装置进一步包括通过内部总线耦合至所述第一和第二接口电路的存储控制器(24)以及耦合至存储控制器的非易失性存储器(23)。这使得半导体装置成为用于存储卡的单芯片LSI或者具有多芯片配置的存储卡或存储器模块。
根据本实施例的再一方面,半导体装置包括耦合至第三外部端子的微计算机。更特别地,第一外部端子被定义为时钟端子(CLK)。当在第一接口电路的接口操作中使用时,第二外部端子被定义为数据端子(DAT0)和命令端子(CMD),当在第二接口电路的接口操作中使用时,第二外部端子被定义为非反相数据端子(D+)和反相数据端子(D-)。第三外部端子被定义为复位端子(RES)、时钟端子(CLKI_IC)和输入/输出端子(I/O)。第一接口电路是MMC接口电路或者SD卡接口电路,第二接口电路是USB接口电路。这种配置使得能够在保持IC卡接口功能有效的同时使用USB接口和MMC接口(或者SD卡接口),以允许共享一部分外部端子的两个接口的排他性操作。
[2]根据本发明的另一实施例,一种半导体装置包括第一接口电路(30)、第二接口电路(31)、第一高电阻DC电路(R1,R2)、选择控制电路(32(32_C,32_D))以及第二高电阻DC电路(R3)。第一接口电路接收来自第一外部端子的时钟输入,以及使用一对第二外部端子来对信号进行接口连接。第二接口电路使用第二外部端子对差分信号进行接口连接,而无需从外部接收时钟输入。第一高电阻DC电路响应于电源供电的开始将第二外部端子初始化至第一电平。选择控制电路在检测到提供至已被初始化的第二外部端子的第二电平时,通过第二指令信号(ENBU)来启用第二接口电路的接口操作。第二高电阻DC电路响应于选择控制电路检测到第二电平而将第二外部端子其中之一改变为第一电平。因此,第二接口电路的耦合可以从第二外部端子的外部来识别。利用所述半导体装置,主机设备以下列方式检测半导体装置的耦合。耦合到第二外部端子的主机侧端子经过高电阻而耦合到第二电平。所耦合的半导体装置通过高电阻将第二外部端子其中之一从第二电平改变到第一电平。因此,主机设备检测到半导体装置的耦合。在这种情况下,半导体装置从主机设备侧检测到响应于电源供电的开始而被初始化为第一电平的第二外部端子被切换至第二电平。当识别出与主机设备耦合以用于第二接口电路的接口操作时,半导体装置启用第二接口电路的接口操作。然后,半导体装置将另一第二外部端子改变为第一电平,以允许主机设备检测能够与第二接口电路接口连接的半导体装置的耦合。当第二接口电路是USB接口电路时,可以在无需改变现有主机设备的接口功能的情况下,选择第二接口电路的操作。
根据该实施例的一个方面,响应于电源供电的开始,该选择控制电路初始地通过第二指令信号(ENBU)来禁用第二接口电路(31)的接口操作,并且初始地通过第一指令信号(ENBM)来启用第一接口电路(30)的接口操作。当检测到第二电平时,选择控制电路禁用第一接口电路的接口操作,并启用第二接口电路的接口操作。这能够促进用于选择第一和第二接口电路的操作的排他性控制。
根据本实施例的另一方面,半导体装置包括用于锁存通过检测第二电平而获得的检测结果的锁存电路(60,61)。该锁存电路基于第一屏蔽信号针对第二指令信号的禁用指令状态或者基于第二屏蔽信号针对第一指令信号的禁用指令状态执行锁存操作。这可以防止用于接口电路的接口操作的排他性控制的定义状态不期望地被噪声改变。
此时,当启用第一和第二接口电路的接口操作时,接口电路响应于提供至第二外部端子的复位指令,将锁存电路初始化为通过状态。这使得可以通过从主机设备为第二外部端子提供复位指令,来复位针对第一和第二接口电路的排他性操作指令。
[3]根据本发明的另一实施例,一种半导体装置包括第一接口电路(30)、第二接口电路(31)、第一高电阻DC电路(R1)、选择控制电路(32(32_E))以及第二高电阻DC电路(R2)。第一接口电路接收来自第一外部端子的时钟输入,并使用一对第二外部端子来对信号进行接口连接。第二接口电路使用第二外部端子对差分信号进行接口连接,而无需从外部接收时钟输入。第一高电阻DC电路响应于电源供电的开始将第二外部端子初始化至第一电平。当在电源供电开始后检测到来自第一外部端子的用以初始化第一接口电路的时钟输入中的多个边沿改变时,选择控制电路通过第一指令信号来启用第一接口电路的接口操作。选择控制电路在检测到提供至被初始化为第一电平的第二外部端子的第二电平时,通过第二指令信号来启用第二接口电路的接口操作。响应于选择控制电路检测到第二电平,第二高电阻DC电路将第二外部端子其中之一改变为第一电平。因此,第二接口电路的耦合可以从第二外部端子的外部来识别。
利用这样的半导体装置,如上所述,当第一接口电路基于MMC或者SD卡时,可以在无需改变基于MMC或者SD卡的现有主机设备的接口功能的情况下,选择第一接口电路的操作。另外,当第二接口电路基于USB时,可以在无需改变基于USB的现有主机设备的接口功能的情况下,选择第二接口电路的操作。第一和第二接口电路的操作选择的控制并非完全是排他性的。这意味着,例如在半导体装置除了微计算机(诸如耦合至第三外部端子的IC卡微计算机)之外还包括第一和第二接口电路的情况下,该半导体装置可以毫无困难地与仅仅基于通过第三外部端子的接口的主机设备进行接口连接。此时,禁用第一和第二接口电路两者中的接口操作,从而防止故障并降低功耗浪费。
根据本实施例的一个方面,半导体电路包括第一锁存电路(43A)和第二锁存电路路(60A),第一锁存电路(43A)用于锁存通过获得时钟输入中的多个边沿改变而得到的检测结果,第二锁存电路(60A)用于锁存通过检测第二电平而获得的检测结果。第一和第二锁存电路基于第一屏蔽信号针对第二指令信号的禁用指令状态或者基于第二屏蔽信号针对第一指令信号的禁用指令状态而执行锁存操作。这可以防止用于接口电路接口操作的排他性控制的定义状态不期望地被噪声改变。
此时,当启用第一接口电路的接口操作时,第一接口电路响应于提供至第二外部端子的复位指令,将第一和第二锁存电路初始化为通过状态。类似地,当启用第二接口电路的接口操作时,第二接口电路响应于提供至第二外部端子的复位指令,将第一和第二锁存电路初始化为通过状态。这使得可以通过从主机设备为第二外部端子提供复位指令,来复位针对第一和第二接口电路的排他性操作指令。
2.在下文中,将进一步详细地描述优选的实施例。
<便携式通信终端>图1示出了作为应用了本发明的数据处理系统的实例的便携式通信终端。该便携式通信终端包括诸如移动电话和PDA(个人数字助理)的装置。
便携式通信终端1包括射频模块(RFM)2,以通过天线在预定频带上执行发射/接收。射频模块2执行基带发射信号的上变频转换,该基带发射信号自作为基带信号处理LSI的基带处理器(BBP)3提供。射频模块2还执行天线所接收的RF接收信号至接收基带信号的下变频转换,该接收基带信号然后被提供至基带处理器3。基带处理器执行接收基带信号的解调处理、发射基带信号的调制处理以及用于移动通信的协议处理等。接收声音信号自基带处理器3提供至扬声器(SPK)4。发射声音信号自麦克风(MIC)5提供给基带处理器3。
基带处理器3通过总线6耦合至存储器(MEM)7。基带处理器3还耦合至应用处理器(APP)8,其用作用于降低基带处理器3的负载的加速器。应用处理器8提供了对来自键盘(按键)9的键输入的键扫描以及显示器的控制和显示器(DISP)10上的视频和静止图像的绘图。存储器7用于基带处理器3和应用处理器8的工作区域、帧缓冲、程序区等。存储器7实际上由诸如快闪存储器的非易失性存储器构成,以及由诸如同步DRAM的随机访问存储器构成。
便携式通信终端1通过连接器(CONECT)11可移动地耦合至多功能卡(MFC)20,该多功能卡可以用作SIM卡。尽管没有限制,但是多功能卡20在GSM(移动特别小组)通信系统中用于存储为了移动通信的安全而批准和管理用户所需的信息,诸如用户信息和账单信息。此外,多功能卡20实现了认证协议和作为可移动存储器的功能。对于多媒体卡20,基带处理器3和应用处理器8被定义为主机计算机。当将MFC 20插入到便携式通信终端1的卡插槽时,电源电压和接地电压从主机计算机提供至MFC 20。这样,MFC 20可以开始必要的初始化操作。
优选地,多功能卡20使用通过国际安全性评估标准ISO/IEC15408的注册审批机构批准的产品。通常,当在电子支付系统中实际使用具有安全处理功能的IC卡时,IC卡应当由ISO/IEC 15408的注册审批机构来评估和批准。当在电子支付系统中实际使用了类似于SIM卡的多功能卡时,多功能卡应当通过ISO/IEC 15408的注册审批机构来评估和批准。在本发明中,多功能卡包括微计算机(IC卡微计算机:ICCM)21,该微计算机是由注册审批机构批准的IC卡芯片,并且多功能卡使用IC卡微计算机21来执行安全处理。因此,得到了安全处理功能。利用这种配置,多功能卡可以容易地满足基于ISO/IEC 15408的安全评估标准。然而,这并不意味着将ISO/IEC15408的注册审批机构未批准的其他IC卡微计算机的安装排除在外。根据IC卡微计算机提供的服务安全级别,可以使用任何IC卡。
当假设多功能卡20用作SIM卡时,基于ISO/IEC 7816-2标准的外部端子应当自卡衬底暴露。例如,如图2所示,多功能卡20包括外部端子C1至C8。C1分配给电源端子(VCC),C5分配给接地端子(VSS)。通过C2的复位信号(/RES)的输入、通过C3的时钟信号(CLK_IC)的输入和通过C7的命令/数据的输入/输出(I/O)都被分配给IC卡微计算机21的外部接触接口。对于IC卡微计算机21,剩余的端子C4、C6、C8是空闲的。只要这种规定得到满足,安装除C1-C8之外的非标准端子就没有问题。IC微计算机21使用从端子C7接收的IC卡命令和数据来执行安全处理等。
除了IC卡微计算机21之外,多功能卡20包括例如快闪存储器(闪存)23,以实现大容量存储。多功能卡20进一步包括:存储控制器(MCONT)24,用于为快闪存储器23提供命令控制等;接口控制器(IFCONT)26,其通过内部总线25耦合到存储控制器24;以及耦合至内部总线25的控制处理器(CONT)27。接口控制器26配置成能够通过未被IC卡微计算机用作外部接口的空闲端子C4、C6、C8与外部进行接口连接。尽管没有如此限制,但是IC卡微计算机21的接口端子C2、C3、C7通过IC卡微计算机接口电路(ICCMIF)28耦合至内部总线25。IC卡微计算机接口电路28接收被分配给基于ISO 7816的IC卡命令的空闲命令代码的访问命令,并且向存储控制器24发出快闪访问命令。通过这样的方式,IC卡微计算机接口电路28与存储控制器24交换访问数据。控制处理器27控制用于接口控制器26、存储控制器24和IC卡微计算机接口电路28的初始设置等。
根据图1,接口控制器26包括:MMC接口电路(MMCIF)30,其作为第一同步接口电路;USB接口电路(USBIF)31,其作为使用差分信号的第二异步接口电路;以及选择控制电路(SWC)32。MMC接口电路30和USB接口电路31都耦合至内部总线25。
图3示出了分别在ICCM 21、MMCIGF 30和USBIF 31中的外部接口信号以及与外部接口信号对应的外部端子的分配实例。已经参考图2对ICCM 21的外部接口信号和外部端子的分配进行了描述。USBIF 31通过差分信号D+,D-与外部进行接口连接。MMCIF 30通过与时钟信号CLK进行同步来输入/输出数据DAT0和输出命令CMD。在ICCM 21未使用的端子C4、C6、C8中,将C6分配给时钟信号CLK的输入/输出。C4和C8由USBIF 31和MMCIF 30共享。因此,将C4和C8分配给差分信号D+,D-的输入/输出以及分配给数据DAT0的输入/输出和命令CMD的输出。MMC接口基于例如多媒体卡系统规范版本4.1(2005年2月MMCA)。USB接口基于例如通用串行总线规范修订版2.0。MMC接口可与SD卡接口规范兼容,能够被SD卡接口所替代。SD卡接口基于例如SD存储卡规范版本1.01。
选择控制电路32基于端子C4、C6和C8的状态选择并控制MMCIF 30和USBIF 31的接口操作的可用性。以下将描述该选择控制的细节。
<基于CLK边沿改变的接口的选择控制>图4示出了在接口控制器26和APP 8之间的耦合配置的实例。接口控制器26通过端子C4、C6和C8耦合至APP 8。在该实例中,APP 8包括USB接口电路(HUSBIF)8A和MMC控制器(MMCCNT)8B。HUSBIF 8A和MMCCNT 8B分别经过端子C4、C6和C8耦合至接口控制器26。MMCIF 30从被定义为第一外部端子的C6接收时钟信号CLK的输入,并使用被定义为第二外部端子的C4和C8来执行DAT0和CMD的接口操作。USBIF 31使用端子C4和C8来执行差分信号D+、D-的接口操作,而无需从外部接收时钟输入。如图5所示,仅仅MMCCNT 8B可以耦合至接口控制器26,或者如图6所示,仅仅HUSBIF 8A可以耦合至接口控制器26。
图4至图6中示出的选择控制电路32_A基于是否能够在时钟输入中检测到多个边沿改变来选择和控制MMCIF 30和USBIF 31的接口操作。从外部端子C6提供时钟输入,以在电源电压VCC的提供开始之后初始化MMCIF 30。ENBM是用于指示对MMCIF 30的接口操作的“启用/禁用”的选择信号,而ENBU是用于指示对USBIF31的接口操作的“启用/禁用”的选择信号。选择信号中每个都通过高电平(逻辑值“1”)来指示“启用”,通过低电平(逻辑值“0”)来指示“禁用”。MSKM是用于将ENBM强制为低电平的屏蔽信号,而MSKU是用于将ENBU强制为低电平的屏蔽信号。
图7示出了选择控制电路32_A的配置的实例。选择控制电路32_A包括MMCIF 30的定义电路(DTM)40。该定义电路40包括启用标志FLG 1,当将功率电压VCC和接地电压VSS提供给MFC20时,启用标志FLG 1被初始化为复位状态(逻辑值“0”)。启用标志FLG 1在复位状态中输出具有逻辑值“0”的信号SDTM。启用信号ENBU是信号SDTM的反相信号和屏蔽信号MSKU的逻辑积。启用信号ENBM是信号SDTM和屏蔽信号MSKM的逻辑积。在通电之后,屏蔽信号MSKM、MSKU紧接着被初始化为非屏蔽电平(逻辑值“1”)。因此,在通电后紧接着的初始状态中,初始地通过具有逻辑值“0”的ENBM向MMCIF 30指示接口操作的“禁用”,而初始地通过具有逻辑值“1”的ENBU向USBIF 31指示接口操作的“启用”。计数器(COUNT)41计算自端子C6提供的时钟信号CLK。时钟信号CLK是MMC接口操作中的同步时钟信号。根据MMC接口规范,如下定义了在通电之后立即识别MMC的方法。在通电后,输入74个时钟周期的时钟信号CLK作为伪时钟,然后发出特定的MMC命令。当接收到MMC命令时,MMC执行预定的初始化操作,诸如内部操作模式设定。在通电后,当输入第一时钟信号CLK时,该计数器计算时钟信号CLK,并在小于74个计数的计数数目时输出计数结束信号(count up signal)。启用标志FLG 1通过计数结束信号来设定,并将信号SDTM反相为逻辑值“1”。由于信号反相,ENBM改变为逻辑值“1”并指示MMCIF 30启用接口操作。ENBU改变到逻辑值“0”,并指示USBIF 31禁用接口操作。通过这样的方式,来启动MMCIF的初始化操作。另一方面,当没有输入时钟信号CLK时,USBIF 31保持启用,以使得可以自APP 8进行对于USBIF 31的初始化操作。
此处,响应于小于74的计数值输出计数结束信号。因此,选择控制电路32_A能够在初始化操作之前识别MMC接口操作,并且可以比在计数值74之后输出计数结束信号的情况更快地启动随后的操作,诸如命令输入。
更具体地,如图19所示,假设在计数值37即计数值74的一半时,响应于时钟来确定MMC接口。响应于第37个时钟来激活ENBM,同时使ENBU不激活。
当ENBM被激活时,如图6所示,通过MMCIF 30中的逻辑电路AND 1、AND 2使MMC命令寄存器CMDREG激活,以允许该命令从CMD信号线输入。在这种情况下,如图19所示,可以在时钟的计数值达到74之前预备激活MMC命令寄存器。
应当指出的是,此处使用计数值74的一半作为时钟数目,但是还可以使用任何时钟数目只要该数目不超过74。然而,当时钟数目小时,可能会因噪声而出现故障的问题。另一方面,当时钟数目接近74时,用于MMC命令寄存器的激活的准备时间降低。出于这个原因,时钟值优选地被设置为大约74的三分之一或三分之二。另外,时钟信号的计数值可以是时钟波形的边沿的数目,或者时钟波形的顶部或底部平坦部分的数目。
接着,将对选择控制电路32_A进行描述,选择控制电路32_A能够排他性地控制MMCIF 30和USBIF 31的接口操作。
MMCIF 30在电源电压VCC的供电开始后的预定定时,确定启用信号ENBM的指令状态是所定义的状态,例如在用于完成初始化操作的时间已经过去之后确定。当所定义的状态意指“启用”时,MMCIF 30利用逻辑值为“0”将屏蔽信号MSKU改变为屏蔽指令状态。类似地,USBIF 31在电源电压VCC的供电开始后的预定定时,确定启用信号ENBU的指令状态是所定义的状态,例如在用于完成初始化操作的时间已经过去之后确定。当所定义的状态意指“启用”时,USBIF 31利用逻辑值为“0”将屏蔽信号MSKM改变为屏蔽状态。一旦定义了对于USBIF 31和MMCIF 30是排他性的接口操作控制,就可以防止该状态因噪声而变得不稳定。
可以通过来自MMCIF 30的信号RESM将标志FLG 1复位到复位状态。在如图4所示的耦合配置中,当APP 8停止使用MMCIF 30并切换到USBIF 31时,APP 8在切换过程结束时通过MMC命令复位标志FLG 1,使得启用信号ENBU激活,且使得启用信号ENBM不激活。通过这样的方式,就可以切换到USBIF 31的接口操作。此后,当将接口操作切换回MMCIF 30时,APP 8通过输入时钟信号CLK来执行MMCIF 30的初始化操作。在切换操作中,MMCIF 30响应于复位指令将屏蔽信号MSKU反相到非屏蔽电平(逻辑值“1”)并解除对于USBIF 31的屏蔽。另一方面,当USBIF 31响应于复位指令结束了接口操作时,USBIF 31将屏蔽MSKM反相成非屏蔽电平(逻辑值“1”),以解除对于MMCIF 30的屏蔽。这使得能够通过从APP 8为端子C4,C8提供复位指令来复位对于MMCIF 30和USBIF 31是排他性的操作指令。
图8示出了选择控制电路32_A的切换操作的流程的实例。通过通电来启用USBIF 31(S1)。然后,确定计数器41是否执行了计数结束(S2)。当执行了计数结束时,MMCIF 30启用(S3)。当没有执行计数结束时,USBIF 31保持启用。MMCIF 30执行来自APP8的MMC命令,并且在识别出复位命令(S4,是)时,初始化标志FLG 1并返回至步骤S1。类似地,当接收到来自APP 8的命令分组中的复位指令时,USBIF 31执行内部初始化。
选择控制电路32_A的采用实现了对于MMCIF 30和USBIF 31是排他性的接口操作的选择控制。另外,可以基于从外部对MMCIF30初始化的初始化操作,即基于来自端子C6的时钟输入中的多个边沿改变来启用MMCIF 30的操作。可以选择MFC 20中的MMCIF30的接口操作,而无需改变APP 8的MMC控制器(MMCCNT)的标准接口功能。
图9示出了选择控制电路32_B的配置的实例。与图7的选择控制电路32_A不同,选择控制电路32_B包括锁存电路(LAT)43、44。锁存电路43在数据输入端子处接收信号SDTM,锁存电路44在数据输入端子处接收信号SDTM的反相信号。锁存电路43、44基于屏蔽信号MSKM的反相信号和屏蔽信号MSKU的反相信号的逻辑和信号来执行锁存操作。这能够防止对于MMCIF 30和USBIF 31为排他性的接口操作的选择控制的定义状态不期望地被噪声改变。响应于来自APP 8的复位指令从MMCIF 30输出的清除信号CLRM和响应于来自APP 8的复位指令从USBIF 31输出的清除信号CLRU的逻辑和信号,将锁存电路43、44初始化为通过状态。锁存电路43、44的采用确保了通过来自APP 8的复位指令来复位对于MMCIF 30和USBIF 31的排他性操作指令。
<基于VCC供给时的D+,D-中的改变的接口选择控制>图10示出了在接口控制器26和APP 8之间的耦合配置的另一实例。与图4的配置不同,端子C4、C8耦合至选择控制电路32_C。选择控制电路32_C是这样的电路,其基于检测到开始提供电源电压VCC时端子C4、C8中出现的电压改变,而选择和控制MMCIF 30和USBIF31的接口操作的可用性。此时,APP 8识别USBIF 31的耦合/未耦合。
根据USB接口标准,USB装置的耦合/未耦合通过使用图11和图12所示电路配置的主机设备来识别。图11示出了用于识别全速或者高速USB设备的配置。主机设备包括15k欧姆的下拉电阻,所述下拉电阻分别耦合至D+信号线和D-信号线。USB装置包括1.5k欧姆的上拉电阻,所述上拉电阻耦合至D+信号线。当USB装置耦合至主机设备时,主机设备通过检测D+信号线从接地电压VSS改变到上拉电压来识别USB装置的耦合。图12示出了用于识别低速USB装置的配置。与图11的配置不同,USB装置包括耦合至D-信号线的1.5k欧姆的上拉电阻。当USB装置耦合至主机设备时,主机设备通过检测D-信号线从接地电压VSS改变到上拉电压来识别USB装置的耦合。
图13示出了接口控制器26的细节的实例。图中示出的配置适用于全速/高速USB接口。在USBIF 31中,参考标记50指示了差分发射驱动器,参考标记51指示了差分接收器,参考标记52和53指示了信号端接收器。1.5k欧姆的上拉电阻R1的一端耦合至信号线SL1,该信号线SL1耦合至端子C4(DAT0,D+)。该上拉电阻R1的另一端通过开关MOS晶体管M1耦合至内部电压VDD。同样150k欧姆的上拉电阻R3的一端耦合至信号线SL1,其另一端通过开关MOS晶体管M3耦合至内部电压VDD。另外,1.5k欧姆的上拉电阻R2的一端耦合至信号线SL2,该信号线SL2耦合至端子C8(CMD,D-)。该上拉电阻R2的另一端通过开关MOS晶体管M2耦合至内部电压VDD。另外,150k欧姆的上拉电阻R4的一端耦合至信号线,该信号线耦合至端子C6(CLK)。该上拉电阻R4的另一端通过开关MOS晶体管M4耦合至内部电压VDD。开关MOS晶体管M1、M4在检测信号RDTM的控制下进行切换。开关MOS晶体管M2、M3在检测信号RDTM的反相信号的控制下进行切换。内部电压VDD等于电源电压VCC减去调节器(RGL)55。
在选择控制电路32_C中,NOR门接收来自耦合至端子C4的信号线SL1和来自耦合至端子C8的信号线SL2的输入。检测电路(DTC)56接收NOR门的输出。检测电路56的检测信号RDTC通过通电而被初始化为逻辑值“0”。检测电路56检测NOR门的低电平输出的状态是稳定的。然后,检测电路56将检测信号RDTC从逻辑值“0”改变到逻辑值“1”,并且维持该状态直到通过来自USBIF31的信号RESU使检测信号RDTC复位。以这种方式,通过具有逻辑值“1”的启用信号ENBM来初始地启用MMCIF 30的接口操作。通过具有逻辑值“0”的启用信号ENBU来初始地禁用USBIF 31的接口操作。首先,当提供电源VCC时,通过具有逻辑值“0”的检测信号RDTC使MOS晶体管M2、M3导通。通过上拉电阻R2和R3将信号线SL1、SL2充电至逻辑值“1”的VDD电平。当接口控制器26的端子C4、C8耦合至APP 8时,如图11所示,通过APP 8内的15欧姆的下拉电阻来使信号线SL1、SL2放电。当在两条线上的逻辑值“0”的状态稳定时,使检测信号RDTC反相至逻辑值“1”。通过1.5k欧姆的上拉电阻R1经由MOS晶体管M1对信号线SL1充电。这样,APP 8可以检测USBIF 31的耦合。与此同时,启用信号ENBM反相为低电平,启用信号ENBU反相为高电平。因此,禁用MMCIF 30的接口操作,并启用USBIF 31的接口操作。响应于MMCIF 30的接口操作的禁用,通过电阻R4对时钟信号CLK的输入线进行充电,以防止时钟端子C6因噪声而引起的不期望改变。屏蔽信号MSKM、MSKU的功能与图4和图7所述相似,因此省略了对其的详细描述。
图14示出了当具有图13的配置的接口控制器26安装到APP 8中时的操作定时的实例。当使接口控制器26与APP 8(时间t0)的电源端子接触时,为接口控制器26提供VCC,内部电压VDD上升。响应于此,信号线SL1、SL2被充电到电压VDD。首先,启用MMCIF30的接口操作,并且禁用USBIF 31的接口操作。当接口控制器26的信号线SL1、SL2耦合到APP 8的端子D+、D-时(时刻t1),开始信号线SL1和SL2的放电。当放电电平稳定时(时刻t2),检测信号RDTC反相至逻辑值“1”并维持在该值。MOS晶体管M2、M3截止,MOS晶体管M1、M4导通。因此,变成了禁用MMCIF 30的接口操作,并且变成启用USBIF 31的接口操作。与此同时,信号线SL2经过上拉电阻R1被充电至电压VDD电平。这样,APP 8可以识别出USB接口电路的耦合。当识别出USB接口电路的耦合时,APP 8执行总线复位(时刻t3),之后通过信号线D+、D-以NRZI(反相不归零制)格式进行分组传输。
图15示出了另一选择控制电路32_D的配置的实例。与图13的选择控制电路32_C不同,选择控制电路32_D包括锁存电路(LAT)60、61。锁存电路60在数据输入端子处接收信号SDTM,锁存电路61在数据输入端子处接收信号SDTM的反相信号。锁存电路60、61基于屏蔽信号MSKM的反相信号和屏蔽信号MSKU的反相信号的逻辑和信号来执行锁存操作。这能够防止对于MMCIF 30和USBIF 31为排他性的接口操作选择控制的定义状态不期望地被噪声改变。基于响应于来自APP 8的复位指令从MMCIF 30输出的清除信号CLRM和响应于来自APP 8的复位指令从USBIF 31输出的清除信号CLRU的逻辑和信号,将锁存电路60、61初始化为通过状态。锁存电路60,61的采用确保了通过来自APP 8的复位指令来复位对于MMCIF 30和USBIF 31的排他性操作指令。
<基于CLK边沿和D+、D-中的改变的接口选择控制>图16示出了接口控制器26的又一实例。在附图中,选择控制电路32_E通过使用在图4的选择控制电路32_A中描述的基于CLK中边沿改变的接口选择控制方法来启用/禁用MMCIF 30。此外,选择控制电路32_E通过使用图10中描述的基于VCC供给时D+、D-中的改变的接口选择控制方法来启用/禁用USBIF 31。
图17示出了在选择控制电路32_E中用于控制MMCIF 30的启用/禁用的配置的实例。除了与USBIF 31相关的锁存电路44和启用信号ENBU的输出级之外,图17的配置与图9的配置具有相同的电路配置。对于具有图9中相同功能的电路部件,给予了相同的参考标记,并且将会省略详细描述。尽管在附图中并未示出,但是还可采用具有图17中省略的锁存电路43A的电路配置。图18示出了在选择控制电路32_E中用于控制USBIF 31的启用/禁用的配置的实例。除了与MMCIF 30相关的锁存电路61和启用信号ENBM的输出级之外,图18的配置与图15的配置具有相同的电路配置。对于具有图15中相同功能的电路部件,给予了相同的参考标记,并且将会省略详细描述。尽管在附图中并未示出,但是还可采用具有图18中省略的锁存电路60A的电路配置。
利用图16的配置,如上所述,当MMCIF 30基于MMC或者SD卡时,可以选择接口电路MMCIF 30的操作,而无需改变基于MMC或者SD卡的现有主机设备的接口功能。另外,当USBIF 31基于USB时,可以选择接口电路USBIF 31的操作,而无需改变基于USB的现有主机设备的接口功能。MMCIF 30和USBIF 31的操作选择的控制并非完全是排他性的。这例如意味着,除ICCM 21之外还包括MMCIF 30和USBIF 31的MFC 20可以毫无困难地用于与仅仅基于IC卡微计算机的接口的主机设备进行接口连接。此时,在第一和第二接口电路两者中都禁用接口操作,从而防止了故障并降低了功耗浪费。
在根据所有上述实施例的MFC 20中,ICCM 21所耦合的外部端子与MMCIF 30和USBIF 31所耦合的外部端子不同。因此,可以并行操作ICCM 21和MMCIF 30,或者并行操作ICCM 21和USBIF 31。例如,当便携式信息终端1用于基于TCP/IP的互联网通信时,可以通过ICCM 21接收特定的批准,同时例如通过USBIF 31来并行下载或者上载大容量快闪存储器23的数据。
已经基于实施例对本发明人所做出的本发明进行了具体描述。然而,本发明并不仅限于实施例,可以在本发明的范围内进行各种变型。
例如,可以省略ICCMIF。根据本发明的半导体装置并不仅限于诸如可以与SIM兼容的MFC的卡模块。本发明可以应用于包括存储控制器和ICCM的卡模块,或者可以应用于包括接口控制器、存储控制器和快闪存储器的存储卡或者存储器模块。另外,本发明还可以应用至存储控制器芯片、包括存储控制器和ICCM的微计算机芯片等。外部端子并不仅限于上述端子C1至C8。还可以通过增加其他数据端子来支持与具有多比特数据端子的MMC或者SD卡的接口连接。锁存电路43、44和60、61还可以分别设置在启用信号ENBM和ENBU的输出级。另外,根据本发明的半导体装置并不仅限于应用至便携式通信终端,而是还可应用至ID卡、信用卡等。