智能卡仿真器的制作方法

文档序号:6572535阅读:233来源:国知局
专利名称:智能卡仿真器的制作方法
技术领域
本发明涉及一种智能卡仿真器。
技术背景在开发、调试智能卡中用户程序时,程序开发人员所使用的工具是智 能卡仿真器,这些仿真器一般都具有全速运行、单步运行、断点等基本调 试功能。仿真器内用仿真芯片替代产品芯片,仿真器在工作时,仿真芯片 除了处于运行状态运行用户程序之外,还会处于监控状态运行监控程序, 用户程序与监控程序之间是相互独立的,也就是说,用户程序只有在仿真 芯片处于运行状态时,才会被仿真芯片执行。智能卡芯片内除了处理器核、存储器等之外,还有一些其他的资源, 其中通常就包括定时器,在程序中可用来做定时器中断。随着智能卡应用 的不断丰富,卡内的智能卡芯片中的用户程序也日渐复杂,程序开发人员 经常会在程序中使用芯片内的定时器来做定时器中断程序。在用户程序运 行时,当使能定时器中断后,用户程序运行的同时,定时器也会同时不断 计数,当达到某个程序设定值后就会进入定时器中断程序执行。使用智能卡仿真器调试带有定时器中断的用户程序时,如果全速运行 用户程序,由于整个过程仿真芯片都只运行用户程序,始终处于运行状态, 用户程序的状况与运行在使用产品芯片的智能卡上是完全一样的。但是, 开发人员在调试用户程序时,经常需要使用仿真器的单步调试功能调试一些较为关键的程序段,当开发人员通过仿真器执行一个单步操作时,仿真 芯片首先从执行仿真器监控程序的监控状态进入运行状态,然后执行一条 用户程序的指令,再退回到监控状态重新执行监控程序。开发人员使用智能卡仿真器调试带有定时器中断程序的用户程序时, 如果需要用单步方式调试其中的某一个程序段,一般都会先在这段程序开 始的地方设置一个断点,让用户程序全速运行,用户程序运行到断点地方 就会停下来,仿真器进入监控状态,用户程序的运行指针停在这段用户程 序开始的地方,然后,开发人员就会开始通过仿真器使用单步操作来调试 所关心的那段程序了。但是,如果此时,在前面用户程序全速运行的过程 中已经启动了定时器中断,但定时器计数值还没有达到预设值的话,由于 单步运行中,每次执行单步,仿真芯片都会有一段时间处于运行状态运行 用户程序,这段时间内定时器是会继续工作并计数的(监控状态下仿真芯 片执行监控程序,而不执行用户程序,可以控制仿真芯片的定时器不工 作),就会出现这样的情况,在单步调试一个程序段时,执行了几次单步 之后,由于定时器还在继续计数,在执行完某一次单步后就会达到计数预 设值,在下一次执行单步时,不再继续执行需要调试的那段用户程序中的 下一语句行,而是进入了定时器中断程序,使开发人员无法继续调试所关 心的那段用户程序,给调试带来极大的不便。当然,开发人员可以通过暂时修改用户程序,先暂时关闭用户程序中 的定时器中断使能,再来单步调试所关心的程序段。但是,在整个用户程 序的调试过程中,经常需要全速运行完整的整个用户程序,也经常需要单 步调试某一段程序,如果老是需要修改程序,打开/关闭定时器中断使能,不仅是一件很麻烦的事情,影响调试效率,也容易把用户程序改错,带来 不必要的麻烦。 发明内容本发明要解决的技术问题是提供一种智能卡仿真器,它可以在单步运 行用户程序时,避免定时器中断的现象,便于用户的调试和提高调试的效 率。为解决上述技术问题,本发明的智能卡仿真器,包括仿真芯片、程序 存储器和定时器,所述程序存储器通过地址/数据总线与仿真芯片连接, 其中,还包括管理模块,该管理模块,接收仿真器的操作指令并记录仿真 器的配置信息,且通过控制信号线与仿真芯片连接;当配置信息为单步运 行时定时器不工作,则该管理模块仅接收单步运行的操作指令,并向仿真 芯片输出控制信号,其定时器停止计数;当配置信息为单步运行时定时器 工作,则该管理模块无论接收任何操作指令,都不向仿真芯片输出控制信 号,其定时器进行计数。所述操作指令为单步运行或全速运行。所述仿真芯片采用仿真功能的逻辑来实现。 所述管理模块采用单片机实现。采用本发明的智能卡仿真器,用户在仿真器软件界面选择配置信息, 通过向仿真芯片发出控制信号的与否来控制定时器的计数工作,从而,避 免单步方式调试用户程序时,定时器中断的干扰等影响,便于用户的调试, 有利于提高用户程序的调试效率。


下面结合附图和具体实施方式
对本发明作进一步详细的说明附图是本发明智能卡仿真器的结构示意图。
具体实施方式
如附图所示,本发明的智能卡仿真器1包括仿真芯片2、管理模块3和 程序存储器4。管理模块3与仿真芯片2之间有一根控制信号线5连接。用户 可以通过仿真器软件界面选择配置信息,如仿真器l在单步运行时,定时 器是否工作,同时该配置信息记录在仿真器1的管理模块3中。管理模块3能够接收用户通过仿真器软件界面发出的操作指令,该操 作指令包括全速、单步运行等。当管理模块3中记录的配置信息为"单步 运行时,定时器不工作",那么,管理模块3在接收到的操作指令为全速运 行时,通过控制信号线5向仿真芯片2继续发出"0"信号;管理模块3在接 收到的操作指令为单步运行时,通过信号线5向仿真芯片2发出"1"信号。 当管理模块3中记录的配置信息为"单步运行时,定时器工作",那么管理 模块3无论接收到全速还是单步运行的操作指令,始终通过控制信号线5 向仿真芯片2发出"0"信号。仿真芯片2设计时,增加一控制信号的输入引脚,与管理模块3通过控 制信号线5连接,同时增加一块专用于实现仿真功能的逻辑,所实现的功 能是,当仿真芯片2通过控制信号线5获得"1"信号时,则仿真芯片2在控 制信号线5上的信号为"1"期间,即使仿真芯片2处于运行状态,其中的 定时器也停止计数。当仿真芯片2通过控制信号线5获得"0"信号时,则 当仿真芯片2处于运行状态,仿真芯片2内的定时器计数工作,仿真芯片2 处于监控状态,运行监控程序时,其中的定时器始终不工作。程序存储器4与仿真芯片2之间通过标准的地址/数据总线6连接,监控 程序和用户程序存放在程序存储器4的不同地址段,仿真芯片2在运行模式 下执行程序存储器4中的用户程序;仿真芯片2在监控模式下执行程序存储 器4中的监控程序。这样,如果用户通过仿真器软件界面选择了"单步运行时,定时器不 工作"的配置,在单步调试用户程序时,由于定时器不工作,就不会进入 定时器中断程序了;在全速调试用户程序时,由于定时器始终工作,仍旧 可以正常进入定时器中断程序,与用户程序在产品芯片上运行一致。本发明中的仿真芯片2所增加的逻辑和引脚都是用于实现仿真功能的 逻辑和引脚,与实现产品芯片功能部分的逻辑和引脚相互独立,因此并不 影响仿真芯片2全速运行用户程序时的功能和性能,保持了与产品芯片的 一致性。所述管理模块可以用通用的单片机实现。
权利要求
1、一种智能卡仿真器,包括仿真芯片、程序存储器和定时器,所述程序存储器通过地址/数据总线与仿真芯片连接,其特征在于还包括管理模块,该管理模块,接收仿真器的操作指令并记录仿真器的配置信息,且通过控制信号线与仿真芯片连接;当配置信息为单步运行时定时器不工作,则该管理模块仅接收单步运行的操作指令,并向仿真芯片输出控制信号,其定时器停止计数;当配置信息为单步运行时定时器工作,则该管理模块无论接收任何操作指令,都不向仿真芯片输出控制信号,其定时器进行计数。
2、 如权利要求1所述的智能卡仿真器,其特征在于所述操作指令 为单步运行或全速运行。
3、 如权利要求2所述的智能卡仿真器,其特征在于所述仿真芯片 采用仿真功能的逻辑来实现。
4、 如权利要求2所述的智能卡仿真器,其特征在于所述管理模块 采用单片机实现。
全文摘要
本发明公开了一种智能卡仿真器,该仿真器包括仿真芯片、管理模块和程序存储器;其中,管理模块,接收仿真器的操作指令并记录仿真器的配置信息,并通过控制信号线与仿真芯片连接,当配置信息为单步运行时定时器不工作,则该管理模块仅接收单步运行的操作指令,并向仿真芯片发出控制信号,其定时器停止计数;当配置信息为单步运行时定时器工作,则该管理模块无论接收任何操作指令,都不向仿真芯片发出控制信号,其定时器进行计数。本发明用户可通过仿真器软件界面选择配置信息,避免单步方式调试用户程序段时,定时器中断的干扰等影响,便于用户的调试,提高调试效率。
文档编号G06F11/36GK101329650SQ20071004224
公开日2008年12月24日 申请日期2007年6月20日 优先权日2007年6月20日
发明者卢友顺, 许国泰 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1