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


                                    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的文件系统的更多相关文章

  1. 射频识别技术漫谈(25)——Felica简介

    Felica是SONY公司开发的射频识别技术,该技术使用的载波频率与ISO14443A和ISO14443B一样,都是13.56MHz,所以有人把它称为ISO14443C,但SONY并没有正式接受这样的 ...

  2. 射频识别技术漫谈(10)——识别号的格式变化【worldsing笔记】

    从事RDID行业的朋友经常会遇到这样的情况,同一张ID卡,在不同厂家生产的读卡器上读出的识别号完全不一样,有时甚至差之千里.ID卡的识别号一般是在出厂时被固化在卡片的ROM里,本身是不会改变的,问题出 ...

  3. 射频识别技术漫谈(1)——概念、分类

    现代社会智能卡已经渗透到生活的方方面面,公交卡.考勤卡.身份证.手机卡等等数不胜数.    智能卡按使用时是否和读卡器接触可分为接触式智能卡和非接触式智能卡,接触式智能卡上有6-8个触点,使用时插在卡 ...

  4. 射频识别技术漫谈(23)——ISO15693的载波、调制与编码

    射频识别技术中的通讯大多是主从式,主动方一般是读写器,被动方称为“卡片”或“标签”.到底是叫“卡片”还是“标签”,好像也没有严格的区分.习惯上可以从以下4个方面界定:一是形状,卡片通常体积较大,更像“ ...

  5. 射频识别技术漫谈(20)——RC系列射频接口芯片

    目前基于13.56MHz的射频识别技术主要有ISO14443A.ISO14443B.ISO15693和FELICA技术.针对13.56MHz的射频识别技术,NXP开发了一系列名字以RC(Radio C ...

  6. 射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】

    通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是谁先发起通讯,很显然有两种,读写器先发言 ...

  7. 射频识别技术漫谈(4)——数据编码【worldsing 笔记】

    前已述及,射频识别技术中的调制方法一般使用调幅(AM),也就是将有用信号调制在载波的幅度上传送出去.这里的"有用信号"指用高低电平表示的数据"0"或" ...

  8. 射频识别技术漫谈(3)——能量、调制【worldsing 笔记】

    无源和免接触是非接触式IC卡相对于接触式IC卡的两大特点.无源是指卡片上没有电源,免接触是指对卡片的读写操作不必和读写器接触.非接触式智能卡也是IC卡,而卡上的IC即集成电路工作时肯定是需要电源的,卡 ...

  9. 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡【worlsing笔记】

    Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...

随机推荐

  1. 字典 -- 数据结构与算法的javascript描述 第七章

    字典 字典是一种以键-值对形式存储数据的数据结构 最基本功能规划 add 添加数据到字典 remove 从字典中移除数据 get 从字典中取出数据 count 统计字典数据量 find 查找数据在字典 ...

  2. rem单位

    rem单位 rem基础 px是固定单位,不同分辨率下效果不一样,导致网页布局出现偏差. em是根据父元素来改变字大小 rem是根据根元素html来改变字体大小,只要改变了根元素的font-size就可 ...

  3. onhashchange事件--司徒正美

    onhashchange事件是针对AJAX无缝刷新导致后退键失效而产生的事件,因此属于一个够新的事件,浏览器兼容性如下: Feature Chrome Firefox IE Opera Safari ...

  4. java获取当前路径的几种方法

    1.利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//use ...

  5. java 对象数组定义

    下面代码实现了定义一个数组对象 public class Student { private String username; private int num; public Student(Stri ...

  6. PLSQL连接Oracle数据库,使用instantclient_10_2客户端

    使用instantclient_10_2作为PLSQL客户端配置步骤如下:1.将instantclient_10_2文件夹copy到PLSQL的安装目录下(如D:\Program Files\PLSQ ...

  7. IOS开发——正则表达式验证手机号、密码

    App的实际应用中,用户登陆功能基本是每个App都有需求的一个功能.而当前我们很常规的做法,就是让用户把手机号作为自己的用户名,而在注册获取短信验证码的过程中,我们首先要完成的一个步骤,就是校验用户的 ...

  8. Mysql 死锁问题

    Innodb锁系统(4) Insert/Delete 锁处理及死锁示例分析 http://mysqllover.com/?p=431 关于innodb死锁 http://afei2.sinaapp.c ...

  9. hdu 4454 Stealing a Cake (三分)

    Stealing a Cake Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. python pdb调试以及sublime3快捷键设置

    python pdb调试以及sublime3快捷键设置 pdb调试 如果对gdb比较熟悉的话,pdb就很容易上手.以一个demo快速了解常用的调试命令. def test(a): while True ...