一种基于闪速存储器的智能卡下载数据的方法转让专利

申请号 : CN200810116167.9

文献号 : CN101620662B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张廷晅唐文

申请人 : 北京同方微电子有限公司

摘要 :

一种基于闪速存储器的智能卡下载数据的方法,涉及智能卡/集成电路芯片应用技术领域。本发明使用包括控制器、数据接口和一个及以上闪速存储器FLASH的智能卡。其包括如下步骤:①读卡设备和智能卡建立联系并进行下载时长计算和参数设置;②智能卡数据接口接收到读卡设备发送的一个字符帧数据;③在智能卡接收下一个字符帧数据的同时控制器将前一个字符帧数据写入闪速存储器FLASH;④重复步骤③直至所有数据下载完毕。同现有技术相比,本发明下载数据的效率和准确性大为提高。对类似于移动运营商大批量发卡,数字电视付费系统在线程序更新等领域具有积极意义。

权利要求 :

1.一种基于闪速存储器的智能卡下载数据的方法,它使用包括控制器、数据接口和一个及以上闪速存储器FLASH的智能卡,智能卡在接收数据时,利用字符帧在物理层传输时的时间间隔来完成对FLASH的写入操作,其包括如下步骤:①读卡设备和智能卡建立联系并进行下载时长计算和参数设置;设置上述参数中的通信速度参数使得一个字符帧数据在智能卡物理层传输的间隔时长T1大于或等于字符帧数据写入闪速存储器FLASH所需的时长T2与完成写入字符帧数据所执行程序或控制耗费的时长T3之和,即T1>=T2+T3;

②智能卡数据接口接收到读卡设备发送的一个字符帧数据;

③在智能卡接收下一个字符帧数据的同时控制器将前一个字符帧数据写入闪速存储器FLASH;

④重复步骤③直至所有数据下载完毕。

2.根据权利要求1所述的方法,其特征在于,所述物理层的通信方式遵守ISO/IEC

7816-3或ISO/IEC 1444规定。

3.根据权利要求1或2所述的方法,其特征在于,所述参数设置包括下载目标地址、下载数据长度和校验约定。

4.根据权利要求3所述的方法,其特征在于,所述校验约定是对已下载的部分或下载完的全部数据进行校验,校验过程在智能卡和/或读卡设备端完成,校验发现错误后要进行数据重发,数据重发机制采用在校验出现问题后立即重发、等待稍后重发或者暂不重发,重发内容为所有数据内容或者出错内容。

5.根据权利要求4所述的方法,其特征在于,所述校验采用回读校验、求和校验、模差校验、模乘校验、码距编码、奇偶校验、海明校验、CRC校验或者杂凑函数校验。

说明书 :

一种基于闪速存储器的智能卡下载数据的方法

技术领域

[0001] 本发明涉及智能卡/集成电路芯片应用技术领域,特别是基于闪速存储器的智能卡下载数据的方法。

背景技术

[0002] 智能卡是IC卡的一种。基于闪速存储器FLASH的智能卡内一般包括控制器、非易失性存储器FLASH、易失性存储器RAM、数据接口等部分,正常工作的智能卡还含有芯片操作系统COS。
[0003] 目前,对于基于闪速存储器的智能卡控制器下载COS及大量数据的方法,业界的普遍作法是(参看图1):第一步,在智能卡端,由程序开辟一块位于易失性器件,比如SRAM的缓存区。第二步,通信数据首先被缓存进入上一步建立的缓存区。这一过程的正确性可由不同通信协议的校验重发机制保证,也可由用户自己定义的方式保证。第三步,在确认已正确接收到一定量的数据后,由卡片程序开始对FLASH器件进行写操作,将缓存中的数据导入FLASH中去。这一过程的正确性可以在写入后就进行回读或编码校验验证,也可在稍后进行。如果在此过程中发生错误,可选择由缓存数据重新写入FLASH,也可直接向读卡设备报告错误,等待读卡设备的处理。第四步,如上述步骤均成功执行完毕,则分析是否需要重复上述步骤的部分或全部,以便最终完成将大于缓存区字节数的数据下载到FLASH器件中去。
[0004] 上述下载数据的方法,无论在数据传输或数据写入过程中,控制器和FLASH器件都存在大量的等待时间。因此,它的缺点是:1、大批量的程序下载、更新,占据较大的时间及人力资源,效率低下;2、在线的大量程序或数据更新会占据线路资源,长时间的操作过程使得出现错误的可能性提高。

发明内容

[0005] 针对上述现有技术中存在的缺点,本发明的目的是提供一种基于闪速存储器的智能卡下载数据的方法。它利用智能卡通信时物理层传输的字符帧间隔来完成对闪速存储器FLASH的写操作,有效提高智能卡数据下载的效率,保证数据下载的准确性。
[0006] 为了达到上述发明目的,本发明的技术方案以如下方式实现:
[0007] 一种基于闪速存储器的智能卡下载数据的方法,它使用包括控制器、数据接口和一个及以上闪速存储器FLASH的智能卡。智能卡在接收数据时,利用字符帧在物理层传输时的时间间隔来完成对FLASH的写入操作,其包括如下步骤:
[0008] ①读卡设备和智能卡建立联系并进行下载时长计算和参数设置;
[0009] ②智能卡数据接口接收到读卡设备发送的一个字符帧数据;
[0010] ③在智能卡接收下一个字符帧数据的同时控制器将前一个字符帧数据写入闪速存储器FLASH;
[0011] ④重复步骤③直至所有数据下载完毕。
[0012] 在上述方法中,所述下载时长计算是一个字符帧数据在智能卡物理层传输的间隔时长T1不小于将所述字符帧数据写入闪速存储器FLASH所需的时长T2与完成写入字符帧数据所执行程序或控制耗费的时长T3之和,即T1>=T2+T3。
[0013] 在上述方法中,所述物理层的通信方式遵守ISO/IEC 7816-3或ISO/IEC 1444规定。
[0014] 在上述方法中,所述参数设置包括下载目标地址、下载数据长度和校验约定。
[0015] 在上述方法中,所述校验约定是对已下载的部分或下载完的全部数据进行校验,校验过程在智能卡和/或读卡设备端完成。校验发现错误后要进行数据重发,数据重发机制采用在校验出现问题后立即重发、等待稍后重发或者暂不重发,重发内容为所有数据内容或者出错内容。
[0016] 在上述方法中,所述校验是指回读校验、求和校验、模差校验、模乘校验、码距编码、奇偶校验、海明校验、CRC校验或者杂凑函数校验。
[0017] 本发明由于采用了上述方法,智能卡在与外界数据源通信,接收外界数据源数据时,利用字符帧在物理层传输时的间隔来完成对FLASH的写入操作。同现有技术相比,本发明下载数据的效率和准确性大为提高。对类似于移动运营商大批量发卡,数字电视付费系统在线程序更新等领域具有积极意义。
[0018] 下面结合附图和具体实施方式对本发明做进一步说明。

附图说明

[0019] 图1为现有技术中智能卡下载数据流程图;
[0020] 图2本发明中智能卡下载数据流程图;
[0021] 图3为本发明下载数据时通信流程与写FLASH流程的时序关系示意图。

具体实施方式

[0022] 本发明包括使用控制器、数据接口和一个及以上闪速存储器FLASH的智能卡。智能卡在接收数据时,利用字符帧在物理层传输时的时间间隔来完成对FLASH的写入操作。
[0023] 参看图2和图3,遵从ISO/IEC 7816协议规定的智能卡和读卡设备采用本发明方法下载数据,其步骤如下:
[0024] ①读卡设备和智能卡建立联系并进行下载时长计算。确认读卡设备通信接口的时钟频率、通信波特率、智能卡控制器主频、智能卡FLASH性能参数以及其它所需参数。根据ISO/IEC 7816协议中的相应计算方法(和通信速度的设置有关)计算出正常通信时两字符帧(字节)收到时刻的时间差T1,将此时间段和字符帧数据写入闪速存储器FLASH所需的时长T2与完成写入字符帧数据所执行程序或控制耗费的时长T3之和进行比较。如果T1>=T2+T3,可采用本方法快速下载COS及大量数据。否则适当更改上述的相关参数(通信速度参数)。选择采用的通信控制端口,如软件PIN口或者硬件UART设置。如选择UART设置,应合理设置UART相关设置。进入下载流程前,还要进行下载目标地址、下载数据长度和校验约定等参数设置。
[0025] ②智能卡数据接口接收到读卡设备发送的一个字符帧数据(一字节数据)后根据ISO/IEC7816-3的相关协议要求字节接收完毕,则奇偶校验亦执行完毕。
[0026] ③在智能卡接收下一个字符帧数据的同时控制器将前一个字符帧数据写入闪速存储器FLASH。接收一个字符帧数据的状态需要持续时间T1,在这段时间内,一个字节的数据可被保证写入FLASH。确认写入完毕后,程序等待下一个完整字节数据的到来。如果通信流程出现奇偶校验错误,读卡设备端应启动重发机制,重发机制使得T1变大,不会对下载流程产生影响;如果写FLASH流程出现错误,出现写FLASH异常超时、器件报错等现象,则需要进入错误处理流程。不继续等待写FLASH完成,在合适的时刻转入接收下一字节数据的流程。
[0027] ④重复步骤③直至所有数据下载完毕。之后即开始进行校验操作。在本例中,选择求和校验,以若干字节为单位进行取最低2字节的数字和校验。在下载数据结束后,由读卡设备端发送若干字节的校验码,程序读出相应FLASH空间中的数据亦进行求和计算,并和校验码进行比较。如校验成功,则整个流程结束,如校验失败,则启动重发机制。重复步骤3流程。
[0028] 本发明所保护的方法并不限于具体实施方式中所描述的实施例,相关技术人员根据本发明的技术方案得出的其它实施方案,同样属于本发明的保护范围。