码迷,mamicode.com
首页 > 其他好文 > 详细

射频识别技术漫谈(26)——Felica的文件系统

时间:2014-05-08 20:51:23      阅读:454      评论:0      收藏:0      [点我收藏+]

标签:blog   tar   width   http   get   c   

Felica的文件系统使用“系统\域\服务\数据块”的结构,如下图所示。通过这种结构实现对卡片非易失性存储区的使用和操作。

 

bubuko.com,布布扣
                                    Felica的文件系统图

    1、数据块

    在Felica卡的文件系统中,非易失性内存操作的最小容量单位是16字节,称为数据块。所有的用户数据以数据块为单位存取。如果用户的数据超过16字节就要以多块的形式存储。除了用户数据,文件系统的管理信息也以数据块的形式存储。事实上,用户并不需要直接对数据块进行操作,而是通过一种被称为“服务”的机制实现存取。

    2、服务

    “服务”是文件系统中数据块的集合,“服务”提供了集合中数据块的存取控制。所有数据块的存取都是通过服务来实现的,因此,向卡片的文件系统注册“服务”才有可能存取数据块。

    为了操作“服务”管理下的数据块,首先通过一个2字节的服务代码标识一个服务,然后使用1个字节的数据块号确定服务中数据块的位置。任何一个服务中的数据块号都是从0开始。

    有3种不同类型的服务:

    (1) 随机服务:这是一种普通用途的服务,可以读写服务中任一指定的数据块。

    (2) 循环服务:这种服务中的数据滚动管理。写入新数据的同时将删除最旧的数据。

    (3) 钱包服务:这种服务中的数据采用收费滚动管理,自动对块中指定的数据进行数值操作。

    每种服务的存取方法不同。服务的访问属性可设置为“读/写”、“只读”、“操作前需要认证”等。

    3、域

    Felica使用“服务”用来管理数据块,同时使用“域”来管理非易失性存储区剩余的可用数据块或用来分配数据块给服务。

    所有的服务都处于某一域的管理之下。所以服务建立的时候需要向主管它的域申请分配数据块。域之间也可以交叉管理,一个域下的数据块可以分配给其他的域,也可以被其他域管理。域使用2字节的域代码标识,其中域0是根域,在卡中总是存在,代码为0000H。

    4、系统

    系统是是文件系统的最高级,一个系统被看成一张逻辑卡片。通过系统分割,可以在一张物理卡片中生成多个系统,与域和服务类似,系统也使用一个两字节的系统代码来表示。

    为了识别一张卡片,读写器必须使用轮询命令巡检射频场中未知数目的卡片。系统代码作为轮询命令的参数,在防冲突的过程中,只有系统代码相符的系统做出响应。卡片上如果分了多个系统,读写器则像对待一张单独的卡片一样对待卡上的每一个系统。

    5、域和服务之间的关系

    系统中的域和服务使用两字节的代码标识,每个服务只能分配一个代码,且在系统中唯一,而域则分配了一个代码段。域所管理的服务代码中最前面的服务代码同时又是该域的域代码。

    例如一个服务的服务代码是12C8H,它所在的域管理的代码范围是12C0H~3FFFH,则域代码是12C0H。

    域和服务之间以及域和域之间的父子关系通过以下方式确定:

    (1) 如果一个服务的服务代码位于一个域管理的服务代码范围内,则该域与对应的服务形成父子关系。

    (2) 如果域A管理的的服务代码位于域B管理的服务代码范围内,则该域B与域A形成父子关系。

射频识别技术漫谈(26)——Felica的文件系统,布布扣,bubuko.com

射频识别技术漫谈(26)——Felica的文件系统

标签:blog   tar   width   http   get   c   

原文地址:http://www.cnblogs.com/heiyue/p/3709421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!