IC卡、数据传送装置、数据传送方法及数据传送方法的程序 【技术领域】
本发明涉及IC卡、数据传送装置、数据传送方法以及数据传送方法的程序。
背景技术
近年,正在开发装载有非易失性存储器和其他功能的IC卡并普及于世。例如,也正在实现下述技术,即在PDA(Personal Digital Assistants,个人数字助理)上安装装载有闪存和电视播放接收功能的IC卡,将IC卡接收到的图像数据以及声音数据向PDA上传送并从PDA的显示器以及话筒输出。
一般来说,机器(本说明书中被称为[数据传送装置])本体和IC卡之间的数据传送,以数据传送装置为主机的主机/从机方式来进行通信。过去,数据传送装置在从IC卡中读出数据时,以每传送单位的数据进行发送要求以及接收确认。
在特开平10-27231号公报上记载地现有例的IC卡,对应于终端(数据传送装置)的接收缓冲器的大小,把数据分割成多个块。然后,进一步把那个块分割成IC卡的发送缓冲器的尺寸的数据,将该数据依次向终端发送。终端在每一次全部接收到构成一个块的数据时,向IC卡上发送[继续数据要求块]。现有例的IC卡在具有比终端的发送缓冲器的尺寸要小的接收缓冲器的情况下,可以实现向终端高速地传送数据。
在发送、接收用的缓冲存储器的存储容量小、处理能力低的机器中,伴随着IC卡用途的扩展,使用更高效率的高速的数据传送方法的必要性越来越高。
特开平10-27231号公报中披露的现有例IC卡,在它的发送缓冲器的尺寸比数据传送装置的接收缓冲器的尺寸大的情况下,通信速度非常慢。在这样的情况下,现有例的IC卡,把数据包分割成接收缓冲器的尺寸以下的多个块后,再发送。终端在每接收到一个块时,向IC卡发送[继续数据要求块]。因为在每次传送块时,有必要确认在终端与IC卡之间的传送是否正常地进行,故通信速度很慢。这样的数据传送方法,对数码摄像机等的处理能力低的AV机器来说,负担很大。
本发明是解决现有问题点的,其目的在于,提供在数据传送装置的处理能力低的情况下,在IC卡与数据传送装置之间也能实现高速的数据传送的IC卡、数据传送装置、数据传送方法以及数据传送方法的程序。
【发明内容】
为了解决上述课题,本发明具有以下的构造。根据本发明的一个观点的IC卡具有:控制部,附加包含有关数据包的数据长度信息的管理信息之后,生成数据包,分割所述数据包后,生成由数据传送装置指示的尺寸的数据长度的数据块;通信部,在把构成一个所述数据包的多个所述数据块向所述数据传送装置发送时,在发送包含有所述管理信息的所述数据块时,向所述数据传送装置发送插入信号,在发送不包含有所述管理信息的数据块时,不向所述数据传送装置发送插入信号。
例如,具有无线通信功能的IC卡在从外部接收数据的情况下,IC卡必须把接收到的数据直接向数据传送装置发送。通过IC卡把插入信号向数据传送装置发送,数据传送装置能够与此对应迅速地从IC卡接收数据并处理该数据。但是,因为插入处理典型的是数据传送装置必须中断正在实行的处理而予以实现,对于数据传送装置来说,得承担大的负担。
根据本发明,数据传送装置凭借插入信号,知道IC卡有数据传送要求,能够迅速地开始数据传送。数据传送装置根据从最初接收到的数据块中抽出有关数据包的数据长度的信息,可以判断该数据包有多少信息量(数据长度)。数据传送装置从数据包的数据长度以及已经接收到的第一个数据块的数据长度,能够判断是否有未接收的数据块。基于该判断,数据传送装置即使不接收插入信号,也能够实现必要的数据传送。对于数据传送装置,在第二个到最后的数据块的传送中,IC卡不发送插入信号的情况,数据传送装置处理数据的负担较小。
本发明具有下述作用,即对数据传送装置不施加大的信息处理负担并且能够实现与数据传送装置之间(与信息处理能力低的数据传送装置之间也同样)能够高速进行数据传送的IC卡。
根据本发明的另一观点的上述IC卡,把构成一个所述数据包的多个所述数据块向所述数据传送装置发送时,所述控制部在首部的数据块中包含有所述管理信息。
本发明具有下述作用,即对数据传送装置不施加大的信息处理负担并且能够实现在数据传送装置之间能够高速地进行数据传送的IC卡。
根据本发明的另一观点的上述IC卡,把分割成多个所述数据块的所述数据包向所述数据传送装置发送时,从所述数据传送装置接收表示正确地接收了构成所述数据包的全部的所述数据块的信息后,或者从所述数据传送装置接收所述数据包的发送以外的指令后,废除发送的所述数据包。在向数据传送装置发送多个数据块的途中,数据传送失败的情况下,本发明的IC卡能够再发送数据包。
根据本发明的另一观点的数据传送装置具有:通信部,与IC卡之间收发数据块;控制部,从所述IC卡接收将数据包分割成的多个所述数据块时,所述通信部接收插入信号后,从最初接收的所述数据块的规定部分中,抽出包含有关所述数据包的数据长度信息的管理信息,在此外的时刻接收所述数据块时,把所述数据块的整体作为不含有所述管理信息的数据进行处理。
本发明具有下述作用,即能够实现与本发明的IC卡之间能够高速地进行数据传送、不必具有大的处理能力的数据传送装置。
根据本发明的另一观点的上述数据传送装置进一步具有存放与所述IC卡之间收发的所述数据块的收发用缓冲存储器,与所述IC卡之间收发所述数据块之前,所述通信部接收所述IC卡能够收发的数据块的最大尺寸的信息,所述控制部按照所述收发用缓冲存储器以及所述IC卡可收发的数据块的最大尺寸,决定所述数据块的最大尺寸,从所述IC卡接收将所述数据包分割成的多个所述数据块时,通过所述通信部向所述IC卡指示所述数据块的最大尺寸以下的数据长度的所述数据块的发送。
[能够收发的数据块的最大尺寸的信息],典型的是收发用缓冲存储器的存储容量。一般来说,IC卡以及数据传送装置把数据块存放于收发用的缓冲存储器进行数据传送。收发用缓冲存储器的大小根据IC卡、数据传送装置而不同。例如携带电话的收发用缓冲存储器很小,而个人计算机的收发用缓冲存储器要比这大。数据块的最大尺寸越大,数据传送的效率越高。但是,当数据块的最大尺寸超过数据传送装置或者IC卡的收发用缓冲存储器的大小,对于数据传送装置以及IC卡来说,数据传送成为极大的负担。本发明的数据传送装置具有下述作用,即能够实现预先决定对应于IC卡以及数据传送装置(例如对应于它们的收发用缓冲存储器的大小)的数据块的最大尺寸并且进行数据传送的数据传送装置。
特别是,对于收发用的缓冲存储器的存储容量小,并且随机种其容量不同的IC卡或者数据传送装置来说,本发明是有用的。
本发明具下述作用,即能够实现与本发明的IC卡之间能够实现高速地进行数据传送并且不必有大的处理能力的数据传送装置。
根据本发明的另一观点的上述数据传送装置从所述IC卡接收将所述数据包分割成的多个数据块时,所述控制部根据在抽出的所述管理信息中所包含的有关所述数据包的数据长度的信息,判断是否接收到全部的所述数据块,在有未接收到的所述数据块的情况下,向所述IC卡指令发出所述数据块的发送。
根据本发明的另一观点的上述数据传送装置,具有以下特征:在所述通信部从所述IC卡中接收构成一个所述数据包的多个数据块的情况下,在正常地接收所述数据块时,不把正常地接收到各个所述数据块这一情况通知所述IC卡,在正常地接收到构成那个数据包的全部的所述数据块时,所述控制部把正常地接收到该数据包整体的这一情况通知所述IC卡。
本发明由于可以省略各个所述数据块的传送中的信号交换,具有下述作用,即数据传送装置不必承担大的信息处理负担并且能够实现与IC卡之间能够高速地进行数据传送的数据传送装置。
根据本发明的另一观点的在上述数据传送装置从所述IC卡发送的数据块中,所述通信部检测出错误的情况下,所述控制部中止和该数据块属于同一数据包的剩余的数据块的传送,向所述IC卡发出该数据包的再发送指令。
本发明具有下述作用,即数据传送装置不必承担大的信息处理负担并且能够实现与IC卡之间能够有效地进行数据传送的数据传送装置。
根据本发明的另一观点的数据传送装置具有:控制部,附加包含有关数据包的数据长度信息的管理信息,生成数据包,分割所述数据包后,生成规定尺寸以下的数据长度的数据块;通信部,从所述IC卡接收到所述IC卡能够接收所述数据块的这一功能有效通知之后,把所述数据包发送到所述IC卡时,最初发送包含有所述管理信息的所述数据块,接着发送不包含有所述管理信息的数据块。
本发明具有下述作用,即数据传送装置不必承担大的信息处理负担并且能够实现与IC卡之间能够有效地进行数据传送的数据传送装置。
根据本发明的另一观点的数据传送方法以及数据传送方法的程序,与上述IC卡以及数据传送装置有相同的技术构想。
本发明具有下述作用,即在数据传送装置的处理能力低的情况下,也能够实现IC卡和数据传送装置之间能够高速地进行数据传送的数据传送方法以及数据传送方法的程序。
本发明具有下述作用,即能够实现可进行与IC卡以及数据传送装置的收发用缓冲存储器的储存容量对应的数据传送的数据传送方法以及数据传送方法的程序。
发明的新颖特征是在添加的权利要求的范围中特别地记载的,对于构成以及内容双方,本发明将与其他的目的和特征一起,参照附图一起理解的以下的详细的说明中,可以更好地理解、评价。
【附图说明】
图1是本发明的实施方式的数据传送装置以及IC卡的构造图。
图2是本发明的实施方式的数据包的构造图。
图3是示意决定在数据传送装置和IC卡之间发送、接收的数据块的最大尺寸的方法的流程图。
图4是从IC卡向数据传送装置进行数据传送处理的概略示意图。
图5是从IC卡向数据传送装置进行数据传送、数据传送装置从IC卡中读出数据时的数据传送的流程图。
图6是从数据传送装置向IC卡进行数据传送处理的概略示意图。
图7是从数据传送装置向IC卡进行数据传送、数据传送装置将数据写入IC卡时的数据传送的流程图。
附图的一部分或者全部,是以图示为目的概要表现来描绘的,请考虑到未必在这里示意的要素的实际的相对大小和位置一定真实地描绘出来。
【具体实施方式】
以下对于具体地展示实施本发明的最佳形态的实施方式,与附图一起记载。
用图1~图7,来说明实施方式的IC卡、数据传送装置、数据传送方法以及数据传送方法的程序。
图1展示了本发明的实施方式的数据传送装置以及IC卡的构造。在图1中,101是数据传送装置,102是IC卡。
数据传送装置101是具有插入IC卡102的卡槽(未图示)的任意的机器。实施方式的数据传送装置101是携带电话。IC卡102可以是任意的泛用的IC卡。实施方式的IC卡102是SD卡。IC卡102插入于数据传送装置101的卡槽中。
数据传送装置101具有控制部111、通信部112以及发送、收发用缓冲存储器113。控制部111具有块分割/合成部131、插入信号检测部132、管理信息处理部133以及缓冲存储器134。在实施方式中,控制部111是微机,块分割/合成部131以及管理信息处理部133的功能是由软件来实行的。
IC卡102具有控制部121、通信部122、收发用缓冲存储器123以及外部通信组件124。控制部121具有块分割/合成部141、插入信号生成部142、管理信息处理部143以及缓冲存储器144。在实施方式中,控制部121是微机,块分割/合成部141、管理信息处理部143的功能以及插入信号生成部142的起动处理是由软件来实行的。外部通信组件124与外部的天线106以电连接,与外部装置(未图示)之间实行无线通信。
数据传送装置101的通信部112和IC卡102的通信部122通过命令/应答线103、数据线104以及时钟线105以同步方式进行通信。通信是以数据传送装置101为主机、IC卡为从机的主机/从机方式的通信。
IC卡102的外部通信组件124通过天线106由无线通信来接收数据包(在实施方式中,蓝牙标准的数据包),向缓冲存储器144传送。IC卡102从缓冲存储器144内的数据包,生成向数据传送装置101发送的数据包(在实施方式中,SD I/O蓝牙标准的数据包),分割成多个数据块后,向数据传送装置101发送。在收发用缓冲存储器123中,依次存放与数据传送装置101之间收发的数据块。IC卡102也可以具有多个的功能块(例如接收非易失性存储器、图像信号以及/或者声音信号的调谐器)。
数据传送装置101从存储在缓冲存储器134的数据包(在实施方式中,蓝牙标准的数据包),生成向IC卡102发送用的数据包(在实施方式中,SD I/O蓝牙标准的数据包),分割成多个数据块后,向IC卡102发送。在收发用缓冲存储器113中依次存放与IC卡之间收发的数据块。
《数据包以及数据块的构造》
用图2来说明与数据传送装置101和IC卡102之间发收发的数据包以及数据块的构造。
图2展示了本发明的实施方式的数据包的构造。设在数据传送装置101和IC卡102之间收发的数据包201(SD I/O蓝牙标准)的数据长度为L字节。L的值随数据的内容而不同。在数据包201的首部设置4字节的管理信息211。管理信息211包含有关数据包长度的信息212(3字节)和服务ID(Identification)213(1字节)。服务ID213能够包含有关数据种类的信息。在数据包201中,除了管理信息211以外的部分,都是通常的数据。还有,[数据长度]是表示数据包的信息的任意值(在实施方式中,字节数)。
在数据传送装置101和IC卡之间,收发将数据包201分割后的数据块202~204。数据传送装置101在IC卡102进行初始化时,IC卡102的连接或者启动时,用以下的方法来决定与IC卡102之间收发的数据块202~204的最大数据尺寸(N字节)。
图3是示意决定在数据传送装置101和IC卡102之间收发的数据块的最大尺寸的方法的流程图。在步骤301,数据传送装置101向IC卡102,发送询问IC卡102的收发用缓冲存储器123的存储容量的发送指令。在步骤311,IC卡102接收询问IC卡102的收发用缓冲存储器123的存储容量的发送指令。在步骤312,IC卡102向数据传送装置101,发送收发用缓冲存储器123的存储容量。在步骤302,数据传送装置101接收IC卡102的收发用缓冲存储器123的存储容量。在步骤303,数据传送装置101把不超过IC卡102的收发用缓冲存储器123的存储容量和数据传送装置101的收发用缓冲存储器113的存储容量的值,定为数据块的最大尺寸。
在数据包201的数据长度为L字节、数据块的最大尺寸为N字节的情况下(图2),典型的是数据包201被分割成数据长度为N字节的数据块202~204。最后的数据块204的数据长度是由L字节被N字节相除而得的余数(0≤(L modN)<N)((L mod N)=0的情况下,最后的数据块204的数据长度成为N字节。)。数据包201的分割/合成由数据传送装置101的块分割/合成部131或者IC卡102的块分割/合成部141来进行。
管理信息211设置在首部的数据块202的规定位置(在实施方式中是首部)。接收到首部的数据块202的数据传送装置101或者IC卡102,在管理信息处理部133或者管理信息处理部143中,从管理信息211抽出数据包201整体的数据长度。数据传送装置101或者IC卡102,在依次接收数据块的同时,根据数据包201整体的数据长度以及已经接收到的数据块的总数据长度来判断是否有未接收的数据。
IC卡102能够把具有最大尺寸以下的数据长度的数据块202~204存放到该收发用缓冲存储器123。由于数据块201~204的数据长度(N字节)对应于数据传送装置101的收发用缓冲存储器113的存储容量,在收发用缓冲存储器113的存储容量小的数据传送装置中,与IC卡102之间也一定可以进行数据传送。在收发用缓冲存储器113的存储容量大的数据传送装置中,通过传送大的数据块,实效上能够实现高的数据传送率。
再者,在图2中,最后的数据块204以外的数据长度都为最大尺寸(N字节),而各个数据块的数据长度也可以为最大尺寸以下的数据长度。
还有,在实施方式(图3)中,对应于数据传送装置101的收发用缓冲存储器113以及IC卡102的收发用缓冲存储器123的存储容量,来定数据块的最大尺寸(N字节),但是,数据块的最大尺寸可以根据数据传送装置101以及IC卡102可收发的数据块的最大尺寸来定。在这样的情况下,在图3的全部的步骤中,可以把[收发用缓冲存储器的存储容量]替换成[可收发的数据块的最大尺寸]。
《从IC卡向数据传送装置的数据传送处理》
其次,用图4以及图5,说明从IC卡102向数据传送装置101的数据传送处理的方法。
图4是从IC卡102向数据传送装置101的数据传送处理的概略示意图。在数据传送装置101和IC卡102之间,通过命令/应答线103,收发来自数据传送装置101的命令以及来自IC卡102的应答。IC卡102输出的数据块以及插入信号通过数据线104向数据传送装置101传送。
现在,IC卡102有效地起着作用(处于能够收发数据块的状态)。IC卡102的外部通信组件124通过天线106以无线通信的方式接收数据包(在实施方式中,是蓝牙标准的数据包),向缓冲存储器144传送。更进一步,用IC卡102的控制部121,从缓冲存储器144内的数据包,生成一个向数据传送装置101发送用的数据包451(SD I/O蓝牙标准的数据包。与图2的数据包201对应。)控制部121判断缓冲存储器144内的数据量是否达到规定量。
当缓冲存储器144内的数据量达到规定量时,IC卡102的插入信号生成部142通过数据线104把插入信号401送往数据传送装置101。数据传送装置101的插入信号检测部132检测插入信号401。数据传送装置101得知IC卡102正在要求数据传送。数据传送装置101向IC卡102发送插入清除命令402。IC卡102在接收到插入清除命令402后,结束插入信号401,返回应答403。
其次,数据传送装置101向IC卡发送开始数据块的传送用的命令404,接收来自IC卡102的应答405。命令404包含有第一个数据块452的数据长度(信息量)的信息。第一个数据块452的数据长度是在数据传送装置101进行IC卡的初始化时,IC卡的连接时或者起动时预先确定的数据块的最大尺寸(例如,图2中的N字节)以下的数据长度。
IC卡102的块分割/合成部141将数据包451进行分割,生成由命令404指定的数据长度的数据块452,存放到收发用缓冲存储器123。之后,IC卡102通过数据线104发送第一个数据块452。
数据传送装置101在正常地接收到数据块452之后,发送用于开始此后的数据块453的传送的命令406,接收来自于IC卡102的应答407。命令406包含有第二个数据块453的数据长度(信息量)的信息。第二个数据块453的数据长度是数据块的最大尺寸以下的数据长度。
IC卡102的块分割/合成部141对数据包451进行分割,生成由命令406指定的数据长度的数据块453,存放到收发用缓冲存储器123。之后,IC卡102通过数据线104发送第二个数据块453。
对于以后的数据块,反复同样的步骤。接收到首部的数据块452的数据传送装置101,在管理信息处理部133中,从包含于数据块452中的管理信息中,抽出数据包451整体的数据长度。数据传送装置101依次接收数据块453、454的同时,从数据包451整体的数据长度以及从已经接收到的数据块的总的数据长度,判断是否有未接收的数据块,判断数据传送是否结束(是否发送用于开始此后的数据块传送的命令)。
当构成数据包451的全部数据块452~454的传送正常地结束后,数据传送装置101发送send Ack命令410,发出传送正常地结束了的通知。对于这个命令,IC卡102返回应答411。利用以上的步骤,第一个数据包451的传送结束了。IC卡102接着发送数据包的情况下,再次送出插入信号412,反复与前面的数据包451的传送步骤同样的步骤。
正如以上的说明,数据传送装置101在从IC卡102接收构成数据包的多个数据块的情况下,在正常地接收数据块时,不向IC卡102发出正常地接收到了各个数据块的通知。正常接收到了构成数据包的全部数据块时,向IC卡102发出正常地接收到了数据包整体(send Ack命令410)的通知。
IC卡102只有当发送含有管理信息的数据块即发送数据包中的第一个数据块时,发送插入信号401,发送除此以外的数据块时,不发送插入信号401。因此,在数据传送装置101的处理能力低的情况下,也能够将数据包快速地从IC卡102向数据传送装置101传送。
图5是从IC卡102向数据传送装置101传送数据,数据传送装置101从IC卡102读出数据时的数据传送流程图。
IC卡102在步骤521来生成数据包。即,IC卡102的控制部121把从外部通信功能组件124向缓冲存储器144传送的蓝牙标准的数据包变换成向数据传送装置101传送用的SD I/O蓝牙标准的数据包(图4的数据包451)。设变换后的数据包的数据长度为L字节。在步骤522,插入信号生成部142向数据传送装置101发送插入信号(图4的插入信号401)。
数据传送装置101的插入信号检测部132在步骤501接收插入信号。在步骤502,数据传送装置101向IC卡102指令数据块的发送。在该指令中,含有从IC卡接收的数据块的数据长度n。数据块的数据长度n是预先由数据传送装置101确定的、数据块的最大尺寸(例如,在图2是N字节)以下的数据长度。IC卡102接收数据块的发送指令(步骤523),发送应答(步骤524)。数据传送装置101接收应答(步骤503)。
在步骤524之后的步骤525,IC卡102的块分割/合成部141分割数据包,生成数据长度n的数据块。在步骤526,IC卡102将数据块暂时存放在收发用缓冲存储器123中,并发送到数据传送装置101。
在步骤503之后的步骤504,数据传送装置101接收数据块并暂时存放在收发用缓冲存储器123中,并传送到缓冲存储器134。在步骤505,判断是否能够正常地接收到数据块。在不能正常地接收到的情况下,在步骤511,向IC卡102发出数据包的再发送指令,返回到步骤502,发出数据块发送指令。IC卡102在接收到数据包的再发送指令之后(步骤529),中止剩余数据块的传送,返回步骤523。IC卡102在接收到数据块的发送指令时,从第一个数据块开始接着再发送。
在步骤505,当判断能够正常地接收到数据块的情况下,进入步骤506。在步骤506,数据传送装置101判断接收到的数据块是否是第一个。数据传送装置101在接收插入信号(步骤501)之后或者发送数据包的再发送指令(步骤511)之后,第一次判断出接收到的数据块是构成数据包的数据块中的首部的数据块。在接收到的数据块是第二个以后的情况下,进入步骤508。在接收到的数据块是第一个数据块的情况下,管理信息处理部133在步骤507从设置在该数据块的首部的管理信息中,抽出数据包的数据长度(L字节)。更进一步,在未接收的数据量Lu中代入L,进入步骤508。在步骤508,数据传送装置102算出未接收的数据量Lu(Lu=Lu-n)。在步骤509数据传送装置101判断未接收的数据量Lu是否大于0。Lu大于0的情况下,返回到步骤502,发送下一数据块的发送指令。即,反复数据块的接收处理。
在步骤509判断出未接收的数据量Lu为0的情况下,即正常地接收全部的数据块而结束的情况下,进入步骤510。用步骤510,数据传送装置101向IC卡102,发送正常地接收到了数据包的信息(图4的send Ack命令410),结束数据传送装置101的流程。块分割/合成部131向缓冲存储器134传送全部数据块传送之后,合成数据包(SD I/O蓝牙标准)。
IC卡102在全部的数据块发送结束之后,在步骤527从数据传送装置101接收数据包正常地接收到了的信息(图4的send Ack命令410)。在步骤528,废除缓冲存储器144内的数据包(在步骤521生成的数据包),结束IC卡102的流程。还有,从数据传送装置101接收到数据包发送指令以外的指令之后,也废除缓冲存储器144内的数据包,结束IC卡102的流程。
IC卡102在能够正常地发送构成数据包的全部数据块的传送为止,不从缓冲存储器144中废除该数据块,因此,能快速地再发送数据块。
还有,代替图5的流程图,也可以是去除了步骤510、527、528的流程图。即,数据传送装置101也可以不向IC卡发送正常接收到数据包的信息。又,IC卡102也可以不废除向数据传送装置101发送完的数据包,并存放到缓冲存储器144或者由下一数据包作覆盖处理。
《从数据传送装置向IC卡的数据传送处理》
其次,用图6和图7,说明从数据传送装置101向IC卡102的数据传送处理的方法。
图6是从数据传送装置向IC卡的数据传送处理的概略示意图。
IC卡102在起动时没有起作用。首先开始时,数据传送装置101发送为了使IC卡102有效地运作的命令601。在IC卡102运作开始后(变为有效),返回应答602的同时通过数据线104进行功能有效通知603。以后,只要来自数据传送装置101的复位命令,IC卡102就有效地运作。
其次,数据传送装置101从缓冲存储器134内的数据包(蓝牙标准)生成向IC卡102传送的一个数据包651(SD I/O蓝牙标准。与图2的数据包201相对应)。块分割/合成部131从该数据包651生成第一个数据块652。数据传送装置101向IC卡102发送开始数据块的传送用的命令604(含有第一个数据块652的数据长度的信息),接收来自IC卡102的应答605。这以后,数据传送装置101把第一个数据块652暂时存放在收发用缓冲存储器113中,并进行发送。
IC卡102通过数据线104执行错误有无通知606。在错误有无通知606中,含有是否已正常传送前面的数据块652这一信息。
IC卡102因为在接收到的数据块652的处理中不能接收下一数据块,故通过数据线104在错误有无通知606之后执行占用通知607。
占用通知607结束后,数据传送装置101向IC卡102发送用于发送下一数据块653的命令608(含有下一数据块653的数据长度的信息),接收来自IC卡102的应答609。这以后,数据传送装置101将下游数据块653暂时存放到收发用缓冲存储器113中,并进行发送。对于此后的数据块,反复同样的步骤。
就这样,发送构成数据包651的全部数据块652~654。数据传送装置101在接着发送数据包的情况下,再次发送用于开始数据块传送的命令616,反复与前面的数据包651的传送步骤相同的传送步骤。
接收到首部的数据块652的IC卡102,在管理信息处理部143,从数据块652中含有的管理信息中,抽出数据包651整体的数据长度。IC卡102依次接收数据块653、654的同时,从数据包651整体的数据长度以及已经接收到的数据块的总的数据长度来断定是否有未接收的数据块,判断数据传送是否结束。
正如以上的说明,数据传送装置101因为不往IC卡102发送用于确认前面的数据块是否正常地被传送的命令,故能快速地把数据包向IC卡102传送。
还有,数据块652~654的数据长度是,预先由数据传送装置101设定的、数据块的最大尺寸(例如,在图2是N字节)以下的数据长度。
图7,从数据传送装置向IC卡传送数据,数据传送装置在IC卡上写入数据时的数据传送的流程图。
在步骤701,数据传送装置101从存放在缓冲存储器134的数据包(蓝牙标准)中,生成向IC卡102发送用的数据包(是SD I/O蓝牙标准。例如,图2的数据包201,图6的数据包651)。数据包的数据长度设为L字节。向未接收的数据量Lu中代入L。在步骤702,数据传送装置101向IC卡102发出数据块发送的通知。在该通知中,含有向IC卡102发送的数据块的数据长度n。数据块的数据长度n是预先由数据传送装置101设定的、数据块的最大尺寸(例如,在图2中是N字节)以下的数据长度。IC卡102接收数据块的发送通知(步骤721),发送应答(步骤722)。数据传送装置101接收应答(步骤703)。块分割/合成部131在步骤704,分割数据包,生成数据长度n的数据块。
数据传送装置101,在步骤704之后的步骤705,把数据块暂时存放在收发用缓冲存储器113,并进行发送。
IC卡102在步骤722之后的步骤723接收数据块,暂时存放在收发用缓冲存储器123中,并向缓冲存储器144传送。在步骤724判断是否能正常地接收数据块。在不能正常地接收的情况下,进入步骤730,向数据传送装置101发出没有正常地接收到数据块的通知。在能正常地接收数据块的情况下,进入步骤725,向数据传送装置101发送正常地接收到数据块的通知,进入步骤726。具体的是,IC卡102在数据块的接收后的错误有无通知(图6的错误有无通知606、610、614)时,含有是否正常地接收到数据块的信息。
在步骤726,IC卡102判断在步骤723接收到的数据块是否是第一个数据块。IC卡102在有效地开始运作之后,或者在正常地接收到构成数据包的全部的数据块之后,或者在发出数据包的再发送指令(步骤731)之后,判断为第一次把接收到的数据块是构成数据包的数据块中的首部的数据块。在数据块是第二个以后的数据块的情况下,进入步骤728。在数据块是第一个的情况下,管理信息处理部143从该数据块的首部抽出管理信息,得到数据包的数据长度(L字节)的信息,在未接收的数据量Lu中代入L(步骤727),进入步骤728。在步骤728,IC卡102算出未接收的数据量Lu(Lu=Lu-n)。
在步骤729,IC卡102判断未接收的数据量Lu是否大于0。Lu大于0的情况下,返回步骤721,接收下一数据块的发送通知。即,反复数据块的接收处理。
在步骤729,当未接收的数据量Lu为0的情况下,即,正常地接收全部的数据块而结束的情况下,结束IC卡102的流程。在缓冲存储器144传送全部的数据块之后,块分割/合成部141合成数据包(SD I/O蓝牙标准)。
另外,数据传送装置101在步骤706接收IC卡102正常地接收到数据块的通知。在步骤707,数据传送装置101算出未发送的数据量Lu(Lu=Lu-n)。在步骤708,数据传送装置101判断未发送的数据量Lu是否大于0。在Lu大于0的情况下,返回步骤702,发出下一数据块的发送通知。即,反复数据块的发送处理。
在步骤708,当未发送的数据量Lu为0的情况下,即正常地发送全部的数据块而结束的情况下,进入步骤709。在步骤710,废除缓冲存储器134内的数据包(用步骤701生成的数据包),结束数据传送装置101的流程。
途中的数据块传送失败的情况下,如以下所述,中止剩余的数据块的传送,再发送全部的数据块。数据传送装置101在步骤710,接收IC卡102未正常地接收到数据块的通知。在步骤711,发出数据包的再发送指令,返回步骤702。数据传送装置101从第一个数据块开始进行再发送。另外,IC卡102在步骤731接收数据包的再发送指令,返回步骤721。IC卡102从第一个数据块开始进行再接收。
例如在PC,AV机,内藏于携带电话的微机中写入并使得执行实行上述方法的程序,由此,能够将这些装置作为本发明的数据传送装置发挥作用。例如在SD卡、内藏于存储棒等IC卡中的微机中通过写入并使得执行实行上述方法的程序,能够将这些装置作为本发明的数据传送装置发挥作用。
对发明在一定程度上详细地、以最佳实施形态的方式作了说明。这样的最佳实施形态的披露内容在构成的微小部分上理所当然可作适当的变化,各要素的组合和顺序的变化是在不脱离权利要求的发明范围以及构想而得以实现的。
产业上利用可能性
本发明作为装在数据传送装置上并且与数据传送装置之间收发数据包的IC卡、该IC卡的数据传送方法以及数据传送方法的程序是有用的。
本发明作为装载有IC卡并且与IC卡之间收发数据包的数据传送装置、该数据传送装置的数据传送方法以及数据传送方法的程序是有用的。