一种实现高速大容量智能卡时钟管理的单元及方法

文档序号:6573276阅读:353来源:国知局
专利名称:一种实现高速大容量智能卡时钟管理的单元及方法
技术领域
本发明属于智能卡技术领域,涉及到包括具备高速接口及超大存储容量的智能卡设计技术、集成电路设计技术和集成电路功耗管理技术,具体涉及一种在高速大容量智能卡芯片内实现时钟切换与频率控制等管理的单元及方法。
背景技术
智能卡(IC卡)是一种将具有存储、加密及数据处理能力的集成电路芯片镶嵌于塑料基片中的卡片。具有突出的3S特点,即Standard(国际标准化)、Smart(灵巧智能化)和Security(安全性)。目前,智能卡已广泛用于电信、金融、政府、交通、医疗、公共管理、互联网等领域。如SIM(Subscriber Identity Module,用户识别模块)卡装载在手机终端中,完成了GSM网络上的用户身份识别和鉴权、话音通信支撑、短消息业务以及其它各类基于STK的增值业务。SIM卡技术获得成功后,目前已大量应用在各类移动通信网络中,如UIM卡、PIM卡、USIM卡等。本发明所描述的新型智能卡技术可以使用在上述的各个行业和应用中。
传统SIM卡的容量在16K至128K字节之间,并采用8位CPU。由于存储容量有限,处理能力也很低,传统SIM卡能开展的业务极其有限。而运营商推出的业务的复杂化,当今社会对信息安全的高要求,这都需要作为连接运营商与用户之间唯一桥梁的SIM卡具有超过M字节的存储量和高性能的微处理器,来满足大量计算和高速处理的要求。对于供应商而言,这样的SIM卡可使其摆脱当前低水平竞争者;对于内容提供商而言,这样的SIM卡能提供开放的平台与强大的处理能力,并能运行SP提供的各类应用程序,将会降低增值业务对上千种终端的兼容性风险;对于最终用户而言,可以获得更多的存储空间与增值业务选择机会,并降低对手机型号的依赖性。
随着SIM卡微处理器型智能卡的核心处理器主频越来越高,存储容量越来越大(将达到几十MByte到几GByte的规模),传统的IS07816接口速度已经不能满足超大数据量的传输速度要求,将Mbps单位以上的高速数据传输接口引入智能卡也成为必然要求,例如USB以及SD/MMC接口都是适合的传输接口。
智能卡处理速度的提高、存储容量加大以及高速传输接口的引入,使得智能卡芯片内部时钟以及功耗的管理变得越来越复杂。对于简单的智能卡芯片,芯片内部可能只需要一路时钟即可以正常工作,并且时钟的频率通常不高(例如5MHz左右)。但是,随着功能的复杂程度增加以及各种高速接口的引入,超大容量智能卡芯片内部将出现多路时钟源,例如IS07816时钟、USB时钟、SD/MMC接口时钟以及CPU等各总线模块的时钟。这些时钟的频率各不相同,但是相对于传统智能卡芯片时钟来讲,大部分时钟都属于高速时钟。例如,USB时钟将为48MHz,SD/MMC接口时钟频率最高可达25MHz,CPU等内部总线模块时钟频率也可高于30MHz。
超大容量智能卡芯片本身是一颗复杂的SOC(System On Chip),而其应用环境多为电池供电的环境,对于功耗的要求十分苛刻,在芯片设计中需要考虑如何才能提供强劲的处理能力的同时又尽可能的延长手持设备的使用时间。由于现代SOC芯片大都采用同步电路设计技术,芯片内部信号的翻转都与时钟同步,或者说信号的翻转率都与芯片时钟频率成正比。在这种情况下,对于芯片内部时钟的管理成为了芯片功耗管理的重要内容。
对于一颗采用CMOS工艺设计的SOC芯片来说,内部功耗主要包括静态功耗,主要是由静态电流、漏电流等因素造成的;动态功耗,主要是由电路中信号变换时造成的瞬态短路电流(crowbar current)和负载电流(load current)等因素造成的,它是SOC芯片中功耗的主要来源。因此,解决好SOC中的动态功耗是降低整个SOC芯片功耗的关键。动态功耗主要发生于电路工作时,如下面公式所示。由该公式可知,动态功率消耗为负载电容(CL)、供给电压平方及频率(f)的乘积,由于不是所有的电路门都同时翻转,因此必须再乘以一个α因子,α为晶体管翻转的平均值,以百分比表示。
EVDD=∫0∞iVDD(t)VDDdt=VDD∫0∞CLdvoutdt=CLVDD∫0VDDdvout=CLVDD2]]>Pa1ynarnic=αCLVDD2f如公式所示,欲降低动态功耗可从频率、供给电压、及负载电容等三方面加以考虑。在SOC芯片中电压以及负载都确定的情况下,一个有效的控制功耗的手段是控制芯片内部时钟的传播,只将时钟提供给那些当前维持芯片工作所必须的电路模块,而将其余模块的时钟关闭。

发明内容
本发明的目的旨在解决超大容量智能卡芯片引入多路高速时钟之后的动态功耗控制以及时钟管理问题,而提供一种实现高速大容量智能卡时钟管理的单元及其方法。
本发明的技术方案如下一种实现高速大容量智能卡时钟管理的单元,包括对时钟源进行选择的内外部时钟源管理模块,内外部时钟源管理模块与锁相环控制模块连接,内外部时钟源管理模块中的内部振荡器与锁相环控制模块中的锁相环共同构成内部独立时钟源;锁相环控制模块连接时钟分频模块,时钟分频模块与同步时钟切换模块连接,同步时钟切换模块通过异步时钟切换模块与时钟门控模块连接,时钟门控模块连接测试时钟切换模块。
进一步,在上述实现高速大容量智能卡时钟管理的单元中,异步时钟切换模块连接IS07816时钟源接口,时钟门控模块与USB时钟源接口、SD/MMC时钟源接口连接。
在上述实现高速大容量智能卡时钟管理的单元中,锁相环控制模块的锁相环与具有时钟旁路功能的异步时钟切换电路连接。
在上述实现高速大容量智能卡时钟管理的单元中,内外部时钟源管理模块中的内部振荡器通过多路选择器与锁相环和异步时钟切换电路连接。
在上述实现高速大容量智能卡时钟管理的单元中,时钟门控模块由若干个相互并联的锁存器+与门电路构成。
在上述实现高速大容量智能卡时钟管理的单元中,测试时钟切换模块由若干个相互并联的二选一多路选择器构成。
一种实现高速大容量智能卡时钟管理的方法,该方法在芯片内部建立一个独立时钟源,将此时钟源产生的时钟提供给芯片内部CPU总线模块以及各接口模块控制器的内部总线接口,通过控制信号在外部输入时钟源与内部时钟源之间进行选择切换,并对所选择的时钟进行分频,通过对同相不同频时钟的切换,生成芯片内部主时钟。
上述的主时钟有三个选择外部晶体振荡器时钟、内部振荡器时钟和外部IS07816时钟。
进一步,如上所述的实现高速大容量智能卡时钟管理的方法,该方法通过在内部主时钟与外部IS07816时钟之间进行切换,使芯片内部全部采用IS07816时钟作为工作时钟,使锁相环与内部振荡器进入省电模式以降低功耗。
如上所述的实现高速大容量智能卡时钟管理的方法,该方法将芯片内部各模块的工作时钟在扫描链测试模式下切换为统一的外部晶体振荡器时钟,保证扫描链上寄存器的时序正确性。
本发明的有益效果如下通过本发明可以使超大容量智能卡芯片的所有时钟源都能正确的驱动目标模块,并使超大容量智能卡芯片内部的各个时钟能正确无毛刺的关断与打开,控制芯片进入不同的工作模式或休眠模式,以完成对芯片动态功耗的管理。同时,本发明所提供的实现高速大容量智能卡时钟管理的单元及其方法还可以正确实现超大容量智能卡芯片内部的时钟频率选择,并能够完成超大容量智能卡芯片内部振荡器以及锁相环(PLL)的管理,控制芯片内部时钟的生成。


图1为超大容量智能卡芯片内外部时钟源的结构图;图2为超大容量智能卡芯片时钟管理单元模块及结构框图;图3为PLL控制模块电路结构图;图4为同步时钟切换模块电路结构图;图5为异步时钟切换模块电路结构图;图6为时钟分频模块电路结构图;图7为时钟门控模块电路结构图;图8为测试时钟切换模块电路结构图;图9为二选一多路选择器电路结构图;图10为超大容量智能卡芯片时钟管理单元使用流程图。
具体实施例方式
传统的智能卡芯片只有一个时钟源,即IS07816时钟,并且此时钟来源于智能卡读写设备,即智能卡芯片外部。而超大容量智能卡芯片由于芯片功能复杂,同时存在多个外部接口,因此时钟源也比传统智能卡芯片复杂,除了每个接口模块需要的时钟源之外,芯片内部还应存在一个独立时钟源,此时钟源产生的时钟提供给芯片内部CPU等总线模块,以及各接口模块控制器的内部总线接口。除去内部独立时钟源之外,超大容量智能卡芯片还包括以下外部时钟源接口IS07816时钟、USB48MHz时钟、SD/MMC接口时钟以及外部晶体振荡器时钟。其中,IS07816时钟、USB48MHz时钟以及SD/MMC接口时钟分别用于智能卡芯片各传输接口控制模块的数据同步,而外部晶体振荡器时钟用于芯片测试模式以及在特殊情况下替换内部独立时钟源。图1给出了超大容量智能卡芯片内外部时钟源的结构描述。
超大容量智能卡芯片内部独立时钟源由片上振荡器与锁相环(后简称PLL)共同构成,其中片上振荡器用于时钟波形生成,PLL用于倍频以及相位调整。PLL的倍频系数可以通过寄存器进行设置,以获得不同的倍频系数以及占空比。另外,由于PLL属于模拟电路,从芯片上电到PLL能够输出一个稳定的时钟需要一定的保护时间,在此保护时间内PLL输出的时钟波形不应提供给芯片内部使用,因此高速超大容量智能卡芯片内部应当设计PLL控制单元,以完成PLL的设置以及上电之后保护时间之内的PLL时钟输出屏蔽。
超大容量智能卡内部PLL倍频之后的时钟频率通常为芯片内部模块可接受的最高值,但芯片内部CPU等各总线模块应当可以选择低频运行以降低功耗,这就要求时钟管理模块应可以提供多种总线频率,即最高频的多倍分频,例如二分频、四分频、八分频等。在存在多种分频可能的情况下,时钟管理单元应当具有在各种频率之间平稳切换的能力。
高速超大容量智能卡内部的时钟频率较高,并且芯片内部各模块通常并不需要同时工作,为了尽可能降低芯片内部动态功耗,芯片内部各个模块的时钟都应具备通过软件单独关断的功能,亦即时钟管理单元应设计时钟门控结构,并解决时钟打开与关断时的去毛刺问题。
高速大容量智能卡芯片应当设计多种工作模式,以应对不同的应用环境下的功耗要求,因此时钟管理单元应当预先设置多种工作模式下的时钟配置,并支持软件通过设置寄存器的方式进行芯片工作模式的选择。这些工作模式包括IDLE、NORMAL、LOW POWER和SLEEP等等。每种工作模式下可以设置的时钟选项包括--PLL的输入时钟源内部片上振荡器或者外部晶体振荡器--PLL是否需要旁路--芯片主时钟的分频比--各子模块的时钟是否打开下面结合附图和实施例对本发明作进一步详细的描述。
高速大容量智能卡芯片中的时钟控制单元用于完成芯片内部的时钟源选择、频率控制、时钟门控以及模式切换等工作,其主要构成模块包括●内外部时钟源管理模块●PLL控制模块●同步时钟切换模块●异步时钟切换模块
●时钟分频模块●时钟门控模块●测试时钟切换模块图2给出了时钟控制单元的模块及结构框图。
内外部时钟源切换管理模块完成PLL输入时钟源的选择,选择控制信号为Ext_OSC_EN,当Ext_OSC_EN=1’b1时,外部晶体振荡器的输入时钟作为PLL的输入时钟源,当Ext_OSC_EN=1’b0时,内部振荡器的输入时钟作为PLL的输入时钟源。内外部时钟管理模块的电路结构已经在图2中给出,由内部时钟振荡器与一个多路选择器构成。内部时钟振荡器可以采用IP提供商提供的硬核,例如TSMC的sfc_osc_5m,多路选择器的电路结构如图9所示。
PLL控制模块有两个主要功能第一个是完成对PLL的占空比与频率指标的设置;第二个是选择将PLL输出旁路,当旁路控制信号有效时,PLL的时钟输出将被旁路成内部振荡器或外部晶体振荡器提供的时钟。PLL控制模块的具体实现方法如图3所示。其中PLL可以采用IP提供商提供的硬核,例如TSMC的pg22e2_1p。PLL时钟旁路电路采用异步时钟切换电路完成。
时钟分频模块完成PLL控制模块输出时钟的分频,分频比分别为1/2、1/4与1/8。此模块的具体实现方式如图6所示。
同步时钟切换模块的功能是完成同相不同频时钟之间的切换,生成芯片内部主时钟。在各种不同频率时钟之间切换时,要保证不会在时钟信号上引入毛刺。图4中给出了可以避免毛刺出现的同步时钟切换模块电路结构。其中SEL_1、SEL_2、SEL_4与SEL_8四个信号线为时钟频率切换控制信号,四种信号组合切换结果如下●SE1_1=1 SEL_2=0 SEL_4=0 SEL_8=0,选择未分频时钟●SE1_1=0 SEL_2=1 SEL_4=0 SEL_8=0,选择2分频时钟●SE1_1=0 SEL_2=0 SEL_4=1 SEL_8=0,选择4分频时钟●SE1_1=0 SEL_2=0 SEL_4=0 SEL_8=1,选择8分频时钟时钟门控模块主要完成以下三个功能第一个功能是完成芯片内部各子模块时钟的门控。在门控信号关断或打开时钟时同样需要避免毛刺的出现,因此采用了锁存器+与门的电路结构。图7给出了时钟门控模块电路结构描述。第二个功能是在前一级生成的主时钟与外部IS07816_CLK之间进行切换,这是由于芯片工作在纯智能卡模式时,内部工作频率要求不高,来自智能卡读写设备或手机终端的时钟已能够满足处理速度要求,所以为了降低在这种情况下的功耗,允许芯片内部全部采用IS07816_CLK作为工作时钟,而PLL与内部振荡器则可以进入省电模式以降低功耗。由于内部主时钟与外部IS07816_CLK之间为异步时钟,所以在时钟切换时应保证避免毛刺的出现,图5给出了异步时钟之间的切换电路结构。
测试模式时钟切换用于将芯片内部各模块的工作时钟在扫描链测试模式下切换为统一的外部晶体振荡器时钟,以保证扫描链上寄存器的时序正确性。由于测试模式与正常工作模式之间不需动态切换,因此不需要采用去毛刺的时钟切换电路结构,采用图9所描述的二选一多路选择器将每一路内部时钟切换为外部晶体振荡器时钟即可。图8给出了测试模式时钟切换电路实现方式。
时钟管理单元使用方法如下本发明所描述的高速大容量智能卡芯片内部时钟管理单元是智能卡芯片内部的一个控制模块,其与芯片内部其它模块之间的联接关系如图1所示。通过对时钟管理单元的配置,可以控制智能卡芯片内部与时钟有关的以下功能●测试模式时钟控制●时钟源的选择●时钟频率选择●芯片内部各子模块时钟的打开、关断控制在芯片工作过程中对于本模块的操作流程如图10所示。芯片上电之后首先需要选择工作模式,选择工作模式通过TEST_MODE信号完成,置TEST_MODE=1将使芯片工作在功能模式下,置TEST_MODE=0将使芯片工作在测试模式之下,在测试模式下,全芯片都将工作在外部晶体振荡器时钟下。如果选择芯片工作在功能模式下,还需要选择芯片主时钟源,主时钟源有三个选择外部晶体振荡器时钟、内部振荡器时钟与外部IS07816时钟。当选择外部晶体振荡器时钟或内部振荡器时钟时,还需要选择芯片内部PLL是否旁路,如果PLL不旁路,则须要正确设置PLL工作参数以及PLL输出时钟的分频比。设置完以上各项之后,还需要设置芯片内部各个模块的时钟门控信号,如果希望某个模块时钟打开,则将与其对应的时钟门控信号BLOCK_CLK_EN〔n〕信号置1,如果希望将此模块时钟关断,则将与其对应的时钟门控信号BLOCK_CLK_EN〔n〕信号置0。
考虑到在此公开的对本发明的描述和特殊的实施例,本发明的其他实施例对于本领域里的技术人员来说是显而易见的。这些说明和实施例仅作为例子来考虑,它们都属于由所附权利要求所指示的本发明的保护范围和精神之内。
权利要求
1.一种实现高速大容量智能卡时钟管理的单元,其特征在于该单元包括对时钟源进行选择的内外部时钟源管理模块,内外部时钟源管理模块与锁相环控制模块连接,内外部时钟源管理模块中的内部振荡器与锁相环控制模块中的锁相环共同构成内部独立时钟源;锁相环控制模块连接时钟分频模块,时钟分频模块与同步时钟切换模块连接,同步时钟切换模块通过异步时钟切换模块与时钟门控模块连接,时钟门控模块连接测试时钟切换模块。
2.如权利要求1所述的实现高速大容量智能卡时钟管理的单元,其特征在于异步时钟切换模块连接ISO7816时钟源接口,时钟门控模块与USB时钟源接口、SD/MMC时钟源接口连接。
3.如权利要求1或2所述的实现高速大容量智能卡时钟管理的单元,其特征在于锁相环控制模块的锁相环与具有时钟旁路功能的异步时钟切换电路连接。
4.如权利要求3所述的实现高速大容量智能卡时钟管理的单元,其特征在于内外部时钟源管理模块中的内部振荡器通过多路选择器与锁相环和异步时钟切换电路连接。
5.如权利要求1所述的实现高速大容量智能卡时钟管理的单元,其特征在于时钟门控模块由若干个相互并联的锁存器+与门电路构成。
6.如权利要求1所述的实现高速大容量智能卡时钟管理的单元,其特征在于测试时钟切换模块由若干个相互并联的二选一多路选择器构成。
7.一种实现高速大容量智能卡时钟管理的方法,其特征在于该方法在芯片内部建立一个独立时钟源,将此时钟源产生的时钟提供给芯片内部CPU总线模块以及各接口模块控制器的内部总线接口,通过控制信号在外部输入时钟源与内部时钟源之间进行选择切换,并对所选择的时钟进行分频,通过对同相不同频时钟的切换,生成芯片内部主时钟。
8.如权利要求7所述的实现高速大容量智能卡时钟管理的方法,其特征在于所述的主时钟有三个选择外部晶体振荡器时钟、内部振荡器时钟和外部ISO7816时钟。
9.如权利要求8所述的实现高速大容量智能卡时钟管理的方法,其特征在于该方法通过在内部主时钟与外部ISO7816时钟之间进行切换,使芯片内部全部采用ISO7816时钟作为工作时钟,使锁相环与内部振荡器进入省电模式以降低功耗。
10.如权利要求8所述的实现高速大容量智能卡时钟管理的方法,其特征在于该方法将芯片内部各模块的工作时钟在扫描链测试模式下切换为统一的外部晶体振荡器时钟,保证扫描链上寄存器的时序正确性。
全文摘要
本发明属于智能卡技术领域,涉及到包括具备高速接口及超大存储容量的智能卡设计技术,具体涉及一种在高速大容量智能卡芯片内实现时钟切换与频率控制等管理的单元及方法。该管理单元包括对时钟源进行选择的内外部时钟源管理模块,内外部时钟源管理模块与锁相环控制模块连接,内外部时钟源管理模块中的内部振荡器与锁相环控制模块中的锁相环共同构成内部独立时钟源;锁相环控制模块连接时钟分频模块,时钟分频模块与同步时钟切换模块连接,同步时钟切换模块通过异步时钟切换模块与时钟门控模块连接,时钟门控模块连接测试时钟切换模块。本发明很好的解决了超大容量智能卡芯片引入多路高速时钟之后的动态功耗控制以及时钟管理问题。
文档编号G06K1/00GK101013477SQ20071006355
公开日2007年8月8日 申请日期2007年2月5日 优先权日2007年2月5日
发明者詹志勇, 卜冀春, 支军 申请人:凤凰微电子(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1